# 話者の性格を反映した発話文の生成

米田智美 佐藤理史 夏目和子 宮田玲 小川浩平
名古屋大学大学院工学研究科
yoneda.tomomi@f.mbox.nagoya-u.ac.jp

## 概要

本稿では, 話者 (キャラクタ)の性格を反映した発話文を生成するシステムを提案する。このシステム は, 文型推定モジュールと発話文生成モジュールか ら構成されている. 文型推定モジュールは, 話者と して設定したいキャラクタの性格ベクトルから, そ のキャラクタが使用する表現文型のリストを推定 する. 発話文生成モジュールは, 推定された表現文型のリストと, 発話意図およびキーワードを受け取 り，そのキャラクタらしい発話文を生成する.

## 1 はじめに

近年，ユーザーからの質問に応答したり，ユー ザーと対話したりするエージェントを内部に組み込 んだシステムやサービスが発展してきた. その代表例に, AI スピーカーがある.

対話相手であるエージェントにユーザーが好む 個性や性格を付与すること(エージェントのキャラ クタ化) は, エージェントへの愛着を生むことに繋 がる [1] と考えられる. しかし, 現在のエージェン 卜は没個性的に設定されているか, あるいは特定 のキャラクタの性格と口調を作り込んでいるもの [2][3] がほとんどである. そのため, ユーザーは対話相手のエージェントの性格を自由に設定すること ができない.

この問題を解決するために，本稿では話者の性格, 発話意図, キーワードの 3 つの入力から, その 性格を反映した発話文を生成するシステムを提案す る. 本システムはこれらを入力とすることで, 既存研究 [2][4][5] とは異なり, 対話環境において話題・発話意図に即し, かつキャラクタらしい一発話を生成できる.

以下，まず 2 節で，話者の性格をどのように表現 するかについて述べる. 続いて 3 節でシステムの概要を示し, 4 節と 5 節でシステムを構成する 2 つの モジュールについて説明する.

## 2 性格ベクトル

本研究では, 話者の性格を以下に示す 12 軸 (次元) のべクトルで表現する. 各次元の値は, -2 から 2 までの 5 段階の整数値である.

A. 話者の性質に関わる要素 (4 軸)

1. 現代的な一古びた

2. 男性的一女性的

3. 大人びたー幼い

4. 丁寧一荒っぽい

B. 話者の性格を表現する要素 (8 軸)

5. 活発一落ち着いた

6. ポジティブーネガティブ

7. 親しげーそっけない

8. せっかち—のんびり

9. 優しい一冷たい

10. 豪快一繊細

11. 積極的 一消極的

12. 社交的一孤立的

これらのうち，Bの8軸の設計にあたっては BIG5 [6] や MBTI [7] などの性格診断を参考にした. それ に加え，話者の性質を表す 4 軸 (A) を新たに導入 した.

## 3 発話文生成システムの概要

作成した発話文生成システムの構成を図 1 に示 す. 本システムは, (1) 文型推定モジュール (4 節), (2) 発話文生成モジュール (5 節) の 2 つのモジュー ルから構成されている。

## 4 文型推定モジュール

文型推定モジュールは, 文型データベース (文型 DB) とキャラクタデータベース (キャラクタ DB)を 利用して, 入力された任意の性格ベクトルから, そ の性格を持つキャラクタが使用すると考えられる文型リストを出力する.

図 1 発話文生成システムの構成

## 4.1 文型データベース

文型 DB は『発話文表現文型辞書』[8] から発話意図 46 種類, 表現文型 7,826 件を選択し, データベー ス化したものである.『発話文表現文型辞書』では，各文型に対して, 接続形式 (文型に含まれる核とな る述語の活用型とテンス・否定の有無), 主要部 (述語に後続する助動詞 (相当句) と接辞など), 末尾部 (終助詞と文末記号) が定義されている. 文型 DB で は, 新たに主要部の先頭部の特徴を 7 種類, 主要部 の終端部の特徴を 53 種類に分類し, これらの分類情報を追加した。また特徴べクトルは, 対立する 2 要素を 1 軸にまとめ, 全部で 11 次元のベクトルに 変換した。文型 DB のレコード例を表 1 に示す.

なお, 各文型を構成する要素のうち, *をつけたも のは, キャラクタ DB の拡張 (4.2.2 節) や性格を反映 した文型の推定 (4.3 節)において重要な役割を担う.

## 4.2 キャラクタデータベース

