特許第6225012号(P6225012)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電信電話株式会社の特許一覧

<>
  • 特許6225012-発話文生成装置とその方法とプログラム 図000003
  • 特許6225012-発話文生成装置とその方法とプログラム 図000004
  • 特許6225012-発話文生成装置とその方法とプログラム 図000005
  • 特許6225012-発話文生成装置とその方法とプログラム 図000006
  • 特許6225012-発話文生成装置とその方法とプログラム 図000007
  • 特許6225012-発話文生成装置とその方法とプログラム 図000008
  • 特許6225012-発話文生成装置とその方法とプログラム 図000009
  • 特許6225012-発話文生成装置とその方法とプログラム 図000010
  • 特許6225012-発話文生成装置とその方法とプログラム 図000011
  • 特許6225012-発話文生成装置とその方法とプログラム 図000012
  • 特許6225012-発話文生成装置とその方法とプログラム 図000013
  • 特許6225012-発話文生成装置とその方法とプログラム 図000014
  • 特許6225012-発話文生成装置とその方法とプログラム 図000015
  • 特許6225012-発話文生成装置とその方法とプログラム 図000016
  • 特許6225012-発話文生成装置とその方法とプログラム 図000017
  • 特許6225012-発話文生成装置とその方法とプログラム 図000018
  • 特許6225012-発話文生成装置とその方法とプログラム 図000019
  • 特許6225012-発話文生成装置とその方法とプログラム 図000020
  • 特許6225012-発話文生成装置とその方法とプログラム 図000021
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6225012
(24)【登録日】2017年10月13日
(45)【発行日】2017年11月1日
(54)【発明の名称】発話文生成装置とその方法とプログラム
(51)【国際特許分類】
   G10L 15/22 20060101AFI20171023BHJP
   G10L 13/00 20060101ALI20171023BHJP
   G10L 15/10 20060101ALI20171023BHJP
   G10L 13/08 20130101ALI20171023BHJP
   G06F 17/27 20060101ALI20171023BHJP
【FI】
   G10L15/22 300Z
   G10L13/00 100M
   G10L15/10 500T
   G10L13/08 110A
   G06F17/27 690
