(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-15
(45)【発行日】2022-01-14
(54)【発明の名称】キャラクタ属性に応じた対話シナリオを作成するプログラム、装置及び方法
(51)【国際特許分類】
G06F 40/56 20200101AFI20220106BHJP
G06F 16/90 20190101ALI20220106BHJP
G10L 15/22 20060101ALI20220106BHJP
G10L 13/00 20060101ALI20220106BHJP
G10L 13/02 20130101ALI20220106BHJP
G10L 13/08 20130101ALI20220106BHJP
【FI】
G06F40/56
G06F16/90
G10L15/22 300U
G10L13/00 100M
G10L13/02 130Z
G10L13/08 124
(21)【出願番号】P 2018153292
(22)【出願日】2018-08-16
【審査請求日】2020-06-16
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】田原 俊一
(72)【発明者】
【氏名】帆足 啓一郎
【審査官】長 由紀子
(56)【参考文献】
【文献】国際公開第2017/200075(WO,A1)
【文献】特開2013-225036(JP,A)
【文献】特開2004-310034(JP,A)
【文献】中国特許出願公開第105975622(CN,A)
【文献】木村 葵 外3名,Twitterとword2vecを用いた時期に合った返答発話選択手法,言語処理学会第22回年次大会 発表論文集 [online],日本,言語処理学会,2016年02月29日,pp.79-82
【文献】池田 和史 外4名,マーケット分析のためのTwitter投稿者プロフィール推定手法,情報処理学会論文誌 論文誌トランザクション 2011(平成23)年度2 [CD-ROM],第2巻 第1号,日本,一般社団法人情報処理学会,2012年04月15日,pp.82-93
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G06F 16/90
G10L 15/22
G10L 13/00-08
(57)【特許請求の範囲】
【請求項1】
キャラクタ属性に応じた対話シナリオを作成する装置に搭載されたコンピュータを機能させるプログラムであって、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、
回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、
基準対話シナリオに含まれる前記回答名詞を、前記候補回答名詞に置換することによって、予め指定された前記ユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
前記置換対象名詞抽出手段について、
前記疑問名詞は、疑問詞と係り受けの関係にある名詞であり、
前記回答名詞は、前記疑問名詞とベクトル表現的な類似度が最も高い名詞である
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
キーワード毎に、
当該キーワードが属する1つ以上のカテゴリ名が記述されたページが用意されており、
前記置換候補取得手段は、
回答名詞をキーワードとして、ページを検索し、
当該ページに記述された全てのカテゴリ名の中から、前記疑問名詞とベクトル表現的な類似度が所定閾値以上高いカテゴリ名を選択し、
当該カテゴリ名をキーワードとして、ページを検索し、
当該ページに記述された1つ以上の
名詞を、候補回答名詞とする
ようにコンピュータを機能させることを特徴とする請求項2に記載のプログラム。
【請求項4】
前記置換候補取得手段は、
カテゴリ名を選択するために、
当該ページに記述された全てのカテゴリ名に含まれる名詞を抽出し、
当該名詞の中から、前記疑問名詞とベクトル表現的な類似度が所定閾値以上高い名
詞を選択し、
選択された当該名詞を含むカテゴリ名を選択する
ようにコンピュータを機能させることを特徴とする請求項3に記載のプログラム。
【請求項5】
前記置換候補取得手段は、回答名詞をキーとして複数のページを検索した際に、全てのページに記述された全てのカテゴリ名に含まれる名詞を抽出する
ようにコンピュータを機能させることを特徴とする請求項4に記載のプログラム。
【請求項6】
前記ページは、Wikipedia(登録商標)に基づくものである
ようにコンピュータを機能させることを特徴とする請求項3から5のいずれか1項に記載のプログラム。
【請求項7】
前記置換候補取得手段は、前記回答名詞とベクトル表現的な類似度が所定範囲内に属する他の候補回答名詞を検索する
ようにコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項8】
ベクトル表現的な類似度は、Word2vec又はfastTextを用いて算出する
ようにコンピュータを機能させることを特徴とする請求項2から7のいずれか1項に記載のプログラム。
【請求項9】
前記置換候補選択手段は、前記投稿文と前記投稿者のユーザ属性とを、SNS(Social Networking Service)によって検索する
ようにコンピュータを機能させることを特徴とする請求項1から8のいずれか1項に記載のプログラム。
【請求項10】
前記置換候補選択手段は、
以下のように、赤池情報量規準(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から9のいずれか1項に記載のプログラム。
【請求項11】
キャラクタ属性に応じた対話シナリオを作成する装置であって、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、
基準対話シナリオに含まれる前記回答名詞を、前記候補回答名詞に置換することによって、予め指定された前記ユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段と
を有することを特徴とする装置。
【請求項12】
キャラクタ属性に応じた対話シナリオを作成する装置の対話シナリオ作成方法であって、
前記装置は、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する第1のステップと、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する第2のステップと、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する第3のステップと、
基準対話シナリオに含まれる前記回答名詞を、前記候補回答名詞に置換することによって、予め指定された前記ユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する第4のステップと
を実行することを特徴とする装置の対話シナリオ作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザと対話するエージェントに基づく対話シナリオを作成する技術に関する。
【背景技術】
【0002】
スマートフォンやタブレット端末では、ユーザに対して自然に対話する対話システムが普及しつつある。コンピュータグラフィックスのエージェントが、ディスプレイに表示され、ユーザに対して音声やテキストで対話する。エージェントは、ユーザから見て特別な意識を持たせることなく、ユーザの状況や、趣味趣向、感情に応じた対話を成立させる。
エージェントは、ユーザのプロファイルと同様に、個性的なキャラクタ属性(年齢、性別等)を有する。ユーザは、例えば自らと同じキャラクタ属性を持つエージェントと対話することによって、高い親近感を持つことができる。
【0003】
従来、エージェントは、キャラクタ属性に合わせた対話シナリオを、人手で作成する必要がある(例えば非特許文献1参照)。対話シナリオを人手で作成することによって、個性的なキャラクタ属性を持つエージェントを作り込むことができる。しかしながら、多数の多様なエージェントの対話シナリオを作成するには、コスト的な問題が生じる。
【0004】
これに対し、所望のエージェントに合わせて、発話の各文節の機能部を自動的に書き換える技術がある(例えば非特許文献1参照)。この技術によれば、年代・性別・ユーザとの親密度のようなキャラクタ属性に基づいて、人手で作成した発話の「書き換え規則集」を参照する。
例えば、基準対話シナリオ「ゴルフが好きだな」から、10代・女性のキャラクタ属性のエージェントの対話シナリオを作成する際に、「な」という箇所を、「よ」と書き換える。これによって、10代・女性のエージェントに対して、対話シナリオ「ゴルフが好きだよ」を作成する。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】株式会社アウトソーシングテクノロジー、「ロボット「対話」のためのシナリオ作成サービス開始いたしました。」、[online]、[平成30年8月11日検索]、インターネット<URL:https://www.ostechnology.co.jp/information/20170123/>
【文献】宮崎千明, et al. "文節機能部の確率的書き換えによるキャラクタ属性変換." 言語処理学会第 21 回年次大会発表論文集 (2015): 277-280.、[online]、[平成30年8月11日検索]、インターネット<URL:http://www.anlp.jp/proceedings/annual_meeting/2015/pdf_dir/B1-4.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、例えば非特許文献2に記載の技術によれば、書き換えた発話の内容に違和感が残る場合がある。
例えば「ゴルフ」は、40代・男性に人気のスポーツである。そのために、40代・男性のエージェントが、「ゴルフが好きだな」と発話することには全く違和感がない。しかしながら、10代・女性のエージェントが、「ゴルフが好きだよ」と発話することに違和感がある。一般的な10代・女性が発話する内容ではないためである。
【0008】
これに対し、本願発明者らは、そのキャラクタ属性に基づく人物が、実際に話題としないであろう名詞を含む対話シナリオについて、文節の機能部を書き換えても、その人物が発話するであろう対話にはならない、と考えた。実は、そのキャラクタ属性に基づく人物が、実際に話題とするであろう「名詞」こそ、その対話シナリオの中で書き換える必要があるのではないか、と考えた。
【0009】
そこで、本発明は、そのキャラクタ属性に基づく人物が、実際に話題とするであろう名詞を含む対話シナリオに書き換えることによって、キャラクタ属性として違和感の無い対話シナリオを自動的に作成することができるプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明によれば、キャラクタ属性に応じた対話シナリオを作成する装置に搭載されたコンピュータを機能させるプログラムであって、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、
基準対話シナリオに含まれる回答名詞を、候補回答名詞に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段と
してコンピュータを機能させることを特徴とする。
【0011】
本発明のプログラムにおける他の実施形態によれば、
置換対象名詞抽出手段について、
疑問名詞は、疑問詞と係り受けの関係にある名詞であり、
回答名詞は、疑問名詞とベクトル表現的な類似度が最も高い名詞である
ようにコンピュータを機能させることも好ましい。
【0012】
本発明のプログラムにおける他の実施形態によれば、
キーワード毎に、当該キーワードが属する1つ以上のカテゴリ名が記述されたページが用意されており、
置換候補取得手段は、
回答名詞をキーワードとして、ページを検索し、
当該ページに記述された全てのカテゴリ名の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高いカテゴリ名を選択し、
当該カテゴリ名をキーワードとして、ページを検索し、
当該ページに記述された1つ以上の名詞を、候補回答名詞とする
ようにコンピュータを機能させることも好ましい。
【0013】
本発明のプログラムにおける他の実施形態によれば、
置換候補取得手段は、カテゴリ名を選択するために、
当該ページに記述された全てのカテゴリ名に含まれる名詞を抽出し、
当該名詞の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高い名詞を選択し、
選択された当該名詞を含むカテゴリ名を選択する
ようにコンピュータを機能させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
置換候補取得手段は、回答名詞をキーとして複数のページを検索した際に、全てのページに記述された全てのカテゴリ名に含まれる名詞を抽出する
ようにコンピュータを機能させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
前記ページは、Wikipedia(登録商標)に基づくものである
ようにコンピュータを機能させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
前記置換候補取得手段は、前記回答名詞とベクトル表現的な類似度が所定範囲内に属する他の候補回答名詞を検索する
ようにコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
ベクトル表現的な類似度は、Word2vec又はfastTextを用いて算出する
ようにコンピュータを機能させることも好ましい。
【0018】
本発明のプログラムにおける他の実施形態によれば、
置換候補選択手段は、投稿文と投稿者のユーザ属性とを、SNS(Social Networking Service)によって検索する
ようにコンピュータを機能させることも好ましい。
【0019】
本発明のプログラムにおける他の実施形態によれば、
置換候補選択手段は、
以下のように、赤池情報量規準(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)
ようにコンピュータを機能させることも好ましい。
【0020】
本発明によれば、キャラクタ属性に応じた対話シナリオを作成する装置であって、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する置換対象名詞抽出手段と、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する置換候補取得手段と、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する置換候補選択手段と、
基準対話シナリオに含まれる回答名詞を、候補回答名詞に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する回答名詞置換手段と
を有することを特徴とする。
【0021】
本発明によれば、キャラクタ属性に応じた対話シナリオを作成する装置の対話シナリオ作成方法であって、
装置は、
基準対話シナリオに含まれる一連の疑問発話文及び回答発話文の組から、疑問発話文に含まれる疑問名詞と、回答発話文に含まれる回答名詞との組を抽出する第1のステップと、
回答名詞をキーとして検索したページの中から、回答名詞と同じカテゴリに属する他の候補回答名詞を検索する第2のステップと、
候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する第3のステップと、
基準対話シナリオに含まれる回答名詞を、候補回答名詞に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する第4のステップと
を実行することを特徴とする。
【発明の効果】
【0022】
本発明のプログラム、装置及び方法によれば、そのキャラクタ属性に基づく人物が、実際に話題とするであろう名詞を含む対話シナリオに書き換えることによって、キャラクタ属性として違和感の無い対話シナリオを自動的に作成することができる。
【図面の簡単な説明】
【0023】
【
図1】基準対話シナリオから作成した他の対話シナリオを表す説明図である。
【
図2】本発明における対話サーバの機能構成図である。
【
図3】本発明における置換対象名詞抽出部の処理を表す説明図である。
【
図4】本発明における置換候補取得部の処理を表す説明図である。
【
図5】本発明における置換候補選択部の処理を表す説明図である。
【
図6】本発明における置換候補取得部の他の実施形態の処理を表す説明図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0025】
図1は、基準対話シナリオから作成した他の対話シナリオを表す説明図である。
【0026】
図1(a)によれば、ユーザとエージェントとの間で、以下のような基準対話シナリオが作成されているとする。
ユーザ :「どんな音楽を聴きますか」
エージェント:「KANAです、新宿でこの前見ました」
ユーザ :「KANAは、AAAレコーズのアーティストですよね」
・・・・・
【0027】
これに対し、本発明によれば、
図1(b)のように、基準対話シナリオから、40代・男性のエージェントの対話シナリオを自動的に作成することができる。
ユーザ :「どんな音楽を聴きますか」
エージェント:「HAMADAです、新宿でこの前見ました」
ユーザ :「HAMADAは、AAAレコーズのアーティストですよね」
・・・・・
【0028】
図2は、本発明における対話シナリオ作成装置の機能構成図である。
【0029】
図2の対話シナリオ作成装置1は、基準対話シナリオから、キャラクタ属性に応じたエージェント用の対話シナリオを自動的に作成するものである。特に、基準対話シナリオの発話に含まれる名詞を、作成すべきのキャラクタ属性の人物が使うであろう名詞に置換するものである。
図2によれば、対話シナリオ作成装置1は、置換対象名詞抽出部11と、置換候補取得部12と、置換候補選択部13と、回答名詞置換部14とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、対話シナリオ作成方法としても理解できる。
【0030】
[置換対象名詞抽出部11]
置換対象名詞抽出部11は、基準対話シナリオを入力し、最初に、基準対話シナリオに含まれる一連の「疑問発話文」及び「回答発話文」の組を抽出する。
【0031】
図3は、本発明における置換対象名詞抽出部の処理を表す説明図である。
【0032】
基準対話シナリオの中から、疑問詞「何」「どんな」を含む文を、「疑問発話文」として抽出する。そして、その疑問発話文に一連として続く文を、「回答発話文」として抽出する。例えば
図1の例によれば、以下のような一連の文の組を抽出する。
疑問発話文:「どんな音楽を聴きますか」
回答発話文:「KANAです、新宿でこの前見ました」
【0033】
次に、置換対象名詞抽出部11は、疑問発話文に含まれる「疑問名詞」と、回答発話文に含まれる「回答名詞」との組を抽出する。
疑問名詞:疑問詞と係り受けの関係にある名詞
回答名詞:疑問名詞とベクトル表現的な類似度が最も高い名詞
【0034】
疑問発話文「どんな音楽を聴きますか?」には、疑問詞「どんな」が含まれている。その疑問詞と係り受けの関係となる名詞「音楽」を疑問名詞として抽出する。
疑問名詞:「音楽」
【0035】
回答発話文から、形態素解析(例えばMeCab(登録商標))によって形態素に分解し、名詞「KANA」「新宿」「前」を抽出する。
次に、疑問名詞「音楽」と、名詞「KANA」「新宿」「前」それぞれとの間の類似度を算出する。具体的には、疑問詞と各名詞とをWord2vecやfastTextに入力し、ベクトル表現的な類似度を算出する。尚、Word2vecやfastTextは、例えばWikipedia(登録商標)をコーパスとして学習したものであるとする。
[類似度]
音楽-KANA 0.300
音楽-新宿 0.136
音楽-前 0.106
そして、回答発話文に含まれる名詞の中で、疑問名詞に類似する名詞を抽出する。例えば、疑問名詞「音楽」に対して、名詞「KANA」の類似度が最も高いので、その名詞「KANA」を回答名詞とする。
【0036】
例えば
図1の例によれば、以下のような一連の文の組を抽出する。
疑問名詞:「音楽」
回答名詞:「KANA」
【0037】
類似度の算出は、Word2vecやfastTextに限られない。各単語の品詞又は意味を解析した特徴ベクトルに変換し、それら特徴ベクトル間の類似度sを算出することができればよい。
s(i,j)=cosθ=(Vi・Vj)/(|Vi||Vj|)
Vi:疑問名詞の特徴ベクトル
Vj:回答名詞の特徴ベクトル
【0038】
[置換候補取得部12]
置換候補取得部12は、回答名詞と同じカテゴリに属する他の「候補回答名詞」を検索する。ここで、他の候補回答名詞を検索するために、2つの実施形態がある。
<回答名詞とベクトル表現的な類似度が所定範囲内に属する他の候補回答名詞を検索>
具体的にはWord2vec又はfastTextを用いて、回答名詞から所定範囲内の類似度となる他の候補回答名詞を検索するものであってもよい。
【0039】
<回答名詞をキーとして検索したページの中から他の候補回答名詞を検索>
図4は、本発明における置換候補取得部の処理を表す説明図である。
【0040】
インターネット上には、例えばWikipediaのように、キーワード毎にページを用意した検索サイトがある。各ページには、当該キーワードが属する1つ以上のカテゴリ名が記述されている。
カテゴリ名は、例えばWikipedia全体構造からの「分類」を表す。カテゴリ名同士の関係も、全体構造を意識した一貫性や無矛盾性が維持されている。
【0041】
置換候補取得部12は、以下のステップを実行する。
(S1)最初に、回答名詞をキーとして、ページを検索する。
図3によれば、例えばWikipediaのページから、回答名詞「KANA」に基づくページを検索する。
「KANA」のページには、KANAに関する説明文と共に、以下のようなカテゴリ名が記述されているとする。
[KANA]
「日本の女性ポップ歌手」
「AAAレコーズのアーティスト」
「存命人物」
【0042】
(S2)次に、当該ページに記述された全てのカテゴリ名の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高いカテゴリ名を選択する。
例えば、疑問名詞「音楽」と各カテゴリ名との間の、Word2vecの類似度を算出する。
[疑問名詞]-[全てのカテゴリ名] [類似度]
音楽 -AAAレコーズのアーティスト 0.592
-日本の女性ポップ歌手 0.410
-存命人物 0.120
【0043】
(S3)次に、当該カテゴリ名をキーワードとしてページを検索し、そのページに属する1つ以上のキーワードを、「候補回答名詞」とする。
図4によれば、例えばWikipediaのページから、キーワード「AAAレコーズのアーティスト」に基づくページを検索する。そして、そのページに記述されたキーワードを、候補回答名詞とする。
検索キーワード 「AAAレコーズのアーティスト」
候補回答名詞 「AIEIL」
「HAMADA」
「MAKINORI」
「POGRA」
・・・・・
この候補回答名詞は、AAAレコーズに所属するアーティストに基づくものである。
【0044】
最終的に、置換候補取得部12は、以下の候補回答名詞を出力する。
回答名詞 「KANA」
候補回答名詞 「AIEIL」「HAMADA」「MAKINORI」
「POGRA」・・・・・
【0045】
他の実施形態として、前述した置換候補取得部12のS2について、以下のようにカテゴリ名を選択することもできる。
(S21)検索されたページに記述された全てのカテゴリ名に含まれる「名詞」を抽出する。
例えば、回答名詞「KANA」をキーとして検索されたページに記述された全てのカテゴリ名から、名詞を抽出する。
「日本」「女性」「ポップ」「歌手」「AAAレコーズ」
「アーティスト」「存命」「人物」
【0046】
(S22)次に、当該名詞の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高い名詞を含むカテゴリ名を選択する。勿論、類似度が最も高い名詞を含むカテゴリ名であってもよい。
例えば、全てのカテゴリ名に含まれる名詞の中から、疑問名詞「音楽」と、Word2vecの類似度を算出する。
[疑問名詞]-[全てのカテゴリ名の名詞] [類似度]
音楽 -アーティスト 0.481
-ポップ 0.477
-歌手 0.425
-AAAレコーズ 0.233
-人物 0.205
-女性 0.170
-日本 0.138
-存命 0.135
疑問名詞「音楽」と類似度が最も高い名詞「アーティスト」が選択される。
疑問名詞「音楽」-名詞「アーティスト」
そして、その名詞を含むカテゴリ名を選択する。
疑問名詞「音楽」-カテゴリ名「AAAレコーズのアーティスト」
【0047】
[置換候補選択部13]
置換候補選択部13は、候補回答名詞毎に、当該候補回答名詞が記述された複数の投稿文を検索し、投稿文それぞれの投稿者のユーザ属性を検索し、予め指定されたユーザ属性における投稿文の出現頻度が最も偏る候補回答名詞を選択する。
【0048】
図5は、本発明における置換候補選択部の処理を表す説明図である。
【0049】
置換候補選択部13は、以下のステップを実行する。
(S1)「候補回答名詞」毎に、当該候補回答名詞が記述された複数の投稿文を検索する。
投稿文は、例えばSNS(Social Networking Service)に投稿されたテキストであって、不特定多数の第三者が送信したものである。
例えば候補回答名詞「AIEIL」については、以下のような投稿文が想定される。
「先週、AIEILのライブに行ったよ」
「AIEILの曲大好きだなあ」
・・・・・
例えば候補回答名詞「HAMADA」については、以下のような投稿文が想定される。
「HAMADAの新曲、すごくいい」
「CD買った、HAMADA最高」
・・・・・
【0050】
尚、S1における他の実施形態として、SNSから収集する投稿文の投稿期間を指定するものであってもよい。
投稿期間:直近1ヶ月以内 ->対話シナリオが比較的トレンドの影響を受ける
:過去1年分
:過去3年分 ->対話シナリオが比較的トレンドの影響を受けない
:・・・・・
この投稿期間の指定によって、様々な用途に応じた対話シナリオを作成することができる。
【0051】
(S2)投稿文それぞれの投稿者のユーザ属性を検索する。
投稿文と投稿者のユーザ属性とを、SNSによって検索する。SNSによれば、投稿文と共に、投稿者のユーザ属性も取得することができる。ユーザ属性と、エージェントのキャラクタ属性とは、例えば10代・女性や40代・男性のように、同様に分類することができる。
尚、ユーザ属性を推定するために、SNSから得られる投稿者間の交流関係を用いた技術も利用することができる(例えば特許文献1参照)。この技術も、年代や性別の属性を推定することができる。
【0052】
(S3)予め指定されたユーザ属性における投稿文の出現頻度が最も偏る「候補回答名詞」を選択する。
【0053】
図5によれば、作成すべきエージェントのキャラクタ属性を、40代・男性として指定している。その上で、候補回答名詞毎に、指定されたキャラクタ属性と同じ属性を持つ投稿者からの投稿文に偏って出現する度合いを算出する。
【0054】
置換候補選択部13は、以下のように、赤池情報量規準(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)
【0055】
図5によれば、候補回答名詞毎に、各ユーザ属性における出現頻度が表されている。
候補回答名詞「AIEIL」は、10代・男性・女性で、投稿文の出現頻度が多いのに対し、40代・男性・女性で、投稿文の出現頻度が少ない。
候補回答名詞「HAMADA」は、40代・男性で、投稿文の出現頻度が多いのに対し、10代・男性・女性で、投稿文の出現頻度が少ない。
候補回答名詞「MAKINORI」は、40代・女性で、投稿文の出現頻度が多いのに対し、10代・女性で、投稿文の出現頻度が少ない。
【0056】
これらの出現頻度から、指定されたユーザ属性の40代・男性について、候補回答名詞毎の赤池情報量規準を算出すると、候補回答名詞「HAMADA」に偏って出現していること理解できる
最終的に、置換候補選択部13は、回答名詞「KANA」に対して、指定されたユーザ属性の40代・男性について、候補回答名詞「HAMADA」を選択し、回答名詞置換部14へ出力する。
勿論、赤池情報量規準が最も高い候補回答名詞のみに限られず、上位数件の候補回答名詞を選択するものであってもよい。
【0057】
[回答名詞置換部14]
回答名詞置換部14は、基準対話シナリオに含まれる「回答名詞」を、「候補回答名詞」に置換することによって、予め指定されたユーザ属性と同じキャラクタ属性を持つ対話シナリオとして作成する。
【0058】
前述した
図1(b)と同様に、キャラクタ属性の40代・男性のエージェントにおける対話シナリオを作成するために、基準対話シナリオに含まれる回答名詞「KANA」を、候補回答名詞「HAMADA」に置換する。
【0059】
本発明によれば、この基準対話シナリオを、以下のような40代・男性のエージェント用の対話シナリオを自動的に作成する。
ユーザ :「どんな音楽を聴きますか」
エージェント:「HAMADAです、新宿でこの前見ました」
ユーザ :「HAMADAは、AAAレコーズのアーティストですよね」
・・・・・
本発明によれば、40代・男性のユーザにとっては、「KANA」よりも、「HAMADA」の方が、実際に話題とするであろう名詞となっている点に特徴がある。このように、エージェントのキャラクタ属性として違和感の無い対話シナリオを自動的に作成していく。
【0060】
図6は、本発明における置換候補取得部の他の実施形態の処理を表す説明図である。
【0061】
図6によれば、置換候補取得部12によって複数のページを検索した場合を表す。
ここでは、置換対象名詞抽出部11は、以下の組を抽出したとする。
疑問名詞:「犬」
回答名詞:「コーギー」
【0062】
(S1)最初に、回答名詞「コーギー」をキーとして、ページを検索する。ここでは、複数のページが検索され、それぞれにカテゴリ名が記述されている。
[ウェルシュ・コーギー]
「犬の品種」
「ウェールズの文化」
[コーギー・クラシック]
「自動車模型」
「玩具」
「模型」
【0063】
(S21)検索されたページに記述された全てのカテゴリ名に含まれる「名詞」を抽出する。
「犬」「品種」「玩具」「模型」「文化」「ウェールズ」「自動車」
【0064】
(S22)次に、当該名詞の中から、疑問名詞とベクトル表現的な類似度が所定閾値以上高い名詞を含むカテゴリ名を選択する。勿論、類似度が最も高い名詞を含むカテゴリ名であってもよい。
例えば、全てのカテゴリ名に含まれる名詞の中から、疑問名詞「犬」と、Word2vecの類似度を算出する。
[疑問名詞]-[全てのカテゴリ名の名詞] [類似度]
犬 -犬 1.000
-品種 0.463
-玩具 0.204
-模型 0.198
-文化 0.184
-ウェールズ 0.160
-自動車 0.153
疑問名詞「犬」と類似度が最も高い名詞「犬」が選択される。
疑問名詞「犬」-名詞「犬」
そして、その名詞を含むカテゴリ名を選択する。
疑問名詞「犬」-カテゴリ名「犬の品種」
【0065】
(S3)次に、当該カテゴリ名をキーワードとしてページを検索し、そのページに属する1つ以上のキーワードを、「候補回答名詞」とする。
検索キーワード 「犬の品種」
候補回答名詞 「プードル」
「チワワ」
「コリー」
「スピッツ」
・・・・・
【0066】
最終的に、置換候補取得部12は、置換候補選択部13へ以下のものを出力する。
回答名詞 「コーギー」
候補回答名詞 「プードル」「チワワ」「コリー」「スピッツ」・・・・・
【0067】
以上、詳細に説明したように、そのキャラクタ属性に基づく人物が、実際に話題とするであろう名詞を含む対話シナリオに書き換えることによって、キャラクタ属性として違和感の無い対話シナリオを自動的に作成することができる。
【0068】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0069】
1 対話シナリオ作成装置
11 置換対象名詞抽出部
12 置換候補取得部
13 置換候補選択部
14 回答名詞置換部
2 端末