キャラクタ DB は，それぞれのキャラクタに対し て次の 2 種類の情報を定義したデータベースである (図2).
1. キャラクタ $h$ の性格ベクトル $\boldsymbol{c}(h)$

2. キャラクタ $h$ がそれぞれの発話意図 $I$ で使用 する表現文型のリスト $\sum_{I} R_{I}(h)$

本研究で使用する発話意図は全部で 46 種類あり, これらすべてに使用文型のリスト $R_{I}(h)$ を定義する のは作業量が多い。そこで，まず， 7 種類の発話意図に対して使用文型を定義し，その定義に基づいて 残りの 39 種類の発話意図の使用文型を自動推定す る方法を採用した。

## 4.2.1 初期データベースの作成

ソーシャルゲームの男性キャラクタ 25 名 (付録 A.1) に対して，性格ベクトルを定義し， 7 種類の発話意図において使用すると考えられる文型を定義 した.ソーシャルゲームのキャラクタを選択したの は，以下の理由による。

1. 多くの場合，強い個性が付与される。

2. 同じ人物 (ユーザー)への発話が必ずある.

3. 舞台や年齢設定の変化が少ない.

## 4.2.2 データベースの拡張

定義した 7 種類の発話意図のデータに基づいて,残りの 39 種類の発話意図の使用文型を以下のよう に決定した。

1. 文型 $\mathrm{DB}$ において, 発話意図 $I$ に属する表現文型 $r \in R_{I}$ に対して, キャラクタ $h$ のスコア $s(r, h)$ を算出する.

2. その最大值を $T$ とする.
3. $T>0$ の場合は, $s(r, h) \geq 4 T / 5$ を満たす文型 $r$ を，キャラクタ $h$ が発話意図 $I$ で使用する文型 リスト $R_{I}(h)$ に含める.

それ以外の場合は，最大値 $\mathrm{T}$ をる文型 $r$ のみ を $R_{I}(h)$ とする.

ここでスコア $s(r, h)$ は，次のように定義する.

$
\begin{aligned}
s(r, h)= & 50 * s_{1}(r, h)+100 * s_{2}(r, h) \\
& +200 * s_{3}(r, h)+200 * s_{4}(r, h)
\end{aligned}
$
- $s_{1}(r, h)$ キャラクタ $h$ が, 文型 $r$ の主要部の先頭部を使用する割合.

$\cdot$ $s_{2}(r, h)$ キャラクタ $h$ が, 文型 $r$ の主要部の終端部を使用する割合. ただし, 使用しない場合 は, -1 .

$\cdot$ $s_{3}(r, h)$ キャラクタ $h$ が, 文型 $r$ の主要部の終端部と未尾部の組み合わせを使用する割合.た

図 2 キャラクタ DB

だし，使用しない場合は， -1 .
- $s_{4}(r, h)$ キャラクタ $h$ が使用する文型の特徵べ クトルの平均と, 文型 $r$ の特徵ベクトルとのコ サイン類似度.

なお, これらの値の計算に用いる文型は, 7 種類の 発話意図に対して定義した, キャラクタ $h$ が使用す る文型すべてである.

## 4.3 性格に対する文型推定

こうして完成させたキャラクタ DB を利用して，未知のキャラクタ $u$ の性格ベクトル $\boldsymbol{c}(u)$ から, その キャラクタが使用する表現文型のリスト $R_{I}(u)$ を推定する．発話意図 $I$ を表す全文型 $R_{I}$ のうち，どの 文型 $r$ を $R_{I}(u)$ に含めるかは, 次のスコアに基づい て決定する。

$
t(r, u)=t_{1}(r, u)+t_{2}(r, u)+t_{3}(r, u)
$

以下では，推定のための仮定と $t_{n}(r, u)$ の計算法を 示す.

## 4.3.1 性格と表現文型の関連性

仮定 1 キャラクタの性格と使用する表現文型の間 には，関連性がある

例えば，丁寧な振る舞いをするキャラクタは敬語 を用いることが多く，女性的なキャラクタは「〜わ よ」「〜だわ」を多用する.

このような関連性をスコアに反映するために，文型 $r$ の使用者特性ベクトル $\overline{\boldsymbol{c}}(r)$ (文型 $r$ の使用者の性格ベクトルの平均)を求める. この $\overline{\boldsymbol{c}}(r)$ とキャタク タ $u$ の性格ベクトル $\boldsymbol{c}(u)$ の類似度が高ければ，キャ タクタ $h$ が文型 $r$ を使用する可能性が高いと考え, スコア $t_{1}$ を次のように定義する.