【請求項の数】9
【全頁数】21
(21)【出願番号】特願2013-254771(P2013-254771)
(22)【出願日】2013年12月10日
(65)【公開番号】特開2015-45833(P2015-45833A)
(43)【公開日】2015年3月12日
【審査請求日】2016年1月13日
(31)【優先権主張番号】特願2013-159507(P2013-159507)
(32)【優先日】2013年7月31日
(33)【優先権主張国】JP
【新規性喪失の例外の表示】特許法第30条第2項適用 頒布日 2013年8月22日 開催日 2013年8月22日〜2013年8月24日 集会名 「SIGDIAL 2013」 開催場所 メッス,フランス(Metz,France) 刊行物名 「Proceedings of the SIGDIAL 2013 Conference」 発表題目 「Open−domain Utterance Generation for Conversational Dialogue Systems using Web−scale Dependency Structures」 公開者 杉山弘晃、東中竜一郎、目黒豊美、南泰浩
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】杉山 弘晃
(72)【発明者】
【氏名】東中 竜一郎
(72)【発明者】
【氏名】目黒 豊美
(72)【発明者】
【氏名】南 泰浩
【審査官】 大野 弘
(56)【参考文献】
【文献】 再公表特許第2013/080406(JP,A1)
【文献】 特開2003−256419(JP,A)
【文献】 特開2008−152637(JP,A)
【文献】 特開平06−083809(JP,A)
【文献】 特開2007−219149(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/22
G06F 17/27
G10L 13/00
G10L 13/08
G10L 15/10
(57)【特許請求の範囲】
【請求項1】
発話文の形態素列を入力として、当該形態素列の係り受け解析を行って、文節の係り受け関係を出力する係り受け関係解析部と、
上記形態素列と上記係り受け関係を入力として、当該形態素列中に含まれる上記発話文の話題を表す単語及び係り受け構造を抽出する話題抽出部と、
上記発話文の話題を表す単語及び係り受け構造を入力として、当該単語と係り受け構造と関連の深い関連単語と関連係り受け構造を出力する関連話題抽出部と、
上記発話文の話題を表す単語及び係り受け構造と上記関連単語と上記関連係り受け構造を入力として、上記発話文の話題を表す単語及び係り受け構造と上記関連単語と上記関連係り受け構造をテンプレートに代入することで対話発話文を生成する発話文生成部と、
を具備する発話文生成装置であって、
更に、係り受け関係データベースを備え、
上記係り受け関係データベースは、ある係り受け構造が与えられた場合に、当該係り受け構造に係る係り受け構造を検索することができるデータベースであり、
上記関連話題抽出部は、上記発話文の話題を表す単語及び係り受け構造を入力とし、上記係り受け関係データベースを参照して上記関連単語と上記関連係り受け構造を出力するものである、
ことを特徴とする発話文生成装置
【請求項2】
発話文の形態素列を入力として、当該形態素列の係り受け解析を行って、文節の係り受け関係を出力する係り受け関係解析部と、
上記形態素列と上記係り受け関係を入力として、当該形態素列中に含まれる上記発話文の話題を表す単語及び係り受け構造を抽出する話題抽出部と、
上記発話文の話題を表す単語及び係り受け構造を入力として、当該単語と係り受け構造と関連の深い第2の関連係り受け構造を出力する関連話題抽出部と、
上記係り受け構造と上記第2の関連係り受け構造を入力として、上記係り受け構造と上記第2の関連係り受け構造をテンプレートに代入することで対話発話文を生成する発話文生成部と、
を具備する発話文生成装置であって、
上記第2の関連係り受け構造は、上記係り受け構造を構成する文節のいずれかを含み当該係り受け構造とは異なる第1の関連係り受け構造を構成する文節のいずれかを含み、かつ、上記係り受け構造を構成する文節のいずれも含まない係り受け構造である、
ことを特徴とする発話文生成装置
【請求項3】
請求項2に記載した発話文生成装置において、
更に、係り受け関係データベースを備え、
上記係り受け関係データベースは、ある係り受け構造が与えられた場合に、当該係り受け構造に係る係り受け構造を検索することができるデータベースであり、
上記関連話題抽出部は、上記発話文の話題を表す単語及び係り受け構造を入力とし、上記係り受け関係データベースを参照して上記第1の関連係り受け構造と上記第2の関連係り受け構造を出力するものである、
ことを特徴とする発話文生成装置。
【請求項4】
請求項1に記載した発話文生成装置において、
更に、自然文記憶部を備え、
上記発話文生成部は、上記発話文の話題を表す単語及び係り受け構造と上記関連単語と上記関連係り受け構造を含む自然文を、上記自然文記憶部から読み出して上記対話発話とするものである、
ことを特徴とする発話文生成装置。
【請求項5】
請求項2又は3に記載した発話文生成装置において、
更に、自然文記憶部を備え、
上記発話文生成部は、上記発話文の話題を表す単語及び係り受け構造と上記第2の関連係り受け構造を含む自然文を、上記自然文記憶部から読み出して上記対話発話とするものである、
ことを特徴とする発話文生成装置。
【請求項6】
請求項4又は5に記載した発話文生成装置において、
上記自然文記憶部は、上記係り受け関係データベースに記憶された係り受け構造に対応する文番号に対応した自然文を記憶したものである、
ことを特徴とする発話文生成装置。
【請求項7】
係り受け関係解析部が、発話文の形態素列を入力として、当該形態素列の係り受け解析を行って、文節の係り受け関係を出力する係り受け関係解析過程と、
話題抽出部が、上記形態素列と上記係り受け関係を入力として、当該形態素列中に含まれる上記発話文の話題を表す単語及び係り受け構造を抽出する話題抽出過程と、
関連話題抽出部が、上記発話文の話題を表す単語及び係り受け構造を入力として、当該単語と係り受け構造と関連の深い関連単語と関連係り受け構造を出力する関連話題抽出過程と、
発話文生成部が、上記発話文の話題を表す単語及び係り受け構造と上記関連単語と上記関連係り受け構造を入力として、上記発話文の話題を表す単語及び係り受け構造と上記関連単語と上記関連係り受け構造をテンプレートに代入することで対話発話文を生成する発話文生成過程と、
を備える発話文生成方法であって、
係り受け関係データベースは、ある係り受け構造が与えられた場合に、当該係り受け構造に係る係り受け構造を検索することができるデータベースであり、
上記関連話題抽出過程は、上記発話文の話題を表す単語及び係り受け構造を入力とし、上記係り受け関係データベースを参照して上記関連単語と上記関連係り受け構造を出力するものである、
ことを特徴とする発話文生成方法
【請求項8】
係り受け関係解析部が、発話文の形態素列を入力として、当該形態素列の係り受け解析を行って、文節の係り受け関係を出力する係り受け関係解析過程と、
話題抽出部が、上記形態素列と上記係り受け関係を入力として、当該形態素列中に含まれる上記発話文の話題を表す単語及び係り受け構造を抽出する話題抽出過程と、
関連話題抽出部が、上記発話文の話題を表す単語及び係り受け構造を入力として、当該単語と係り受け構造と関連の深い第2の関連係り受け構造を出力する関連話題抽出過程と、
発話文生成部が、上記係り受け構造と上記第2の関連係り受け構造を入力として、上記係り受け構造と上記第2の関連係り受け構造をテンプレートに代入することで対話発話文を生成する発話文生成過程と、
を備える発話文生成方法であって、
上記第2の関連係り受け構造は、上記係り受け構造を構成する文節のいずれかを含み当該係り受け構造とは異なる第1の関連係り受け構造を構成する文節のいずれかを含み、かつ、上記係り受け構造を構成する文節のいずれも含まない係り受け構造である、
ことを特徴とする発話文生成方法
【請求項9】
請求項1乃至の何れかに記載した発話文生成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ(利用者)と自然言語を用いて対話するシステム(以下、対話システム)における発話文生成装置とその方法と、プログラムに関する。
【背景技術】
【0002】
近年、特定のタスクを持たないオープンドメインな雑談を行う雑談対話システムへのニーズが高まっている。こうした雑談対話は、それ自体がセラピー的な性質を持つ可能性があるとともに、タスク指向対話システムにおいても、ユーザ自身が気づいていない要求の顕在化に応用できる可能性があり、非常に重要である。しかし、オープンドメインな雑談対話システムでは、ユーザ発話のバリエーションが格段に広がるため、適切に応答するための知識源を予め人手で構築し切ることは極めて困難である。
【0003】
この問題に対する従来からのアプローチとして、人が興味を持ちそうな話題について予めルールで応答パターンを記述しておく方法や、どのようなユーザ発話にも合致する無難な発話や質問を繰り返す方法(非特許文献1)などが知られている。
【0004】
しかし、ルールで記述する方法では新語への対応が困難である。また、テープレコーダのように一定の条件で再生するのみであるため、対話が一問一答で終わり易く発展性がないことなどが問題である。非特許文献1に記載されたような文脈非依存アプローチでは、ユーザの発話をやり過ごすような発話になりがちなため、すぐに飽きられてしまう。
【0005】
このような新語対応の困難さや単調さを克服するため、近年、Web上の大規模な文章を利用する動きが広まっている。例えば、非特許文献2又は3では、Web上の記事やマイクロブログ中のユーザ発話と類似した文を選択して発話文とする方法が開示されている。
【0006】
しかし、類似文が出現した文脈は、ユーザ発話が現れた文脈とは異なるため、不要な発話文を含む課題があった。この課題を解決する目的で、ユーザ発話中に含まれる単語から話題の焦点を表す焦点語を推定し、焦点語をテンプレートに代入することで発話文を生成する方法が検討されている(非特許文献4)。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】J. Weizenbaum, “ELIZA-A Computer Program For the Study of Natural Language Communication Between Man and Machine”, Communications of the ACM. ACM 9[1] 36-45(1966).
【非特許文献2】柴田雅博ほか、「雑談自由対話を実現するためのWWW上の文書からの妥当な候補文選択手法」、人工知能学会論文誌,vol.24,no.6,pp.507-519,2009.
【非特許文献3】Alan Ritter, Colin Cherry, and William.B. Dolan. 2011. Data-Driven Response Generation in Social Media. In Proceedings of the 20111 Conference on Empirical Methods in Natural Language Processing, pages 588-593.
【非特許文献4】小林優佳ほか、「高齢者対話インターフェース−ユーザの聴き手になる音声対話インターフェース−」、情報処理学会インタラクション2011.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、従来の焦点語を用いる技術では焦点語を名詞に限定しており、その数も1個としていたことから、バリエーションの豊富な発話文を生成できない課題があった。
【0009】
本発明は、この課題に鑑みてなされたものであり、バリエーション豊富な発話文の生成を可能にした発話文生成装置とその方法と、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の発話文生成装置は、話題抽出部と、発話文生成部と、を具備する。話題抽出部は、発話文の形態素列を入力として、当該発話文の内容を表す単語又は当該単語と係り受け構造を抽出する。発話文生成部は、話題抽出部で抽出された単語又は係り受け構造をテンプレートに代入することで対話発話文を生成する。
【発明の効果】
【0011】
本発明の発話文生成装置によれば、ユーザ発話の話題を利用した適切な発話文生成が可能になる。大量の自然文から話題に関連する係り受け構造を収集するため、幅広い話題のユーザ発話に対する発話文を生成することが可能になる。
【図面の簡単な説明】
【0012】
図1】本発明の発話文生成装置100の機能構成例を示す図。
図2】発話文生成装置100の動作フローを示す図。
図3】本発明の発話文生成装置200の機能構成例を示す図。
図4】発話文生成装置200の動作フローを示す図。
図5】本発明の発話文生成装置300の機能構成例を示す図。
図6】発話文生成装置300の動作フローを示す図。
図7】ユーザ発話文の形態素列と係り受けの関係を示す図。
図8】本発明の発話文生成装置400の機能構成例を示す図。
図9】本発明の発話文生成装置500の機能構成例を示す図。
図10】本発明の発話文生成装置600の機能構成例を示す図。
図11】本発明の発話文生成装置700の機能構成例を示す図。
図12】発話文を形態素解析した結果の一例を示す図。
図13】係り受け構造中の文節のうち少なくとも1つが他の係り受け構造中の文節と係り受け関係にある状態を例示する図。
図14】本発明の発話文生成装置800の機能構成例を示す図。
図15】係り受け関係データベース890を検索することで得られる係り受け構造を例示する図。
図16】関連単語と関連係り受け構造の例を示す図。
図17】対話発話文の例を示す図。
図18】関連係り受け構造を検索する概要を示す図。
図19】本発明の発話文生成装置900の機能構成例を示す図。
【発明を実施するための形態】
【0013】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
【実施例1】
【0014】
図1に、この発明の発話文生成装置100の機能構成例を示す。その動作フローを図2に示す。発話文生成装置100は、話題抽出部110と、発話文生成部120と、制御部130と、を具備する。発話文生成装置100は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。以下説明する各装置についても同じである。
【0015】
発話文生成装置100は、ユーザ発話を音声認識した結果の形態素列、若しくはユーザ発話のテキスト文を、形態素解析部140で形態素解析した形態素列を入力とする。図1に破線で示す形態素解析部140、若しくは図示しない音声認識部を、発話文生成装置100に含めても良い。
【0016】
話題抽出部110は、発話文の形態素列を入力として、当該発話文の内容を表す単語又は当該単語と係り受け構造を抽出する(ステップS110)。つまり、話題とは、発話文の内容を表す単語と係り受け構造のことである。発話文とは、対話システムにおけるユーザ発話であり、ユーザの発話音声そのものであっても良いし、ユーザ発話を音声認識した結果のテキスト文であっても良い。発話文は、1〜3文程度で構成される比較的短い文章である。
【0017】
以降の説明において、発話文の内容を表す単語を焦点語と定義して説明を行う。焦点語の抽出には、例えば参考文献1(Barbara J. Grosz, Scott Weinstein, and Aravind K. Joshi. 1995. Centering: A Framework for Modeling the Local Coherence of Discourse. Computational linguistics,21(2):203-225.)や参考文献2(Marilyn A. Walker, 1998. Centering, Anaphora Resolution, and Discourse Structure Oxford University Press on Demand.)に記載された従来技術を用いる。なお、発話文の内容を表す単語と係り受け構造を抽出して対話発話文を生成する実施例については、実施例5以降において説明する。
【0018】
発話文生成部120は、話題抽出部110で抽出した焦点語を入力として、当該焦点語をテンプレートに代入することで対話発話文を生成する(ステップS120)。テンプレートとは、焦点語が組み込まれる(代入される)定型文のことである。具体例は後述する。
【0019】
ユーザ発話文を例えば「今日は豊洲の映画館で映画Aを見ました。」とした場合、話題の焦点を表す単語は、固有名詞の「豊洲の映画館」と「映画A」の2つの単語である。「豊洲の映画館」は、「豊洲」という地名を表す固有名詞と、助詞の「の」と、一般名詞の「映画館」と、から成る文節であるが、この実施例では固有名詞として扱う。
【0020】
テンプレートとしては、例えば、「いいですね。」や「好きですか。」等が用意されていると仮定する。テンプレートは、各焦点語について、発話意図ごとに複数種類分類して用意しておく。発話意図とは、「質問」、「自己開示」、「相槌」、などである。上記した「いいですね。」は相槌に、「好きですか」は質問に、それぞれ分類される。このように発話意図ごとにテンプレートを分類しておくことで、テンプレート間の関係性の見通しが良くなる。つまり、テンプレートの不要な重複を防止することができる。
【0021】
発話文生成部120は、その前提において、固有名詞数×テンプレート数の数の「豊洲の映画館」+「いいですね。」、「豊洲の映画館」+「好きですか。」、「映画A」+「いいですね。」、「映画A」+「好きですか。」、の4つの対話発話文を生成する。この対話発話文の生成を繰り返す処理の制御は、制御部130が行う。制御部130は、発話文生成装置100の各部の時系列動作を制御する一般的なものであり、特別な処理を行うものではない。他の実施例についても同様であり、以降、制御部の説明は省略する。対話システムでは、この複数の対話発話文の内、ユーザ発話に対応する1つが、図示しない発話文選択装置によって選択されて用いられる。
【0022】
このように発話文生成装置100によれば、ユーザ発話文の形態素列中に含まれる単語から話題の焦点を表す複数の焦点語を抽出し、その焦点語をテンプレートに代入することで対話発話文を生成するので、バリエーション豊富な対話発話文を生成することができる。
【実施例2】
【0023】
図3に、この発明の発話生成装置200の機能構成例を示す。その動作フローを図4に示す。発話生成装置200は、関連語推定部250を備える点と、発話文生成部220の作用が、発話生成装置100(図1)と異なる。
【0024】
関連語推定部250は、焦点語抽出部110で抽出した焦点語を入力として、当該焦点語の類義語を関連語として推定する(ステップS250)。焦点語の類義語を推定する方法としては、シソーラス辞書を用いる方法や、LDA(参考文献3:「David M. Blei, et al., Latent Dirichlet Allocation, the Journal of Machine Learning Research, vol. 3, pp. 993-1022, 2003)などの単語間の共起関係によって類義語を推定するトピックモデル(Topic Model)を用いる方法が知られている。シソーラス辞書やトピックモデルは周知である。
【0025】
関連語推定部250は、焦点語の「映画A」を入力として、例えばトピックモデルを用いて「○○○○」や「△△△△」など映画Aに関連する単語や、「映画B」のような類似したジャンルの映画や、「○○」などの略語・表記ゆれを関連語として抽出する。
【0026】
発話文生成部220は、焦点語抽出部110で抽出した焦点語と関連語推定部250で推定した関連語を入力として、当該焦点語と当該関連語をテンプレートに代入することで対話発話文を生成する(ステップS220)。この例では、「○○○○」+「いいですね。」や、「△△△△」+「いいですね。」や、「○○」+「いいですね。」などが対話発話文として追加される。
【0027】
発話生成装置200は、発話生成装置100に対して、関連語推定部250で推定した関連語が追加されるので、対話発話文のバリエーションを更に豊富にすることができる。
【実施例3】
【0028】
図5に、この発明の発話文生成装置300の機能構成例を示す。その動作フローを図6に示す。発話文生成装置300は、係り受け関係解析部360を備える点と、焦点語抽出部310の作用が、発話文生成装置200(図3)と異なる。関連語推定部250と発話文生成部220は、参照符号から明らかなように発話文生成装置200(図3)と同じものである。
【0029】
係り受け関係解析部360は、形態素列を入力として、当該形態素列の係り受け解析を行って、文節の係り受け関係を出力する(ステップS360)。係り受け解析は、一般的な日本語係り受け解析手法を用いる。
【0030】
例えば、ユーザ発話文を「今日は豊洲の映画館で映画Aを見ました。」とした場合の形態素列と係り受けの関係を、図7に示す。図7の1行目は形態素列、2行目は文節の係り受け関係である。表1に、その係り受け関係を示す。
【0031】
【表1】
焦点語抽出部310は、ユーザ発話文の形態素列と係り受け関係解析部360で解析した係り受け関係を入力として、当該形態素列中に含まれる話題の焦点を表す固有名詞、一般名詞、述語、の複数の焦点語を抽出する(ステップS310)。述語とは、事態性名詞、動詞、形容詞、形容動詞、のことである。なお、事態性名詞とは特定の事態を喚起する名詞であり、少なくとも以下の4タイプがある(参考文献4:「黒田航、「事態性名詞の項構造と動詞の項構造の統合・PMAを使った日本語の支援動詞構文の分析とその合意」、言語処理学会年次大会,2008」)。A:動詞の連用形、B:サ変名詞、C:非連用形/非サ変の抽象名詞(支援動詞を要求)、D:非連用形/非サ変の具象名詞(特定の動詞と組み合わされて事態名詞化する)。
【0032】
例えば、ユーザ発話文を「今日は映画の○△□○を見ました。」とした場合、焦点語抽出部310は、ユーザ発話文に含まれる固有名詞の「○△□○」を焦点語として抽出する。固有名詞が複数含まれるユーザ発話文の場合、焦点語抽出部310は、最も発話末尾に近いものから任意のN個(Nは自然数)の固有名詞を焦点語として抽出する。
【0033】
また、焦点語抽出部310は、ユーザ発話文に含まれる一般名詞の内、出現数が少ないものを焦点語として抽出する。出現数がすくないものを焦点語にする理由は、一般的で話題を表現しない例えば「こと」などの名詞を抽出しないようにするためである。この例では、「映画」を抽出する。
【0034】
また、焦点語抽出部310は、最も上位で係られている述語を焦点語として抽出する。なお、日本語では、前から後ろの単語に係る場合が多いため、文末に最も近い述語を焦点語として抽出するようにしても良い。
【0035】
発話文生成部220は、焦点語が固有名詞の場合、固有名詞は関連する形容詞・動詞は、対話発話文として適切に当てはまる事が多いため、テンプレートを、「[固有名詞]は[形容詞]らしいですねー」とした場合、「○△□○は面白いらしいですねー」を対話発話文として生成する。ここで用いる形容詞・動詞は、関連語推定部250において例えばトピックモデルを用いて推定した関連語に含まれるものである。
【0036】
また、焦点語が一般名詞の場合、一般名詞に関連する形容詞・動詞は、文脈に依存したものが出現する場合が多い。そのため、発話文生成部220は、関連する形容詞・動詞をそのまま用いて対話発話文を生成する。例えば、関連する形容詞・動詞を、「面白い」、「楽しい」等と仮定し、テンプレートを「どんな[一般名詞]が[形容詞・動詞]ですか?」とした場合、「どんな映画が面白いですか?」を発話文として生成する。このように1つのテンプレートに2つの異なる単語を代入して対話発話文を生成する場合は、焦点語と関連語の全ての組み合わせの対話発話文が生成される(図6:ステップS330)。
【0037】
なお、関連する形容詞・動詞をそのまま用いると対話の文脈に合わない不適切な対話発話文になる場合も考えられる。その場合は、形容詞のポジティブ/ネガティブを日本語評価表現辞書を用いて推定し、それに合わせて「好き」、「苦手」のように話題によらずに適用可能な評価表現を付与して対話発話文を生成するようにしても良い。例えば、テンプレートとして「どんな[一般名詞]が好きですか?」や「どんな[一般名詞]が苦手ですか?」などを用意しておいて、一般名詞を当てはめても良い。
【0038】
また、焦点語が述語の場合、発話文生成部220は、述語(事態性名詞・動詞)に係る名詞と表層格を利用して対話発話文を生成する。係り受け関係にある名詞をそのまま用いるとYes/Noで答える対話発話文となり話題が広がらないため、名詞の語義をワードネット(Wordnet)のような語彙体系から推定して、ロケーションに対応するどこで(Where)、何時(Time)に対応する5W1H型の質問を生成する。ただし、時制の一致は扱いが難しいため、特に「ロケーション」を尋ねるWhereを優先的に生成する。例えば、テンプレートを「どこ[表層格][述語]んですか?」とした場合、「どこで見たんですか?」を対話発話文として生成する。
【0039】
発話文生成装置300によれば、係り受け関係にある単語群をテンプレートに代入するので、幅広い話題に対応可能で、且つ、意味の通った対話発話文を生成することができる。なお、係り受け関係解析部360の構成を発話文生成装置200に追加する形で説明したが、係り受け関係解析部360を発話文生成装置100に追加した構成、つまり関連語推定部250を省略した構成の発話文生成装置も考えられる。
【実施例4】
【0040】
図8に、この発明の発話文生成装置400の機能構成例を示す。発話文生成装置400は、係り受け関係辞書470を備える点と、関連語推定部450の作用が、発話文生成装置200(図3)と異なる。話題抽出部110と発話文生成部220は、参照符号から明らかなように発話文生成装置200(図3)と同じものである。発話文生成装置400の動作フローは、発話文生成装置200の動作フロー(図4)と同じである。
【0041】
係り受け関係辞書470は、大量の自然文から所定の単語に対する係り受け関係として出現した単語群をその回数と共に記録したものである。係り受け関係辞書470は、例えば参考文献3(竹内孔一他、「意味の包含関係に基づく動詞項構造の細分類」、言語処理学会年次大会,2008.)に記載されているものであり、別途構築されたものである。
【0042】
係り受け関係辞書470は、口語調の表現が大量に含まれるマイクロブログ等の記事から自然文を収集し単語間の関係性を抽出して構築したものとする。マイクロブログは、主観的な文章を大量に含むことから、ある単語に対する主観的な表現が抽出されることが期待される。新聞記事などの書き言葉の文章から単語間の関係性を抽出するよりも対話システムに好適な係り受け関係辞書とすることができる。例えば、「映画A」を含むマイクロブログからは「面白い」や「好き」、「恐ろしい」などの形容詞を、関連語として抽出できる可能性が高いと仮定する。
【0043】
関連語推定部450は、話題抽出部110が抽出した焦点語を入力として、係り受け関係辞書470を参照して当該焦点語の関連語を抽出する。焦点語を、例えば「映画A」とした場合、関連語推定部450は「面白い」や「好き」、「恐ろしい」などの形容詞を関連語として、係り受け関係辞書470から抽出する。
【0044】
発話文生成部220は、話題抽出部110で抽出した焦点語と関連語推定部250で抽出した関連語を入力として、当該焦点語と当該関連語をテンプレートに代入することで対話発話文を生成する(ステップS220)。テンプレートを例えば、「[固有名詞]は[形容詞]らしいですねー」としておけば、発話文生成部220は、「映画Aは面白いらしいですねー」の対話発話文を生成する。
【0045】
発話文生成装置400は、発話文生成装置200(図3)に係り受け関係辞書470を加えた構成で説明したが、発話文生成装置300(図5)に係り受け関係辞書470を加えて発話文生成装置を構成しても良い。
【0046】
また、係り受け関係辞書470は、別途構築されたものを用いる例で説明を行ったが、係り受け関係辞書の内容を逐次更新するように構成しても良い。図9に、話題抽出部110に入力される形態素列を用いて逐次、係り受け関係辞書を更新するように構成した発話文生成装置500の機能構成例を示す。
【0047】
発話文生成装置500の係り受け関係辞書570は、係り受け関係解析部360が出力する文節の係り受け関係と表層格を記録し、同一種類の係り受け関係と表層格についてその出現回数を更新して記録する。このように、係り受け関係辞書670を、逐次入力される形態素列で更新するように構成しても良い。
【0048】
また、発話文生成装置内部で係り受け関係辞書を作成するようにしても良い。図10に、発話文生成装置内部で係り受け関係辞書を構築するように構成した発話文生成装置600の機能構成例を示す。
【0049】
発話文生成装置600の係り受け関係辞書670は、自然文一時記憶部671と、形態素解析部672と、係り受け関係解析部673と、係り受け関係記録部674と、で構成される。自然文一時記憶部671は、外部から収集した自然文を記憶する。外部とは、例えばインターネット等のネットワーク環境であり、Web上のブログ記事などを定期的に受信して記憶する。
【0050】
形態素解析部672は、自然文一時記憶部671に記憶されたテキスト情報を形態素解析して形態素列を出力する。係り受け関係解析部673は、形態素解析部672が出力する形態素列から単語間の係り受け関係を推定し、係り受け関係と表層格を抽出する。例えば、図7に示す係り受け関係の「今日」は「は」格と共に「動詞」「見ました。」に接続されているとしてその関係を出力する。
【0051】
係り受け関係記録部674は、係り受け関係解析部673が出力する係り受け関係と表層格を記録する。この時、同じ係り受け関係と表層格は、その出現回数を更新して記録する。このように、係り受け関係辞書670を自動的に構築するように構成しても良い。
【実施例5】
【0052】
図11に、この発明の発話文生成装置700の機能構成例を示す。発話文生成装置700は、話題抽出部710と、係り受け関係解析部360と、関連話題抽出部780と、発話文生成部720と、を備える。係り受け関係解析部360は、参照符号から明らかなように発話文生成装置300(図5)と同じものである。
【0053】
話題抽出部710は、形態素列と、係り受け関係解析部360が出力する係り受け関係を入力として、形態素列中に含まれる発話文の話題を表す単語と係り受け構造を抽出する。ここで、係り受け構造とは、係り受け関係を持つ2つの文節からなる組のことである。
【0054】
発話文を例えば「かなりお腹が空きました。」とした場合、その発話文を形態素解析した結果を図12に示す。1行目は発話文、2行目は形態素解析結果、3行目は係り受け解析結果、4行目以降に係り受け構造、を示す。
【0055】
係り受け関係解析部360が出力する係り受け関係のうち、ストップワードを含まないものを全て話題とする。単語は固有名詞のみを話題として用いる。ストップワードには、代名詞と、「する、いう、なる、ある、いる」などの特定の意味を伴わず使われる補助的な動詞と、「こと、の」などの抽象名詞と、時間に関する単語である例えば「今日」、「先日」、「○時○分」などの単語を用いる。ストップワードは、使用頻度が高く特定の意味を持たない単語である。例えば、「〜みたいな」等の話事が特有の語尾などもストップワードに含まれる。
【0056】
つまり、発話文抽出部710は、ストップワードを含む係り受け構造及び単語を発話文の話題から除外する処理を行う。ただし、このように単語の意味で決める方法以外に、出現数でフィルタする方法も有用である。フィルタとは、例えばTFIDFのような考えを導入することである。
【0057】
なお、単語と係り受け構造(話題)を抽出する際、文節の先頭単語の標準形、POSタグ、文節の一意性を表す文節ID、簡単な意味属性(場所、動作、質問、…)、文節の内容語句の表記、内容語句の標準形、格情報、を同時に抽出するようにしても良い。
【0058】
関連話題抽出部780は、発話文の話題を表す単語及び係り受け構造を入力として当該単語と係り受け構造と関連の深い関連単語と関連係り受け構造を出力する。ここで、関連の深いとは、文節間で同一若しくは類義の単語が共起すること、文節間で係り受け関係が存在すること、コーパス中で強い共起関係がある単語の組が、対となる2文節内に1つずつ含まれることを意味する。なお、文節間での係り受け関係とは、係り受け構造A中の文節のうち少なくとも1つが係り受け構造B中の文節と係り受け関係にある状態である。図13にその状態を例示する。「お腹・空いた」の「空いた」に係る「空いて・きつい」の「きつい」に係る文節である「だいぶ・きつい」が、当該単語と係り受け構造に係る係り受け構造となる。
【0059】
ここで、関連単語と関連係り受け構造は、関連話題ということになる。この「だいぶ・きつい」の関連係り受け構造は、発話文の話題を表す単語及び係り受け構造に、上記した定義を参考に予め決めたルールを適用することで生成される。最も単純な方法としては、「お腹・空いた」の係り受け構造に対応する「だいぶ・きつい」の文節を、関連話題抽出部780に用意しておく。なお、ルール以外に関連係り受け構造を生成する方法として、単語の共起関係のある文節や、類義語を含む文節、係り受け関係のある文節、コーパス中で共起関係が強い単語を持つ文節を関連話題としてもよい。
【0060】
発話文生成部720は、話題抽出部710が出力する発話文の話題を表す単語及び係り受け構造と、関連話題抽出部780が出力する関連単語と関連係り受け構造を入力として、それらの単語と係り受け構造をテンプレートに入力することで対話発話文を生成する。テンプレートは、上記したものと同じである。例えば、テンプレートとして「ですよね」や「ですか?」を用意しておき、抽出した係り受け構造を代入することで、「だいぶきついですよね」や「だいぶきついですか?」等の対話発話文を生成する。
【0061】
発話文生成装置700によれば、入力された発話文の話題を表す単語と係り受け構造(話題)と、その係り受け構造と係り受け関係にある関連単語と関連係り受け構造(関連話題)と、に対応する対話発話文を生成するので、発話文生成装置300よりも更に幅広い話題に対応した意味の通った対話発話文を生成することができる。
【実施例6】
【0062】
図14に、この発明の発話文生成装置800の機能構成例を示す。発話文生成装置800は、発話文生成装置700に対して、係り受け関係データベース890を備える点と、関連話題抽出部880の機能の点で、異なる。
【0063】
係り受け関係データベース890は、或る係り受け構造が与えられた場合に、その係り受け構造に係る係り受け構造を検索することのできるデータベースである。例えば、「お腹・が・空く」という構造から、この構造に係る係り受け構造を検索すると、図15に示す結果が得られるデータベースである。また、この検索を多段に行えるようにすると、「お腹が空く」に係る「飯・食う」を検索し、更に「飯・食う」に係る係り受け構造、というように検索することも可能である。この実施例では、大量の自然文から出現した係り受け構造を、その係り受け構造が出現した自然文を表す一意な番号(文番号)と共に記憶することで、係り受け関係データベース890を構築する。その構築方法の具体例は後述する。
【0064】
関連話題抽出部880は、発話文の話題を表す単語及び係り受け構造を入力とし、係り受け関係データベース890を参照して関連単語と関連係り受け構造を抽出して出力する。抽出に当たって、発話文の話題を表す単語及び係り受け構造(話題)がどのような品詞を持つか分からないと、関連する単語と関連する係り受け構造が何を表すか分からないうえに、テンプレートに上手く合致しない関連単語と関連係り受け構造が抽出され得る。そのため、抽出したい話題の種類ごとに入力される話題の品詞と抽出対象の話題の品詞によって制約される条件を設定する。条件を設定することで話題の種類が明確で、且つテンプレートに合致し易い話題を抽出することができる。
【0065】
条件例として、入力される係り受け構造が(単語A・格F・単語B)で構成され、抽出対象の関連する係り受け構造が(単語C・格G・単語D)で構成されるものとして説明する。更に、動詞、形容詞、動名詞、形容動詞のような述語になり易い品詞を指して「述語」、動詞・動名詞のような動作を表現する品詞を指して「動作詞」、形容詞・形容動詞のような評価表現になり易い品詞を指して「評価詞」と定義する。
【0066】
評価表現を含む関連単語と関連係り受け構造を抽出するためには、単語A:一般・固有名詞、単語B:動作詞、単語D:評価詞、単語B→単語Dへの係り受け、の制約条件の元で係り受け関係データベース890を検索する。以降において大文字のアルファベットは単語を意味するが、「単語」の文言を省略する場合もある。例えば、入力される係り受け構造を、単語A:「お腹」→B:「空いて」とすると、図16(a)に示す関連単語と関連係り受け構造を抽出することができる。このように入力される係り受け構造中の文節のうち少なくとも1つと係り受け関係(B:空いて→D:きつい)を持つ関連単語と関連係り受け構造(C:だいぶ→Dきつい)を抽出することができる。
【0067】
(名詞・F・動作詞)で構成される係り受け構造は、いわゆる述語項構造に似た構造を持ち、何らかの出来事を表現される構造と想定される。この制約条件によって、その出来事に対する評価表現を含む話題(関連単語と関連係り受け構造)を抽出できる。
【0068】
原因表現を含む関連単語と関連係り受け構造を抽出するためには、単語A:一般・固有名詞、単語B:動作詞、単語D→Bに(D・H=「ので・から」・B)の構造を持つ係り受け、単語D:動作詞、の制約条件で係り受け関係データベース890を検索する。入力される係り受け構造を、上記した例とすると、図16(b)に示すように(C・G・D)+「から」+(A・F・B)という関連係り受け構造を取り出すことができ、(A・F・B)が発生した理由を抽出できる。
【0069】
疑問詞表現を含む関連単語と関連係り受け構造を抽出するためには、単語A:一般・固有名詞、単語B:動作詞、単語D=単語B、単語C:疑問詞、の制約条件とする。入力される係り受け構造を、上記した例とすると、図16(c)に示すように疑問詞+(A・F・B)という関係係り受け構造を取り出すことができ、(A・F・B)について問う際に用いる疑問詞を抽出できる。
【0070】
自己開示表現を含む関連単語と関連係り受け構造を抽出するためには、単語A:一般・固有名詞、格F:「は」、単語B:名詞、「自分・の」→単語Aの係り受け数大、単語C=単語A,格G:「は」、単語D:名詞、単語D≠単語B、の制約条件とする。ここで係り受け数大は、例えば上位3つくらいに絞る数である。入力される係り受け構造を、上記した例とすると、図16(d)に示すように、相手の(A・はB)に対して、対応する「自分・の」+(A・は・D)の関連係り受け構造を抽出できる。
【0071】
上記したように制約条件を設けて抽出した関連係り受け構造を用いて対話発話文を生成する場合の発話文生成部720の好ましいテンプレートの用意の仕方について説明する。
【0072】
上記した発話文生成部720のテンプレートを、係り受け関係データベース890から関連単語と関連係り受け構造を抽出する際の制約条件ごとに作成することで、テンプレート間の関係性の見通しを良くすることができる。 評価表現を抽出した場合は、例えば、「単語C+格G+単語Dですよね」や「単語C+格G+単語Dですか?」のテンプレートを用意して、単語C+格G+単語Dですよね、や、単語C+格G+単語Dですか?の対話発話文を生成する。図17(a)にその例を示す。発話意図(自己開示_評価)の対話発話文「だいぶきついですよね」、(質問_評価)の対話発話文「だいぶきついですか?」を生成することができる。
【0073】
原因表現を抽出した場合は、例えば、「単語C+格G+単語Dの?」のテンプレートを用意して、図17(b)に示すように発話意図(質問_事実)の「もしや何も食べていないの?」や「何も食べていないの?」の対話発話文を生成することができる。
【0074】
疑問詞表現を抽出した場合は、例えば、「単語C+格G?」や「単語C+格G+単語B?」のテンプレートを用意して、図17(c)に示すように発話意図(質問_事実)の対話発話文「どうして?」や「どうして空く?」の対話発話文を生成することができる。ただし、単語Cが「どうして」など理由を問う疑問詞の場合には、対話発話文が不適切になる恐れがあるので、テンプレートを例えば次のように変更する。「単語C+格G+こうも単語A+単語Bかなあ」、とテンプレートを用意すると「どうしてこうもお腹がすくかな」といった対話発話文を生成することができる。
【0075】
自己開示表現を抽出した場合は、例えば、「私の(単語C)は(単語D)です」や{自分は(単語D)が(単語A)です}のテンプレートを用意して、図17(d)に示すように発話意図(自己開示_事実)の「私のお腹はブラックホールです」の対話発話文を生成することができる。
【0076】
制約条件なしに抽出した関連係り受け構造の出現数が上位のものをテンプレートに代入することで対話発話文を生成するようにしても良い。もちろん、抽出するための入力係り受け構造もテンプレートに代入する。
【0077】
これらの係り受け構造に含まれる単語のみを用いて発話を生成する場合、各単語をどのような表現と共に用いれば良いかを適切に定める必要がある。そこで、検索された関連係り受け構造が属する文で使われている用例を、そのまま利用して対話発話文を生成する。例えば、後ろ方向の係り受け関係から対話発話文を生成する場合、入力係り受け構造から直接検索された係り受け構造xの表記(例えば「お腹空いたから」)の後段に関連係り受け構造zの表記(例えば「ご飯食べる」)を並べたものを単位として出現数を調べ、出現数が上位のものについて最後の部分のみ「○○ですね」のような簡易なテンプレートに合致するように変換して接続することで、「お腹すいたからご飯たべるんですね」のように対話発話文を生成する。
【0078】
出現数が1回の場合は、その文脈固有の表現であることが多いので除外する。以上の方法により、入力係り受け構造と関連係り受け構造の接続や、それぞれが含む機能表現などを活かし、文法的に不自然になり難い対話発話文を得ることができる。
【0079】
上記した係り受け関係データベース890の作成方法について図18を参照して説明する。図18に示す方法では、一つの係り元と係り先とから成るフラットな係り受け構造を記録したデータベースから、先ず、入力された係り受け構造i中の2つの文節s,sから、各文節の先頭単語の標準形を取りだし、入力係り受け構造に含まれる順で出現する係り受け構造群Xを検索する。
【0080】
次に、得られた係り受け構造x∈Xごとに、構成する文節s,s∈sの何れかを含む係り受け構造yを、文IDと文節IDを利用して検索する。係り受け構造yはx中の文節s,sの何れかを含むため、yはxと一部の文節が重複した関連係り受け構造と考えることができる。
【0081】
更に、yを構成する文節s,s∈sを含みsを含まないものを同様に検索しzとすると「お腹→空いた」に対する「ごはん→食べる」のような文節が重複しない関連係り受け構造を得ることができる。このようにして得られた関連係り受け構造は、入力された係り受け構造に対して理由や結果、限定など特定の関連する性質を持っている。入力される係り受け構造に対する出現位置と係る格によって、その性質が異なると考えられる。
このようにして得られた関連係り受け構造をデータベース化したものが係り受け関係データベース890である。係り受け関係データベース890を備えた発話文生成装置800は、フラットな係り受け構造から、当該係り受け構造に係る関連係り受け構造をシステマチックに抽出したデータベースを用いるので、発話文生成装置700に対して更に幅広い対話発話文を生成することができる。フラットな係り受け構造とは、一つの係り元と係り先とから成る係り受け構造のことである。
【0082】
また、係り受け関係データベース890は、図18に示した方法で一つの係り元と係り先とから成るフラットな係り受け構造を記録した係り受け関係データベース890′から作成する関係にあるが、関連係り受け構造を検索する処理を、その都度行う構成も考えられる。つまり、関連係り受け構造を予めデータベース化しておくのではなく、関連係り受け構造を毎回検索するようにしても良い。
【0083】
その場合の関連話題抽出部880′は、図18で説明した方法で関連単語と関連係り受け構造を検索する。検索には、品詞情報や格、単語情報などを用いても良い。この関連係り受け構造を毎回検索方法は、計算量は増加するが、係り受けの深さを自由に変えることができるので、多様な対話発話文を生成するのに有利な方法である。
【実施例7】
【0084】
図19に、この発明の発話文生成装置900の機能構成例を示す。発話文生成装置900は、発話文生成装置800に対して、自然文記憶部995を備える点と、発話文生成部920の機能の点で、異なる。
【0085】
自然文記憶部995は、係り受け関係データベース890に記憶された係り受け構造と格に対応する文番号に対応した自然文を記憶したものである。発話文生成部920は、話題抽出部310から入力される単語と係り受け構造を表す文番号と、関連話題抽出部880から入力される関連単語と関連係り受け構造を表す文番号とに、文番号で対応する自然文を、自然文記憶部995から読み出して対話発話文を生成する。対話発話文は、自然文記憶部995から読み出した自然文そのままでも良いし、その文末を「です」「ます」に変える等の変更を行っても良い。
【0086】
発話文生成装置900によれば、テンプレートを用いずに大量の自然文から対話発話文を生成するので、幅広い話題の発話文に対する対話発話文を生成することが可能である。自然文記憶部995に記憶する自然文は、上記した係り受け関係辞書470と同様に、口語調の対話発話文を生成する目的では、主観的な発言を大量に含むマイクロブログから収集すると好ましい。
【0087】
なお、自然文記憶部995は、上記した実施例の全てに設けても良い。例えば、自然文記憶部995を備えた発話文生成装置100′は、話題抽出部110が出力する焦点語をクエリとして、自然文記憶部995から類義語を検索して対話発話文を生成するようにしても良い。
【0088】
以上説明した発話文生成装置100によれば、ユーザ発話文から話題の焦点を表す複数の焦点語を抽出し、その複数の焦点語をテンプレートに代入して対話発話文を生成するので、バリエーション豊富な対話発話文の生成が可能である。また、発話文生成装置200によれば、焦点語の類義語である関連語を推定し、焦点語と関連語とを用いて発話文を生成するので、より幅広い話題に対応できる対話発話文を生成することが可能である。
【0089】
また、発話文生成装置300によれば、係り受け関係にある単語群をテンプレートに代入するので、幅広い話題に対応可能で、且つ、意味の通った対話発話文を生成することができる。また、発話文生成装置300,400,500,600は、焦点語と関連語との関連性の推定に、マイクロブログ等の大量の自然文に含まれる係り受け関係を利用するので、ユーザ発話文に対する対話発話文のバリエーションを豊富にすることができる。
【0090】
また、発話文生成装置700は、発話文の内容を表す単語と係り受け構造と当該単語と係り受け構造に係る関連単語と関連係り受け構造を、テンプレートに代入するので更に幅広い話題に対応可能で、意味の通った対話発話文を生成することができる。また、発話文生成装置800は、係り受け関係データベース890を用いるので、より幅の広い対話発話文を生成することができる。また、発話文生成装置900は、テンプレートを用いずに大量の自然文から対話発話文を生成するので、幅広い話題に対応した自然な表現の対話発話文を生成することができる。
【0091】
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【0092】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0093】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19