IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許7297721キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法
<>
  • 特許-キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法 図1
  • 特許-キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法 図2
  • 特許-キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法 図3
  • 特許-キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法 図4
  • 特許-キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法 図5
  • 特許-キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法 図6
  • 特許-キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法 図7
  • 特許-キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-16
(45)【発行日】2023-06-26
(54)【発明の名称】キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法
(51)【国際特許分類】
   G06F 16/90 20190101AFI20230619BHJP
   G06F 40/151 20200101ALI20230619BHJP
【FI】
G06F16/90 100
G06F40/151
【請求項の数】 8
(21)【出願番号】P 2020133426
(22)【出願日】2020-08-05
(65)【公開番号】P2022029869
(43)【公開日】2022-02-18
【審査請求日】2022-06-16
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】田原 俊一
(72)【発明者】
【氏名】服部 元
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2020-113156(JP,A)
【文献】特開2020-027548(JP,A)
【文献】特開2010-152705(JP,A)
【文献】特開平04-130577(JP,A)
【文献】関 和広、外2名,確率モデルを用いた日本語ゼロ代名詞の照応解析,自然言語処理,日本,言語処理学会,2002年07月10日,第9巻,第3号,p.63-85
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
キャラクタ属性毎に、対話シナリオを蓄積した対話シナリオ蓄積手段と、
キャラクタ属性毎に、複数のユーザにおける複数の投稿文を蓄積する投稿文蓄積手段と、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された発話動詞における意義素を決定し、意義素を同一とする複数の類義動詞を対応付ける意義素決定手段と、
第2キャラクタ属性に基づくユーザの投稿文を用いて、同一の意義素における複数の類義動詞の中で出現頻度が最も偏る類義動詞を、特徴類義動詞として選択する特徴類義動詞選択手段と、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された当該発話動詞を、特徴類義動詞に置換して、第2キャラクタ属性の対話シナリオの発話文とする動詞置換手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
意義素決定手段は、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された発話動詞について、複数の意義素が決定された際に、
類義語コーパスを用いて、意義素毎に、当該意義素を同一とする複数の類義動詞を検索し、
第1キャラクタ属性に基づくユーザの投稿文の中で、意義素毎に各類義動詞の出現頻度を計数し、
各類義動詞の出現頻度が最も高い意義素に決定する
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
意義素決定手段は、
第1キャラクタ属性に基づく対話シナリオの発話文から、係り受け関係となる名詞と動詞とを抽出する品詞抽出手段と、
類義語コーパスを用いて、意義素毎に、係り受け動詞に類似する類義動詞を検索する類義動詞検索手段と、
第1キャラクタ属性に基づくユーザの投稿文の中から、係り受け名詞と各類義動詞との共起頻度を検索し、各類義動詞の共起頻度が最も高い意義素を決定する共起頻度検索手段と
してコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
特徴類義動詞選択手段は、
以下のように、赤池情報量規準(AIC:Akaike's Information Criterion)を用いて、キャラクタ属性P1に対する類義動詞P2の評価値V(P1,P2)を算出し、当該評価値V(P1,P2)が所定閾値以上となる、又は、当該評価値V(P1,P2)が大きいものから順に所定数となる、類義動詞P2を検出対象とする
p11:キャラクタ属性P1のユーザが、類義動詞P2に関する投稿文を投稿した数
p12:キャラクタ属性P1のユーザが、類義動詞P2以外の投稿文を投稿した数
p21:キャラクタ属性P1以外のユーザが、類義動詞P2に関する投稿文を投稿した数
p22:キャラクタ属性P1以外のユーザが、類義動詞P2以外の投稿文を投稿した数
p11+p12+p21+p22=全てのユーザが、投稿文を投稿した数
MLL_IM(P1,P2)=(p11+p12) log(p11+p12)
+(p11+p21) log(p11+p21)
+(p21+p22) log(p21+p22)
+(p12+p22) log(p12+p22)-2N log N
MLL_DM(P1,P2)=p11 log p11+p12 log p12+p21 log p21+p22 log p22-N log N
但し、N=p11+p12+p21+p22
AIC_IM(P1,P2)=-2 × MLL_IM(P1,P2) + 2×2
AIC_IM(P1,P2):キャラクタ属性P1と類義動詞P2との組の従属AIC
AIC_DM(P1,P2)=-2 × MLL_DM(P1,P2) + 2×3
AIC_DM(P1,P2):キャラクタ属性P1と類義動詞P2との組の独立AIC
V(P1,P2)=AIC_IM(P1,P2) - AIC_DM(P1,P2)
ようにコンピュータを機能させることを特徴とする請求項1から3のいずれか1項に記載のプログラム。
【請求項5】
投稿文は、不特定複数のユーザがSNS(Social Networking Service)又はブログに投稿したテキストであり、
キャラクタ属性は、年代、性別、出身地のいずれか又はそれらの組み合わせに基づく分類属性である
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
対話シナリオを用いて、エージェントがユーザと対話する対話手段と、
対話手段によってユーザとの対話中に、対話シナリオの中で特徴類義動詞に置換された発話文がユーザに向けて発話された際に又はその後、ユーザに対して当該発話文に違和感を生じるか否かをテキスト又は音声によって問い合わせ、ユーザが違和感を生じると判定した際に、置換された特徴類義動詞を元の発話動詞に戻すべく再度置換する発話動詞修正手段と
してコンピュータを更に機能させることを特徴とする請求項1から5のいずれか1項に記載のプログラム。
【請求項7】
キャラクタ属性毎に、対話シナリオを蓄積した対話シナリオ蓄積手段と、
キャラクタ属性毎に、複数のユーザにおける複数の投稿文を蓄積する投稿文蓄積手段と、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された発話動詞における意義素を決定し、意義素を同一とする複数の類義動詞を対応付ける意義素決定手段と、
第2キャラクタ属性に基づくユーザの投稿文を用いて、同一の意義素における複数の類義動詞の中で出現頻度が最も偏る類義動詞を、特徴類義動詞として選択する特徴類義動詞選択手段と、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された当該発話動詞を、特徴類義動詞に置換して、第2キャラクタ属性の対話シナリオの発話文とする動詞置換手段と
を有することを特徴とする対話シナリオ作成装置。
【請求項8】
装置の対話シナリオ作成方法であって、
装置は、
キャラクタ属性毎に、対話シナリオを蓄積した対話シナリオ蓄積手段と、
キャラクタ属性毎に、複数のユーザにおける複数の投稿文を蓄積する投稿文蓄積手段と
を有し、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された発話動詞における意義素を決定し、意義素を同一とする複数の類義動詞を対応付ける第1のステップと、
第2キャラクタ属性に基づくユーザの投稿文を用いて、同一の意義素における複数の類義動詞の中で出現頻度が最も偏る類義動詞を、特徴類義動詞として選択する第2のステップと、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された当該発話動詞を、特徴類義動詞に置換して、第2キャラクタ属性の対話シナリオの発話文とする第3のステップと
を実行することを特徴とする対話シナリオ作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザと対話するエージェントの対話シナリオを作成する技術に関する。
【背景技術】
【0002】
スマートフォンやタブレット端末、ロボットを用いて、ユーザに対して自然に対話する対話システムが普及している。コンピュータグラフィックスのエージェントが、ディスプレイに表示され、ユーザに対して音声やテキストで対話する。エージェントは、ユーザから見て対話可能な1人の人物として認識でき、ユーザの状況や、趣味趣向、感情に応じた対話を成立させる。
エージェントは、人物のプロフィールと同様に、個性的なキャラクタ属性(年齢、性別、出身地等)を有する。ユーザは、例えば自らが好むキャラクタ属性のエージェントと対話することによって、より親近感を持つことができる。
【0003】
図1は、エージェントとの対話によって、ユーザが抱く違和感を表す説明図である。
【0004】
図1(a)によれば、20代・女性のキャラクタ属性のエージェントが、以下のようにユーザと対話をしている。
ユーザ :「夜、ご飯どうするの?」
エージェント:「炒飯を食べるよ」
ユーザ :「よく聞く音楽って何ですか?」
エージェント:「KANAを聴くよ」
【0005】
これに対し、図1(b)によれば、10代・男性のキャラクタ属性のエージェントが、図1(a)と同じ対話シナリオを用いて、同じようにユーザと対話している。
ユーザ :「夜、ご飯どうするの?」
エージェント:「炒飯を食べるよ」
ユーザ :「よく聞く音楽って何ですか?」
エージェント:「KANAを聴くよ」
この場合、ユーザは、10代・男性のキャラクタ属性のエージェントと対話しているにも拘わらず、例えば「食べるよ」のように発話をすることに違和感を抱いてしまう。10代・男性であれば、荒っぽい発話をする場合が多いためである。
【0006】
そのために、エージェントの対話シナリオは、一般的に、キャラクタ属性に合わせて人手で作成する必要がある。人手で作成することによって、キャラクタ属性に応じた個性を感じるエージェントを作り込むことができる。しかしながら、多様なエージェントの対話シナリオを人手で作成するには、コスト的な問題が生じる。
【0007】
従来、所望のキャラクタ属性のエージェントに合わせて、発話文の各文節を自動的に書き換える技術がある(例えば特許文献1参照)。この技術によれば、年代・性別などのキャラクタ属性に応じて、人手で作成された発話の「書き換え規則集」を参照する。
例えば、50代・男性のキャラクタ属性の対話シナリオ「ゴルフが好きだな」から、10代・女性のキャラクタ属性の対話シナリオを作成する際に、「な」を「よ」と書き換える。これによって、10代・女性のキャラクタ属性の対話シナリオとして「ゴルフが好きだよ」を作成する。
一般に、ゴルフは、50代・男性に人気のスポーツである。そのために、50代・男性のエージェントが、「ゴルフが好きだな」と発話することには全く違和感がない。しかしながら、10代・女性のエージェントが、「ゴルフが好きだよ」と発話することには違和感がある。一般的な10代・女性が発話する内容ではないためである。
【0008】
これに対して、対話シナリオの発話文に含まれる名詞を、所望のキャラクタ属性に相応しい名詞に置換する技術がある(例えば非特許文献1参照)。この技術によれば、以下のステップを実行することによって、キャラクタ属性に合わせた対話シナリオを作成する。
(S1)キャラクタ属性(例えば20代女性、50代男性など)を指定する。
(S2)対話シナリオにおける当該キャラクタの発話文に含まれる名詞について、当該名詞の類似候補をWikipedia(登録商標)から抽出する。
(S3)抽出された類似候補の中から、指定されたキャラクタ属性と同じキャラクタ属性のSNSユーザの投稿文を抽出する。
(S4)当該SNSユーザの投稿文の中で、特徴的に出現する名詞を1つ決定する。
(S5)対話シナリオにおける当該キャラクタの発話文に含まれる当該名詞を、S4で決定された名詞に置換する。
例えば、20代女性のキャラクタ属性の対話シナリオの発話文「私はKANAをよく聴きます」に対して、50代男性のキャラクタ属性の対話シナリオの発話文「私はHAMADAをよく聴きます」と書き換えることができる。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2013-196070号公報
【非特許文献】
【0010】
【文献】田原俊一ら、「対話シナリオにおけるキャラクタ性を強調した名詞への自動置換手法の提案と評価」、DEIM 2019、[online]、[令和2年7月8日検索]、インターネット<URL:https://db-event.jpn.org/deim2019/post/papers/2.pdf>
【文献】Wikipedia:カテゴリ「動詞」、[online]、[令和2年7月1日検索]、インターネット<URL:https://ja.wikipedia.org/wiki/Category:%E5%8B%95%E8%A9%9E>
【文献】Weblio類語辞典、[online]、[令和2年7月8日検索]、インターネット<URL:https://thesaurus.weblio.jp/>
【文献】連想類語辞典、[online]、[令和2年7月8日検索]、インターネット<URL:https://renso-ruigo.com/word/>
【文献】類語辞書、[online]、[令和2年7月8日検索]、インターネット<URL:https://dictionary.goo.ne.jp/thsrs/>
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、例えば非特許文献1に記載の技術のように名詞の置換だけでは、ユーザは、その対話シナリオの発話文に違和感を抱く場合がある。
例えば「KANA」は、20代・女性に人気のあるアーティストであり、「HAMADA」は50代・男性に人気のあるアーティストであるとする。
このとき、20代・女性のキャラクタ属性のエージェントの発話文として、「私のKANAのCDをパクられた」があるとする。この発話に含まれる名詞を、非特許文献1に記載の技術によって、50代・男性用のキャラクタの発話文に置換するとする。ここでは、20代・女性のキャラクタの発話文に含まれる「KANA」が、50代・男性のキャラクタに適した「HAMADA」に置換される。そうすると、「私のHAMADAのCDをパクられた」という発話文に置換されることとなる。
しかしながら、書き換えた発話文の動詞「パクる」は若年層によく使われる言葉であり、50代男性を特徴付ける発話としては違和感がある。即ち、発話文に含まれる動詞が、キャラクタ属性に合った動詞に置換されていないために、キャラクタ表現としては違和感が残る。
【0012】
これに対し、本願発明者らは、対話シナリオの中で単に名詞や文節を置換しても、そのキャラクタ属性に基づく人物の特徴を表すことにはならない、のではないかと考えた。実は、そのキャラクタ属性に基づく人物が、実際に発話することが想起される「動詞」こそ、そのキャラクタ属性に基づく人物の特徴を最も表すのではないか、と考えた。
【0013】
また、例えばWikipedia(登録商標)におけるページは名詞が大多数を占めており、動詞に関連する記事が少ない。そのため、動詞の置換候補が少ないという問題もある。例えばカテゴリ「動詞」を見ると、動詞の記事が47記事しかない。そのために、単にWikipediaの動詞を参照しても、対話シナリオの発話文に含まれる動詞を、キャラクタ属性に応じた動詞に置換することは極めて難しい。
【0014】
そこで、本発明は、キャラクタ属性に応じた動詞に置換した対話シナリオを作成するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明のプログラムによれば、
キャラクタ属性毎に、対話シナリオを蓄積した対話シナリオ蓄積手段と、
キャラクタ属性毎に、複数のユーザにおける複数の投稿文を蓄積する投稿文蓄積手段と、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された発話動詞における意義素を決定し、意義素を同一とする複数の類義動詞を対応付ける意義素決定手段と、
第2キャラクタ属性に基づくユーザの投稿文を用いて、同一の意義素における複数の類義動詞の中で出現頻度が最も偏る類義動詞を、特徴類義動詞として選択する特徴類義動詞選択手段と、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された当該発話動詞を、特徴類義動詞に置換して、第2キャラクタ属性の対話シナリオの発話文とする動詞置換手段と
してコンピュータを機能させることを特徴とする。
【0016】
本発明のプログラムにおける他の実施形態によれば、
意義素決定手段は、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された発話動詞について、複数の意義素が決定された際に、
類義語コーパスを用いて、意義素毎に、当該意義素を同一とする複数の類義動詞を検索し、
第1キャラクタ属性に基づくユーザの投稿文の中で、意義素毎に各類義動詞の出現頻度を計数し、
各類義動詞の出現頻度が最も高い意義素に決定する
ようにコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
意義素決定手段は、
第1キャラクタ属性に基づく対話シナリオの発話文から、係り受け関係となる名詞と動詞とを抽出する品詞抽出手段と、
類義語コーパスを用いて、意義素毎に、係り受け動詞に類似する類義動詞を検索する類義動詞検索手段と、
第1キャラクタ属性に基づくユーザの投稿文の中から、係り受け名詞と各類義動詞との共起頻度を検索し、各類義動詞の共起頻度が最も高い意義素を決定する共起頻度検索手段と
してコンピュータを機能させることも好ましい。
【0018】
本発明のプログラムにおける他の実施形態によれば、
特徴類義動詞選択手段は、
以下のように、赤池情報量規準(AIC:Akaike's Information Criterion)を用いて、キャラクタ属性P1に対する類義動詞P2の評価値V(P1,P2)を算出し、当該評価値V(P1,P2)が所定閾値以上となる、又は、当該評価値V(P1,P2)が大きいものから順に所定数となる、類義動詞P2を検出対象とする
p11:キャラクタ属性P1のユーザが、類義動詞P2に関する投稿文を投稿した数
p12:キャラクタ属性P1のユーザが、類義動詞P2以外の投稿文を投稿した数
p21:キャラクタ属性P1以外のユーザが、類義動詞P2に関する投稿文を投稿した数
p22:キャラクタ属性P1以外のユーザが、類義動詞P2以外の投稿文を投稿した数
p11+p12+p21+p22=全てのユーザが、投稿文を投稿した数
MLL_IM(P1,P2)=(p11+p12) log(p11+p12)
+(p11+p21) log(p11+p21)
+(p21+p22) log(p21+p22)
+(p12+p22) log(p12+p22)-2N log N
MLL_DM(P1,P2)=p11 log p11+p12 log p12+p21 log p21+p22 log p22-N log N
但し、N=p11+p12+p21+p22
AIC_IM(P1,P2)=-2 × MLL_IM(P1,P2) + 2×2
AIC_IM(P1,P2):キャラクタ属性P1と類義動詞P2との組の従属AIC
AIC_DM(P1,P2)=-2 × MLL_DM(P1,P2) + 2×3
AIC_DM(P1,P2):キャラクタ属性P1と類義動詞P2との組の独立AIC
V(P1,P2)=AIC_IM(P1,P2) - AIC_DM(P1,P2)
ようにコンピュータを機能させることも好ましい。
【0019】
本発明のプログラムにおける他の実施形態によれば、
投稿文は、不特定複数のユーザがSNS(Social Networking Service)又はブログに投稿したテキストであり、
キャラクタ属性は、年代、性別、出身地のいずれか又はそれらの組み合わせに基づく分類属性である
ようにコンピュータを機能させることも好ましい。
【0020】
本発明のプログラムにおける他の実施形態によれば、
対話シナリオを用いて、エージェントがユーザと対話する対話手段と、
対話手段によってユーザとの対話中に、対話シナリオの中で特徴類義動詞に置換された発話文がユーザに向けて発話された際に又はその後、ユーザに対して当該発話文に違和感を生じるか否かをテキスト又は音声によって問い合わせ、ユーザが違和感を生じると判定した際に、置換された特徴類義動詞を元の発話動詞に戻すべく再度置換する発話動詞修正手段と
してコンピュータを更に機能させることも好ましい。
【0021】
本発明の対話シナリオ作成装置によれば、
キャラクタ属性毎に、対話シナリオを蓄積した対話シナリオ蓄積手段と、
キャラクタ属性毎に、複数のユーザにおける複数の投稿文を蓄積する投稿文蓄積手段と、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された発話動詞における意義素を決定し、意義素を同一とする複数の類義動詞を対応付ける意義素決定手段と、
第2キャラクタ属性に基づくユーザの投稿文を用いて、同一の意義素における複数の類義動詞の中で出現頻度が最も偏る類義動詞を、特徴類義動詞として選択する特徴類義動詞選択手段と、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された当該発話動詞を、特徴類義動詞に置換して、第2キャラクタ属性の対話シナリオの発話文とする動詞置換手段と
を有することを特徴とする。
【0022】
本発明の対話シナリオ作成方法によれば、
装置は、
キャラクタ属性毎に、対話シナリオを蓄積した対話シナリオ蓄積手段と、
キャラクタ属性毎に、複数のユーザにおける複数の投稿文を蓄積する投稿文蓄積手段と
を有し、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された発話動詞における意義素を決定し、意義素を同一とする複数の類義動詞を対応付ける第1のステップと、
第2キャラクタ属性に基づくユーザの投稿文を用いて、同一の意義素における複数の類義動詞の中で出現頻度が最も偏る類義動詞を、特徴類義動詞として選択する第2のステップと、
第1キャラクタ属性に基づく対話シナリオの発話文に記述された当該発話動詞を、特徴類義動詞に置換して、第2キャラクタ属性の対話シナリオの発話文とする第3のステップと
を実行することを特徴とする。
【発明の効果】
【0023】
本発明のプログラム、装置及び方法によれば、キャラクタ属性に応じた動詞に置換した対話シナリオを作成することができる。
【図面の簡単な説明】
【0024】
図1】エージェントとの対話によって、ユーザが抱く違和感を表す説明図である。
図2】本発明における対話シナリオ作成装置の機能構成図である。
図3】本発明における対話シナリオ蓄積部及び投稿文蓄積部の説明図である。
図4】本発明における意義素決定部の機能構成図である。
図5】本発明における特徴類義動詞選択部の説明図である。
図6】本発明における動詞置換部の説明図である。
図7】本発明によって置換された対話シナリオを表す説明図である。
図8】本発明によって置換された動詞を修正するインタフェースを表す説明図である。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0026】
図2は、本発明における対話シナリオ作成装置の機能構成図である。
【0027】
本発明の対話シナリオ作成装置1は、エージェントのキャラクタ属性に応じた対話シナリオを自動的に作成する。
図2によれば、対話シナリオ作成装置1は、対話部100と、対話シナリオ蓄積部101と、投稿文蓄積部102と、意義素決定部11と、特徴類義動詞選択部12と、動詞置換部13と、発話動詞修正部14とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、対話シナリオ作成方法としても理解できる。
【0028】
本発明の対話シナリオ作成装置1は、
第1キャラクタ属性のエージェントにおける第1対話シナリオの発話文に含まれる動詞に関係する意義素を決定し(意義素決定部11)、
意義素の中に複数存在する類義動詞の中から、作成したい第2の対話シナリオの第2キャラクタ属性を特徴付ける類義動詞を選択し(特徴類義動詞選択部12)、
第1対話シナリオの発話文に含まれる当該動詞を、第2キャラクタ属性に応じた類義動詞に置換する(動詞置換部13)
ことによって、第2キャラクタ属性のエージェントにおける第2対話シナリオを自動的に作成する。
【0029】
[対話部100]
対話部100は、ユーザが所持する端末2に対して、ユーザインタフェースを介して、音声やテキストで対話するエージェントが起動する。ユーザは、所望のキャラクタ属性(年齢、性別、出身地等)に応じたエージェントを選択することができる。エージェントは、対話シナリオ蓄積部101を参照し、そのキャラクタ属性に応じた対話シナリオを用いてユーザと対話する。エージェントは、ユーザから見て、そのキャラクタ属性に基づく人物として認識できる。
【0030】
[対話シナリオ蓄積部101]
対話シナリオ蓄積部101は、キャラクタ属性毎に、対話シナリオを蓄積したものである。
対話シナリオ蓄積部101は、対話シナリオを、受話文と発話文とによって構成する。受話文は、ユーザが発話するであろうテキストを想定したものであり、発話文は、その受話文に対してエージェントが発話するテキストである。
また、エージェントのキャラクタ属性は、例えば年代、性別、出身地のいずれか又はそれらの組み合わせに基づく分類属性とする。
【0031】
図3は、本発明における対話シナリオ蓄積部及び投稿文蓄積部の説明図である。
【0032】
図3(a)によれば、対話シナリオ蓄積部101に蓄積された第1キャラクタ属性の対話シナリオが表されている。ここで、第1キャラクタ属性は、例えば20代・女性とする。
(受話文) (発話文)
・・・・・・・・・・・・ ・・・・・・・
「夜、ご飯、どうするの?」 「炒飯を食べるよ」
・・・・・・・・・・・・ ・・・・・・・
エージェントの発話文の動詞は、「食べるよ」となっており、第1キャラクタ属性「20代・女性」を想定する話し方となっている。キャラクタ属性に応じた微妙な動詞の発話文に調整するために、従来技術によれば人手によって作成されていた。
本発明の実施形態によれば、第1キャラクタ属性「20代・女性」の第1対話シナリオから、第2キャラクタ属性「10代・男性」の第2対話シナリオを自動的に作成する。
【0033】
[投稿文蓄積部102]
投稿文蓄積部102は、キャラクタ属性(ユーザ属性、デモグラフィック)毎に、複数のユーザにおける複数の投稿文を蓄積したものである。
投稿文は、例えばSNS(Social Networking Service)又はブログに投稿されたテキストであって、不特定多数の第三者、又は、特定人物によって送信されたものであってもよい。
【0034】
図3(b)によれば、キャラクタ属性毎に、例えば以下のような投稿文が列挙されている。
第1キャラクタ属性(20代・女性)に基づく投稿文
「炒飯でも食べるよ」
・・・・・・
「炒飯食べて元気だそう」
「炒飯を召し上がっちゃおう」
第2キャラクタ属性(10代・男性)に基づく投稿文
・・・・・・
「飯食うよ」
・・・・・・
「飯、食って腹一杯」
「炒飯でも召し上がろうかね」
投稿文には、男性らしい口調や、女性らしい口調、若者らしい口調、老年者らしい口調、地方の方言のような口調が表れる。これらは、キャラクタ属性に応じて投稿文の動詞に影響を与える。
【0035】
不特定多数の投稿文をキャラクタ属性毎に分類するために、例えば特許文献1のように、投稿文毎に、性別・年代や出身地のようなキャラクタ属性を推定する技術を用いることもできる。SNSサイトサーバから取得可能な投稿者間の交流関係を用いて、投稿者のプロフィール(キャラクタ属性)を推定する。
投稿文のキャラクタ属性は、対話シナリオのキャラクタ属性と同様の分類属性とする。キャラクタ属性は、発話文における特に動詞(例えば語尾)に影響する。
【0036】
第1キャラクタ属性の投稿文は、置換元となる第1対話シナリオと同一又は類似のキャラクタ属性のユーザ(不特定多数又は特定人物)から投稿された投稿文である。
第2キャラクタ属性の投稿文は、置換先となる第2対話シナリオと同一又は類似のキャラクタ属性のユーザ(不特定多数又は特定人物)から投稿された投稿文である。
【0037】
[意義素決定部11]
意義素決定部11は、第1キャラクタ属性に基づく対話シナリオの発話文に記述された「発話動詞」における「意義素」を決定し、意義素を同一とする複数の「類義動詞」を対応付ける。ここで、第1キャラクタ属性に基づく対話シナリオの発話文に記述された「発話動詞」について、複数の意義素が決定された場合、いずれか1つの意義素に決定する。
【0038】
「意義素(sememe)」とは、単語の意味を構成する概念に基づく単位をいう。言語学では、「文の意味」と「語の意義」とを使い分けている。語の「意義」を構成する要素として、音素(phoneme)や形態素 (morpheme)に準じて意義素がある。
【0039】
図4は、本発明における意義素決定部の機能構成図である。
【0040】
図4によれば、意義素決定部11は、第1キャラクタ属性の対話シナリオを入力し、決定した意義素及び類義語からなる意義素テーブルを出力する。
例えば入力される第1キャラクタ属性の対話シナリオとして、20代・女性のエージェントの対話シナリオが入力されるとする。
(発話文)
「炒飯を食べるよ」
【0041】
図4によれば、意義素決定部11は、品詞抽出部111と、類義動詞検索部112と、共起頻度検索部113とを有する。
【0042】
<品詞抽出部111>
品詞抽出部111は、第1キャラクタ属性に基づく対話シナリオの発話文から、係り受け関係となる名詞と動詞とを抽出する。
品詞抽出部111は、例えば日本語係り受け解析器CaboChaを用いたものであってもよい。このような解析器に、文を入力すると、名詞及び動詞が出力される。
図4によれば、品詞抽出部111は、以下のように名詞及び動詞を抽出する。
(発話文) (名詞) (動詞)
「炒飯を食べるよ」 「炒飯」 「食べる」
品詞抽出部111は、動詞「食べる」を類義動詞検索部112へ出力し、名詞「炒飯」を出力する。
【0043】
<類義動詞検索部112>
類義動詞検索部112は、「類義語コーパス」を用いて、意義素毎に、係り受け動詞に類似する「類義動詞」を検索する。
【0044】
類義語コーパスは、意義素と類義語とから構成され、例えば以下のようなものがある。
・Weblio類語辞典(非特許文献3参照)
・連想類語辞典(非特許文献4参照)
・類語辞書(非特許文献5参照)
例えば、類義動詞検索部112は、動詞「食べる」を入力した場合、動詞「食べる」に類似する1つ以上の類義動詞を検索する。
このとき、動詞「食べる」には、「ご飯を食べる」「魚を食べる」「野菜を食べる」のように「食事をする」という意義素(意味合い)と、「社長業で食っていく」「好きなことをして食っていく」のように「自活をする」という意義素とがある。そして、意義素毎に複数の類義動詞が検索される。
(動詞) (意義素) (類義動詞)
「食べる」 「食事をする」 食う
召し上がる
食事する
喫する
「自活をする」 生活する
生きていく
食べる
複数の類義動詞「食う」「召し上がる」「食事する」「喫する」は、意義素「食事をする」を同一とする。また、複数の類義動詞「生活する」「生きていく」「食べる」は、意義素「自活をする」を同一とする。
【0045】
類義動詞検索部112は、入力された動詞について、全ての意義素を導出し、意義素毎に全ての類義動詞を検索する。検索された意義素テーブルは、共起頻度検索部113へ出力される。
【0046】
<共起頻度検索部113>
共起頻度検索部113は、第1キャラクタ属性に基づくユーザの投稿文の中から、「係り受け名詞と各類義動詞との共起頻度」を検索し、意義素毎に各類義動詞の出現頻度を計数する。そして、類義動詞の共起頻度が最も高い意義素を決定する。
【0047】
図4によれば、共起頻度検索部113は、例えば、類義動詞検索部112から動詞「食べる」の意義素テーブルを入力すると共に、品詞抽出部111から名詞「炒飯」を入力する。また、共起頻度検索部113は、投稿文蓄積部102を参照し、第1キャラクタ属性の投稿文を取得する。
ここで、共起頻度検索部113は、名詞「炒飯」と、意義素テーブルの各類義動詞とが共起する頻度が高い意義素を決定する。
【0048】
図4によれば、投稿文蓄積部102には、第1キャラクタ属性の投稿文が8件あるとする。その中で、以下の3件の投稿文について、名詞「炒飯」と、意義素「食べる」に類義する類義動詞とが共起している。
(投稿文) (名詞)(類義動詞)
「炒飯でも食べるよ」 「炒飯」「食べる」
「炒飯食べて元気だそう」 「炒飯」「食べる」
「炒飯を召し上がっちゃおう」 「炒飯」「召し上がる」
図4によれば、名詞「炒飯」に対して共起頻度が高い類義動詞として「食べる」「召し上がる」がある。これら類義動詞は、意義素「食事をする」に対応する。そうすると、意義素「食事をする」と「自活をする」とを比較すると、共起頻度が最も高い意義素としては、「食事をする」となる。
即ち、共起頻度検索部113は、意義素「食事をする」を決定し、類義動詞「食う」「召し上がる」「食べる」「喫する」が対応付けられた意義素テーブルを出力する。
【0049】
[特徴類義動詞選択部12]
特徴類義動詞選択部12は、第2キャラクタ属性に基づくユーザの投稿文を用いて、同一の意義素における複数の類義動詞の中で出現頻度が最も偏る類義動詞を、特徴類義動詞として選択する。
【0050】
第2キャラクタ属性は、新たに作成する第2対話シナリオのエージェントに基づくものである。そのエージェントが、特定人物(例えば芸能人やタレント)をユーザに想起させるものであってもよい。その場合、第2キャラクタ属性に基づくユーザの投稿文として、その特定人物が過去に投稿した投稿文を用いることもできる。これによって、不特定人物に基づく一般的な第1対話シナリオから、特定人物に基づく第2対話シナリオを自動的に作成することができる。
【0051】
図5は、本発明における特徴類義動詞選択部の説明図である。
【0052】
図5によれば、意義素決定部11から意義素テーブルを入力すると共に、作成したい対話シナリオに基づく第2のキャラクタ属性の投稿文を参照する。
ここでは、10代・男性を、第2キャラクタ属性と設定し、そのエージェントの対話シナリオを作成するとする。
特徴類義動詞選択部12は、第2キャラクタ属性に基づくユーザの投稿文を用いて、同一の意義素における以下の複数の類義動詞について、出現頻度を検索する。
意義素 「食事をする」
類義動詞「食う」「召し上がる」「食べる」「喫する」
そして、特徴類義動詞選択部12は、類義動詞毎に、当該類義動詞が記述された第2キャラクタ属性の投稿文を検索し、出現頻度が最も偏る類義動詞を、特徴類義動詞として選択する。
【0053】
特徴類義動詞選択部12は、以下のように、赤池情報量規準(AIC:Akaike's Information Criterion)を用いて、キャラクタ属性P1に対する類義動詞P2の評価値V(P1,P2)を算出し、当該評価値V(P1,P2)が所定閾値以上となる、又は、当該評価値V(P1,P2)が大きいものから順に所定数となる、類義動詞P2を検出対象とする
p11:キャラクタ属性P1のユーザが、類義動詞P2に関する投稿文を投稿した数
p12:キャラクタ属性P1のユーザが、類義動詞P2以外の投稿文を投稿した数
p21:キャラクタ属性P1以外のユーザが、類義動詞P2に関する投稿文を投稿した数
p22:キャラクタ属性P1以外のユーザが、類義動詞P2以外の投稿文を投稿した数
p11+p12+p21+p22=全てのユーザが、投稿文を投稿した数
MLL_IM(P1,P2)=(p11+p12) log(p11+p12)
+(p11+p21) log(p11+p21)
+(p21+p22) log(p21+p22)
+(p12+p22) log(p12+p22)-2N log N
MLL_DM(P1,P2)=p11 log p11+p12 log p12+p21 log p21+p22 log p22-N log N
但し、N=p11+p12+p21+p22
AIC_IM(P1,P2)=-2 × MLL_IM(P1,P2) + 2×2
AIC_IM(P1,P2):キャラクタ属性P1と類義動詞P2との組の従属AIC
AIC_DM(P1,P2)=-2 × MLL_DM(P1,P2) + 2×3
AIC_DM(P1,P2):キャラクタ属性P1と類義動詞P2との組の独立AIC
V(P1,P2)=AIC_IM(P1,P2) - AIC_DM(P1,P2)
【0054】
特徴類義動詞選択部12は、赤池情報量規準に応じて、1件の類義動詞を選択する。ここで、上位数件の類義動詞を選択し、それらの中からランダムに1件の類義動詞を選択するものであってもよい。
【0055】
図5によれば、キャラクタ属性の10代・男性について、類義動詞毎の赤池情報量規準を算出すると、類義動詞「食う」に偏って出現頻度が多いことが理解できる。
最終的に、特徴類義動詞選択部12は、動詞「食べる」と、類義動詞「食う」とを、動詞置換部13へ出力する。
【0056】
[動詞置換部13]
動詞置換部13は、第1キャラクタ属性に基づく対話シナリオの発話文に記述された当該発話動詞を、特徴類義動詞に置換して、第2キャラクタ属性の対話シナリオの発話文とする。
【0057】
図6は、本発明における動詞置換部の説明図である。
【0058】
図6によれば、動詞置換部13は、第1キャラクタ属性(20代・女性)の対話シナリオの中で、動詞「食べる」を類義動詞「食う」に置換し、第2キャラクタ属性(10代・男性)の対話シナリオとして作成する。
第1キャラクタ属性の対話テキストの発話文:「炒飯を食べるよ」
第2キャラクタ属性の対話テキストの発話文:「炒飯を食うよ」
【0059】
前述したように、意義素決定部11と、特徴類義動詞選択部12と、動詞置換部13とを繰り返すことによって、最終的に、異なるキャラクタ属性の対話シナリオから、所望のキャラクタ属性の対話シナリオを自動的に作成することができる。
【0060】
図7は、本発明によって置換された対話シナリオを表す説明図である。
【0061】
図7によれば、図1(a)のような20代・女性のキャラクタ属性の対話シナリオから、10代・男性のキャラクタ属性の対話シナリオを作成したものである。
ユーザ :「夜、ご飯どうするの?」
エージェント:「炒飯を食うよ」
ユーザは、10代・男性のキャラクタ属性のエージェントと対話しており、「食うよ」と発話されることに違和感を生じない。10代・男性であれば、荒っぽい発話をする場合が多いためである。
【0062】
ここで、ユーザから見て、動詞が置換された対話シナリオの発話文に対して、日本語に不自然な違和感を抱く場合もある。例えば、対話シナリオの発話文に以下のようなものがあるとする。
「炒飯を食べたい」-> 動詞:「食べ」、機能語:「たい」
置換される類義動詞「食う」が選択された場合、以下のような発話文が作成される。
「炒飯を食べたい」-> 「炒飯を食うたい」
このように、動詞の活用形を考慮せずに、動詞を置換するために、日本語として違和感が生じてしまう。
【0063】
図8は、本発明によって置換された動詞を修正するインタフェースを表す説明図である。
【0064】
[発話動詞修正部14]
発話動詞修正部14は、対話部100におけるユーザとの対話中に、対話シナリオの中で特徴類義動詞に置換された発話文がユーザに向けて発話された際に又はその後、ユーザに対して当該発話文に違和感を生じるか否かをテキスト又は音声によって問い合わせる。このとき、発話動詞修正部14は、対話部100を介して、端末2のユーザインタフェースに対して問い合わせ情報を送信する。
図8によれば、端末2の対話アプリケーション上に、以下のような、2択の問い合わせボタンが表示される。
「返答に違和感有り」
「返答に違和感無し」
【0065】
ユーザが違和感を生じると判定した際に、「返答に違和感有り」がタップされる。このタップ情報は、端末2から、対話シナリオ作成装置1へ送信される。そのタップ情報は、発話動詞修正部14によって認識され、置換された特徴類義動詞を元の発話動詞に戻すべく再度置換する。
このように、エージェントがユーザと対話することによって、動詞の置換の正当性を判断していくことができる。
【0066】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、キャラクタ属性に応じた動詞に置換した対話シナリオを作成することができる。これによって、キャラクタ属性として違和感の無い対話シナリオを自動的に作成することができる
【0067】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0068】
1 対話シナリオ作成装置
100 対話部
101 対話シナリオ蓄積部
102 投稿文蓄積部
11 意義素決定部
111 品詞抽出部
112 類義動詞検索部
113 共起頻度検索部
12 特徴類義動詞選択部
13 動詞置換部
14 発話動詞修正部
2 端末
図1
図2
図3
図4
図5
図6
図7
図8