$
t_{1}(r, u)=\cos (\overline{\boldsymbol{c}}(r), \boldsymbol{c}(u))
$

## 4.3.2 性格の類似性

仮定 2 性格が似ているキャラクタは, 同じ表現文型を使用する可能性が高い

ここでは，仮定 2 に基づいて未知のキャタクタ $u$ の性格ベクトル $\boldsymbol{c}(u)$ とキャラクタ DB 内の既知の キャタクタ $h$ の性格ベクトル $\boldsymbol{c}(h)$ との類似度を考 える. 性格べクトルの各軸は独立した意味を持って いるため, 単純な差異よりも傾向の一致やその正負 の一致が意味を持つと考えられる．そこでまず性格 ベクトルの各要素において, スコアの計算の前提と なる值を表 2 に従って定め, 性格類似度ベクトル $\boldsymbol{a}(h, u)$ を求める.

表 2 性格類似度ベクトルの要素の値の算出表

この性格類似度ベクトルをもとに，以下の式でス コアを計算する。

$
t_{2}(r, u)=\sum_{h_{i} \in H(r)} \frac{\boldsymbol{a}\left(h_{i}, u\right) \cdot \overline{\boldsymbol{c}}(r)^{T}}{\left|R_{I}\left(h_{i}\right)\right|}
$

ここで $H(r)$ は文型 $r$ を使用するキャラクタの集合, $\left|R_{I}\left(h_{i}\right)\right|$ はキャタクタ $h_{i}$ が発話意図 I で使用す る文型の数である.この式の分数は，特定のキャタ クタ $h_{i}$ と未知のキャラクタ $u$ との性格類似度に基 づく寄与であり，それをすべての既存のキャラクタ に対して足し合わせている.

## 4.3.3 文型の類似度

仮定 3 ある文型を使用するならば，それと類似す る文型を使用する可能性も高い

この仮定に従い，ある文型 $r_{i}$ にスコア $t_{2}$ が与えら れた時, 文型 $r_{i}$ に類似する文型にスコアを与える.
文型間の類似度の計算には文型 DB の特徴ベクトル $\boldsymbol{v}(r)$ のコサイン類似度を利用する。

$
t_{3}(r, u)=\sum_{r_{i} \in\left(R_{I}-\{r\}\right)} t_{2}\left(r_{i}, u\right) \cdot \cos \left(\boldsymbol{v}\left(r_{i}\right), \boldsymbol{v}(r)\right)
$

ここで $R_{I}$ は，与えられた発話意図 $I$ に属するすべ ての文型を表す。

## 4.3.4 文型リストの決定

発話意図 Iにおいて，(式2) のスコア上位 $20 \%$ の 文型をキャラクタ $u$ が使用する文型リスト $R_{I}(u)$ に 含める. 同時に，それらの文型にスコアに反映した 確率を付与する.

## 5 発話文生成モジュール

発話文生成モジュールは，キャラクタ $u$ が使用す る文型リスト $\sum_{I} R_{I}(u)$ と, 発話意図 $I$ およびキー ワードから，発話文 (表層文字列)を生成する，以下 では，まず，発話文生成で利用する述語データベー スを説明し，次に，発話文生成の手順を述べる.

## 5.1 述語データベース

述語データベース (述語 DB) は，入力されたキー ワード (名詞) から文を作るためのデータベースで，「キーワード+助詞+述語」形式のデータ 239,645 件 が収録されている。このデータベースは, Google の Web 日本語 N グラム (2007)[9] から, 以下の手順で 作成した。

1.1-gram データから, 頻度上位 5,000 個の一般名詞を収集した。

2. 3-gram データから, 上記の各名詞 (N) に対し て，パターン「 $\mathrm{N}+$ は/が/を+P」に合致するデー タを収集した。ここで $\mathrm{P}$ は述語であり，動詞 (V) は頻度上位の最大 20 個, イ形容詞 (A) とナ 形容詞 (C) は最大 10 個を収集した。

以下に具体例を示す。

## 5.2 発話文の生成手順

発話文を以下の手順で生成する.

1. 使用文型の選択

与えられた発話意図 $I$ から使用文型リスト $R_{I}(u)$ を得る.このリストに含まれる文型には，確率が付与されているので，その確率に従って 実際に使用する文型をひとつ選択する。

2. キーワード文の作成

