(57)【要約】【課題】キャラクタ属性として違和感の無い対話シナリオを作成する装置等を提供する。【解決手段】基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、基準対話シナリオに含まれる回答名詞を、候補回答名詞に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段とを有する。【選択図】図２
2020027548.tif 000002
【特許請求の範囲】
【請求項１】
キャラクタ属性に応じた対話シナリオを作成する装置に搭載されたコンピュータを機能させるプログラムであって、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、
回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、
基準対話シナリオに含まれる前記回答名詞を、前記候補回答名詞に置換することによって、予め指定された前記ユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
前記置換対象名詞抽出手段について、
前記疑問名詞は、疑問詞と係り受けの関係にある名詞であり、
前記回答名詞は、前記疑問名詞とベクトル表現的な類似度が最も高い名詞である
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
キーワード毎に用意された前記ページには、当該キーワードが属する１つ以上のカテゴリ名が記述されており、
前記置換候補取得手段は、
回答名詞をキーとしてページを検索し、
当該ページに記述された全てのカテゴリ名の中から、前記疑問名詞とベクトル表現的な類似度が所定閾値以上高いカテゴリ名を選択し、
当該カテゴリ名に属する１つ以上のキーワードを、候補回答名詞とする
ようにコンピュータを機能させることを特徴とする請求項２に記載のプログラム。
【請求項４】
前記置換候補取得手段は、
当該ページに記述された全てのカテゴリ名に含まれる名詞を抽出し、
当該名詞の中から、前記疑問名詞とベクトル表現的な類似度が所定閾値以上高い名詞を含むカテゴリ名を選択する
ようにコンピュータを機能させることを特徴とする請求項３に記載のプログラム。
【請求項５】
前記置換候補取得手段は、回答名詞をキーとして複数のページを検索した際に、全てのページに記述された全てのカテゴリ名に含まれる名詞を抽出する
ようにコンピュータを機能させることを特徴とする請求項４に記載のプログラム。
【請求項６】
前記ページは、Wikipedia（登録商標）に基づくものである
ようにコンピュータを機能させることを特徴とする請求項３から５のいずれか１項に記載のプログラム。
【請求項７】
前記置換候補取得手段は、前記回答名詞とベクトル表現的な類似度が所定範囲内に属する他の候補回答名詞を検索する
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項８】
ベクトル表現的な類似度は、Word2vec又はfastTextを用いて算出する
ようにコンピュータを機能させることを特徴とする請求項２から７のいずれか１項に記載のプログラム。
【請求項９】
前記置換候補選択手段は、前記投稿文と前記投稿者のユーザ属性とを、ＳＮＳ(Social Networking Service)によって検索する
ようにコンピュータを機能させることを特徴とする請求項１から８のいずれか１項に記載のプログラム。
【請求項１０】
前記置換候補選択手段は、
以下のように、赤池情報量規準(ＡＩＣ：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)
ようにコンピュータを機能させることを特徴とする請求項１から９のいずれか１項に記載のプログラム。
【請求項１１】
キャラクタ属性に応じた対話シナリオを作成する装置であって、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、
基準対話シナリオに含まれる前記回答名詞を、前記候補回答名詞に置換することによって、予め指定された前記ユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段と
を有することを特徴とする装置。
【請求項１２】
キャラクタ属性に応じた対話シナリオを作成する装置の対話シナリオ作成方法であって、
前記装置は、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する第１のステップと、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する第２のステップと、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する第３のステップと、
基準対話シナリオに含まれる前記回答名詞を、前記候補回答名詞に置換することによって、予め指定された前記ユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する第４のステップと
を実行することを特徴とする装置の対話シナリオ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザと対話するエージェントに基づく対話シナリオを作成する技術に関する。
【背景技術】
【０００２】
スマートフォンやタブレット端末では、ユーザに対して自然に対話する対話システムが普及しつつある。コンピュータグラフィックスのエージェントが、ディスプレイに表示され、ユーザに対して音声やテキストで対話する。エージェントは、ユーザから見て特別な意識を持たせることなく、ユーザの状況や、趣味趣向、感情に応じた対話を成立させる。
エージェントは、ユーザのプロファイルと同様に、個性的なキャラクタ属性（年齢、性別等）を有する。ユーザは、例えば自らと同じキャラクタ属性を持つエージェントと対話することによって、高い親近感を持つことができる。
【０００３】
従来、エージェントは、キャラクタ属性に合わせた対話シナリオを、人手で作成する必要がある（例えば非特許文献１参照）。対話シナリオを人手で作成することによって、個性的なキャラクタ属性を持つエージェントを作り込むことができる。しかしながら、多数の多様なエージェントの対話シナリオを作成するには、コスト的な問題が生じる。
【０００４】
これに対し、所望のエージェントに合わせて、発話の各文節の機能部を自動的に書き換える技術がある（例えば非特許文献１参照）。この技術によれば、年代・性別・ユーザとの親密度のようなキャラクタ属性に基づいて、人手で作成した発話の「書き換え規則集」を参照する。
例えば、基準対話シナリオ「ゴルフが好きだな」から、１０代・女性のキャラクタ属性のエージェントの対話シナリオを作成する際に、「な」という箇所を、「よ」と書き換える。これによって、１０代・女性のエージェントに対して、対話シナリオ「ゴルフが好きだよ」を作成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１９６０７０号公報
【非特許文献】
【０００６】
【非特許文献１】株式会社アウトソーシングテクノロジー、「ロボット「対話」のためのシナリオ作成サービス開始いたしました。」、[online]、［平成３０年８月１１日検索］、インターネット＜URL:https://www.ostechnology.co.jp/information/20170123/＞
【非特許文献２】宮崎千明, et al. "文節機能部の確率的書き換えによるキャラクタ属性変換．" 言語処理学会第 21 回年次大会発表論文集 (2015): 277-280.、[online]、［平成３０年８月１１日検索］、インターネット＜URL:http://www.anlp.jp/proceedings/annual_meeting/2015/pdf_dir/B1-4.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、例えば非特許文献２に記載の技術によれば、書き換えた発話の内容に違和感が残る場合がある。
例えば「ゴルフ」は、４０代・男性に人気のスポーツである。そのために、４０代・男性のエージェントが、「ゴルフが好きだな」と発話することには全く違和感がない。しかしながら、１０代・女性のエージェントが、「ゴルフが好きだよ」と発話することに違和感がある。一般的な１０代・女性が発話する内容ではないためである。
【０００８】
これに対し、本願発明者らは、そのキャラクタ属性に基づく人物が、実際に話題としないであろう名詞を含む対話シナリオについて、文節の機能部を書き換えても、その人物が発話するであろう対話にはならない、と考えた。実は、そのキャラクタ属性に基づく人物が、実際に話題とするであろう「名詞」こそ、その対話シナリオの中で書き換える必要があるのではないか、と考えた。
【０００９】
そこで、本発明は、そのキャラクタ属性に基づく人物が、実際に話題とするであろう名詞を含む対話シナリオに書き換えることによって、キャラクタ属性として違和感の無い対話シナリオを自動的に作成することができるプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によれば、キャラクタ属性に応じた対話シナリオを作成する装置に搭載されたコンピュータを機能させるプログラムであって、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、
基準対話シナリオに含まれる回答名詞を、候補回答名詞に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段と
してコンピュータを機能させることを特徴とする。
【００１１】
本発明のプログラムにおける他の実施形態によれば、
置換対象名詞抽出手段について、
疑問名詞は、疑問詞と係り受けの関係にある名詞であり、
回答名詞は、疑問名詞とベクトル表現的な類似度が最も高い名詞である
ようにコンピュータを機能させることも好ましい。
【００１２】
本発明のプログラムにおける他の実施形態によれば、
キーワード毎に用意されたページには、当該キーワードが属する１つ以上のカテゴリ名が記述されており、
置換候補取得手段は、
回答名詞をキーとしてページを検索し、
当該ページに記述された全てのカテゴリ名の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高いカテゴリ名を選択し、
当該カテゴリ名に属する１つ以上のキーワードを、候補回答名詞とする
ようにコンピュータを機能させることも好ましい。
【００１３】
本発明のプログラムにおける他の実施形態によれば、
置換候補取得手段は、
当該ページに記述された全てのカテゴリ名に含まれる名詞を抽出し、
当該名詞の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高い名詞を含むカテゴリ名を選択する
ようにコンピュータを機能させることも好ましい。
【００１４】
本発明のプログラムにおける他の実施形態によれば、
置換候補取得手段は、回答名詞をキーとして複数のページを検索した際に、全てのページに記述された全てのカテゴリ名に含まれる名詞を抽出する
ようにコンピュータを機能させることも好ましい。
【００１５】
本発明のプログラムにおける他の実施形態によれば、
前記ページは、Wikipedia（登録商標）に基づくものである
ようにコンピュータを機能させることも好ましい。
【００１６】
本発明のプログラムにおける他の実施形態によれば、
前記置換候補取得手段は、前記回答名詞とベクトル表現的な類似度が所定範囲内に属する他の候補回答名詞を検索する
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明のプログラムにおける他の実施形態によれば、
ベクトル表現的な類似度は、Word2vec又はfastTextを用いて算出する
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明のプログラムにおける他の実施形態によれば、
置換候補選択手段は、投稿文と投稿者のユーザ属性とを、ＳＮＳ(Social Networking Service)によって検索する
ようにコンピュータを機能させることも好ましい。
【００１９】
本発明のプログラムにおける他の実施形態によれば、
置換候補選択手段は、
以下のように、赤池情報量規準(ＡＩＣ：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)
ようにコンピュータを機能させることも好ましい。
【００２０】
本発明によれば、キャラクタ属性に応じた対話シナリオを作成する装置であって、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、
基準対話シナリオに含まれる回答名詞を、候補回答名詞に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段と
を有することを特徴とする。
【００２１】
本発明によれば、キャラクタ属性に応じた対話シナリオを作成する装置の対話シナリオ作成方法であって、
装置は、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する第１のステップと、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する第２のステップと、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する第３のステップと、
基準対話シナリオに含まれる回答名詞を、候補回答名詞に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する第４のステップと
を実行することを特徴とする。
【発明の効果】
【００２２】
本発明のプログラム、装置及び方法によれば、そのキャラクタ属性に基づく人物が、実際に話題とするであろう名詞を含む対話シナリオに書き換えることによって、キャラクタ属性として違和感の無い対話シナリオを自動的に作成することができる。
【図面の簡単な説明】
【００２３】
【図１】基準対話シナリオから作成した他の対話シナリオを表す説明図である。
【図２】本発明における対話サーバの機能構成図である。
【図３】本発明における置換対象名詞抽出部の処理を表す説明図である。
【図４】本発明における置換候補取得部の処理を表す説明図である。
【図５】本発明における置換候補選択部の処理を表す説明図である。
【図６】本発明における置換候補取得部の他の実施形態の処理を表す説明図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２５】
図１は、基準対話シナリオから作成した他の対話シナリオを表す説明図である。
【００２６】
図１（ａ）によれば、ユーザとエージェントとの間で、以下のような基準対話シナリオが作成されているとする。
ユーザ      ：「どんな音楽を聴きますか」
エージェント：「ＫＡＮＡです、新宿でこの前見ました」
ユーザ      ：「ＫＡＮＡは、ＡＡＡレコーズのアーティストですよね」
・・・・・
【００２７】
これに対し、本発明によれば、図１（ｂ）のように、基準対話シナリオから、４０代・男性のエージェントの対話シナリオを自動的に作成することができる。
ユーザ      ：「どんな音楽を聴きますか」
エージェント：「ＨＡＭＡＤＡです、新宿でこの前見ました」
ユーザ      ：「ＨＡＭＡＤＡは、ＡＡＡレコーズのアーティストですよね」
・・・・・
【００２８】
図２は、本発明における対話シナリオ作成装置の機能構成図である。
【００２９】
図２の対話シナリオ作成装置１は、基準対話シナリオから、キャラクタ属性に応じたエージェント用の対話シナリオを自動的に作成するものである。特に、基準対話シナリオの発話に含まれる名詞を、作成すべきのキャラクタ属性の人物が使うであろう名詞に置換するものである。
図２によれば、対話シナリオ作成装置１は、置換対象名詞抽出部１１と、置換候補取得部１２と、置換候補選択部１３と、回答名詞置換部１４とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、対話シナリオ作成方法としても理解できる。
【００３０】
［置換対象名詞抽出部１１］
置換対象名詞抽出部１１は、基準対話シナリオを入力し、最初に、基準対話シナリオに含まれる一連の「疑問発話文」及び「回答発話文」の組を抽出する。
【００３１】
図３は、本発明における置換対象名詞抽出部の処理を表す説明図である。
【００３２】
基準対話シナリオの中から、疑問詞「何」「どんな」を含む文を、「疑問発話文」として抽出する。そして、その疑問発話文に一連として続く文を、「回答発話文」として抽出する。例えば図１の例によれば、以下のような一連の文の組を抽出する。
疑問発話文：「どんな音楽を聴きますか」
回答発話文：「ＫＡＮＡです、新宿でこの前見ました」
【００３３】
次に、置換対象名詞抽出部１１は、疑問発話文に含まれる「疑問名詞」と、回答発話文に含まれる「回答名詞」との組を抽出する。
疑問名詞：疑問詞と係り受けの関係にある名詞
回答名詞：疑問名詞とベクトル表現的な類似度が最も高い名詞
【００３４】
疑問発話文「どんな音楽を聴きますか？」には、疑問詞「どんな」が含まれている。その疑問詞と係り受けの関係となる名詞「音楽」を疑問名詞として抽出する。
疑問名詞：「音楽」
【００３５】
回答発話文から、形態素解析（例えばＭｅＣａｂ（登録商標））によって形態素に分解し、名詞「ＫＡＮＡ」「新宿」「前」を抽出する。
次に、疑問名詞「音楽」と、名詞「ＫＡＮＡ」「新宿」「前」それぞれとの間の類似度を算出する。具体的には、疑問詞と各名詞とをWord2vecやfastTextに入力し、ベクトル表現的な類似度を算出する。尚、Word2vecやfastTextは、例えばWikipedia（登録商標）をコーパスとして学習したものであるとする。
［類似度］
音楽−ＫＡＮＡ    0.300
音楽−新宿        0.136
音楽−前          0.106
そして、回答発話文に含まれる名詞の中で、疑問名詞に類似する名詞を抽出する。例えば、疑問名詞「音楽」に対して、名詞「ＫＡＮＡ」の類似度が最も高いので、その名詞「ＫＡＮＡ」を回答名詞とする。
【００３６】
例えば図１の例によれば、以下のような一連の文の組を抽出する。
疑問名詞：「音楽」
回答名詞：「ＫＡＮＡ」
【００３７】
類似度の算出は、Word2vecやfastTextに限られない。各単語の品詞又は意味を解析した特徴ベクトルに変換し、それら特徴ベクトル間の類似度ｓを算出することができればよい。
ｓ(i,j)＝cosθ＝（Ｖi・Ｖj）／(|Ｖi||Ｖj|)
Ｖi：疑問名詞の特徴ベクトル
Ｖj：回答名詞の特徴ベクトル
【００３８】
［置換候補取得部１２］
置換候補取得部１２は、回答名詞と同じカテゴリに属する他の「候補回答名詞」を検索する。ここで、他の候補回答名詞を検索するために、２つの実施形態がある。
＜回答名詞とベクトル表現的な類似度が所定範囲内に属する他の候補回答名詞を検索＞
具体的にはWord2vec又はfastTextを用いて、回答名詞から所定範囲内の類似度となる他の候補回答名詞を検索するものであってもよい。
【００３９】
＜回答名詞をキーとして検索したページの中から他の候補回答名詞を検索＞
図４は、本発明における置換候補取得部の処理を表す説明図である。
【００４０】
インターネット上には、例えばWikipediaのように、キーワード毎にページを用意した検索サイトがある。各ページには、当該キーワードが属する１つ以上のカテゴリ名が記述されている。
カテゴリ名は、例えばWikipedia全体構造からの「分類」を表す。カテゴリ名同士の関係も、全体構造を意識した一貫性や無矛盾性が維持されている。
【００４１】
置換候補取得部１２は、以下のステップを実行する。
（Ｓ１）最初に、回答名詞をキーとして、ページを検索する。
図３によれば、例えばWikipediaのページから、回答名詞「ＫＡＮＡ」に基づくページを検索する。
「ＫＡＮＡ」のページには、ＫＡＮＡに関する説明文と共に、以下のようなカテゴリ名が記述されているとする。
［ＫＡＮＡ］
「日本の女性ポップ歌手」
「ＡＡＡレコーズのアーティスト」
「存命人物」
【００４２】
（Ｓ２）次に、当該ページに記述された全てのカテゴリ名の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高いカテゴリ名を選択する。
例えば、疑問名詞「音楽」と各カテゴリ名との間の、Word2vecの類似度を算出する。
［疑問名詞］−［全てのカテゴリ名］            ［類似度］
音楽    −ＡＡＡレコーズのアーティスト      0.592
−日本の女性ポップ歌手              0.410
−存命人物                          0.120
【００４３】
（Ｓ３）次に、当該カテゴリ名をキーワードとしてページを検索し、そのページに属する１つ以上のキーワードを、「候補回答名詞」とする。
図４によれば、例えばWikipediaのページから、キーワード「ＡＡＡレコーズのアーティスト」に基づくページを検索する。そして、そのページに記述されたキーワードを、候補回答名詞とする。
検索キーワード  「ＡＡＡレコーズのアーティスト」
候補回答名詞    「ＡＩＥＩＬ」
「ＨＡＭＡＤＡ」
「ＭＡＫＩＮＯＲＩ」
「ＰＯＧＲＡ」
・・・・・
この候補回答名詞は、ＡＡＡレコーズに所属するアーティストに基づくものである。
【００４４】
最終的に、置換候補取得部１２は、以下の候補回答名詞を出力する。
回答名詞        「ＫＡＮＡ」
候補回答名詞    「ＡＩＥＩＬ」「ＨＡＭＡＤＡ」「ＭＡＫＩＮＯＲＩ」
「ＰＯＧＲＡ」・・・・・
【００４５】
他の実施形態として、前述した置換候補取得部１２のＳ２について、以下のようにカテゴリ名を選択することもできる。
（Ｓ２１）検索されたページに記述された全てのカテゴリ名に含まれる「名詞」を抽出する。
例えば、回答名詞「ＫＡＮＡ」をキーとして検索されたページに記述された全てのカテゴリ名から、名詞を抽出する。
「日本」「女性」「ポップ」「歌手」「ＡＡＡレコーズ」
「アーティスト」「存命」「人物」
【００４６】
（Ｓ２２）次に、当該名詞の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高い名詞を含むカテゴリ名を選択する。勿論、類似度が最も高い名詞を含むカテゴリ名であってもよい。
例えば、全てのカテゴリ名に含まれる名詞の中から、疑問名詞「音楽」と、Word2vecの類似度を算出する。
［疑問名詞］−［全てのカテゴリ名の名詞］  ［類似度］
音楽    −アーティスト                0.481
−ポップ                      0.477
−歌手                        0.425
−ＡＡＡレコーズ              0.233
−人物                        0.205
−女性                        0.170
−日本                        0.138
−存命                        0.135
疑問名詞「音楽」と類似度が最も高い名詞「アーティスト」が選択される。
疑問名詞「音楽」−名詞「アーティスト」
そして、その名詞を含むカテゴリ名を選択する。
疑問名詞「音楽」−カテゴリ名「ＡＡＡレコーズのアーティスト」
【００４７】
［置換候補選択部１３］
置換候補選択部１３は、候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する。
【００４８】
図５は、本発明における置換候補選択部の処理を表す説明図である。
【００４９】
置換候補選択部１３は、以下のステップを実行する。
（Ｓ１）「候補回答名詞」毎に、当該候補回答名詞が記述された複数の投稿文を検索する。
投稿文は、例えばＳＮＳ(Social Networking Service)に投稿されたテキストであって、不特定多数の第三者が送信したものである。
例えば候補回答名詞「ＡＩＥＩＬ」については、以下のような投稿文が想定される。
「先週、ＡＩＥＩＬのライブに行ったよ」
「ＡＩＥＩＬの曲大好きだなあ」
・・・・・
例えば候補回答名詞「ＨＡＭＡＤＡ」については、以下のような投稿文が想定される。
「ＨＡＭＡＤＡの新曲、すごくいい」
「ＣＤ買った、ＨＡＭＡＤＡ最高」
・・・・・
【００５０】
尚、Ｓ１における他の実施形態として、ＳＮＳから収集する投稿文の投稿期間を指定するものであってもよい。
投稿期間：直近１ヶ月以内  ->対話シナリオが比較的トレンドの影響を受ける
：過去１年分    
：過去３年分      ->対話シナリオが比較的トレンドの影響を受けない
：・・・・・
この投稿期間の指定によって、様々な用途に応じた対話シナリオを作成することができる。
【００５１】
（Ｓ２）投稿文それぞれの投稿者のユーザ属性を検索する。
投稿文と投稿者のユーザ属性とを、ＳＮＳによって検索する。ＳＮＳによれば、投稿文と共に、投稿者のユーザ属性も取得することができる。ユーザ属性と、エージェントのキャラクタ属性とは、例えば１０代・女性や４０代・男性のように、同様に分類することができる。
尚、ユーザ属性を推定するために、ＳＮＳから得られる投稿者間の交流関係を用いた技術も利用することができる（例えば特許文献１参照）。この技術も、年代や性別の属性を推定することができる。
【００５２】
（Ｓ３）予め指定されたユーザ属性における投稿文の出現頻度が最も偏る「候補回答名詞」を選択する。
【００５３】
図５によれば、作成すべきエージェントのキャラクタ属性を、４０代・男性として指定している。その上で、候補回答名詞毎に、指定されたキャラクタ属性と同じ属性を持つ投稿者からの投稿文に偏って出現する度合いを算出する。
【００５４】
置換候補選択部１３は、以下のように、赤池情報量規準(ＡＩＣ：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)
【００５５】
図５によれば、候補回答名詞毎に、各ユーザ属性における出現頻度が表されている。
候補回答名詞「ＡＩＥＩＬ」は、１０代・男性・女性で、投稿文の出現頻度が多いのに対し、４０代・男性・女性で、投稿文の出現頻度が少ない。
候補回答名詞「ＨＡＭＡＤＡ」は、４０代・男性で、投稿文の出現頻度が多いのに対し、１０代・男性・女性で、投稿文の出現頻度が少ない。
候補回答名詞「ＭＡＫＩＮＯＲＩ」は、４０代・女性で、投稿文の出現頻度が多いのに対し、１０代・女性で、投稿文の出現頻度が少ない。
【００５６】
これらの出現頻度から、指定されたユーザ属性の４０代・男性について、候補回答名詞毎の赤池情報量規準を算出すると、候補回答名詞「ＨＡＭＡＤＡ」に偏って出現していること理解できる
最終的に、置換候補選択部１３は、回答名詞「ＫＡＮＡ」に対して、指定されたユーザ属性の４０代・男性について、候補回答名詞「ＨＡＭＡＤＡ」を選択し、回答名詞置換部１４へ出力する。
勿論、赤池情報量規準が最も高い候補回答名詞のみに限られず、上位数件の候補回答名詞を選択するものであってもよい。
【００５７】
［回答名詞置換部１４］
回答名詞置換部１４は、基準対話シナリオに含まれる「回答名詞」を、「候補回答名詞」に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する。
【００５８】
前述した図１（ｂ）と同様に、キャラクタ属性の４０代・男性のエージェントにおける対話シナリオを作成するために、基準対話シナリオに含まれる回答名詞「ＫＡＮＡ」を、候補回答名詞「ＨＡＭＡＤＡ」に置換する。
【００５９】
本発明によれば、この基準対話シナリオを、以下のような４０代・男性のエージェント用の対話シナリオを自動的に作成する。
ユーザ      ：「どんな音楽を聴きますか」
エージェント：「ＨＡＭＡＤＡです、新宿でこの前見ました」
ユーザ      ：「ＨＡＭＡＤＡは、ＡＡＡレコーズのアーティストですよね」
・・・・・
本発明によれば、４０代・男性のユーザにとっては、「ＫＡＮＡ」よりも、「ＨＡＭＡＤＡ」の方が、実際に話題とするであろう名詞となっている点に特徴がある。このように、エージェントのキャラクタ属性として違和感の無い対話シナリオを自動的に作成していく。
【００６０】
図６は、本発明における置換候補取得部の他の実施形態の処理を表す説明図である。
【００６１】
図６によれば、置換候補取得部１２によって複数のページを検索した場合を表す。
ここでは、置換対象名詞抽出部１１は、以下の組を抽出したとする。
疑問名詞：「犬」
回答名詞：「コーギー」
【００６２】
（Ｓ１）最初に、回答名詞「コーギー」をキーとして、ページを検索する。ここでは、複数のページが検索され、それぞれにカテゴリ名が記述されている。
［ウェルシュ・コーギー］
「犬の品種」
「ウェールズの文化」
［コーギー・クラシック］
「自動車模型」
「玩具」
「模型」
【００６３】
（Ｓ２１）検索されたページに記述された全てのカテゴリ名に含まれる「名詞」を抽出する。
「犬」「品種」「玩具」「模型」「文化」「ウェールズ」「自動車」
【００６４】
（Ｓ２２）次に、当該名詞の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高い名詞を含むカテゴリ名を選択する。勿論、類似度が最も高い名詞を含むカテゴリ名であってもよい。
例えば、全てのカテゴリ名に含まれる名詞の中から、疑問名詞「犬」と、Word2vecの類似度を算出する。
［疑問名詞］−［全てのカテゴリ名の名詞］  ［類似度］
犬      −犬                            1.000
−品種                          0.463
−玩具                          0.204
−模型                          0.198
−文化                          0.184
−ウェールズ                    0.160
−自動車                        0.153
疑問名詞「犬」と類似度が最も高い名詞「犬」が選択される。
疑問名詞「犬」−名詞「犬」
そして、その名詞を含むカテゴリ名を選択する。
疑問名詞「犬」−カテゴリ名「犬の品種」
【００６５】
（Ｓ３）次に、当該カテゴリ名をキーワードとしてページを検索し、そのページに属する１つ以上のキーワードを、「候補回答名詞」とする。
検索キーワード  「犬の品種」
候補回答名詞    「プードル」
「チワワ」
「コリー」
「スピッツ」
・・・・・
【００６６】
最終的に、置換候補取得部１２は、置換候補選択部１３へ以下のものを出力する。
回答名詞        「コーギー」
候補回答名詞    「プードル」「チワワ」「コリー」「スピッツ」・・・・・
【００６７】
以上、詳細に説明したように、そのキャラクタ属性に基づく人物が、実際に話題とするであろう名詞を含む対話シナリオに書き換えることによって、キャラクタ属性として違和感の無い対話シナリオを自動的に作成することができる。
【００６８】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００６９】
１  対話シナリオ作成装置
１１  置換対象名詞抽出部
１２  置換候補取得部
１３  置換候補選択部
１４  回答名詞置換部
２  端末
【図１】
2020027548.tif 000003
【図２】
2020027548.tif 000004
【図３】
2020027548.tif 000005
【図４】
2020027548.tif 000006
【図５】
2020027548.tif 000007
【図６】
2020027548.tif 000008