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

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

▶ 国立大学法人静岡大学の特許一覧

<>
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000002
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000003
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000004
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000005
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000006
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000007
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000008
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000009
  • 特許6070809-自然言語処理装置及び自然言語処理方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6070809
(24)【登録日】2017年1月13日
(45)【発行日】2017年2月1日
(54)【発明の名称】自然言語処理装置及び自然言語処理方法
(51)【国際特許分類】
   G06F 17/28 20060101AFI20170123BHJP
   G06F 17/27 20060101ALI20170123BHJP
   G10L 13/00 20060101ALI20170123BHJP
【FI】
   G06F17/28 681
   G06F17/27 690
   G10L13/00 100M
【請求項の数】16
【全頁数】17
(21)【出願番号】特願2015-236446(P2015-236446)
(22)【出願日】2015年12月3日
【審査請求日】2016年5月12日
【早期審査対象出願】
(73)【特許権者】
【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
(74)【代理人】
【識別番号】110000925
【氏名又は名称】特許業務法人信友国際特許事務所
(72)【発明者】
【氏名】狩野 芳伸
【審査官】 長 由紀子
(56)【参考文献】
【文献】 特開2014−149786(JP,A)
【文献】 特開2005−182208(JP,A)
【文献】 特開2011−107603(JP,A)
【文献】 特開2010−211470(JP,A)
【文献】 特開2008−003517(JP,A)
【文献】 特開平07−141469(JP,A)
【文献】 小林 優佳 外2名,高齢者対話インタフェース −発話間の共起性を利用した傾聴対話の基礎検討−,FIT2011 第10回情報科学技術フォーラム 講演論文集 第2分冊 査読付き論文・一般論文 データベース 自然言語・音声・音楽 人工知能・ゲーム 生体情報科学,日本,一般社団法人情報処理学会 社団法人電子情報通信学会,2011年 8月22日,p.253-256
【文献】 鈴木 潤 外2名,拡張ラグランジュ緩和を用いた同時自然言語解析法,言語処理学会第18回年次大会発表論文集 チュートリアル 本会議 [CD−ROM],日本,言語処理学会,2012年 3月31日,p.1284-1287
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/20−28
G10L 13/00
(57)【特許請求の範囲】
【請求項1】
入力した自然言語文を解析して、その入力した自然言語文と対話するための出力文を生成する自然言語処理装置において、
自然言語文の要素ごとに異なる解析を行う複数の解析処理部が用意され、解析可能な単位の自然言語文を入力するごとに、各入力の単位に対して前記複数の解析処理部の各解析処理部で逐次的かつ並列的に解析を行う対話解析・生成部と、
前記対話解析・生成部における前記各解析処理部の解析結果に基づいて、出力を得る出力部とを備え、
前記対話解析・生成部に用意された前記各解析処理部は、自らの解析処理部での直前又はそれ以前の解析結果と、他の解析処理部での直前又はそれ以前の解析結果とを取得し、この取得した解析結果を参照して、単一又は制限された数の解析結果を得るようにし
前記対話解析・生成部の各解析処理部での前記単一又は制限された数の解析結果に基づいて、前記解析処理部の中の1つの解析処理部である文生成部で、入力した前記自然言語文に対応した対話応答文を生成して、前記出力部に出力する、
ことを特徴とする自然言語処理装置。
【請求項2】
記出力部は、前記対話応答文を音声又はテキストとして出力する
請求項1に記載の自然言語処理装置。
【請求項3】
前記各解析処理部は、解析を行うのに必要な限られた情報を保持し、その限られた情報を利用して解析を行う
請求項1又は2に記載の自然言語処理装置。
【請求項4】
解析済みの情報については、同じタイプの情報を複数保持しないように制約を加えることで限られた情報を保持するようにした
請求項3に記載の自然言語処理装置。
【請求項5】
各解析処理部の内の少なくとも1つの解析処理部が解析結果を得る際には、前記各解析処理部において、次の入力データを予測するためにデータベースに蓄積されたデータを用いて推測を行い、この推測した結果を利用して、次に直接つながる単語又は言葉予測し、入力した自然言語文と予測した単語又は言葉とを使って、単一又は制限された数の解析結果を得るようにした
請求項1〜4のいずれか1項に記載の自然言語処理装置。
【請求項6】
前記対話解析・生成部の各解析処理部は、解析結果の確かさを示す確信を算出し、各解析処理部が算出した確信他の全ての解析処理部に伝えるようにした
請求項1〜5のいずれか1項に記載の自然言語処理装置。
【請求項7】
前記対話解析・生成部の各解析処理部は、算出した前記確信が所定条件を満たす閾値以下の低い値であるとき、前記各解析処理部の処理を少なくとも1段階前の処理の終了時点の解析処理に戻るようにした
請求項に記載の自然言語処理装置。
【請求項8】
前記対話解析・生成部は、その構成要素である前記各解析処理部として、形態素解析部と、品詞解析部と、構文解析部と、述語項及び格解析部と、照応関係解析部とを含む
請求項1〜7のいずれか1項に記載の自然言語処理装置。
【請求項9】
前記対話解析・生成部は、その構成要素である前記各解析処理部として、更に、相槌及び割込判定部と、非言語情報部とを含む
請求項8に記載の自然言語処理装置。
【請求項10】
入力した自然言語文を解析して、その入力した自然言語文と対話するための出力文を生成する自然言語処理装置における自然言語処理方法であって、
自然言語文の要素ごとに異なる解析を行う複数の解析処理を行う機能(以下、「解析処理機能」という)を有する各解析処理部が用意され、解析可能な単位の自然言語文が入力するごとに、各入力の単位に対して前記複数の解析処理部の各解析処理部において逐次的かつ並列的に解析を行う逐次解析ステップと、
前記各解析処理部における前記逐次解析ステップの各解析結果に基づいて、前記各解析処理部の中の1つの解析処理部である文生成部において入力した自然言語文に対応する対話応答文を得る生成ステップと
前記文生成部で生成した対話応答文を、出力部に出力する出力ステップと、を含み、
前記各解析処理部は、自らの解析処理部での直前又はそれ以前の解析結果と、他の解析処理部での直前又はそれ以前の解析結果とを取得し、この取得した解析結果を参照して、単一又は制限された数の解析結果を得るようにした、
自然言語処理方法。
【請求項11】
前記出力部から出力される前記対話応答文は、音声又はテキストとして出力される、
請求項10に記載の自然言語処理方法。
【請求項12】
前記各解析処理部における解析処理においては、解析を行うのに必要な限られた情報を保持し、その限られた情報を使用して解析を行うようにした
請求項10又は11に記載の自然言語処理方法。
【請求項13】
解析済みの情報については、同じタイプの情報を複数保持しないように制約を加えることで限られた情報を保持するようにした
請求項12に記載の自然言語処理方法。
【請求項14】
前記各解析処理部における解析処理においては、前記各解析処理部のそれぞれの解析処理機能の内の少なくとも1つの解析処理機能が解析結果を得る際には、前記各解析処理部において、次の入力データを予測するためにデータベースに蓄積されたデータを用いて推測を行い、この推測した結果を利用して、次に直接繋がる単語又は言葉予測し、入力した自然言語文と予測した単語又は言葉を使って、単一又は制限された数の解析結果を得るようにした
請求項10〜13のいずれか1項に記載の自然言語処理方法。
【請求項15】
前記各解析処理部における各解析処理機能は、解析結果の確かさを示す確信を算出し、各解析処理部が算出した確信度を他の解析処理部の解析処理機能に伝えるようにした
請求項10〜14のいずれか1項に記載の自然言語処理方法。
【請求項16】
前記各解析処理部における各解析処理機能は、算出した確信が所定の条件を満たす閾値以下の低い値であるとき、前記各解析処理部の処理を少なくとも1段階前の処理の終了時点の解析処理機能に戻るようにした
請求項15に記載の自然言語処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば自然言語を解析して対話を行うのに適した自然言語処理装置及び自然言語処理方法に関する。
【背景技術】
【0002】
近年、コンピュータを内蔵した機器が、人間が発話した自然言語を認識し、その認識した内容に基づいて自動的に処理や応答を行う自然言語処理装置が開発されている。例えば、人型ロボットに、マイクロフォンなどの音声入力部と、入力した音声から自然言語文を認識する音声認識部と、認識した自然言語文に対する回答を生成して出力する音声出力部を備えた会話システムを備えた人型ロボットが、あたかも人間と会話できるようにした自然言語処理装置が研究され、開発されつつある。
【0003】
特許文献1には、自然言語文を処理する言語生成装置の一例が記載されている。この特許文献1の言語生成装置は、ある問題に対する回答文を生成する場合に、その問題を解決するための行為の内容が確定した時点で、その確定した内容を説明するための言語表現列を生成するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8−161175号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したように、人間と会話できるコンピュータを内蔵したロボットなどが既に開発されているが、従来のコンピュータを使用した自然言語処理能力は、それほど高いとは言えない。すなわち、従来の会話システムでは、想定される会話文を予め用意しておき、その用意された会話文を使用した、限られた内容の会話しかできない。すなわち、人間同士が会話する場合に比べて、はるかに劣った会話しかできないものであった。
【0006】
特許文献1に記載される言語生成装置であっても、回答文を生成する際に問題解決行為が確定した後に、その内容を説明する言語表現列を生成するようにした点で、従来のものと比べて、ある程度はコンピュータが行う回答の精度が向上する。
しかしながら、問題解決行為の内容が確定した時点で回答文を生成するということ自体は、問題解決行為の内容が確定するまで回答文が生成されないことを意味しており、コンピュータと会話している人間にとっては、極めて不自然な会話になってしまう。つまり、通常の人間同士での会話と同じような感覚での会話にはほど遠いものとなる。
【0007】
例えば、実際の人間同士での会話では、ある場所までの道順を問い合わせるようなとき、その問い合わせをしている途中で、「待ち合わせはどこが良いでしょうか」、「そのルートだと乗り換えが不便だよね」、「天気が悪そうだから別の場所に行こうか」など、様々なやり取りが想定される。
現状のコンピュータによる質問応答処理では、基本的に一問一答型で文脈を考慮せず直前の問いに対して回答を行うものであり、上述したような様々なやり取りがあった場合、質問をした人から見て、非常に不自然な回答しか得られないことになる。また、実際の会話文は、必ずしも日本語の文法規則に従った整った文であるとは限らないため、コンピュータが会話文の意味を正しく理解できないことが多々ある。その結果、人間同士で対話するような感覚での自動対話が実現できていないという問題がある。
【0008】
本発明は、人間との対話を人間のように自然かつ適切に行うことができる自然言語処理装置及び自然言語処理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の自然言語処理装置は、入力した自然言語文を解析して、その入力した自然言語文と対話するための出力文を生成するものである。
そして、自然言語文の要素ごとに異なる解析する複数の解析処理部が用意され、解析可能な単位の自然言語文の一部が入力するごとに、各入力の単位に対して複数の解析処理部の各解析処理部で逐次的かつ並列的に解析を行う対話解析・生成部と、対話解析・生成部における各解析処理部の解析結果に基づいて、対話応答文を得る文生成部とを備える。
さらに、対話解析・生成部に用意された各解析処理部は、自らの解析処理部での直前又はそれ以前の解析結果と、他の解析処理部での直前又はそれ以前の解析結果とを取得し、この取得した解析結果を参照して、単一又は制限された数の解析結果を得るようにし、対話解析・生成部の各解析処理部での単一又は制限された数の解析結果に基づいて、解析処理部の中の1つの解析処理部である文生成部で、入力した自然言語文に対応した対話応答文を生成して、出力部に出力するようにした。
【0010】
本発明の自然言語処理方法は、入力した自然言語文を解析して、その入力した自然言語文と対話するための出力文を自然言語処理装置で生成するものである。
そして、自然言語文の要素ごとに異なる解析を行う複数の解析処理を行う機能(以下、「解析処理機能」という)を有する各解析処理部が用意され、解析可能な単位の自然言語文の一部が入力するごとに、各入力の単位に対して複数の解析処理部の各解析処理部において逐次的かつ並列的に解析を行う逐次解析ステップと、各解析処理部における逐次解析ステップの各解析結果に基づいて、各解析処理部の中の1つの解析処理部である文生成部において入力した自然言語文に対応する対話応答文を得る文生成ステップと、文生成部で生成した対話応答文を、出力部に出力する出力ステップとを含む。
さらに、解析処理部は、自らの解析処理部での直前又はそれ以前の解析結果と、他の解析処理部での直前又はそれ以前の解析結果とを取得し、この取得した解析結果を参照して、単一又は制限された数の解析結果を得るようにした。
なお、自然言語文であっても、特に音声の場合は文の区切りは明確ではない。以下では説明をわかりやすくするために、おおむね文と言われる程度の単位を想定して自然言語文という。
【発明の効果】
【0011】
本発明によれば、解析可能な単位の自然言語文が入力するごとに、それぞれの解析要素ごとに用意された解析処理部で、逐次的かつ並列的に解析処理が実行されて、各解析処理部で単一又は制限された数の解析結果を得るため、あたかも人間が思考しながら会話する場合と同様の自然言語解析処理が行われるようになる。
したがって、本発明によると、人間同士が会話する場合と同様に、コンピュータとの会話が自然にできるようになる。
さらに、このように自然な会話ができるように作られたシステム内の各解析部は、従来のツールに比べ人間に近い言語の扱いができるので、より高い性能を発揮する。
【図面の簡単な説明】
【0012】
図1】本発明の一実施の形態による自然言語処理装置の例を示す構成図である。
図2】本発明の一実施の形態による逐次解析部の構成と処理の例を示す構成図である。
図3】本発明の一実施の形態による各解析処理部から取得する確信度の例を示す説明図である。
図4】本発明の一実施の形態による逐次解析部での処理が並列に行われる例を示す説明図である。
図5】本発明の一実施の形態による各解析処理部での処理手順の例を示すフローチャートである。
図6】本発明の一実施の形態による再解析を行う場合の判定処理例を示すフローチャートである。
図7】本発明の一実施の形態による解析処理の実行途中の例を示す説明図である。
図8】本発明の一実施の形態による自然言語文の解析と対話文の出力処理の例(例1)を示す説明図である。
図9】本発明の一実施の形態による自然言語文の解析と対話文の出力処理の例(例2)を示す説明図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施の形態の例(以下、「本例」と称する。)を、添付図面を参照して説明する。
[1.システム全体の構成例]
図1は、本例の自然言語処理装置の全体構成例を示す。
本例の自然言語処理装置は、対話解析・生成部10を備え、音声入力部1から入力された音声データ、またはテキスト入力部2から入力されたテキストデータが、対話解析・生成部10に供給される。
対話解析・生成部10は、データ処理を実行するコンピュータで構成され、入力した音声データを音声認識処理によりテキスト化すると共に、テキスト化したデータの解析処理を実行する。テキスト入力部2から入力されたテキストデータを処理する場合、対話解析・生成部10は、音声認識処理を省略して、入力されたテキストデータを直接解析処理する。
【0014】
対話解析・生成部10は、逐次的に解析処理を実行する逐次解析部として機能する。すなわち、対話解析・生成部10が解析処理を実行する際には、解析可能な単位の自然言語文の一部が入力するごとに、逐次的かつ並列的に解析を行う。
具体的には、例えば図1に示すように、最初の単位の自然言語文の一部が入力することで、解析部で最初の解析が行われて結果Aが得られ、以後、1単位の自然言語文が入力するごとに、結果B、結果C、・・・と順次(逐次的に)解析結果を得る解析部が形成され、この形成された解析部によって解析が実行される。この単位は解析部によって異なってもよい。
逐次的に形成される解析部は、それぞれ個別の解析機能を備えた複数の解析処理部を備え、その複数の解析処理部で並列的に解析が実行される。なお、対話解析・生成部10が備える複数の解析処理部の詳細については後述する(図2)。
【0015】
そして、対話解析・生成部10は、解析処理結果に基づいて、自然言語文と対話するための対話文を生成し、生成した対話文を音声合成する。対話解析・生成部10で得られた対話文の音声合成データは音声出力部3に供給され、対話解析・生成部10が判断したタイミングで、音声出力部3が対話文を音声として出力する。また、対話解析・生成部10は、対話文のテキストデータをテキスト出力部4に供給して出力する。
【0016】
対話解析・生成部10には、自然言語文を解析するために必要なデータを蓄積したデータベース5が接続され、解析処理を実行する際には、データベース5に蓄積されたデータが随時参照される。また、対話解析・生成部10は、外部のサーバ(不図示)にアクセスして、サーバに蓄積されたデータを参照して解析処理を行うようにしてもよい。
対話解析・生成部10が解析処理を行う際に参照するデータベース5は、単なる項目の列挙ではなく異なる解析部の状態間の組み合わせのエントリが、それぞれに確信度を持った形で格納される。確信度は、各エントリがそのときの解析結果の確からしさを示す値である。データベース5の内容と確信度は、学習によって構築する。学習を行う過程では、過去の学習の過程で見たことがあるパターンほど、高い確信度を割り振る処理が行われる。確信度の詳細については後述する。
【0017】
なお、図1の例では、入力部として音声入力部1とテキスト入力部2を備え、出力部として音声出力部3とテキスト出力部4の双方を備える構成としたが、自然言語処理装置の用途に応じて、音声の入力部及び出力部と、テキストの入力部及び出力部のいずれか一方だけを備える構成としてもよい。
【0018】
[2.対話解析・生成部の構成例]
図2は、対話解析・生成部10が備える複数の解析処理部の構成例を示す。
対話解析・生成部10は、音声認識部11、相槌・割込判定部12、非言語情報部13、形態素解析部14、品詞解析部15、構文解析部16、述語項・格解析部17、照応関係解析部18、対話戦略部19、文生成部20、及び音声合成部21を備える。
以下、これら音声認識部11から音声合成部21までの個々の処理部を総称して「解析処理部」と呼ぶことにする。
上述の各解析処理部11〜21は、図2に示すように、文の一部を単位として解析を行うそれぞれの解析部に設けられるものである。
そして、各解析処理部11〜21は、相互に解析結果のやり取りを行いながら解析処理を進めて行く。
【0019】
また、各解析処理部11〜21は、それぞれの解析処理を行う際に、解析結果の確信度を示す値を算出する。そして、各解析処理部11〜21が算出した確信度が、予め設定した条件を満たさないほど低い値である場合には、解析処理が失敗したと判定して、1つ前の単位の文の解析に戻る処理を行う。確信度を判定する条件の例については後述する。
【0020】
次に、対話解析・生成部10内の各解析処理部11〜21が行う解析処理について説明する。
音声認識部11は、音声入力部1に入力された音声の音声波形データが供給され、その音声波形データから音素の認識処理を行う。音声認識部11で認識される音素は、母音と子音などで構成される。音素の認識には、音声波形以外の解析部の推測結果を用いてもよい。このようにほかのすべての解析部の推測結果を総合して用いうることは、以下のほかの判定部でも同様である。
相槌・割込判定部12は、認識した文の終わりや、一時的な音声の途切れなどから、対話用の文で相槌を入れるタイミングや、対話用の文を割り込ませるタイミングを判定する処理を行う。
非言語情報部13は、言語に表すことができない音の情報の処理を行う。言語に表すことができない音の情報とは、例えばイントネーション,アクセント,語尾上げ,語調などの情報や、短音,長音などの情報が含まれる。さらには、ジェスチャーや表情など音声以外の情報が入ってもよい。この非言語情報部13によって解析処理された情報を使うことで、例えば語尾上げと判定したとき、認識した文が疑問文であることが分かるようになる。
【0021】
形態素解析部14は、認識した音素の分かれ目を判定して、音素を個々の単語に分割する処理を行う。
品詞解析部15は、形態素解析部14で判定された単語の品詞を解析する処理を行う。品詞解析部15での解析により、動詞,名詞,助詞,接続詞などの品詞が判別される。
構文解析部16は、品詞解析部15で解析された品詞の係り受け構造を解析する。
述語項・格解析部17は、係り受け構造の解析結果から各単語の主語・述語の関係などの、各単語の間の意味的な役割を解析する。
照応関係解析部18は、代名詞の関係を解析する。
【0022】
対話戦略部19は、解析された文の内容に基づいて、話者と対話する戦略を決める処理を行う。例えば、文の解析結果に基づいて、反論や同意、話題の誘導などの対話戦略を決める解析処理を行う。この対話戦略を決める際には、例えば本例の自然言語処理装置が適用されるシステムの用途などに適したデータベースなどを用意して、そのデータベースを参照して対話戦略を決めるようにしてもよい。
【0023】
文生成部20は、対話戦略部19における対話戦略に基づいた文を生成する。文生成部20は、内部的に前述の解析部が実行する内容を独立に実行して、意味や構文としてより適切な文を生成するように確信度を計算する。すなわち、図2に示すように、文生成部20は、適切な文を生成するための処理部である、非言語情報部20aと、形態素解析部20bと、品詞解析部20cと、構文解析部20dと、述語項・格解析部20eと、照応関係解析部20fとを備え、適切な文を生成する処理を行う。これらの非言語情報部20aなどの各解析処理部20a〜20dは、先に説明した非言語情報部13などの解析処理部13〜18と同じものを用意してもよい。
【0024】
音声合成部21は、文生成部20で生成された文を、適正なタイミングで音声合成処理を行って音声データ化する。音声合成部21で生成された音声データが、音声出力部3(図1)に供給され、音声として出力される。また、文生成部20で生成された文(テキストデータ)が、テキスト出力部(図1)に供給され、テキストデータとして出力される。
【0025】
図2に示す対話解析・生成部10内の各解析処理部11〜21が実行する解析処理は、図1に示すデータベース5に記憶されているデータを参照して行われる。そして、各解析処理部11〜21は、解析結果として1つの状態を得る処理を行う。すなわち、各解析処理部11〜21は、単一の解析結果を得る。さらに、各解析処理部11〜21は、単一の解析結果を得る際に、その単一の解析結果の確からしさを示した値である確信度を算出する。
【0026】
各解析処理部11〜21で得た単一の解析結果は、対話解析・生成部10内の全ての解析処理部11〜21に伝えられる。すなわち、図2に示すように、文の一部が入力するごとに1段目の解析部,2段目の解析部,・・・と逐次的に各解析処理部11〜21が形成され、それぞれの解析処理部11〜21で並列的に解析処理が実行される。
そして、各解析処理部11〜21は、並列的に解析処理を実行する際に、自らの解析処理部及び他の解析処理部で行われた前段の解析結果を利用する。このとき、各解析処理部11〜21は、算出した確信度についても取得する。
【0027】
図3は、各解析処理部11〜21で得た確信度の値が、次の段の解析結果部に伝えられる状態の例を示す。図3に示す例では、全ての解析処理部11〜21で得た1段目の解析結果Aの確信度の値が、次の段の音声認識部11に伝えられる様子を示す。2段目のその他の解析処理部12〜21についても、同様に全ての解析処理部11〜21から結果Aの確信度の値が供給される。
この例では、確信度の値は“0”から“1”までの間の値であり、確信度が最も高いのが“1”で、確信度が最も低いのが“0”となっている。
【0028】
このようにして、各解析処理部11〜21は、前段の他の解析処理部での解析結果や確信度を参照しながら、入力データに対する解析処理を実行する。また、各解析処理部11〜21は、それぞれの解析処理を行う際に、次の入力データを予測する先読み処理を行い、その先読み処理で予測したデータと先読み推測の確信度を用いる。これらの各解析処理部11〜21で解析処理が行われる状態の詳細については、図2図3を参照して後述する具体例で説明する。
なお、ここでは各解析処理部11〜21は、単一の解析結果を得るようにした。本例の自然言語処理装置では、このように解析結果を単一のものに制限することが最も好ましいが、上位2つの解析結果などの限られた数の解析結果を得るようにしてもよい。
【0029】
[3.各解析処理部が解析処理を行う状態の例]
次に、図2図4を参照して、各解析処理部11〜21が解析処理を逐次的かつ並列的に行う例について説明する。なお、以下に説明する各段の解析結果A,Bとして示す例は、認識処理を分かりやすく説明するためのものであり、実際の音声や文の解析処理では、より細かく行われることがある。また、ここでは音声入力時の例を説明するが、入力がテキストである場合には、音声認識処理は実行されない。さらに、出力が音声ではなくテキストである場合には、音声合成処理も実行されない。
図2では、1段目に生成される解析結果Aで、音声認識部11が[watashi]の音素を認識し、2段目に生成される解析結果Bで、音声認識部11が[ga]の音素を認識する例を示す。
【0030】
1段目の解析結果Aとして、音声認識部11が[watashi]の最後の音素[i]を認識したとき、相槌・割込判定部12は[watashi]の最後の音素[i]が相槌や割り込みに関して発話の途中であると認識し、相槌や割込ができない状態である[相槌・割込不可]と判断する。
非言語情報部13は[短音]と判断し、形態素解析部14は[私]と判断し、品詞解析部15は[代名詞]と判断する。
【0031】
また、構文解析部16は[文節開始端]と判断し、述語項・格解析部17は[主語 格未定]と判断し、照応関係解析部18は[一人称]と判断する。さらに、対話戦略部19は対話戦略として[反論]を行うと判断し、文生成部20は反論を行う対話文として[いや]を生成し、音声合成部21が[iya]という発音の音声データを得る。
このように、1段目の各解析処理部11〜21で、図2に示すように1つの解析結果Aが得られる。
【0032】
そして、2段目の解析処理部11〜21では、1段目の全ての解析処理部11〜21での解析結果Aを取得して、解析処理を実行する。
2段目の結果Bとして、音声認識部11が[ga]の音素を認識したときには、相槌・割込判定部12は[ga]が相槌・割り込みに関して発話の区切りと認識し、相槌や割込ができる状態である[相槌・割込可]と判断する。
【0033】
非言語情報部13は[短音]と判断し、形態素解析部14は[が]と判断し、品詞解析部15は[助詞]と判断する。また、構文解析部16は[文節終・係受始]と判断し、述語項・格解析部17は[主語 ガ格]と判断する。照応関係解析部18は判断無しの状態である。
さらに、対話戦略部19は対話戦略として[反論]を行うと判断する。文生成部20と音声合成部21は、前段の解析結果Aの判断を継続する。すなわち、文生成部20は反論を行う対話文として[いや]を生成し、音声合成部21が[iya]という発音の音声データを得る。なお、解析結果A,Bでの対話戦略や、その対話戦略に基づいた対話文は一つの例である。
【0034】
このようにして、各解析処理部11〜21は、解析可能な単位の音素が入力するごとに逐次的にかつ並列的にリアルタイムで解析処理を実行しつつ、入力音声に対応した対話文を生成して、適正なタイミングで出力するようにする。
なお、入力された音素に続く音素を予測する先読みが可能である場合には、各解析処理部11〜21は、その先読みで予測した結果を利用して解析処理を行う。
例えば、1段目の対話戦略部19を例に挙げて説明すると、音声認識部11で認識した入力音素[watashi:私]だけから、対話戦略部19が対話戦略を実行することが難しい場合であっても、形態素解析部14における[私]の後に続く単語を予想する先読みから、対話戦略部19が[反論]という解析結果を導き出すことが可能である。但し、先読みの予測状況によって解析結果が全く違ってしまうため、データベースの学習時に出現した頻度の低いパターンの場合は解析結果の確からしさを示す確信度が低い値になることがある。
【0035】
なお、各解析処理部11〜21における先読みの処理には、例えばデータベース5に蓄積されたデータが参照される。すなわち、データベース5には、過去の自然言語文の入力状況などが蓄積され、例えば対話戦略部19は、[私が・・・・]というような過去の入力文を参照して、先読み処理を行う。
【0036】
[4.並列的に解析処理を行う状態の例]
図4は、各解析処理部11〜21での解析処理が並列的に実行される状態の例を示す。図4では、一番下側の自然言語文「家族で夏に旅行行きたいんだけど?・・・」との音声入力があり、解析結果に基づいて、一番上側の自然言語文「北海道よかったですね 東北はどうでしょう・・・」との対話文が出力される例を示す。
【0037】
上述のような音声入力があると、各解析処理部11〜21は、その入力された音素から、図4に示すように、形態素・品詞解析、係受解析、主語・述語・意味役割解析、談話スロット・照応関係解析、意図・会話フロー戦略、相槌及び会話割込タイミング判定、発話テキスト生成などの処理を、相互に情報を交換しながら先読みしつつ逐次に行う。図4に示す談話スロットには、会話のトピックを示す焦点や、主格や目的格などの役割に対応する名詞とそれらを結びつける動詞などが保持され、会話の進行とともに更新される。照応関係では、代名詞や指示詞の参照を解決する処理が行われる。これらの解析処理は、図2に示す照応関係解析部18で実行される。
なお、ここまでに示した解析処理部の構成は、日本語を念頭にわかりやすく説明するためのもので、どのような解析部を用意するかは異なっていてもよい。たとえば熟語や慣例句の処理などが考えられる。また、日本語に限らず任意の自然言語に適用することもできる。
【0038】
[5.各解析処理部での処理の詳細の例]
図5は、各解析処理部11〜21で解析処理を行う手順の例を示すフローチャートである。
まず、各解析処理部11〜21には、前段の解析部の全ての解析処理部11〜21から解析結果と確信度が入力される(ステップS11)。例えば2段目の解析処理部11〜21で解析を行う際には、前段の解析結果Aと確信度が入力される。
そして、各解析処理部11〜21は、確信度付きの処理結果を総合して参照しながら、入力データに対する解析処理を実行する(ステップS12)。
【0039】
そして、各解析処理部11〜21は、先読みの候補から現在の状況で最も可能性の高いものを1つ選択し、その選択した候補を先読みに確定する(ステップS13)。
各解析処理部11〜21は、ステップS13で先読みを選択した後、現在の入力データと先読みしたデータと前段の解析結果とを使って、新たな1つの解析結果を得る。また、このとき、解析結果の確からしさを示す確信度を算出する(ステップS14)。
そして、各解析処理部11〜21は、ステップS15で得た解析結果と確信度を、次の段の解析部の全ての解析処理部11〜21に伝える(ステップS15)。
各解析処理部11〜21は、次の単位の音素データの入力で、ステップS11の処理に戻り、次の段の解析処理を行う。
なお、図5のフローチャートでは、各解析処理部11〜21は、直前(1段前)の解析処理部11〜21から解析結果と確信度を得るようにしたが、それより前の解析部が存在する場合には、2段前や3段前などの過去の各解析処理部11〜21からも解析結果と確信度を得るようにしてもよい。また、解析状況によっては、直前の解析処理部11〜21の解析結果や確信度は参照せず、それより前の段の解析処理部11〜21の解析結果だけを参照してもよい。
【0040】
図5のフローチャートで説明したように、本例の自然言語処理装置では、全ての解析処理部11〜21で先読みを行うことで、適切な解析処理が可能になる。
すなわち、本例のようにリアルタイムで逐次処理を行う場合、つまり人間が頭の中で対話応答文を思い描くような自然な処理を目指す場合には、先読み処理を行うことが重要になる。実際に人間が行う言語の処理では、先読みをしなければ不可能なタイミングでの応答を行っている。すなわち、常に先読みを行いながら、状態を推測し確定させていくことが必要である。
なぜなら、先読みを行った時点、言い換えると現在までの入力の状態は確定している。このため、先読みした予測が外れた場合は、次に説明するように、まずは現在の状態をリセットして、リセットする前の状態からやり直す必要がある。つまり、予測が外れる前の状態から始めて、それ以後の入力に合わせて次の段階の状態を計算することになる。このような動作もまた、人間が言語を処理する場合と同様であり、人間に近い自然な処理を目指すには必要な要素の一つである。
なお、先読みのステップ数は一つを想定して説明してきたが、二つ以上でもよい。
【0041】
[6.再解析を行う場合の例]
図6は、再解析を行う場合の判定処理例を示すフローチャートである。
再解析の判定は、対話解析・生成部10の解析動作全体を制御する制御部(不図示)によって行われる。
対話解析・生成部10の制御部は、それぞれの段階の各解析処理部11〜21が算出した確信度の値を取得して、判定処理を行う(ステップS21)。そして制御部は、各解析処理部11〜21の確信度の値が、予め設定された失敗判断用の条件を満たすか否かを判断する(ステップS22)。
ここでの確信度の値が、予め設定された条件を満たすか否かの判断の1つの例としては、例えば確信度の値の平均値が閾値以下か否かを判断する処理がある。但し、平均値を求める際には、それぞれの解析処理ごとに、重要度などに応じて重みづけを行うのが好ましい。平均値を使用するのは1つの例であり、それぞれの解析処理ごとに決められた条件で、確信度の値が適切か否かを判断する。
そして、ステップS22の判断で失敗判断用の条件を満たしていない場合には、制御部は、そのまま各解析処理部11〜21に解析処理を実行させる(ステップS23)。
【0042】
また、ステップS22で確信度の値が失敗判断用の条件を満たすと判断されたときは、制御部は、現在の解析処理が失敗であったと判断して、各解析処理部11〜21を1段階前の処理に戻し、各解析処理部11〜21に1段階前の解析処理を実行させる(ステップS24)。
例えば、図2に示す2段目の解析部での解析が終了して、その2段目の解析部で得た確信度の値が予め決められた条件を満たすような低い値である場合には、対話解析・生成部10は、1段目の解析部での解析が終了した時点に戻し、2段目の解析部での解析を再度行う。
【0043】
なお、ステップS24で1段階前の処理に戻す際には、各解析処理部11〜21は、同じ解析結果とはならないように、解析処理を行う上での条件などを変更する。また、ここでは1段階前の処理に戻す例を示したが、2段階前の処理に戻すようにしてもよい。
ステップS23,S24の処理を行った後、対話解析・生成部10の制御部は、ステップS21の判定に戻り、次の段階での確信度の判定処理を行う。
【0044】
[7.解析処理の実行途中の例]
図7は、対話解析・生成部10での解析処理の実行途中の状況を示す説明図である。
この例では、音声入力部1又はテキスト入力部2に「The man ran fast・・・」と、英語の音声入力又はテキスト入力があった場合を示す。
例えば、最初の段階の解析で「The」が冠詞と判定され、次の段階の解析で「man」が名詞と解析され、「The man」が文の中の名詞句と判定される。図6では、ここまでが解析済みの構文であるとする。
【0045】
「The man」が解析済みであるとき、次の段階では、「ran」が解析中の単語になる。この「ran」の解析時には、例えば図7に四角で囲って示すように、解析済みの情報が利用される。解析処理部では、その解析済みの情報の内で、以後の処理に必要な情報のみを状態として保持する。例えば図7に丸で囲って示すように、解析済みの「The」の単語の情報、冠詞の情報、文の情報が保持され、その保持された情報が利用されて、解析処理が実行され、「ran」が動詞であると判断される。丸で囲って示す情報が、解析処理部が備えるスタックメモリに格納される情報に相当し、スタックメモリに格納された限られた情報だけを参照して解析処理が実行される。なお、スタックメモリは、同じタイプの情報については同時に複数保持できない、という制約を加えてもよい。このように制約を加えることで、解析処理部が解析を行う際に参照する解析済みの情報が、限られた情報に制限される。この制約は、埋め込み構造の処理における埋め込み構造の回数の限界として、人間においても同様に存在する。
【0046】
このようにして解析処理が1段ごとに逐次実行されるが、各段階での解析処理の際に、誤った解析結果が得られた場合には、本例の対話解析・生成部10は、少なくとも1段階前の処理に戻る。例えば、「ran」の解析処理時に、確信度が低く誤った解析であると対話解析・生成部10の制御部で判断された場合には、少なくとも1段階前の「man」の解析処理に戻るようにする。あるいは、状況によっては、2段階前の「The」の解析処理に戻るようにする。このような戻る動作もまた、人間におけるバックトラックと同様である。
【0047】
なお、図7の例では、主として解析中の文が、解析済みの構文を利用する点を中心に説明したが、既に図5のフローチャートなどで説明したように、各解析処理を行う際には、それぞれの解析部で解析部の持つ状態の先読み処理を行って、その先読み処理で推測した結果を利用するようにする。各解析部で持つ状態は、解析対象に応じて異なる。
【0048】
[8.認識結果に基づいた音声出力の例]
図8図9は、対話解析・生成部10での認識結果に基づいて、図1の音声出力部3が音声を出力する例1,例2を示す。
まず図8に示す例1は、音声入力部1に「昨日のあの話だけど やめようと思う」と日本語の文章の入力があった場合の例である。
このとき、音声認識部11での音素の認識では、音素として「キノウノアノハナシダケドヤメヨウトオモウ」が得られる。また、形態素解析部14や品詞解析部15などでの文章の解析では、「昨日」、「の」、「あの」、「話」、「だけど」、「やめ」「よう」、「と」「思う」のそれぞれの単語や言葉が認識される。
【0049】
ここで、例えば対話解析・生成部10の対話戦略部19は、例えば「昨日の」と認識した時点で、先読み処理によりその話を肯定的に続けようとしている可能性が高いと判断し、文生成部20に、相槌をいれる文として、「うんうん」を作成させる。但し、この「昨日の」と認識した時点では、相槌・割込判定部12が[相槌・割込不可]と判断し、「うんうん」の文は音声出力部3からは出力されない状態が続く。
【0050】
そして、形態素解析部14や品詞解析部15などでの文章の解析により、「やめようと」と解析があった段階で、それまでの肯定的に話を続けようとしているという判断に対し、対話戦略部19で対話戦略の変更が判断される。例えば、このとき対話戦略部19は、文生成部20に、「なんで?」という問い合わせを行う文を作成する。そして、相槌・割込判定部12が「思う」から[相槌・割込可]と判断したとき、「なんで?」の文が音声出力部3から出力される。また、必要に応じてテキスト出力部4から、「なんで?」のテキスト文が出力される。
【0051】
図9に示す例2は、音声入力部1に「浜松までのきっぷはありますか?」と日本語の文章の入力があった場合の例である。
このとき、音声認識部11での音素の認識では、音素として「ハママツマデノキップハアリマスカ」が得られる。また、形態素解析部14や品詞解析部15などでの文章の解析では、「浜松」、「まで」、「の」、「きっぷ」、「は」、「あり」「ます」「か」のそれぞれの単語や言葉が認識される。
【0052】
ここで、例えば対話解析・生成部10の対話戦略部19では、例えば「浜松まで」と認識した時点で、先読み処理により浜松までの行き方などを問い合わせている可能性が高いと判断し、なおかつ現在の時刻は浜松行きの最終列車が発車した後と認識して、文生成部20に、「今日はもう終わりです」との文を作成させる。但し、この文を作成した時点では、相槌・割込判定部12が、相槌や割込ができない状態である[相槌・割込不可]と判定する状態であり、文生成部20が作成した文は、音声出力部3から出力されない。
【0053】
そして、音声入力部11に入力された文章として、1つの文全体である「浜松までのきっぷはありますか?」が入力された時点で、相槌・割込判定部12は、文の区切りを検出して[相槌・割込可]と判定する。このとき、文生成部20が作成した文「今日はもう終わりです」が、音声合成部21で合成され、音声出力部3から出力される。また、必要に応じてテキスト出力部4から、「今日はもう終わりです」のテキスト文が出力される。
【0054】
但し、このように文生成部20が作成した文が音声出力部3から出力される状況は、「浜松まで」と認識した時点で得た対話戦略が継続している場合であり、文の認識の進行により対話戦略が変更された場合には、その変更された対話戦略に基づいた文が最終的に出力される。また、図9の例のように1つの文が区切りとみなせるところまで入力したことを検出した後に、対話文が出力される状況についても一例であり、入力文の認識状況によっては、入力文の途中で相槌又は割込が可能と判断した場合に対話文を出力する場合もあり得る。
【0055】
[9.本発明の実施の形態例の自然言語処理装置の効果]
これまでの自然言語処理の研究では、それぞれの研究者から多種多様な理論が提唱され、たとえば構文規則ひとつをとっても互換性のない理論が様々に提唱されてきた。
しかしながら、そもそも人間が個々人で互換性のない理論、たとえば非互換の構文規則を使っているということは、非互換であるが故に、その非互換の部分において意思疎通ができないことを意味する。従来の研究ではそのような非互換性からして、人間の処理とは異なっており、人間のような自然な会話の実現を阻んできたと考えられる。
これに対して本発明の実施の形態例では、様々な解析部のレベルを同時に考慮した制約を加えることにより、人間が共有する単一の規則を、さまざまな解析部のレベルで同時に定めることができ、解析処理能力の向上とともにより人間らしい自然な会話の実現に寄与することができる。
【0056】
すなわち、本発明の実施の形態例の自然言語処理装置によると、解析可能な単位の自然言語文の一部が入力するごとに、それぞれの解析要素ごとに用意された解析処理部で、逐次的かつ並列的に解析処理が実行されて、各処理部で単一の解析結果を得る処理が行われる。そして、それらの解析結果から最終的に対話文が出力されるようになる。
【0057】
このような入力文を解析して対話文を生成する処理は、あたかも人間が思考しながら会話する場合と類似した処理になる。すなわち、人間が対話を行う際には、聞き取った音声から1つ1つの単語を逐次判別し、その判別した単語や文から相手が何を話しているのかを予測しながら(つまりある程度先読みしながら)、相槌や割込ができる状況となったときに、その予測に基づいた対話文を話す処理が行われる。
本例の自然言語処理装置では、そのような人間が思考しながら対話する状況と同様の処理が行われて、適切な対話文が出力され、人間と良好に対話できるようになる。
【0058】
しかも、対話解析・生成部10内の各解析処理部11〜21は、自らの解析処理部や他の解析処理部での前段の解析結果を取得した上で解析処理を行うと共に先読みも行うため、候補を絞った解析処理が可能になる。このため、非常に多くの候補を計算し保持する多くの従来手法に比べ、圧倒的に演算処理量の少ない解析が可能になり、各解析処理部11〜21は、それほど演算処理能力の高い処理部を必要としないという利点を持つ。もちろん、各解析処理部11〜21として、演算処理能力が高いものを使用してもよいことはいうまでもない。
【0059】
また、本例の自然言語処理装置では、1つ1つの単語を解析するごとに、先読みを行いながら、その状況で他の解析結果を参考にしながらリアルタイムで最適な解析結果を求めるため、話者が文章を最後まで話す前であっても、その時点で対話戦略が定まり、その対話戦略に基づいた対話文が用意される。入力に言い間違いや認識不能であった音素や単語があっても、予測により最適なものを補完する。このため、話者が話す文章が文法的に乱れた場合や、話す内容が次々に変化するような一見散漫な会話であっても、適切に対話できるようになる。
【0060】
また、本例の自然言語処理装置では、先読みを行って対話文を予測する処理を行うようにしたため、解析結果が誤った結果になる可能性があるが、実際の人間同士の会話でも、会話途中での先読み予想が外れることは多々あり、対話処理を行う上で、先読みが誤ってしまうことは問題にはならず、むしろ人間らしい自然な会話が実現できる。
仮に、各解析処理部11〜21で先読み予想が外れた場合には、現段階よりも前の段階に戻って迅速に解析処理をやり直すため、最終的に適切な解析結果が得られるようになる。
したがって、本例の自然言語処理装置によると、人間同士が会話する場合と同様に、コンピュータとの自然な会話ができるようになる。
【0061】
なお、上述した実施の形態例の自然言語処理装置は、ハードウェアとして構成した例を説明したが、例えば対話解析・生成部10内の各解析処理部11〜21が行う解析処理と同様の処理を行うコンピュータプログラムを作成して、そのコンピュータプログラムをコンピュータ装置に実装することで、コンピュータ装置を自然言語処理装置として機能するようにしてもよい。この場合、コンピュータプログラムは、各種ディスクや半導体メモリなどの記録媒体に記録して、コンピュータ装置に配布する他、インターネットなどの伝送媒体を経由してコンピュータ装置に配布するようにしてもよい。
【符号の説明】
【0062】
1…音声入力部、2…テキスト入力部、3…音声出力部、4…テキスト出力部、5…データベース、10…対話解析・生成部、11…音声認識部、12…相槌・割込判定部、13…非言語情報部、14…形態素解析部、15…品詞解析部、16…構文解析部、17…述語項・格解析部、18…照応関係解析部、19…対話戦略部、20…文生成部、21…音声合成部
【要約】      (修正有)
【課題】人間との対話が適切に行えるようにする自然言語処理装置及び自然言語処理方法を提供する。
【解決手段】解析可能な単位の自然言語文の一部が入力するごとに、各解析処理部で逐次的かつ並列的に解析処理を実行する逐次解析処理部10と、逐次解析処理部の各解析処理部での解析結果に基づいて、対話応答文などの出力を得る出力部3、4とを備える。逐次解析処理部に用意された各処理部は、自らの処理部での直前又はそれより前の過去の解析結果と、他の処理部での直前又はそれより前の過去の解析結果とを取得し、取得した解析結果を参照しながら先読みをしつつ解析結果を得る。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9