選択された文型の接続形式に従って述語形式 (動詞, イ形容詞, ナ形容詞)をランダムにひと つ決定し，述語 DB を参照して，レコード (文) をひとつ，頻度に応じた確率で選択する。

3. 表層文の生成

ステップ 2 で選択された文とステップ 1 で選択 された文型を HaoriBricks3[10] を用いて結合し，表層文を生成する。

## 6 生成例と検討

システムが生成した発話例を付録 A. 2 に示す.

キャラクタ 1 では，末尾部「ぞ」の使用や，「〜く れんか」といった時代がかった話し方の文型が出力 されている。一方，キャラクタ 2 では，感嘆符や長音記号，促音化などの音変化を含んだ文型が用いら れ, 子供っぽさの感じられる口調が多く見られる. キャラクタ 3 では, 総じて敬語表現が出力されてお り，末尾部の「よ」や「ね」などによって大人びた 柔らかい印象が感じられる，以上のように，キャラ クタの性格を反映した発話文が生成できていること が確認できる.

その一方で，発話意図を適切に表わさない発話文 も生成されている．表現文型は，必ずしも任意の キーワード文と結合できるわけではない。たとえ ば，I07 (決心-実行) は，意志性を持った動詞を持つ 文としか結合できず，それ以外の文と結合すると発話意図を表せなくなる。また，J01(褒める) や J02(暊 す)などの JK区分される発話意図では，キーワー ド文の述語が意図伝達の中核要素となるため, 意図 を適切に反映した述語の選択が必要となる.

現在のシステムは，キーワード文の選択 (述語補完) は，キーワードと表現文型の接続形式のみに依存している。表現文型の意図を反映した述語補完, および，性格を反映した述語補完の実現が，今後の 課題である.

## 謝辞

本研究は JSPS 科研費 JP21H03497 の助成を受けた ものです.

## 参考文献

[1] 山本賢太, 井上昂治, 中村静, 高梨克也, 河原達也. 人間型ロボットのキャラクタ表現のため の対話の振る舞い制御モデル. 人工知能学会論文誌, Vol. 33, No. 5, pp. C-I37 1-9, 2018.

[2] 沈睿, 菊池英明, 太田克己, 三田村健. 音声生成 を前提としたテキストレベルでのキャラクタ 付与. 情報処理学会論文誌, Vol. 53, No. 4, pp. 1,269-1,276, 2012.

[3] 小倉拓人, 谷津元樹, 原田実. 人物ベース の Seq2Seq モデルを用いた対話システム DeepEVEにおける小説中の登場人物らしい応答文の生成. 情報処理学会第 80 回全国大会講演論文集, No. 1, pp. 423-434, 2018.

[4] 宮崎千明, 平野徹, 東中竜一郎, 牧野俊朗, 松尾義博, 佐藤理史. 文節機能部の確率的書き換 えによる言語表現のキャラクタ性変換. 人工知能学会論文誌, Vol. 31, No. 1, pp. DSF-E 1-9, 2016.

[5] 谷川晃大, 藤田寛泰, 壹岐太一. 変分オートエ ンコーダと注意機構を用いた発話文のキャ ラクタ性変換. 人工知能学会全国大会論文集, Vol. 32, pp. 4G2-01, 2018.

[6] Lewis R. Goldberg. The structure of phenotypic personality traits. American Psychologist, Vol. 48, No. 1, pp. 26-34, 1993.

[7] Isabel Briggs Myers and Peter B.Myers. Gifts Differing: Understanding Personality Type. Davies-Black Publishing, 1995. Originally published: 1980.

[8] 夏目和子, 佐藤理史. 話し言葉生成のための表現文型辞書. 言語処理学会第 28 回年次大会発表論文集（発表予定）, 2022.

[9] 工藤拓, 賀沢秀人. Web 日本語 $\mathrm{N}$ グラム第 1 版.言語資源協会発行, 2007.

[10] 佐藤理史. Haoribricks3: 日本語文を合成するた めのドメイン特化言語. 自然言語処理学会論文誌, Vol. 27, No. 2, pp. 411-444, 2020.

## 付録 A

## A. 1 キャラクタDB に登録したキャラクター覧 (25キャラクタ)

 \\

## A. 2 発話文の生成例

 &  &  \\


 米田智美 佐藤理史 夏目和子 宮田玲 小川浩平 名古屋大学大学院工学研究科 yoneda.tomomi@f.mbox.nagoya-u.ac.jp  