JP2004219714A - Method and system for speech interaction by computer that discriminate scene of interaction belonging to specific scene predetermined according to human's indication, generate answer sentence constituting natural interaction conforming with scene, speech interaction by synthesizing voice of it - Google Patents

Method and system for speech interaction by computer that discriminate scene of interaction belonging to specific scene predetermined according to human's indication, generate answer sentence constituting natural interaction conforming with scene, speech interaction by synthesizing voice of it Download PDF

Info

Publication number
JP2004219714A
JP2004219714A JP2003007029A JP2003007029A JP2004219714A JP 2004219714 A JP2004219714 A JP 2004219714A JP 2003007029 A JP2003007029 A JP 2003007029A JP 2003007029 A JP2003007029 A JP 2003007029A JP 2004219714 A JP2004219714 A JP 2004219714A
Authority
JP
Japan
Prior art keywords
scene
database
computer
word
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003007029A
Other languages
Japanese (ja)
Inventor
Masato Numabe
正人 沼部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WILL BEING KK
Original Assignee
WILL BEING KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WILL BEING KK filed Critical WILL BEING KK
Priority to JP2003007029A priority Critical patent/JP2004219714A/en
Publication of JP2004219714A publication Critical patent/JP2004219714A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a speech interaction method by a computer which enables speedy and efficient interaction by discriminating an interaction scene belonging to a specific scene predetermined according to an indication from a human, generating an answer sentence constituting natural interaction conforming with the scene, and synthesizing a speech of it. <P>SOLUTION: The speech interaction method by the computer includes the stages of; generating a database characteristic of scenes by adding a scene name to each of a plurality of scenes; making the computer ask a user about the interaction in which the plurality of scenes interaction is concerned with and prompting the user to input; recognizing an inputted documents, decomposing the input document into input words, and collating the input words with words in the database to specify a scene of the interaction; and limiting interaction contents according to the specified scene and pursuing the interaction. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータが、ユーザの音声を認識処理し、得られた入力単語に基づいて応答文を作成してそれを音声合成することにより対話を行う音声対話のためのコンピュータによる音声対話方法及び音声対話システムに関する。
【0002】
【従来の技術】
音声対話は、人間の発声した音声を音声認識により認識した結果に基づいて予め定められた会話プログラムにより人間とコンピュータがあたかも人間同士で会話を行っているかのように対話を行うものである。この音声対話を利用して意志通りに機械や装置の操作を行わせる等、その利用範囲は広く、多方面での応用研究がなされている。このような音声対話を行うためにデータベースや、音声認識技術等が研究されている。
【0003】
【特許文献1】
国際公開第WO02/21270号パンフレット
【特許文献2】
国際公開第WO02/067244号パンフレット
【特許文献3】
国際公開第WO00/65449号パンフレット
【0004】
従来から、音声対話に用いられるデータベースとして、リレーショナル型データベースや、オブジェクト指向型データベースや、これらのデータベースを改良したデータベースが研究・開発され利用されている(例えば、特許文献1)。これらは、例えば一般に流布されている事例中の文章を単語解析及び文章解析をすることにより、スキーマの分類名に従い、事例中の単語を分類し、整理したデータベースである。このデータベースは、事例中の莫大な単語をくまなく整理することが出来る。
【0005】
また、従来の音声対話における音声認識としては、人間が普通に話す言葉をそのままの状態で頭から認識を行う「ディクテーション」や、人間が話した言葉の中からキーとなる単語を抽出してその単語を認識していく「ワードスポット」等種々の手法が用いられている。
「ディクテーション」の一般的な仕組みとしては、まず人間が話した言葉を入力音声として音素列に変換し、その音素列を単語列に置き換えてこれを構文解析したのち、文字列に変換する。さらに、論理解析や意味解析を行って文章を生成し、音声合成して出力する。単語にも同音異義語があるために各単語の属性情報を付す等して的確な認識を行うようにされている。
【0006】
一方、「ワードスポット」は、人間が話した言葉を音声としてコンピュータが分析し、その音声の特徴を抽出し、特徴量の時系列を作成する。そして、予めコンピュータに備えられている各単語の特徴量の時系列を記録保存した音声認識辞書に含まれる単語との類似度を計算し、その中から類似度の高い単語を認識結果として出力する。
【0007】
また、対話に用いる莫大な数の単語を予めシーン毎に音声認識辞書として保存しておき、その音声認識辞書中の単語に入力された単語を照合することで音声認識を行い、入力された文書から単語を抽出する音声認識がある(例えば、特許文献2参照)。これは、シーンごとに属する単語のデータベースを一度にメモリに保存し、シーンに基づいて単語の認識速度を速める方法でもある。
【0008】
そして、この音声対話において、一箇所にデータベース等の情報を集中させずに分散し、一箇所に情報過多の状況を構築せず、且つセキュリティーに優れた情報を分散させる技術も発明されている(例えば、特許文献3参照)。
【0009】
【発明が解決しようとする課題】
しかし、音声対話に用いられるデータベースとして、リレーショナル型データベースや、オブジェクト指向型データベースや、これらのデータベースを改良したデータベースを音声対話に用いても、これらのデータベース内には事例中の無用な単語を大量に蓄積しているために、対話に用を成さない無用な単語を音声対話の音声認識で拾うことがある。このため、入力した文章から認識される単語として、全く関係のない無意味な単語が認識されたり、ひいては対話の処理に供されるので、対話が円滑に、且つ高速で処理されることが難しいといった問題点が生じる。また、これらのデータベースは、単語等の情報を単にスキーマに従って整理しているだけであるので、データに主従関係は無く、高速で必要なデータを検索することが難しいといった問題点も生じていた。
【0010】
また、一般に、「ディクテーション」を用いる場合であっても「ワードスポット」による場合であっても認識率を上げるためには予め音声認識に使用する音声認識辞書に膨大な数の単語を登録しておく必要があると考えられる。しかしながら、音声認識辞書に登録する単語の数が多いとそれだけメモリの容量を必要とすると共に、入力された音声と音声認識辞書に記録された単語とのマッチングに時間がかかりすぎてコンピュータが応答するまでに不必要な間が空いてしまい音声会話としての実用に耐えなくなるという問題があった。その上、音声認識辞書に登録された単語数が多すぎると検索すべき対象が多くなるので逆に認識率が低下し、且つ認識に要する時間がかかりすぎるという問題も生じる。
さらに、対話のシーンごとに音声認識辞書を作成しておいても、シーンが固定されるとメモリに音声認識のために保存されるデータが変わらないので、一定容量以上のデータを一度にメモリに保存しておかなければならない問題点があった。
【0011】
また、従来の音声認識システム、特に「ディクテーション」による場合では意味のない単語の羅列についても認識しようとしてかえって認識率を低下させるという問題を有していた。例えば、発話者が言葉に詰まったり、言いよどんだりした場合であってもその言葉を認識しようとする。その結果、意味のない言葉として認識してしまうのみならず、前後の言葉についても誤った認識を誘発するという問題を生じさせていた。
【0012】
さらに、従来の音声認識においては、入力された音声を音声認識辞書に含まれる単語との類似度を計算し、音声認識辞書の中から類似度の高い単語を認識結果として出力するようになっているため、実際は正しく認識できていない場合でもとりあえず候補の単語を出力するようになっている。そのためにかえって認識率が低下し、意味不明な応答文を返すという問題があった。
【0013】
また、音声認識辞書を如何に整理しても、一つの概念又は観点のもとで整理されたものではないので、対話を高速に処理するためには、莫大なデータにアクセスして、音声認識処理を行い、対話を進めなければならなかった。そのため、広範なデータベースを効率よく音声対話のために利用することも出来なかった。
【0014】
加えて、コンピュータによって音声認識が行われるときには、コンピュータ内のメモリやハードディスク等に蓄積されているデータが利用されるのが一般的である。しかし、メモリやハードディスク等の容量は有限であり、利用できるデータには制限がある。そのため、入力された音声に対応するデータが、メモリやハードディスク等に無い場合、一向にデータがかみ合わず、対話が行えないという問題を生じていた。
【0015】
ところで、人間同士の会話においても相手の話を聞く気になっていないときは相手が何を話してもその内容を認識できず上の空である。一方、相手の聞く気になっているときにはかなりの騒音下であって一部によく聞き取れない部分が合ったとしても話の内容を理解することが可能である。この違いは、相手の話を聞く気になっているときには聞き手としては今話題となっているシーンを予め想定し、相手が次に話すであろう言葉(単語)をある程度予想した上でその認識を行っているからである。従って、いきなり話が飛んで今話題となっている話題と違う話題に及ぶと聞き手としてはすぐには理解できず一瞬聞き間違えたのかと勘違いをすることになる。
【0016】
そこで、発話者が発声した単語を認識するための音声認識に用いるデータベースを話題となるシーン毎に予め作成しておき、入力された単語をデータベースに照合することで音声認識を行い、このデータベースを話題となっているシーンごとに、又はデータベース内の一部のデータを対話文毎にメモリに切り替えて使用することにより素早く且つ効率的に対話を行い、限られたメモリやハードディスク等を有効に活用する音声対話のためのコンピュータによる音声対話方法及び音声対話システムを提供することを目的とする。
【0017】
本発明は、また、一定時間経っても候補が検索されない場合や認識できない単語がある場合には発話者に対してもう一度発言を促すことにより、不自然な間を作ることなく自然な感じで対話を行わせながら音声認識を行う音声対話のためのコンピュータによる音声対話方法及び音声対話システムを提供することを目的とする。
【0018】
本発明は、また、有限なメモリを有効に使い、音声を高速で認識処理し、且つ的確に応答して、シーンに基づいて対話の内容を限定し、円滑に音声対話を進めていくコンピュータによる音声対話方法及び音声対話システムを提供することを目的とする。
【0019】
本発明は、また、高速で音声対話を行うために画像を含む単語等のデータを観点に従い整理・保存した有用なデータからなるデータベースを提供することを目的とする。また、このデータベース中のデータを高速で且つ的確に検索するためのデータベースを提供することを目的とする。
本発明は、さらに、本願発明によるデータベースをインターネット等の通信手段を介して接続されているコンピュータに分散させることで、重複労力を払わずに、データベースを効率よく利用して、音声対話を進められる音声対話の応用技術を提供することも目的とする。
【0020】
【課題を解決するための手段】
課題を解決するために、本願発明の第一の態様は、人間からの指示に基づいてそれぞれ予め定めた特定のシーンに属する対話のシーンを識別し、シーンに即した自然対話を構成する応答文を作成して、それを音声合成することにより、対話を行うコンピュータによる音声対話方法であって、予め、複数のシーンに対してシーン毎にシーン名を付してシーン固有のデータベースを作成しておく工程と、複数のシーンの内で何れのシーンに関する対話を行うのかをユーザコンピュータは、ユーザに質問し、ユーザに入力を促す工程と、入力された入力文章を認識して、入力文章を入力単語に分解し、入力単語をデータベースの単語に照合して、対話のシーンを特定する工程と、そして、特定したシーンに基づいて、対話内容を限定して対話を進めていく工程と、を含んで構成されてなるコンピュータによる音声対話方法を提供する。
【0021】
請求項2に記載の発明は、請求項1に記載のコンピュータによる音声対話方法において、データベースは、シーン固有の観点に基づきデータが整理されたサロゲイト化データベースと、サロゲイト化データベースの検索用のインデックスファイル及びコツキャッシュと、シーンに基づく単語データベースと、そしてシーンに基づく単語データベース中の重要な単語をまとめたシーン重要単語データベースであることを特徴とする。
【0022】
請求項3に記載の発明は、請求項2に記載のコンピュータによる音声対話方法において、対話のシーンを特定する工程が、ユーザコンピュータは、入力文章を音声認識部で認識し、音素メモリ部に保存されている単語と照合して、入力文章中の入力単語を特定する工程と、入力単語を、シーン制御部でシーン毎に蓄えられているシーン重要単語データベース中の単語と照合して、出現頻度値又は/及び重要度計算値が多いシーンを一つだけ特定し、シーンを対話内容のシーンであるか否かをユーザに問いかけて、対話内容のシーンを特定する工程と、を含んで構成されていることを特徴とする。
【0023】
請求項4に記載の発明は、請求項3に記載のコンピュータによる音声対話方法において、シーンを特定できなかった時に、ユーザにさらに対話内容のシーンを特定するための質問をして、入力を促して、請求項3に記載の工程を繰り返し行うことで、対話のシーンを特定することを特徴とする。
【0024】
請求項5に記載の発明は、請求項3又は4に記載のコンピュータによる音声対話方法において、シーンが特定された直後に、キャッシュメモリにシーンのコツキャッシュをコピーすることを特徴とする。
【0025】
請求項6に記載の発明は、請求項5に記載のコンピュータによる音声対話方法において、特定されたシーンに関するサロゲイト化データベースからスキーマを取り出して、スキーマの観点に対応する入力単語の入力をユーザに促し、入力された入力文章から抽出した入力単語を一の観点に対応させ、入力単語をコツキャッシュのタップルデータと照合して、一のタップルを特定することを特徴とする。
【0026】
請求項7に記載の発明は、請求項6に記載のコンピュータによる音声対話方法において、タップルを特定できなかった時に、特定されたシーンに関するインデックスファイルに入力単語の検索をして、入力単語に該当するタップルデータを、コツキャッシュにコピーして、一の観点に対応する入力単語をコツキャッシュのタップルデータと照合して、一のタップルを特定することを特徴とする。
【0027】
請求項8に記載の発明は、請求項6又は7に記載のコンピュータによる音声対話方法において、ユーザコンピュータは、特定されたタップルの内容を、スキーマに従ってユーザに音声合成して出力することを特徴とする。
【0028】
請求項9に記載の発明は、請求項2〜8のいずれか一項に記載のコンピュータによる音声対話方法において、コンピュータに自発的にインターネット等の通信手段を介して未知の情報を獲得させ、情報をサロゲイト化データベースにおける規定に従ってサロゲイト化データベースに組み込み又は他のサロゲイト化データベースを構築してサロゲイト化データベースを拡張することを特徴とする。
【0029】
前記課題を解決するために、本願発明の第二の態様は、人間からの指示に基づいてそれぞれ予め定めた特定のシーンに属する対話のシーンを識別し、シーンに即した自然対話を構成する応答文を作成して、それを音声合成することにより、対話を行うコンピュータによる音声対話システムであって、ユーザコンピュータには、ユーザから入力された入力文章から入力単語を特定し、またユーザコンピュータにおいて処理した結果をユーザに出力する対話コントロール部と、対話内容のシーンを特定するための複数のシーンに対してシーン毎のデータが蓄積されているデータベースが保存されている外部記憶装置部と、そして、データベースを用いてシーンを特定することを行うシーン制御部と、を備えて構成されてなるコンピュータによる音声対話システムを提供する。
【0030】
請求項11に記載の発明は、請求項10に記載のコンピュータによる音声対話システムにおいて、データベースは、シーン固有の観点に基づきデータが整理されたサロゲイト化データベースと、サロゲイト化データベースの検索用のインデックスファイル及びコツキャッシュと、シーンに基づく単語データベースと、そしてシーンに基づく単語データベース中の重要な単語をまとめたシーン重要単語データベースであることを特徴とする。
【0031】
請求項12に記載の発明は、請求項11に記載のコンピュータによる音声対話システムであって、対話コントロール部は、音素メモリ部と、そして入力文章を認識し、音素メモリ部にある音素と照合して入力単語を特定する音声認識部と、ユーザが処理した結果を発話テンプレート部のフォーマットに当てはめて出力する音声合成部と、シーンが特定された後に特定されたシーンに関するサロゲイト化データベースからスキーマを取り出して、スキーマの観点に対応する入力単語の入力をユーザに入力させ、一又は複数の観点に対応する入力単語を音声認識部から動作指示部に送る対話のコツ部と、シーン制御部は、外部記憶装置部に保存されているシーン重要単語データベース中の単語と入力単語を照合することでシーンを特定するシーン判定プログラムと、そして、動作指示部は、外部記憶装置部に保存されているコツキャッシュ及びインデックスファイルと照合して一のタップルを特定する検索プログラム部と、を備えて構成されてなることを特徴とする。
【0032】
請求項13に記載の発明は、請求項11又は12に記載のコンピュータによる音声対話システムにおいて、コンピュータに自発的にインターネット等の通信手段を介して未知の情報を獲得させ、情報をサロゲイト化データベースにおける規定に従ってサロゲイト化データベースに組み込み又は他のサロゲイト化データベースを構築してサロゲイト化データベースを拡張する情報収集共有処理部を含んでいることを特徴とする。
【0033】
請求項14に記載の発明は、コンピュータによる音声対話に用いられるサロゲイト化データベースの構築方法であって、ユーザコンピュータは、インターネット等の通信回線を介して収集可能なシーンに属する複数の事例から、又は書面を電子化処理したシーンに属する複数の事例からそれぞれ複数のデータを抽出する工程と、ユーザに質問して、データが何れの観点に属するのかを特定する工程と、観点の配列したスキーマに対して、スキーマの観点と同一の配列で、事例毎にデータを配列する工程と、を有していて、事例固有の前記データ等である複数のタップルデータからなるタップルと、そして観点が同一なデータ等である複数のタップルデータから成り立つカラムとを含んで構成され、シーン毎に構築されるサロゲイト化データベースの構築方法を提供する。
【0034】
請求項15に記載の発明は、請求項14に記載のサロゲイト化データベース構築方法であって、予め、事例が属するシーンの専門家等が予めその分野に関係する及び関連すると思われるシチュエーション単語にそれぞれ観点を付して、膨大な数のシチュエーション単語を保存してある概念辞書を一つ又は複数のシーンに対して作成する工程と、データが単語であって、単語を概念辞書のシチュエーション単語に照合して、単語と、シチュエーション単語に付されている観点と、を結びつける工程と、観点の配列したスキーマに対して、スキーマの観点と同一の配列で、事例毎に単語を配列する工程と、を有していることを特徴とする。
【0035】
請求項16に記載の発明は、請求項14に記載のサロゲイト化データベースの構築方法であって、スキーマの観点の一又は複数において、観点を細分化する観点が含まれていて、観点を配列したスキーマによりスキーマが階層化され、階層化されたスキーマに基づきデータを分類することを特徴とする。
【0036】
請求項17に記載の発明は、請求項14〜16のいずれか一項に記載のサロゲイト化データベースを使用してキャッシュメモリを構築する方法であって、サロゲイト化データベース内のタップルデータに、サロゲイト化データベースの内のタップル番号と、タップルデータの使用頻度数を付して保存することを特徴とするサロゲイト化データベースとリンク可能なキャッシュメモリを構築する方法を提供する。
【0037】
請求項18に記載の発明は、インターネット等の通信回線を介して接続されていて、相互に開放されている情報を共有してホーム家電の管理や地域ネットワークの促進が図れる情報共有化システムにおいて、インターネット等の通信回線を介して相互に接続可能となっている複数のサロゲイト化データベースを共有可能とする情報共有化技術を有している情報共有化システムを提供する。
【0038】
請求項19に記載の発明は、請求項18に記載の情報共有化システムにおいて、インターネット等の通信回線を介して相互に接続可能となっていて共有可能な複数のサロゲイト化データベースは、インターネット等の通信回線を介して提供可能であり、移転されたサロゲイト化データベース及び/又はサロゲイト化データベース内のタップルデータにはそれぞれの原本の所在位置を示す位置情報が付されていて、位置情報を介して原本にアクセス可能とすることを特徴とする。
【0039】
請求項20に記載の発明は、請求項18又は19に記載の情報共有化システムにおいて、原本には、インターネット等の通信回線を通じて、原本の情報の使用頻度が蓄積されることを特徴とする。
【0040】
【発明の実施の形態】
本発明に係るコンピュータによる対話を図示された実施の形態に基づいて、更に詳しく説明する。
【0041】
図1は、本発明に係るコンピュータによる音声対話に必要なサロゲイト化データベースの構築方法を、具体例に基づいて示したブロック図である。
サロゲイト化データベース20aは、「食事」というシーンに関するサロゲイト化データベースである。サロゲイト化データベースは、シーン毎に作成されるデータベースである。サロゲイト化データベース20aを構築するためには、サロゲイト化データベース20aのシーンに含まれる複数の事例(図1ではそのうちの一つの事例21を示している。)と、観点22bを付してシーン固有の複数のシチュエーション単語22aを保存した概念辞書22と、そして事例21から取り出した単語を概念辞書22に基づいて分類するデータマイニング部23とが必要である。
【0042】
事例21は、インターネット等の通信回線を通じてアクセス可能なカタログであり、「食事」のシーンに関する事例の一つである。事例21は、一つのタイトル毎にデータが収められているものであれば、カタログ以外にパンフレット等でも良い。また、通信回線を介して収集されるもの以外にも、一般に流布されている書面でも良い。書面の場合には、スキャナーで取りこまれ、電子化処理された後、通信回線を介して収集されたものと同様に扱われる。事例21では「新東京寿司」という店舗名が一つのタイトルに相当していて、事例21の中には「新東京寿司」の紹介や概要等が記されている。事例21の中には、「寿司」、「日本料理」、「穴子握り」、「5台」等の意味のある単語、そして寿司の「参考写真」等を含んだ店の概要が記載されている。
【0043】
一方、概念辞書22は、事例21が属するシーンの専門家等が予めその分野に関係する及び関係すると思われるシチュエーション単語22aにそれぞれ観点22bを付して、膨大な数のシチュエーション単語22aを保存してあるデータベースである。シチュエーション単語22aとしては、業界固有の用語を編集した辞書に記載してある単語や、業界の関係者が日常用いている用語等が挙げられる。そのため、事例21の文章を意味解析及び単語解析して得られた単語、つまり事例21から助詞や冠詞等を取り除いて分解した意味のある単語は、全て概念辞書22に含まれている。図1においては、例えば「日本料理」というシチュエーション単語22aに「ジャンル」という観点が付されて、概念辞書22に保存されている。なお、原則として観点の数は一つのシーンに付き30個程度であるが、事例が属するシーンの専門家等の判断により、100個以上にまで観点の数を増やすことも可能である。
また、これらの観点は、互いに従属関係を持たせておくことも可能である。この従属関係を用いて、後述するサロゲイト化データベースのスキーマの階層化に反映することも可能である。
【0044】
データマイニング部23には、事例21の中に記載の文章を意味解析及び単語解析して単語を抽出する機能と、抽出した単語を概念辞書22中のシチュエーション単語22aと照合する機能と、照合した結果抽出した単語をサロゲイト化データベース20aに分類する機能とが設けられている。加えて、事例21の中のタイトルを「新東京寿司」と認識する機能と、写真やグラフをそれぞれ写真やグラフであることを認識して、分類する機能が組み込まれている。
【0045】
サロゲイト化データベース20aには、シーン毎のデータ、つまり事例21に関する単語等が、人間が入力した観点22bに従って整理保存される。サロゲイト化データベース20aにおける観点22bは、概念辞書22で用いている観点22bと1対1に対応している。図1のサロゲイト化データベース20aを広範囲にわたって示した図を、図2に示す。
【0046】
サロゲイト化データベース20aにおいて、観点22bを配列したものをスキーマと総称している。図2においてスキーマは、スキーマA25aと、スキーマB25bと、スキーマC25cに分けられている。スキーマA25aには、「タイトル」、「URL」、「ジャンル」、「参考写真」、「お勧め料理」、「食材」「店舗情報」等が含まれている。この内の「店舗情報」をさらに細分化する観点が「収容人数」、「営業時間」、「駐車場」等の観点であり、「参考写真」を細分化する観点が「皿の数」、「明るさ」等の観点であり、これらはスキーマA25aに対してさらに細分化した観点の集合体であるスキーマB25bやスキーマC25cに含まれている。スキーマA25aとスキーマB25bとを統合して一つのスキーマにしても良いが、逆にスキーマA25aとスキーマB25bを細分化してスキーマA、スキーマB、スキーマC、スキーマDにさらに細分化することも出来る。このように、スキーマを階層に並べて、シーンを整理することをシーンの階層化と呼んでいる。シーンの階層化はユーザの嗜好をユーザコンピュータが伺いながら構築され、ユーザコンピュータがユーザと対話をしながら作成する。
【0047】
一方、このユーザは、シーンに関する専門家等であり、ユーザが利用する前に予め専門家等がサロゲイト化データベースを作成しておくようにしても良い。図示していないが、概念辞書22の観点は、一般辞書に含まれる概念を専門家等が整理したものである。一般辞書とは、一般に流通している膨大な数の国語辞典等が該当する。この中で単語に概念が付されているが、これを専門家等がそれぞれのシーンに対して分類・整理したものが観点である。事例中の単語はユーザコンピュータにより、全て自動的に分類・整理されてサロゲイト化データベースが構築されるようにすることも可能である。この時には、一端サロゲイト化データベースを構築した後に、専門家等にユーザコンピュータが確認を取り、サロゲイト化データベースの完成度を上げることが可能である。つまり、一端構築したサロゲイト化データベースが満足にいかないものであった時には、専門家等の指示のもと、スキーマを組み直す等してサロゲイト化データベースを満足のいくものに修正可能である。
【0048】
サロゲイト化データベース20aでは、シーン固有の事例がそれぞれスキーマA25a、スキーマB25b及びスキーマC25cに従って分類される。事例の一つ一つを、スキーマに従って分類したものをタップルと呼び、事例21をスキーマA25aに従って分類したものをタップル26と記している(図2参照)。図2のサロゲイト化データベース20aには、「新東京寿司」、「四川創作亭」、「グラツィオーゾ」、そして「豚骨亭」の四つタイトルで代表される四つの事例をスキーマA25a、スキーマB25b及びスキーマC25cに従って分類したタップルが各四つ記されている。スキーマA25aに従って分類したタップルに、T1、T2、T3、そしてT4のタップル番号が、スキーマB25bに従って分類したタップルに、T1a、T2a、T3a、そしてT4aのタップル番号が、そしてスキーマC25cに従って分類したタップルに、T1b、T2b、T3b、そしてT4bのタップル番号が付されている。
【0049】
サロゲイト化データベース20aを、観点に基づいてまとめたものがカラムである。一例として図2において、観点「ジャンル」に従ってまとめたものを、カラム27と記している。以上から、サロゲイト化データベースは、事例の一つ一つをスキーマに従って分類したものであり、タップルとカラムにより構成されていることが分かる。
【0050】
事例21では、データマイニング部23で「新東京寿司」が事例21のタイトルであることが識別される。例えば、これは、事例のファースト頁の最上段に位置する用語を、その事例のタイトルであるとするプログラムが組まれていることにより可能となる。そして、「新東京寿司」はタイトルであるので、サロゲイト化データベース20aの「タイトル」の観点によりまとめられたカラムの一つに入れる。これにより、「タイトル」の欄に「新東京寿司」を入れた「タップル」は、事例21の「新東京寿司」に関するデータを分類・整理したものであることになる。尚、サロゲイト化データベース20aでは、上から順に各タップルにタップル番号を付していて、事例21のデータがおさめられている「タップル」のタップル番号は、T1である。タップル番号は、任意に決められるものであるが、一つのタップルが重複して一つのシーンにおけるサロゲイト化データベースに含まれることは無い。また、タップル番号により、事例の優劣が決定されるものでもない。
【0051】
次に、事例21の中には、例えば「寿司は、日本料理の一つである。」という文章が記されている。まずこの文章の意味解析及び単語解析をデータマイニング部23で行い「寿司」、「日本料理」の二つの単語が抽出される。
一方、概念辞書22には、「寿司・・・カテゴリ」、「日本料理・・・ジャンル」というように「寿司」と「日本料理」のシチュエーション単語22aが観点222bを伴って保存されている。
【0052】
これより、「寿司」の単語は「カテゴリ」、「日本料理」の単語は「ジャンル」の観点に従って、T1のタップルに分類される。この工程を、スキーマA25aに従って事例21について全部行うとT1のタップルが完成する。そして、同様の作業を、「食事」のシーンに属する他の「事例」について行った結果、サロゲイト化データベース20aが完成する。他のシーンに関しても、同様の作業を繰り返して、サロゲイト化データベースを作成する。尚、サロゲイト化データベースに分類され、組み込まれた単語等のデータをタップルデータと呼ぶことにする。つまり、サロゲイト化データベース20a中の「寿司」や「日本料理」等の単語等は、それぞれタップルデータである。
【0053】
サロゲイト化データベース20aのスキーマA25aには、観点として「URL」や「参考写真」が含まれている。この観点に対応する単語は、概念辞書22には含まれていない。そのため、「URL」や「参考写真」の観点に対するデータを事例21から抽出することは、概念辞書22によっては行えない。「URL」の観点に対するデータを抽出する時には、URL認識プログラムを用いる。また、「参考写真」の観点に対するデータを抽出するときには、データマイニング部23の中の写真やグラフをそれぞれ写真やグラフであることを認識する機能を用いる。事例21は、HTMLファイルのホームページであるので、URL認識プログラムは、このURL、すなわち「A1」を「URL」の観点に対するT1のタップルの欄に記入する。一方、写真を事例21から探したデータマイニング部23は、この写真の所在位置を詳細に示すURL等の位置情報をT1のタップルの欄に入れる。これにより、一つのデータベースに収めることが不可能である文字や写真等の画像を、一つのデータベースに保存することが可能になる。
【0054】
また、写真のURL等を取り込むと同時に、写真を文章や単語で判断できるように画像認識プログラムを用いて、写真を分解する。写真を文章や単語で判断できるように画像認識プログラムは、写真を網の目状に区分けして、その特徴を読み取る機能を担っている。これにより、写真の中の特徴、例えば写真が店内の椅子やテーブルの配置を表したものであれば、店内の椅子の数やテーブルの間隔等が文章や単語として、保存される。また、専門家等のコメント等に代表される主観を事例の中から取り出す機能を画像認識プログラムに付加しておく。この主観は、事例の中の写真の解説欄に記載の文章であり、この文章を取り出す機能が、画像認識プログラムに付加される専門家等のコメント等に代表される主観を事例の中から取り出す機能のことである。サロゲイト化データベース20aにおいては、「参考写真」の観点のさらに下層に参考写真のデータを入れるスキーマC25cが形成されている。これにより、写真のデータを、個別具体的にサロゲイト化データベース20aに記録することが可能になる。グラフについても、同様に保存することが出来る。
【0055】
しかし、写真といっても事例21には、店舗の外観写真と料理の見本を示した写真の2種類が掲載されている。この内、「参考写真」の観点に対応する写真は、料理の見本を示した写真である。この判別は、写真を見つけるごとに、専門家等の観点を導入した人やユーザに確認を取りつつ行われる。つまり、データマイニング部23が店舗の外観写真を事例21から抽出した時、データマイニング部23は、専門家等の観点を導入した人やユーザに「この写真を、参考写真に組み込みますか?」と尋ねるようにプログラムを組んでおく。しかし、この写真は、「参考写真」に組み込みたい写真ではないので、専門家等の観点を導入した人やユーザは「いいえ。」と答える。この結果、データマイニング部23は、抽出した店舗の外観写真を採用しない。次にデータマイニング部23が料理の見本を示した写真を事例21から抽出した時、データマイニング部23は、専門家等の観点を導入した人やユーザに「この写真を、参考写真に組み込みますか?」と尋ねる。この写真は、「参考写真」に組み込みたい写真なので、専門家等の観点を導入した人やユーザは「はい。」と答える。その結果、この写真をデータマイニング部23は料理の見本を示した写真の所在位置を詳細に示すURL等の位置情報をT1のタップルの欄に入れる。
以上より正確に事例21のデータはサロゲイト化データベース20aに分類され、完成する。
【0056】
尚、他のタップルデータをサロゲイト化データベースに組み込む際にも、個別に、専門家等の観点を導入した人やユーザに確認を取ることが可能であり、これがサロゲイト化データベースを構築する際の特徴になっている。この結果、作成したサロゲイト化データベースは、ユーザ等にとって最も有効なデータベースになる。
【0057】
次に、本発明に係るコンピュータによる音声対話に必要なコツキャッシュの構築方法を具体例に基づいて示す。
図3は、図1及び図2に示したサロゲイト化データベース20aに基づいて作成した「食事」のシーンのコツキャッシュ28aである。
【0058】
コツキャッシュ28aは、サロゲイト化データベース20aのタップルデータの一部と、それらのタップルデータのそれぞれがサロゲイト化データベース20aのどのタップルに含まれているのかを示すタップル番号と、そしてそのタップルデータの使用頻度を付して保存したものである。
【0059】
まず、コツキャッシュ28aを作る前に、サロゲイト化データベース20aのタップルデータの全てと、それぞれのタップルデータがどのタップルに含まれているのかを示すタップル番号を保存したものであるインデックスファイル27aを作成する。インデックスファイル27aは具体例を示さないが、サロゲイト化データベース20aのタップルデータを全て集めたものであるので、容量は莫大であり、サロゲイト化データベース20aと共に、保存されている。タップルデータが同一の単語である時には、タップルデータを統合して、タップル番号をまとめることが出来る。これにより、データ量が少なくなり、後述する検索の重複した作業が省くことが出来るようになる。
【0060】
一方、インデックスファイル27aの一部のタップルデータに、タップル番号と使用頻度を付して保存したデータファイルがコツキャッシュ28aである。コツキャッシュ28a中のタップルデータの数は、5000個である。同様にして他のそれぞれのシーンに対してもサロゲイト化データベースからインデックスファイル及びコツキャッシュが作成される。
尚、使用頻度数は、そのタップルデータの使用割合やアクセス回数を用いて表すことが出来るが、使用割合はそのタップルデータへのアクセス回数をコツキャッシュへのアクセス回数で除して、100を乗じた値である。
【0061】
サロゲイト化データベースに含まれるタップルを特定するために、コツキャッシュやインデックスファイルは使用される。コツキャッシュやインデックスファイルは、共にサロゲイト化データベースの中から特定のタップルを検索するための検索用ファイルである。つまり、サロゲイト化データベースを本と例えるならば、コツキャッシュもインデックスファイルも共に本の索引に相当する。但し、コツキャッシュは簡易な索引に、インデックスファイルは詳細な索引に相当する。また、コツキャッシュ内のタップルデータは使用頻度数が多い順に配列されるが、インデックスファイルのタップルデータは、あいうえお順やアルファベット順に配列される。
【0062】
例えば、図2において、「ジャンル」の観点に「日本料理」というタップルデータは、T1とT4の二つのタップルに記されている。これを、図3においては、一行目に記している。つまり、「日本料理」のタップルデータと同じ行に「T1&T4」というデータが記されている。「T1&T4」は、「T1とT4のタップルにそれぞれ入っています。」ということを表している。これらより、「「日本料理」のタップルデータは、T1のタップルとT4のタップルデータに組み込まれている。」ということを指し示していることが分かる。他のタップルデータに関しても、同様に処理した結果が、図3に示したコツキャッシュ28aであり、使用頻度数は「日本料理」が最も多いことを表している。
【0063】
しかし、サロゲイト化データベース20aのスキーマB25bのように観点の中には駐車場や、収容人数と言ったものがあり、「5台」や「20人」というタップルデータをそのままコツキャッシュ28aに保存したのでは、そのタップルデータの意味するところが不明確になってしまうおそれがある。そこで、例えば「駐車場」の観点に対するタップルデータに関しては、「駐車場有り」又は「駐車場無し」と言うように分けている。コツキャッシュ28aでは、「駐車場有り」というようにタップルデータをプログラムで設定して、駐車場があるものをコツキャッシュ28aに保存している。
【0064】
ところで、「5台」や「20人」といったタップルデータであっても、インデックスファイルは、そのままのタップルデータを保存する。これは、インデックスファイルは、データ処理の高速化を目的とするというよりも、サロゲイト化データベースの検索用ファイルとしての側面が、コツキャッシュよりも強いからである。
【0065】
それに対して、コツキャッシュは、高速で入力された単語からタップル、すなわち事例を特定することに主眼を置いている。そのため、検索を単純に、且つスマートに行うためにタップルデータそのものを一部簡潔に整理・保存している。つまり、コツキャッシュはタップルデータの正確さよりも検索の高速化を、インデックスファイルはコツキャッシュよりもタップルデータの正確さを主眼に構築される。もちろん、コツキャッシュにインデックスファイルからタップルデータをそのまま取り込んでも良い。
【0066】
一方、インデックスファイルからコツキャッシュには、タップルデータが移行可能である。コツキャッシュに含まれるタップルデータに検索する単語、つまりタップルデータが含まれていないときには、インデックスファイルのタップルデータを用いて検索する。インデックスファイルで検索に用いられたタップルデータには、最も高い使用頻度、例えば100%が付されて、コツキャッシュにコピーされて書き込まれる。その後、インデックスファイルで検索に用いられたタップルデータは消去もされず、何の変化も無く保存されている。それ故、インデックスファイルは、保存されているタップルデータの数は変化しないが、コツキャッシュは変化する。当初5000個のタップルデータが保存されていたコツキャッシュのタップルデータは、使用されると5001個、5002個、・・・と増加する。
【0067】
コツキャッシュは、一定期間経過したとき、又は一定容量に達したときに整理される。コツキャッシュには、原則5000個のタップルデータが保存されるように規定されているので、増加したタップルデータを整理して5000個にする。これは、瞬時に行われ、使用頻度の少ないものがコツキャッシュから消去されることで5000個にされる。もしくは、コツキャッシュは二個あって、タップルデータを整理しているときには、一方のコツキャッシュを使用していて、整理された他のコツキャッシュを入れ替えることで整理中でもコツキャッシュが円滑に機能するようにすることも可能である。
【0068】
原則として、コツキャッシュには、サロゲイト化データベース中で使用頻度の高い単語が5000個集められている。しかし、5000個という数は、設定により増減可能であり、2000個にすることも、また7000個にすることも可能である。尚、サロゲイト化データベースと、インデックスファイルと、コツキャッシュとは一つのシーンに付き一つずつ少なくともあり、コツキャッシュの数のみ設定により二個にすることが可能である。
また、以上から明らかなように、インデックスファイルやコツキャッシュにはサロゲイト化データベースのスキーマやカラムという概念は無関係である。
【0069】
さらに、タップルデータの集合からボトムアップ形式で構築した類似検索を、コツキャッシュやインデックスファイルのタップルデータに付することも可能である。例えば、「ラーメン」と「パスタ」のタップルデータから「めん類」というように類似点を抽出して、ボトムアップ形式で新たな観点をツリー状に分類・整理していく。この結果、導き出された「めん類」という観点を「ラーメン」や「パスタ」のタップルデータに付しておいて、検索に利用することも可能である。
【0070】
一方、本願発明の基礎であるシーン特定に用いるデータベース、具体的にはシーンに基づく単語データベース及びシーン重要単語データベースを、シーン毎に作成する。
シーンに基づく単語データベースは、シーン毎に、サロゲイト化データベースの全てのタップルデータや、各事例からサロゲイト化データベース中に分類されなかった単語を含んだデータベースである。しかし、シーンに基づく単語データベースは、サロゲイト化データベースの様に事例や観点に基づき、又はコツキャッシュやインデックスファイルの様にタップル番号を付して、保存しているデータベースとは異なり、一切の規定が無く、タップルデータそのものを、単に羅列したものである。
【0071】
シーン重要単語データベースは、シーンに基づく単語データベース中の単語の中で出現頻度の高いもの、又は重要度計算を行った結果、出現頻度値や重要度計算値が高いものを50個から300個、保存したものである。出現頻度値は、シーンの中で各事例の範囲を越えて、例えば「日本料理」の単語が何回表れたのかを示す値である。また、重要度計算値は、シーンの中で各事例の範囲を超えて、例えば「日本料理」と「寿司」の出現頻度値が高いときに、この様な単語同士の関係から導いた値のことである。出現頻度値も、重要度計算値も共に、シーンの中で、その単語等がどれだけ不可欠な単語等であるかを示すものであり、一般的に言うところの「キーワード」に対応している。また、シーンの名称や、図2で言うところの「タイトル」や「ジャンル」の観点で定義されるカラムに含まれる単語は、シーン固有の単語であり、シーンを特定する際に必要不可欠であるので優先してシーン重要単語データベースに入れるようにされている。つまり、シーンの名称等は、事例の中で出てくる回数が少なくても、シーン重要単語データベースに含まれるものとする。尚、このような単語は、重要度計算値が高いので、シーン重要単語データベースから漏れることはない。
【0072】
次に、本発明に係るコンピュータによる音声対話の一実施形態を図4に基づいて説明する。
図4は、本発明に係るコンピュータによる音声対話の一実施形態を示すブロック図である。
【0073】
コンピュータによる音声対話に用いるユーザコンピュータ1には、キャッシュメモリ2aと、サロゲイト化データベース20a、20b、20c等のデータベースを保存・蓄積してある外部記憶装置部2bと、対話コントロール部3と、シーン制御部4aと、動作指示部4bと、そして類似リンク部50と、が含まれていて、且つユーザ100からの入出力を行うマイク及びスピーカが備わっている。
【0074】
対話コントロール部3は、音声認識部31と、音素メモリ部32と、音声合成部36と、発話テンプレート部37と、対話のコツ部38と、そして質問処理部39とからなっている。音声認識部31は、ユーザ100から入力された音声を認識し、音素メモリ部32にある音素と照合する。音素メモリ部32は、一時的に単語等のデータが保存される領域であり、対話の応答に従って、頻繁に且つ即座に書き換えられる。音声合成部36は、シーン制御部4aや動作指示部4bで処理した結果を、発話テンプレート部37に保存されているフォーマットに従い、音に変換して、出力する。
【0075】
外部記憶装置部2bには、サロゲイト化データベース20a、20b、20cと、インデックスファイル27a、27b、27cと、コツキャッシュ28a、28b、28cと、そしてシーン重要単語データベース43a、43b、43cをそれぞれ含んだシーンに基づく単語データベース42a、42b、42cと、が保存・蓄積されている。シーン重要単語データベース43a、43b、43cをそれぞれ含んだシーンに基づく単語データベース42a、42b、42cは、シーン制御部4aに対して使用される。インデックスファイル27a、27b、27cと、コツキャッシュ28a、28b、28cは、動作指示部4bに対して使用される。シーン制御部4aが、シーン重要単語データベース43a、43b、43cをそれぞれ含んだシーンに基づく単語データベース42a、42b、42cに単語を照合する時や、動作指示部4bがインデックスファイル27a、27b、27cと、コツキャッシュ28a、28b、28cに単語を照合する時には、それらのデータベースはキャッシュメモリ2aにコピーされる。また、サロゲイト化データベース20a、20b、20cは、質問処理部39にスキーマを提供したりするために使用される。
【0076】
尚、図4においては、シーンが「食事」、「宿泊」、「レジャーランド」の三つあり、それぞれに対応するサロゲイト化データベース20a、20b、20c、インデックスファイル27a、27b、27c、コツキャッシュ28a、28b、28c、シーンに基づく単語データベース42a、42b、42c、シーン重要単語データベース43a、43b、43cが保存されている。
【0077】
シーン制御部4aには、シーンの判定をするシーン判定プログラム41が備わっている。シーン判定プログラム41は、外部記憶装置2bにあるシーンに基づく単語データベース42a、42b、42cや、シーン重要単語データベース43a、43b、43cに、ユーザ100が入力した入力単語を照合してシーンを特定する。シーンに基づく単語データベース42a、42b、42cは、それぞれ外部記憶装置部2bの中にあるサロゲイト化データベース20a、20b、20c中の全タップルデータである。この全タップルデータの内、シーンを代表する単語に、その出現頻度数等を付して保存したものがシーン重要単語データベース43a、43b、43cである。このシーン重要単語データベース43a、43b、43cは、入力された単語と照合して、高速でシーンを特定するために配列した単語のデータ群のことである。シーン制御部4aが、シーン重要単語データベース43a、43b、43cやシーン毎の全タップルデータが納まっているシーンに基づく単語データベース42a、42b、42cにアクセスすることで対話内容のシーンが特定できる。
【0078】
そこで、図4に示した本発明に係るコンピュータによる音声対話をカーナビゲーションに適用して具体的に説明する。尚、この場合、図4のユーザ100は車の運転手に、そしてユーザコンピュータ1はカーナビゲーションに相当する。
【0079】
本発明に係るコンピュータによる音声対話において、ユーザ100がマイクにより入力された音声は、まず音声認識部31で認識されて入力文章となる。そして、文章解析及び単語解析が行われる。
入力文章とは、入力された音声、つまり音を、電気的な信号に変換されたものを表している。入力文章は、対話を繋げるために必要不可欠な入力単語に分解される。
【0080】
例えば、ユーザ100がユーザコンピュータ1に「聞きたいことがあるから、起きてくれる。(入力文1)」と、ユーザコンピュータ1に起動をかける。ユーザコンピュータ1はこの音声に反応して、「私を起動してくれてありがとう。私は食事、宿泊施設、そしてレジャーランドの三つのシーンについて話が出来ます。(出力文1)」と、返答する。これは、起動されたときに、ユーザコンピュータ1が対話可能な内容、つまりシーン、をユーザ100に答えるプログラムが質問処理部39に記録されているからである。すなわち、ユーザコンピュータ1の中には、食事、宿泊施設、そしてレジャーランドの三つのシーンに関するデータが保存されていて、ユーザ100は出力文1を受けて、三つの内のどのシーンの対話をするのかを決める必要がある。ユーザコンピュータ1では、出力文1を音声合成部36から出力すると同時に、食事、宿泊施設、レジャーランドの三つシーン固有のシーン重要単語データベース43a、43b、43cの単語を一時的にキャッシュメモリ2aに保存する。
【0081】
ユーザ100は出力文1に対して、「そうだな、食事をしたいな。(入力文2)」と答える。入力文2の中には、「食事」という入力単語がある。これを音素メモリ部32で認識する。そして、シーン判定プログラム41は、一時的にキャッシュメモリ2aに蓄えたシーン重要単語データベース43a、43b、43cに照合をかける。この場合には、明らかに食事のシーンだけに「食事」の単語があったので、対話内容のシーンが「食事」であることが特定される。これは、対話の範囲が狭まったことを意味していて、本発明の最も重要な工程である。
【0082】
しかし、音声メモリ部32で認識した入力単語が、複数のシーンのシーン重要単語データベース43a、43b、43cに重複してあったときには、その単語の数にシーン内でのその単語の出現頻度値や重要度計算値を乗じた数が多いシーンが、対話のシーンである可能性が高いことと判断する。ところが、その乗じた数は、相対的な数であるので、絶対的にその数で判断するのには問題がある。そこで、その際にはユーザコンピュータ1は、ユーザ100にこのシーンで良いのかどうかを聞くか、又は更なるシーン特定のための情報入力を促して、シーンを決定する。
【0083】
シーンは、明らかに特定されたと思われるが、念を押して確認するために、質問処理部39のプログラムに従って、発話テンプレート部37の次のフォーマットが起動する。発話テンプレート部37には、シーンが決まったときに、それを聞き返すフォーマットである「〜の話ですね。」が記録されている。「〜」の部分には特定されたシーンが当てはめられて、「食事の話ですね。(出力文2)」とユーザ100に確認することが出来る。
ユーザ100は出力文2に対して、「そうだよ。(入力文3)」という入力文3を入力する。
以上の工程を得ることで、シーンが確実に特定され、対話が続けられる。
【0084】
次に、特定された「食事」のシーンに対して、どのような話をしたいのかをユーザコンピュータ1はユーザ100に聞く。「どのカテゴリのものが食べたいですか?」や「どのようなジャンルの料理が食べたいですか?」等の対話のコツ部38の指示に従って発話テンプレート37に含まれているフォーマットを起動して、出力文を出力する。これにより、ユーザコンピュータ1は、ユーザ100に対話を続けていくための情報の入力を促すことが可能になる。
【0085】
対話のコツ部38は、観点をユーザ100に聞くプログラム群であり、シーンによって異なるプログラム群を形成することも可能である。対話のコツ部38には、シーンが特定された後に、ユーザ100に観点の入力を促す仕組みが設けられている。「食事」のシーンが特定されると、「食事」のシーンに関するサロゲイト化データベース20a中のスキーマA25aが対話のコツ部38に呼び出される。対話のコツ部38は、タップルを特定するために、呼び出したスキーマA25aを使用する。具体的には、「ジャンル」と「食材」の入力を促して、タップルを特定するというプログラムが対話のコツ部38に組み込まれている。もちろん、どの観点の入力を促しても良いし、全ての観点の入力を促すことも可能である。しかし、対話を滑らかに組み立てるためには、二つ以上五つ程度の観点の入力を促して、対話を進めた方が、対話が双方向で滑らかに、且つ確実に行われているようにユーザ100に感じさせることが出来る。また、ユーザ100が入力した入力音声から入力単語を抽出するために、音素メモリ部32にそれぞれの観点に対するタップルデータが記録される。しかし、音素メモリ部32に記録されるタップルデータの数が多いと照合に長い時間を要するようになる。そこで、照合時間が3秒以内に収まる量のタップルデータのみが音素メモリ部32には保存されるようになっている。また、3秒以内に照合できないときには、ユーザ100に聞き返したり、更なる質問をしたりして対話が途切れないようにするようになっている。
【0086】
一方、シーンが特定された後は、キャッシュメモリ2a上でコツキャッシュを用いて対話が滑らかに、且つ高速に行われる。これを実現するため、シーンが特定されたと同時又は直後に、外部記憶装置部2bに保存されている特定されたシーン「食事」に固有のコツキャッシュ28aをキャッシュメモリ2aにコピーして記録する(図4参照)。
【0087】
「どのような食材を用いた料理を食べたいですか?(出力文3)」と問われたユーザは、「日本料理が食べたい。」や、「ラーメンが食べたい。」や、「中華が食べたい。」等の返事を入力することが好ましい。しかし、図4の実施形態においては、ユーザは、「海の近くに来たから、魚介類が食べたいな。(入力文4)」と応答した。
【0088】
入力文4を音声認識部31で文章解析や単語分解を行うと、「海」、「魚介類」という入力単語が抽出される。「海」、「魚介類」の入力単語は、この段階では「音素メモリ部」に蓄えられる。次に、「どのようなジャンルの料理が食べたいですか?(出力文4)」とユーザコンピュータ1は、ユーザ100に聞く。そこで、ユーザ100は、「日本料理がいいな。(入力文5)」と答える。入力文5を音声認識部31は処理して、「日本料理」の入力単語を抽出する。
【0089】
対話のコツ部38が、入力を促した二つの観点はこれにより満たされたので、動作指示部4bの検索プログラム部46にこれらの抽出された入力単語は送られる。検索プログラム部46は、入力された入力単語「海」、「魚介類」そして「日本料理」とコツキャッシュ28aの単語を照合し、照合により合致した一又は複数の単語からさらにシーンの中の話題、具体的にはタップルを特定する作業が行われる。
【0090】
しかし、「海」や「魚介類」という入力単語は、コツキャッシュ28aのタップルデータに合致しない。そこでユーザコンピュータ1は、類似リンク部50の中の類義語辞書、同義語辞書、類推検索辞書を用いて、ユーザ100が意図している単語を探す。これによりコツキャッシュ28aの中の「魚」が候補に浮上した。ここで、候補に挙がるタップルデータは、ユーザコンピュータ1による検索で80%以上の確率でユーザ100が意図している単語であることが認められたものに限定されている。この確率には、類義語辞書、同義語辞書、類推検索辞書にそれぞれ付されている確率を用いる。ここで導き出した「魚」というタップルデータがユーザ100の意図したものと合致する可能性は、80%以上であったが、100%ではない。
【0091】
そこで、質問処理部39に従って発話テンプレート37に含まれているフォーマットを起動して、ユーザコンピュータ1はユーザ100に、「魚の料理が食べたいのですか?(出力文5)」と聞き返す。これに対して、ユーザ100は、「そうだよ。(入力文6)」と答える。
【0092】
この結果、「食材」の観点のタップルデータは「魚」であることが確定した。しかし、「魚」を含むタップルは図3によると、たくさんある。一方、「日本料理」の入力単語は、コツキャッシュ28a内のタップルデータの「日本料理」と合致した。「日本料理」のタップル番号を見ると、T1とT4の二つである。
【0093】
これにより、検索プログラム部46では、コツキャッシュ28aの「魚」と「日本料理」のタップル番号を用いて、「魚」と「日本料理」のタップル番号の集合を求める。つまり、「魚」のタップルデータを含んだタップルのタップル番号と、「日本料理」のタップルデータを含んだタップルのタップル番号とから、両方にあるタップル番号を探す。その結果、T1のタップルを特定することが出来る。
【0094】
特定したタップルのタイトルをユーザコンピュータ1はユーザ100に答える。これは、スキーマA25aの内で、「タイトル」の観点に相当するものを出力するように質問処理部39のプログラムが組まれているからである。「新東京寿司はいかがですか?(出力文6)」とユーザコンピュータ1は尋ねる。しかし、ユーザ100は、車を運転しているところなので、「駐車場は、あるの?(入力文7)」とユーザコンピュータ1に聞く。
【0095】
入力文7は、音声認識部31で処理されて、「駐車場」という入力単語が抽出される。対話のコツ部38のスキーマA25aに含まれる観点に当てはまるものがあるかどうかが、音素メモリ部32で照合される。音素メモリ部32は、当てはまる単語が無いので、対話のコツ部38は他のスキーマ、具体的にはスキーマB25bやスキーマC25cをサロゲイト化データベース20aから呼び出す。その結果、音素メモリ部32はスキーマB25bの中に「駐車場」の観点を見つけることが出来る。検索プログラム部46では、「駐車場」の観点のタップルデータをサロゲイト化データベース20aに読みに行く。その結果、T1のタップルの駐車場の観点には、「無し」というタップルデータが入っていることが分かる。それ故、発話テンプレート部37を使って音声合成部36から「駐車場は無いです。(出力文7)」を出力する。
【0096】
ユーザ100は、そこで「中華料理でも良いよ。(入力文8)」と答える。この入力文8を受けて、対話のコツ部38は、先に入力された「日本料理」に代えて、「中華料理」を、「ジャンル」の観点に入れる。これを受けて検索プログラム部29は、「日本料理」を消去して、「魚」、「駐車場」、「中華料理」で検索をコツキャッシュ27aにかける。その結果、T2のタップルが条件に合致したので、ユーザコンピュータ1は「四川創作亭はいかがですか?(出力文8)」とユーザ100に尋ねる。ユーザ100は、「そこで良いよ。(入力文9)」と答える。これにより、シーンが「食事」で、タップルが「四川創作亭」と決まった。ここまでが、タップルを決める工程で、コツキャッシュ28aを用いて対話を行う工程になる。
【0097】
ところで、以上の工程で特定されたタップルが一つではなく、複数あるときには、さらに対話の内容を絞る条件をユーザ100に入力する様に促すことにつながり、対話のコツ部38が起動する。対話のコツ部38では、一回でタップルが特定できなかったときに、さらに未だ特定していない「観点」の入力を促すプログラムが準備されている。そこで、ユーザコンピュータ1は、「どのカテゴリの料理が良いですか?例えば、中華料理には、四川料理、広東料理、上海料理、北京料理があります。また、日本料理には、天ぷら、寿司、鍋料理等があります。どれが宜しいですか?」と言うような質問をユーザ100に行う。このようにして、タップルを特定する要素を多くして、ユーザ100が希望するタップルを検索することが可能になる。
【0098】
タップルが決まると、スキーマと、そして特定したタップルT2のデータが、対話のコツ部38に呼び出されて、何時でもユーザコンピュータ1はT2のタップルの内容をユーザ100に答える準備を整える。
【0099】
次に、特定したT2のタップルを用いて対話を進めていく。ユーザコンピュータ1が、四川創作亭に行きますか?(出力文9)」と尋ねる。ユーザ100は、「四川創作亭に行こう。ところで、何がおいしいの?(入力文10)」とユーザコンピュータ1に尋ねる。入力文10を受けて、ユーザコンピュータ1は、T2のタップルから関連事項である「エビチリがお勧めです。(出力文10)」と答える。「写真があれば、見たいな。(入力文11)」と入力する。これを受けて、ユーザコンピュータ1は、「写真を表示します。車を止めてから見て下さい。(出力文11)」と、ユーザに答える。このようにして、ユーザ100とユーザコンピュータ1の対話は、行われる。
尚、対話途中で、シーンが変わったときには、シーン制御部4aや検索プログラム部46を用いて、再度シーンやタップルを特定して滑らかに、且つ高速で対話処理を行うことが出来る。
【0100】
次に、本発明に係るコンピュータによる音声対話において、インターネット等の通信手段を介して情報を収集する知識獲得について説明する。
図5は、本発明に係るコンピュータによる音声対話におけるインターネット等の通信手段を介した知識獲得を表したブロック図である。
図5において、左側半分のユーザコンピュータ1及びユーザ100の関係は、図4を用いて説明した一の実施形態と同じである。インターネット等の通信手段を介した知識獲得では、情報収集共有処理部6が必要である。図5では、情報収集共有処理部6は、ユーザコンピュータ1と通信回線を介して繋がっている中央管理センターにある。情報収集共有処理部6は、ユーザコンピュータ1の内部に有するように構成しても良い。
【0101】
情報収集共有処理部6は、単語・分解処理部61と、単語まとめ部62と、URL検索処理部63と、URL知識体64と、インターネット知識獲得部65と、Webロボット66と、ダイナミックまとめ部67と、頻度プログラム部68、そして図示しない複数の概念辞書とにより構成されている。
また、ユーザコンピュータ1の対話コントロール部3等と結びつき情報収集共有処理部6は、起動している。もちろん情報収集共有処理部6に必要な機能のみを組み込んで、独立した端末として起動させることも可能である。
【0102】
単語分解・処理部61は、ユーザ100が入力した入力文章を文章解析及び単語解析を行い、意味のある単語を抽出する役目を担っている。しかし、図5においては、ユーザ100と情報収集共有処理部6とは、ユーザコンピュータ1を介して繋がっているので、単語分解・処理部61は起動していない。つまり、ユーザコンピュータ1の対話コントロール部3で、単語分解・処理部61の仕事が成されているので、あえて単語分解・処理部61で入力文章の解析を行う必要が無い。それ故、図5においては、ユーザコンピュータ1から入ってきた単語等のデータは、単語まとめ部62に伝わる。
【0103】
単語まとめ部62は、入力された入力単語を基に集めてくる情報を、どのような観点に従って分類しようか、つまり、どのようなスキーマに従って分類をするかを決定する役割を担っている。単語まとめ部62には、既存スキーマ62aと、新規スキーマ62bとが蓄えられるメモリを有している。既存スキーマ62aは、観点が入力されないときに、入力された入力単語を基に集めてくる情報を整理するための観点「5W1H」が入っている。「5W1H」とは、Who(だれが)・When(いつ)・Where(どこで)・What(なにを)・Why(なぜ)・How(どうした)のことである。一方、新規スキーマ62bとは、ユーザ100の意向の基に作成されるスキーマのことである。例えば、図2におけるスキーマA25aを用いて、入力された入力単語を基に集めてくる情報を分類したいのであれば、ユーザ100が、ユーザコンピュータ1を介して新規スキーマ62bをスキーマA25aとする指示を入力する。また、全く別の観点に基づきその情報を分類したいのであれば、ユーザ100が単語まとめ部62に、その都度新規スキーマ62bを作成することが出来る。つまり、ユーザ100が複数の入力単語を入力し、これらの入力単語がどの観点に属するのかを概念辞書を用いて特定して、特定された観点に基づいて新規スキーマ62bが形成される。
【0104】
URL検索処理部63は、URL知識体64と密接に繋がっていて、入力された入力単語を基に情報を集めるに当たって、どのURLを用いて、どのホームページにアクセスするのかを決定する。URL知識体64は、予め作成しておくデータベースであって、あるシーン固有の一つの事例を指し示すホームページのURLと、そのホームページ内の単語等の複数のデータとを組にして、膨大なシーンに対するデータベースを保存している。URL検索処理部63は、入力された単語をURL知識体64のデータベースに当てはめて、合致単語数の多いURLを一つ決定する。
【0105】
インターネット知識獲得部65は、URL検索処理部63で決定したURLを基に、情報を探す。そして、Webロボット66は、URL検索処理部63で決定したURLを基にURLデータ65aを取り込み、そのURLデータ65aの中にあるリンクされたURL65bを取り出し、それらでまたURL65bのデータを取り込む機構を備えている。それ故、Webロボット66は、自立型のロボットであり、ユーザの意志に従って動くものではない。つまり、情報収集共有処理部6がユーザ100によりアクセスされていない時に、Webロボット66はURL知識体64を拡張する作業を行っている。
【0106】
ダイナミックまとめ部67は、インターネットを介して収集した情報を、単語まとめ部62で決定したスキーマを基に分類してタップルを一つ作成する。つまり、単語まとめ部62で決定したスキーマに対して、一つの事例に関する一のタップルを作成する。作成した一組のスキーマとタップルは、ユーザコンピュータ1に伝達され、ユーザ100に伝えられる。
【0107】
頻度プログラム部68は、勘違いプログラムを有している。図5において図示していない勘違いプログラムは、一定回数以上、ユーザ100から情報収集共有処理部6に同一の事例、または同一のシーンに関する情報を収集するようにアクセスがあったときに、起動するように設定されている。例えば、「同一シーンに対して一週間で5回以上アクセスがあったとき」のような設定がされている。勘違いプログラムは、シーン固有の概念辞書を用いて、シーン固有のサロゲイト化データベースを新規に作成する。このサロゲイト化データベースの構築は、人間の意志に関係なく行われる。そのため、作成した時点で、ユーザ100に新規に構築したサロゲイト化データベース20dをユーザコンピュータ1の外部記憶装置部2bに記録するか否かを質問する。この質問により始まるユーザ100との対話の中で、ユーザ100は新規に構築したサロゲイト化データベース20dを修正することも可能である。スキーマを修正して、再構築することも出来る。こうして、ユーザコンピュータ1等は、ユーザ100の意向に沿って構築した新規のサロゲイト化データベース20dを構築し、ユーザコンピュータ1の外部記憶装置部2bにサロゲイト化データベース20dを保存することが出来る。もちろん、ユーザコンピュータ1等が構築したサロゲイト化データベース20dが不要の時には、ユーザ100はその旨をユーザコンピュータ1等に伝えて削除することも出来る。
【0108】
外部記憶装置部2bにサロゲイト化データベース20dが保存されると、外部記憶装置部2bの中で、ユーザコンピュータ1はサロゲイト化データベース20dに基づくインデックスファイルとコツキャッシュを作成する。このインデックスファイルは、サロゲイト化データベース内のタップルデータを集めたものであるので自動的に作成される。しかし、コツキャッシュはタップルデータに使用頻度が付されるため、ユーザコンピュータ1が勝手に構築するのは不可能である。そのため、ユーザコンピュータ1は、ユーザ100に聞きながらコツキャッシュに入れるタップルデータを聞く。例えば、「観点「何々」に関するタップルデータをコツキャッシュに入れますか?」等と質問をして、ユーザ100に入力を促すことでコツキャッシュにタップルデータを入れることも可能である。この時には、使用頻度は、全て最も高い値、例えば100%にしておくように設定したほうが良い。これは、使用するたびに、使用頻度が変わり、望みのコツキャッシュが形成されるためである。
【0109】
一方、サロゲイト化データベース20dに基づくコツキャッシュには、当初は何のデータを入れておかなくても良い。つまり、空のままでも良い。これは、使用されるごとにインデックスファイルからコツキャッシュにタップルデータがコピーされて、コツキャッシュが成長していくので、コツキャッシュが自己成長型である特性を利用することにつながる。
【0110】
次に、本発明に係る分散共有技術(以下、OFC)について説明する。
図6は、本発明に係るOFC7を地域ネットワーク社会に適用したところを表したブロック図である。
OFC7は、各ユーザ端末、各家、会社単位で設置可能な、独立した共有化技術である。図6において、ユーザコンピュータ1にOFC7が外部に相互に開かれて設置されている。
【0111】
OFC7は、各OFC7を介して分散されて設置されている又は遠隔の地にある自己の又は他人の情報、すなわち世の中にある複数のサロゲイト化データベースを共有化するための技術である。サロゲイト化データベースを、各々のユーザコンピュータ等の端末で利用するためにはコツキャッシュが必要であり、それぞれのサロゲイト化データベースにはコツキャッシュが設けられている。もちろん、サロゲイト化データベースからコツキャッシュを作る際に必要不可欠であるインデックスファイルも設けられているが、図6における実施例では、インデックスファイルの記載を省略している。
【0112】
一方、サロゲイト化データベース、コツキャッシュ及びインデックスファイルは、互いに直接にアクセスして利用可能であるが、利用頻度が高いときや他のユーザコンピュータのサロゲイト化データベースを自己の好みに合わせて作り変えたいとき等には、他のユーザコンピュータにあるサロゲイト化データベースをコピーして自己のユーザコンピュータにダウンロードすることも可能である。また、サロゲイト化データベースをコピーすることが可能であるため、サロゲイト化データベースの原本がどこにあったものなのか、又はあるものなのかを示す端末番号が、サロゲイト化データベースばかりでなく、コツキャッシュ及びインデックスファイルの全てのデータには付されている。これによりサロゲイト化データベース等をコピーしてきても、いつでも原本に容易に行き着くことが可能になる。
【0113】
さらに、コピーしたサロゲイト化データベースを修正したり、改善したりした際に、原本をこれに対応させて更新することも可能である。複数のユーザコンピュータを繋いで、一つのサロゲイト化データベースを共有する際には、それぞれのユーザコンピュータでサロゲイト化データベースはコピーされて、使用される。使用された結果、サロゲイト化データベースは、タップルデータは修正され及び増加され、改善される。使用が終わった後、サロゲイト化データベースに起動をかけると、改善されたサロゲイト化データベースが原本に反映される。そのため、使用されることにより、サロゲイト化データベースが進化することになる。これは、サロゲイト化データベースは、時代遅れになることなく、常に最新の情報で満たされていることを意味している。
【0114】
図6では、ユーザ100がいて、ユーザコンピュータ1が設置されているのが自家用車81となっている。また、自家用車81のユーザコンピュータ1は、他の民家82や中央管理センター9内のそれぞれのコンピュータと、インターネット等の通信回線を通じて繋がっている。また、それぞれのコンピュータには、OFC7が外に向かって、及び内に向かって開かれている。
【0115】
OFC7を介して、ユーザ100は他のコンピュータにあるデータベースを有効に活用することが可能である。ユーザ100のユーザコンピュータ1には、カーナビで有効に用いられるレジャーランド、宿泊、食事のシーンに関するサロゲイト化データベース等のデータが保存されている。そのため、ユーザ100は、カーナビとしてのみ、サロゲイト化データベースを利用するのであれば、不自由は感じない。しかし、ユーザが旅をして、フィールドワークを行った際には、旅先で、フィールドワークに必要な情報を利用する必要性が出てくる場合がある。図6は、そのような状況を想定している。
【0116】
ユーザ100は、植生を調べるために、海岸線を探索していたが、1年前には無かった崖を発見した。ユーザ100は、海岸線で露出している断層を発見し、断層から地層ごとにサンプルを採取した。サンプルは、持ち運び可能な分析器等により、分析された。しかし、ユーザ100は、地質学の専門家ではないため、ユーザ100は判断することが出来ない。そこで、OFC7を介して、他のユーザのユーザコンピュータにある地質学のサロゲイト化データベースを利用することを思いついた。
【0117】
ユーザ101のサロゲイト化データベース101aには、地質学に関する膨大なデータが、ユーザ101が入力した観点を配列したスキーマに基づき整然と保存されている。また、地質調査に関して利用頻度の高い単語が収められたコツキャッシュ101bがサロゲイト化データベース101aの検索用に構築されている。また、ユーザ101のこれらのデータは、OFC7を介して外に開かれている。そのため、ユーザ100は、自家用車81のカ−ナビを介して、ユーザ101のサロゲイト化データベース101aやコツキャッシュ101bを自己のデータベースのごとく利用できる。
【0118】
しかし、ユーザ101のサロゲイト化データベース101aがどこにあるのかユーザ100は知らない。そこで中央管理センター9の情報収集共有処理部6のURL知識体64に地質学のサロゲイト化データベース101aが存在しているのかを検索に行く。URL知識体64には、URLばかりでなくそのURLを利用して作成したサロゲイト化データベースの原本の所在情報が記録されている。そこで、ユーザ101のユーザコンピュータに地質学のサロゲイト化データベース101aが存在しているのを確認することが出来た。
【0119】
コツキャッシュ101bは、ユーザ100から真っ先にアクセスされる入り口の役目を果たし、ユーザ100が意図する単語からシーンを特定することが出来る。これにより、ユーザ101のサロゲイト化データベース101aからユーザ100は必要なデータを迅速に取りだして、解析結果を導き出すことが出来るようになる。これは、サロゲイト化データベース101aへの高速検索を可能にするコツキャッシュ101bがOFCを介して窓口になっているためである。これによりインターネット等の通信回線を通じて提供されるデータ量が少なく、且つ検索が速やかに行われ、通信に要する時間が短時間ですむようになる。具体的には、一つの情報を検索するために要する時間は数ms程度である。
【0120】
OFC7を介して、分散環境にある他のサロゲイト化データベースを自己のサロゲイト化データベースのように利用することが出来る。しかし、特定の者にのみ利用を許して、自己のサロゲイト化データベースの秘密性を保つことも可能である。これは、各ユーザコンピュータ等において、OFC7が一番外に設置されているので、OFC7で特定のコードを有するものからのアクセスのみ中に入れるセキュリティーを設けることもOFC7では可能である。これにより、情報の安全な運用が可能になる。
【0121】
また、図5で示した情報収集共有処理部6でのインターネット等の通信回線を介しての知識獲得等もOFC7により、制限することが出来る。例えば、スキーマに手を加えるためには、OFC7を介して中央管理センター9にアクセスして、認可を得なければならないように設定する。この認可は、OFC7の設置時の契約により設けるだけではなく、ユーザからの要望により設けることが出来る。なぜならば、ユーザコンピュータが共有に係るとき等に、勝手に他のユーザによって新規のサロゲイト化データベースが構築されたり、既存のサロゲイト化データベース内の情報が更新されたりしないようにすることを可能にするためである。
【0122】
以上より、サロゲイト化データベースを用いて、有効に情報探索を行い、且つセキュリティー管理をしながら、人間とコンピュータの自然な対話を実現することが出来るようになる。また、このシステム及び方法を、他の領域、例えば、老人介護への適用、遠隔地医療への適用、留守宅のセキュリティーシステムへの適用、遠隔教育への適用に用いることで、地理的、又は時間的な差の無いサービスの提供を行うことが出来るようになる。
【0123】
【発明の効果】
請求項1に記載の発明によれば、ユーザの意図する対話のシーンを確実に識別でき、円滑に且つ即座にユーザはユーザコンピュータとの対話の中で得たい情報を獲得することが出来るようになる効果を有する。
請求項2に記載の発明によれば、シーン毎のデータをシーンに基づき利用することが出来るようになる効果を有する。
【0124】
請求項3に記載の発明によれば、シーンを特定するための入力単語をユーザが入力した入力文章から確実に抽出でき、また音素メモリに保存されている単語は頻繁に書き換えられるので入力単語を抽出するために音素メモリに一度に保存される単語の数が少なくてすみ、迅速に入力単語を識別できるようになる効果を有する。さらに、抽出した入力単語からシーンをユーザコンピュータによる演算により、的確に絞り込むことが出来る効果を有し、最終的にはユーザに質問するので確実にユーザの意図するシーンを特定できる効果を有する。
【0125】
請求項4に記載の発明によれば、シーンを特定する単語を的確にユーザコンピュータはユーザから獲得することができ、且つシーンを特定できないときにユーザコンピュータは勝手にシーン特定の工程を進めていかないので紆余曲折することなく確実にシーンを特定することが出来る効果を有する。
請求項5に記載の発明によれば、シーンが特定されたときにシーン固有のコツキャッシュの準備が直ぐに整えられるので、シーン固有のサロゲイト化データベースに迅速にアクセスすることが出来る効果を有する。
【0126】
請求項6に記載の発明によれば、観点に基づき対話が進行して、データ容量が少なく且つ使用頻度に従ってタップルデータが整理されたコツキャッシュを活用するので、迅速に一のタップル、すなわち一の事例が特定できる効果を有する。請求項7に記載の発明によれば、コツキャッシュでタップルが特定できなくても、インデックスファイルがあるので、インデックスファイルを活用し、的確に一のタップルを特定することが出来るようになる効果を有する。
【0127】
請求項8に記載の発明によれば、特定したタップル、つまり特定した事例の有用な情報のみを迅速にユーザは、ユーザコンピュータから得ることが出来る効果を有する。
請求項9に記載の発明によれば、サロゲイト化データベース内の情報に新規情報が付加され、または新たにサロゲイト化データベースが構築されるので、最新の情報を用いて対話を進めることが出来る効果を有する。
【0128】
請求項10に記載の発明によれば、汎用のユーザコンピュータを用いて、簡単に音声による対話を、シーンに基づいて迅速に進めることが出来る効果を有する。
請求項11に記載の発明によれば、シーン毎のデータをシーンに基づき整理して、且つユーザコンピュータは利用することが出来るようになる効果を有する。
【0129】
請求項12に記載の発明によれば、一のユーザコンピュータでシーンを的確に特定し、そしてそのシーンに基づくタップルを特定できるので、円滑に対話を進めることが出来る効果を有する。
請求項13に記載の発明によれば、最新の情報を有効に活用することが出来るようになる効果を有する。
【0130】
請求項14に記載の発明によれば、一般に流布されている事例を、観点に基づき有効に配列し、有用なデータからなるサロゲイト化データベースをシーン毎に構築することが出来るようになる効果を有する。
請求項15に記載の発明によれば、概念辞書中のシチュエーション単語と事例中の単語を照合することで、事例中の単語に一の観点を的確に付し、サロゲイト化データベースに事例中の単語を組み込むことが出来る効果を有する。
【0131】
請求項16に記載の発明によれば、サロゲイト化データベース中のスキーマを階層化することが出来るので、事例中の単語等のデータを上位概念から下位概念に、または抽象的な観点から明確な観点までの広範囲にわたって、さらには大きなシーンから小さなシーンまでを階層的に分類且つ整理したサロゲイト化データベースが構築できる効果を有する。また、観点の従属関係を、スキーマの階層化に反映することが出来る効果を有する。
請求項17に記載の発明によれば、サロゲイト化データベースにコツキャッシュを持たせることが出来るので、サロゲイト化データベース内のタップルを検索することが迅速に出来る効果を有する。
【0132】
請求項18に記載の発明によれば、インターネット等の通信回線で接続されていて、互いに開かれているサロゲイト化データベースを共有することが出来るため、重複したサロゲイト化データベースの構築の労が省くことが出来る効果を有する。
請求項19に記載の発明によれば、インターネット等の通信回線を通じて開かれているデータが、インターネット上を浮遊することが無く、的確に著作権等も保護することが出来る効果を有する。
請求項20に記載の発明によれば、原本の管理者に使用状況を知らせることができ、サロゲイト化データベース等の使用に応じて、サロゲイト化データベースを成長させることが出来る効果を有する。
【図面の簡単な説明】
【図1】本発明に係るサロゲイト化データベースの構築方法を説明したブロック図である。
【図2】本発明に係るサロゲイト化データベースの具体例である。
【図3】図2に示したサロゲイト化データベースと同一のシーンに関するコツキャッシュである。
【図4】本発明に係るコンピュータによる音声対話の一実施形態を示すブロック図である。
【図5】本発明に係るコンピュータによる音声対話におけるインターネット等の通信手段を介した知識獲得の一実施形態を表したブロック図である。
【図6】本発明に係るOFCを地域ネットワーク社会に適用したところを表した一実施形態のブロック図である。
【符号の説明】
1 ユーザコンピュータ
2a キャッシュメモリ
2b 外部記憶装置部
20a、20b、20c、20d サロゲイト化データベース
21 事例
22 概念辞書
22a シチュエーション単語
22b 観点
23 データマイニング部
25a、25b、25c スキーマ
26 タップル
27 カラム
27a、27b、27c インデックスファイル
28a、28b、28c コツキャッシュ
3 対話コントロール部
31 音声認識部
32 音素メモリ部
36 音声合成部
37 発話テンプレート部
38 対話のコツ部
39 質問処理部
4a シーン制御部
41 シーン判定プログラム
42a、42b、42c シーンに基づく単語データベース
43a、43b、43c シーン重要単語データベース
4b 動作指示部
46 検索プログラム部
50 類似リンク部
6 情報収集共有処理部
61 単語・分解処理部
62 単語まとめ部
62a 既存スキーマ
62b 新規スキーマ
63 URL検索処理部
64 URL知識体
65 インターネット知識獲得部
65a URLデータ
65b URL
66 Webロボット
67 ダイナミックまとめ部
68 頻度プログラム
7 OFC
81 自家用車
82 民家
9 中央管理センター
100 ユーザ
101 ユーザ
101a サロゲイト化データベース
101b コツキャッシュ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a computer-based voice dialogue method for voice dialogue in which a computer recognizes and processes a user's voice, creates a response sentence based on the obtained input words, and synthesizes the response sentence to perform a voice synthesis. It relates to a spoken dialogue system.
[0002]
[Prior art]
The voice dialogue is a dialogue in which a human being and a computer perform a dialogue as if a human being had a conversation with each other by a predetermined conversational program based on a result of recognizing a voice uttered by a human through voice recognition. This voice dialogue is used to operate a machine or a device according to his / her intention, and the range of use is wide, and applied research is being conducted in various fields. In order to perform such a speech dialogue, a database, a speech recognition technology, and the like have been studied.
[0003]
[Patent Document 1]
International Publication No. WO02 / 21270 pamphlet
[Patent Document 2]
International Publication No. WO02 / 067244 pamphlet
[Patent Document 3]
International Publication WO00 / 65449 pamphlet
[0004]
Conventionally, relational databases, object-oriented databases, and databases obtained by improving these databases have been researched, developed, and used as databases used for voice dialogue (for example, Patent Document 1). These are databases in which words in cases are classified and arranged in accordance with the classification names of schemas, for example, by performing word analysis and sentence analysis on sentences in commonly distributed cases. This database can organize the huge words in a case.
[0005]
In conventional speech dialogue, dictation, which recognizes words spoken by humans from the head as it is, or extracting key words from words spoken by humans, Various methods such as “word spot” for recognizing words are used.
As a general mechanism of “dictation”, first, a word spoken by a human is converted into a phoneme string as input speech, the phoneme string is replaced with a word string, and this is parsed, and then converted into a character string. Furthermore, a sentence is generated by performing a logic analysis and a semantic analysis, and is synthesized and output. Since words also have homonyms, accurate recognition is performed by adding attribute information of each word.
[0006]
On the other hand, in the “word spot”, a computer analyzes words spoken by a human as voice, extracts features of the voice, and creates a time series of feature amounts. Then, a similarity with a word included in a speech recognition dictionary in which a time series of the feature amount of each word provided in the computer is recorded and stored in advance, and a word having a high similarity is output as a recognition result from the calculated similarity. .
[0007]
In addition, an enormous number of words used for dialogue are stored in advance as a speech recognition dictionary for each scene, and speech recognition is performed by collating words entered in the words in the speech recognition dictionary, and an input document is input. There is a speech recognition that extracts a word from (for example, see Patent Document 2). In this method, a database of words belonging to each scene is stored in a memory at a time, and the word recognition speed is increased based on the scene.
[0008]
In this voice dialogue, there has been invented a technique of dispersing information such as a database without concentrating the information in one place, constructing a situation of excessive information in one place, and dispersing information with excellent security ( For example, see Patent Document 3).
[0009]
[Problems to be solved by the invention]
However, even if a relational database, an object-oriented database, or a database improved from these databases is used for speech dialogue as a database used for speech dialogue, a large amount of useless words in cases will be contained in these databases. In some cases, useless words that do not make sense for the dialogue are picked up by the voice recognition of the spoken dialogue. For this reason, meaningless words that have no relation at all are recognized as words to be recognized from the input sentence, and are used for the processing of the dialogue, so that it is difficult to process the dialogue smoothly and at high speed. Such a problem arises. In addition, since these databases merely arrange information such as words according to a schema, there is a problem that data does not have a master-slave relationship, and it is difficult to retrieve necessary data at high speed.
[0010]
In general, in order to increase the recognition rate even when using “dictation” or “word spot”, a huge number of words must be registered in advance in a speech recognition dictionary used for speech recognition. It is necessary to keep it. However, if the number of words to be registered in the speech recognition dictionary is large, the memory capacity is required as much, and it takes too much time to match the input speech with the words recorded in the speech recognition dictionary, and the computer responds. Until now, there was a problem that unnecessary time was emptied and it became impossible to endure practical use as a voice conversation. In addition, if the number of words registered in the speech recognition dictionary is too large, the number of objects to be searched increases, and consequently the recognition rate is reduced and the time required for recognition is too long.
Furthermore, even if a speech recognition dictionary is created for each dialogue scene, the data stored for speech recognition does not change when the scene is fixed. There was a problem that had to be saved.
[0011]
In addition, the conventional speech recognition system, particularly in the case of "dictation", has a problem that the recognition rate is lowered rather than trying to recognize even a sequence of words that have no meaning. For example, even if the speaker is stuck in a word or stutters, he / she tries to recognize the word. As a result, not only is it recognized as a meaningless word, but also there is a problem that words before and after are erroneously recognized.
[0012]
Furthermore, in the conventional speech recognition, a similarity between an input speech and a word included in the speech recognition dictionary is calculated, and a word having a high similarity is output from the speech recognition dictionary as a recognition result. Therefore, even if the word is not correctly recognized, a candidate word is output for the time being. For this reason, there is a problem that the recognition rate is lowered and a response sentence with an incomprehensible meaning is returned.
[0013]
In addition, no matter how the speech recognition dictionary is arranged, it is not organized based on one concept or viewpoint. We had to do the processing and proceed with the dialogue. For this reason, it was not possible to efficiently use a wide database for speech dialogue.
[0014]
In addition, when speech recognition is performed by a computer, data stored in a memory, a hard disk, or the like in the computer is generally used. However, the capacity of a memory, a hard disk, or the like is limited, and there is a limit on the data that can be used. Therefore, when there is no data corresponding to the input voice in a memory, a hard disk, or the like, there is a problem that the data cannot be engaged at all and a conversation cannot be performed.
[0015]
By the way, even in the conversation between humans, when the other party does not want to listen to the other party's speech, the content cannot be recognized no matter what the other party speaks, and the person is in the upper sky. On the other hand, when the other party is willing to listen, it is possible to understand the contents of the story even if the part is not well heard due to a considerable amount of noise. The difference is that when you are interested in listening to the other party's story, the listener is supposed to assume the scene that is currently being talked about, and to some extent predict the words (words) that the other party will speak next, and then recognize it This is because Therefore, if the story suddenly jumps to a topic that is different from the topic that is currently being discussed, the listener will not be able to understand it immediately, and will misunderstand that he or she has mistakenly heard for a moment.
[0016]
Therefore, a database used for voice recognition for recognizing words spoken by a speaker is created in advance for each topic scene, and voice recognition is performed by collating input words with the database. By switching to memory for each topic or for each part of the data in the database for each dialogue, dialogue can be performed quickly and efficiently, and limited memory and hard disk can be used effectively. It is an object of the present invention to provide a computer-assisted dialogue method and a dialogue system for a spoken dialogue.
[0017]
The present invention also provides a natural feeling without making an unnatural interval by prompting the speaker to speak again when no candidate is searched or there is a word that cannot be recognized even after a certain period of time. It is an object of the present invention to provide a computer-assisted voice dialogue method and a voice dialogue system for performing voice recognition while performing voice recognition.
[0018]
The present invention also relates to a computer that effectively uses a finite memory, recognizes and processes voice at high speed, and responds appropriately to limit the content of a dialogue based on a scene and smoothly advance a voice dialogue. An object of the present invention is to provide a voice interaction method and a voice interaction system.
[0019]
Another object of the present invention is to provide a database composed of useful data arranged and stored in view of data such as words including images in order to perform high-speed voice dialogue. It is another object of the present invention to provide a database for quickly and accurately searching data in the database.
According to the present invention, furthermore, by dispersing the database according to the present invention to computers connected via communication means such as the Internet, it is possible to efficiently use the database and carry out voice dialogue without paying duplication. Another object of the present invention is to provide an application technology of a spoken dialogue.
[0020]
[Means for Solving the Problems]
In order to solve the problem, a first aspect of the present invention is a response sentence that identifies a scene of a dialogue belonging to a predetermined specific scene based on an instruction from a human and forms a natural dialogue according to the scene. Is a speech dialogue method by a computer performing dialogue by synthesizing the speech, and a scene-specific database is created in advance by assigning a scene name to each scene for a plurality of scenes. The user computer asks the user about which of the plurality of scenes the dialogue is to be performed, prompts the user for input, and recognizes the input text input and inputs the input text. Breaking down the words, matching input words to words in the database, and specifying a dialogue scene, and then proceeding with the dialogue limited based on the specified scene A step of going to provide a speech dialogue method according to comprise constructed comprising computer.
[0021]
According to a second aspect of the present invention, in the voice dialogue method by the computer according to the first aspect, the database is a surrogated database in which data is arranged based on a scene-specific viewpoint, and an index file for searching the surrogated database. And a knack cache, a scene-based word database, and a scene important word database that summarizes important words in the scene-based word database.
[0022]
According to a third aspect of the present invention, in the computer-assisted voice interaction method according to the second aspect, the step of specifying a dialogue scene includes the step of the user computer recognizing an input sentence by a voice recognition unit and storing the input sentence in a phoneme memory unit. Identifying the input word in the input sentence by comparing the input word with the input word, and comparing the input word with the word in the scene important word database stored for each scene by the scene control unit to determine the appearance frequency. Specifying only one scene having a large value and / or importance calculation value, asking the user whether or not the scene is a dialogue content, and specifying the dialogue content scene. It is characterized by having.
[0023]
According to a fourth aspect of the present invention, in the voice dialogue method using a computer according to the third aspect, when a scene cannot be specified, the user is further asked a question for specifying a scene of the content of the dialogue and prompted for input. The scene of the dialogue is specified by repeating the steps described in claim 3.
[0024]
According to a fifth aspect of the present invention, in the voice dialogue method by a computer according to the third or fourth aspect, immediately after a scene is specified, a tip cache of the scene is copied to a cache memory.
[0025]
According to a sixth aspect of the present invention, in the computer-assisted voice interaction method according to the fifth aspect, a schema is extracted from a surrogated database relating to the specified scene, and the user is prompted to input an input word corresponding to the viewpoint of the schema. An input word extracted from an input sentence is made to correspond to one viewpoint, and the input word is collated with tuple data of a knuckle cache to specify one taple.
[0026]
According to a seventh aspect of the present invention, in the voice dialogue method by the computer according to the sixth aspect, when a tuple cannot be specified, a search is performed for an input word in an index file relating to the specified scene, and the search is performed for the input word. The tuple data to be copied is copied to a knuckle cache, and an input word corresponding to one viewpoint is collated with the tuple data of the knuckle cache to specify one tuple.
[0027]
According to an eighth aspect of the present invention, in the voice dialogue method by the computer according to the sixth or seventh aspect, the user computer outputs the content of the specified tuple to the user according to a schema by voice synthesis. I do.
[0028]
According to a ninth aspect of the present invention, in the voice dialogue method by the computer according to any one of the second to eighth aspects, the computer spontaneously acquires unknown information via communication means such as the Internet, and Is incorporated in the surrogated database in accordance with the regulations in the surrogated database, or another surrogated database is constructed to extend the surrogated database.
[0029]
In order to solve the above-mentioned problem, a second aspect of the present invention is to identify a scene of a dialogue belonging to a predetermined specific scene based on an instruction from a human, and to configure a response that forms a natural dialogue according to the scene. A spoken dialogue system by a computer that creates a sentence and performs speech synthesis by synthesizing the sentence. The user computer specifies an input word from an input sentence input by a user, and processes the sentence in the user computer. A dialogue control unit that outputs the result to the user, an external storage unit that stores a database in which data for each scene is stored for a plurality of scenes for specifying a scene of the dialogue content, and And a scene control unit that specifies a scene using a database. To provide an interactive system.
[0030]
According to an eleventh aspect of the present invention, in the speech dialogue system using a computer according to the tenth aspect, the database is a surrogated database in which data is arranged based on a scene-specific viewpoint, and an index file for searching the surrogated database. And a knack cache, a scene-based word database, and a scene important word database that summarizes important words in the scene-based word database.
[0031]
According to a twelfth aspect of the present invention, there is provided the voice dialogue system using the computer according to the eleventh aspect, wherein the dialogue control unit recognizes the phoneme memory unit and the input sentence, and checks the input sentence against the phoneme in the phoneme memory unit. A speech recognition unit that specifies an input word, a speech synthesis unit that applies the result of the user's processing to the format of the utterance template unit, and outputs a schema from a surrogate database related to the specified scene after the scene is specified. The user can input an input word corresponding to the viewpoint of the schema, and a knuckle part of a dialogue for transmitting the input word corresponding to one or more viewpoints from the voice recognition unit to the operation instruction unit. A scene that specifies a scene by comparing words in a scene important word database stored in a storage unit with input words The fixed program and the operation instructing unit are characterized by comprising: a search program unit for identifying one taple by collating with a tips cache and an index file stored in the external storage device unit. And
[0032]
According to a thirteenth aspect of the present invention, in the voice dialogue system using a computer according to the eleventh or twelfth aspect, the computer spontaneously acquires unknown information via a communication means such as the Internet, and stores the information in a surrogate database. It is characterized in that it includes an information collection / sharing processing unit which is incorporated in a surrogated database or constructs another surrogated database and extends the surrogated database according to regulations.
[0033]
The invention according to claim 14 is a method of constructing a surrogate database used for voice dialogue by a computer, wherein the user computer is configured from a plurality of cases belonging to scenes that can be collected via a communication line such as the Internet, or A step of extracting a plurality of data from a plurality of cases belonging to a scene in which a document has been digitized, a step of inquiring a user and specifying which viewpoint the data belongs to, and a schema in which viewpoints are arranged. Arranging data for each case in the same arrangement as the viewpoint of the schema, and a tuple consisting of a plurality of tuple data, such as the case-specific data, and data having the same viewpoint. And a column composed of a plurality of tuple data, etc., and a surrogate-format database constructed for each scene. To provide a scan how to build.
[0034]
The invention according to claim 15 is the method for constructing a surrogate database according to claim 14, wherein an expert or the like of a scene to which the case belongs is assigned to a situation word related to the field in advance and deemed to be related. Creating concept dictionaries for one or more scenes that store a huge number of situation words with perspectives and collating words against situation words in the concept dictionary, where the data is words Then, the step of linking the word and the viewpoint attached to the situation word, and the step of arranging the words for each case in the same arrangement as the schema viewpoint with respect to the schema in which the viewpoints are arranged, It is characterized by having.
[0035]
The invention according to claim 16 is the method of constructing a surrogate database according to claim 14, wherein one or more of the viewpoints of the schema includes a viewpoint for subdividing the viewpoints, and the viewpoints are arranged. The schema is hierarchized by the schema, and data is classified based on the hierarchized schema.
[0036]
According to a seventeenth aspect of the present invention, there is provided a method for constructing a cache memory using the surrogated database according to any one of the fourteenth to sixteenth aspects. A method for constructing a cache memory linkable to a surrogated database characterized by storing a tuple number and a frequency of use of the tuple data in the database.
[0037]
An invention according to claim 18 is an information sharing system which is connected via a communication line such as the Internet and shares information that is open to each other to manage home appliances and promote a regional network. Provided is an information sharing system having an information sharing technology that enables sharing of a plurality of surrogate databases that can be connected to each other via a communication line such as the Internet.
[0038]
According to a nineteenth aspect of the present invention, in the information sharing system according to the eighteenth aspect, the plurality of surrogated databases which can be connected to each other via a communication line such as the Internet and are sharable are connected to the Internet or the like. The surrogated database and / or the tuple data in the surrogated database that can be provided via a communication line are provided with location information indicating the location of each original, and the original is transmitted via the location information. Is accessible.
[0039]
According to a twentieth aspect of the present invention, in the information sharing system according to the eighteenth or nineteenth aspect, the use frequency of the original information is accumulated in the original through a communication line such as the Internet.
[0040]
BEST MODE FOR CARRYING OUT THE INVENTION
The interaction by a computer according to the present invention will be described in more detail based on the illustrated embodiment.
[0041]
FIG. 1 is a block diagram showing a method for constructing a surrogate database required for a voice dialogue by a computer according to the present invention based on a specific example.
The surrogated database 20a is a surrogated database relating to a scene of “meal”. The surrogate database is a database created for each scene. In order to construct the surrogate database 20a, a plurality of cases (one of the cases 21 is shown in FIG. 1) included in a scene of the surrogate database 20a, and a scene-specific A concept dictionary 22 that stores a plurality of situation words 22a and a data mining unit 23 that classifies words extracted from the case 21 based on the concept dictionary 22 are required.
[0042]
Case 21 is a catalog that can be accessed through a communication line such as the Internet, and is one of the cases relating to the “meal” scene. The case 21 may be a pamphlet or the like other than the catalog as long as data is stored for each title. In addition to documents collected via a communication line, documents generally distributed may be used. In the case of a document, the document is captured by a scanner, digitized, and then handled in the same manner as that collected via a communication line. In Case 21, the store name “New Tokyo Sushi” corresponds to one title, and Case 21 describes the introduction and outline of “New Tokyo Sushi”. Case 21 describes a meaningful word such as "sushi", "Japanese cuisine", "conger eel", "five cars", etc., and an outline of the shop including "reference photos" of sushi. I have.
[0043]
On the other hand, the concept dictionary 22 stores an enormous number of situation words 22a by assigning a viewpoint 22b to each of the situation words 22a related and considered to be related to the field by a scene expert or the like to which the case 21 belongs. Database. Examples of the situation word 22a include words described in a dictionary in which terms specific to an industry are edited, terms used by persons in the industry on a daily basis, and the like. Therefore, words obtained by performing semantic analysis and word analysis on the text of case 21, that is, meaningful words obtained by removing particles, articles, and the like from case 21 are all included in concept dictionary 22. In FIG. 1, for example, a situation word 22 a of “Japanese cuisine” is stored in the concept dictionary 22 with a viewpoint of “genre” added thereto. Note that, in principle, the number of viewpoints is about 30 per scene, but the number of viewpoints can be increased to 100 or more by the judgment of a scene expert to which the case belongs.
In addition, these viewpoints can have a subordinate relationship with each other. By using this dependency, it is also possible to reflect on the hierarchy of the schema of the surrogate database described later.
[0044]
The data mining unit 23 matched the function of extracting words by performing semantic analysis and word analysis on the text described in the case 21 and the function of matching the extracted words with the situation words 22a in the concept dictionary 22. And a function of classifying the words extracted as a result into the surrogate database 20a. In addition, a function for recognizing the title in the case 21 as "New Tokyo Sushi" and a function for recognizing that a photograph or a graph is a photograph or a graph and classifying the photograph or graph, respectively, are incorporated.
[0045]
In the surrogate database 20a, data for each scene, that is, words related to the case 21 and the like are arranged and stored according to a viewpoint 22b input by a human. The viewpoint 22b in the surrogate database 20a has a one-to-one correspondence with the viewpoint 22b used in the concept dictionary 22. FIG. 2 is a diagram showing the surrogated database 20a of FIG. 1 over a wide range.
[0046]
In the surrogate database 20a, an arrangement of the viewpoints 22b is collectively called a schema. In FIG. 2, the schema is divided into a schema A 25a, a schema B 25b, and a schema C 25c. The schema A25a includes "title", "URL", "genre", "reference photograph", "recommended dish", "foodstuff", "store information", and the like. Among these, the viewpoint of further subdividing "store information" is the viewpoint of "capacity", "business hours", "parking lot", etc. The viewpoint of subdividing "reference photos" is "number of dishes", These are viewpoints such as “brightness”, which are included in the schema B25b and the schema C25c, which are collections of viewpoints further subdivided with respect to the schema A25a. The schema A 25a and the schema B 25b may be integrated into one schema, but conversely, the schema A 25a and the schema B 25b may be subdivided to further subdivide into schema A, schema B, schema C, and schema D. Arranging the scenes by arranging the schemas in this manner is called scene hierarchy. The layering of the scenes is established by the user computer asking the user's preference, and the user computer creates the scene while interacting with the user.
[0047]
On the other hand, this user is an expert or the like relating to a scene, and the expert or the like may create a surrogate database before use by the user. Although not shown, the viewpoint of the concept dictionary 22 is that specialists or the like arrange the concepts included in the general dictionary. The general dictionary corresponds to an enormous number of national language dictionaries distributed in general. The concept is attached to the word in this, and it is a viewpoint that the expert classifies and arranges this for each scene. All the words in the case can be automatically classified and arranged by the user computer so that a surrogated database can be constructed. In this case, after the surrogate database is once constructed, the user computer can check with a specialist or the like to increase the degree of completeness of the surrogate database. That is, when the constructed surrogate database is unsatisfactory, the surrogate database can be modified to a satisfactory one by reconfiguring the schema or the like under the instruction of an expert or the like.
[0048]
In the surrogate database 20a, scene-specific cases are classified according to a schema A 25a, a schema B 25b, and a schema C 25c, respectively. Each of the cases is referred to as a tuple when classified according to the schema, and a case 21 is classified as a tuple 26 according to the schema A 25a (see FIG. 2). In the surrogate database 20a of FIG. 2, four examples represented by the four titles of "Shin Tokyo Sushi", "Sichuan Sosakutei", "Grazioso", and "Pork Bon Tei" are shown in Schema A 25a, Schema B 25b and Schema B 25b. Each of the four taples classified according to the schema C25c is described. For the tuples classified according to the schema A25a, the tuple numbers T1, T2, T3, and T4, for the tuples classified according to the schema B25b, for the tuple numbers T1a, T2a, T3a, and T4a, and for the tuples classified according to the schema C25c. , T1b, T2b, T3b, and T4b.
[0049]
A column is a collection of the surrogates database 20a based on the viewpoint. For example, in FIG. 2, what is summarized according to the viewpoint “genre” is described as a column 27. From the above, it can be seen that the surrogate database is one in which each of the cases is classified according to the schema, and is composed of tuples and columns.
[0050]
In the case 21, the data mining unit 23 identifies that “New Tokyo Sushi” is the title of the case 21. For example, this is possible because a program is set up in which the term located at the top of the first page of the case is the title of the case. Then, since "New Tokyo Sushi" is a title, it is included in one of the columns of the surrogate-ized database 20a compiled from the viewpoint of "title". As a result, the “tapple” in which “New Tokyo Sushi” is entered in the “Title” column is a classification and arrangement of the data relating to “New Tokyo Sushi” in Example 21. In the surrogate database 20a, the tuple numbers are assigned to the respective tuples in order from the top, and the taple number of the "taple" in which the data of the case 21 is stored is T1. The tuple number is arbitrarily determined, but one tuple does not overlap and is included in the surrogate database in one scene. Further, the superiority of the case is not determined by the taple number.
[0051]
Next, in case 21, for example, a sentence "Sushi is one of Japanese dishes" is written. First, semantic analysis and word analysis of the sentence are performed by the data mining unit 23, and two words of "sushi" and "Japanese cuisine" are extracted.
On the other hand, in the concept dictionary 22, situation words 22a of "sushi" and "Japanese cuisine" such as "sushi ... category" and "Japanese cuisine ... genre" are stored together with a viewpoint 222b.
[0052]
Thus, the word “sushi” is classified into the “category”, and the word “Japanese cuisine” is classified into the taple of T1 from the viewpoint of the “genre”. When this process is entirely performed on the case 21 according to the schema A25a, the tuple of T1 is completed. Then, the same operation is performed on other “cases” belonging to the “meal” scene, and as a result, the surrogate database 20a is completed. Similar operations are repeated for other scenes to create a surrogate database. It should be noted that data such as words that are classified and incorporated in the surrogate database are referred to as tuple data. In other words, words such as "sushi" and "Japanese cuisine" in the surrogate database 20a are each tuple data.
[0053]
The schema A25a of the surrogate database 20a includes "URL" and "reference photograph" as viewpoints. Words corresponding to this viewpoint are not included in the concept dictionary 22. Therefore, it is not possible to extract data for the viewpoints of “URL” and “reference photograph” from the case 21 by using the concept dictionary 22. When extracting data from the viewpoint of “URL”, a URL recognition program is used. When extracting data from the viewpoint of the “reference photograph”, a function of recognizing that the photograph or graph in the data mining unit 23 is a photograph or graph, respectively, is used. Since the case 21 is the home page of the HTML file, the URL recognition program writes this URL, that is, “A1” in the T1 taple column for the viewpoint of “URL”. On the other hand, the data mining unit 23 that has searched for the photograph from the case 21 puts position information such as a URL indicating the location of the photograph in detail in the column of the taple of T1. This makes it possible to store images such as characters and photographs that cannot be stored in one database in one database.
[0054]
At the same time as capturing the URL of the photograph, the photograph is decomposed by using an image recognition program so that the photograph can be determined by sentences or words. An image recognition program has a function of classifying a photograph into a mesh shape and reading its characteristics so that the photograph can be determined by a sentence or a word. Thereby, if the feature in the photograph, for example, the photograph represents the arrangement of chairs and tables in the store, the number of chairs in the store, the interval between tables, and the like are stored as sentences and words. In addition, a function of extracting a subjectivity represented by comments or the like of an expert from a case is added to the image recognition program. This subjectivity is a sentence described in the commentary column of the photograph in the case, and the function of taking out the sentence takes out the subjectivity represented by comments of an expert or the like added to the image recognition program from the case. It is a function. In the surrogate database 20a, a schema C25c for storing reference photograph data is formed further below the viewpoint of "reference photograph". This makes it possible to record the photograph data individually and specifically in the surrogate database 20a. Graphs can be saved in the same way.
[0055]
However, in the case 21 of the photos, two types of photos are shown: a photo of a store exterior and a photo showing a sample of a dish. Among them, the photograph corresponding to the viewpoint of the “reference photograph” is a photograph showing a sample of the dish. This determination is made every time a photograph is found, while checking with a person or user who has introduced a viewpoint such as an expert. That is, when the data mining unit 23 extracts a photograph of the store appearance from the case 21, the data mining unit 23 asks the person or user who introduced the viewpoint of an expert or the like, "Do you want to incorporate this photograph into the reference photograph?" Make a program to ask. However, since this picture is not a picture to be incorporated into the "reference picture", the person or user who introduced the viewpoint of an expert or the like answers "No." As a result, the data mining unit 23 does not use the extracted exterior photograph of the store. Next, when the data mining unit 23 extracts a photograph showing a sample of the dish from the case 21, the data mining unit 23 informs the person or user who introduced the viewpoint of an expert or the like, “Incorporating this photograph into the reference photograph. ? " Since this picture is a picture to be incorporated into the “reference picture”, a person or a user who introduced the viewpoint of an expert or the like answers “yes.” As a result, the data mining unit 23 puts the position information such as the URL indicating the location of the photograph showing the sample of the dish in the column of the taple of T1.
From the above, the data of the case 21 is correctly classified into the surrogate database 20a and completed.
[0056]
In addition, when incorporating other tuple data into the surrogate database, it is possible to individually confirm with the person or user who introduced the point of view of an expert or the like, which is a feature when constructing the surrogate database. It has become. As a result, the created surrogate database becomes the most effective database for the user and the like.
[0057]
Next, a method for constructing a knack cache required for a voice dialogue by a computer according to the present invention will be described based on a specific example.
FIG. 3 is a knack cache 28a of a “meal” scene created based on the surrogate database 20a shown in FIGS.
[0058]
The tip cache 28a includes a part of the tuple data of the surrogate database 20a, a tuple number indicating which tuple of each of the tuple data is included in the surrogate database 20a, and a frequency of use of the tuple data. It has been saved with.
[0059]
First, before creating the knuckle cache 28a, an index file 27a is created which stores all of the tuple data in the surrogate conversion database 20a and a tuple number indicating which tuple is included in each tuple data. . Although the index file 27a does not show a concrete example, since the index file 27a is a collection of all the tuple data of the surrogate database 20a, the index file 27a has an enormous capacity and is stored together with the surrogate database 20a. When the taple data is the same word, the taple data can be integrated to group the taple numbers. As a result, the amount of data is reduced, and the duplication work of the search described later can be omitted.
[0060]
On the other hand, a data file in which a part of the index data of the index file 27a is added with a tuple number and a frequency of use and saved is the trick cache 28a. The number of tuple data in the knuckle cache 28a is 5000. Similarly, index files and tips caches are created from the surrogate database for each of the other scenes.
Note that the frequency of use can be expressed by using the ratio of use or the number of accesses of the tuple data. However, the use ratio is obtained by dividing the number of accesses to the tuple data by the number of accesses to the trick cache and multiplying by 100. Value.
[0061]
Tips cache and index files are used to identify the tuples contained in the surrogate database. The tips cache and index file are both search files for searching for a specific tuple from the surrogate database. That is, if the surrogate database is compared to a book, both the tips cache and the index file correspond to the book index. However, the tips cache corresponds to a simple index, and the index file corresponds to a detailed index. In addition, the tuple data in the knuckle cache is arranged in the order of the most frequently used number, while the tuple data of the index file is arranged in the order of the alphabet or alphabetical order.
[0062]
For example, in FIG. 2, the tuple data of "Japanese cuisine" from the viewpoint of "genre" is described in two taples T1 and T4. This is shown on the first line in FIG. That is, the data “T1 & T4” is written on the same line as the taple data of “Japanese cuisine”. "T1 &T4" indicates that "they are included in the tuples of T1 and T4, respectively." Thus, the “Japanese cuisine” tuple data is incorporated into the T1 and T4 tuple data. ”. The result of similar processing for the other tuple data is the knack cache 28a shown in FIG. 3, which indicates that the frequency of use is "Japanese cuisine" most.
[0063]
However, some viewpoints, such as the schema B25b of the surrogate database 20a, are referred to as parking lots and the number of persons. The tuple data such as "5 cars" or "20 people" is stored in the tip cache 28a as it is. In this case, the meaning of the tuple data may be unclear. Therefore, for example, the tapple data for the viewpoint of “parking lot” is divided into “parking lot” or “no parking lot”. In the tips cache 28a, the taple data is set by a program such as "parking lot available", and those having a parking lot are stored in the tips cache 28a.
[0064]
By the way, even if the data is “5” or “20”, the index file stores the data as it is. This is because the index file has a stronger aspect as a search file of the surrogate database than the trick cache, rather than aiming at speeding up data processing.
[0065]
On the other hand, the tips cache focuses on identifying tapples, that is, cases from words input at high speed. Therefore, in order to perform a search simply and smartly, a part of the taple data itself is arranged and stored in a simple manner. In other words, the knuckle cache is constructed with a focus on the search speed rather than the accuracy of the tapped data, and the index file is constructed with a focus on the accuracy of the tuple data rather than the knuckle cache. Of course, the trickle data may be directly taken from the index file into the tips cache.
[0066]
On the other hand, tuple data can be transferred from the index file to the trick cache. When the word to be searched is not included in the taple data included in the trick cache, that is, when the taple data is not included, the search is performed using the taple data of the index file. The highest frequency of use, for example, 100%, is added to the tuple data used for the search in the index file, and the data is copied and written into the knack cache. Thereafter, the tuple data used for the search in the index file is not deleted and stored without any change. Therefore, the index file does not change the number of stored tuple data, but changes the tip cache. The tuple data of the knack cache in which 5,000 tuple data are initially stored increases to 5001, 5002,... When used.
[0067]
The tips cache is organized when a certain period of time has elapsed or when a certain capacity has been reached. The knuckle cache is defined so as to store, in principle, 5000 tuple data. Therefore, the increased tuple data is organized into 5000. This is performed instantaneously, and the less frequently used ones are deleted from the knuckle cache to reduce the number to 5,000. Or, there are two tips caches, and when organizing the tuple data, one tip cache is used, and the other tips cache is replaced, so that the tips cache works smoothly even while organizing. It is also possible to
[0068]
In principle, the knack cache contains 5000 frequently used words in the surrogates database. However, the number of 5000 can be increased or decreased by setting, and can be 2000 or 7000. It should be noted that there is at least one surrogate database, one index file, and one knock for each scene, and it is possible to reduce the number to two by setting only the number of knack caches.
Also, as is clear from the above, the concept of the schema and columns of the surrogate database is irrelevant to the index file and the tips cache.
[0069]
Furthermore, a similarity search constructed in a bottom-up format from a set of tuple data can be attached to the tuple data in the tips cache or index file. For example, similarities such as "noodles" are extracted from the taple data of "ramen" and "pasta", and new viewpoints are classified and arranged in a tree-like manner in a bottom-up format. As a result, it is also possible to attach the derived viewpoint of “noodles” to the taple data of “ramen” or “pasta” and use it for search.
[0070]
On the other hand, a database used for scene identification, which is the basis of the present invention, specifically, a scene-based word database and a scene important word database are created for each scene.
The scene-based word database is a database that contains all the tuple data of the surrogate database and words that are not classified in the surrogate database from each case for each scene. However, unlike a database that stores word databases based on scenes based on examples and viewpoints like a surrogate database, or with a tuple number like a knuckle cache or index file, all rules are in place. Instead, it is simply a list of the tuple data itself.
[0071]
The scene important word database is a word in the word database based on the scene, a word having a high appearance frequency, or a result of performing the importance calculation, as a result, a word having a high appearance frequency value or a importance calculation value of 50 to 300, Saved. The appearance frequency value is a value indicating, for example, how many times the word “Japanese cuisine” appears in the scene beyond the range of each case. Also, the importance calculation value exceeds the range of each case in the scene, for example, when the appearance frequency value of “Japanese cuisine” and “sushi” is high, the value derived from the relationship between such words is That is. Both the appearance frequency value and the importance calculation value indicate how indispensable the word or the like in the scene is, and generally correspond to a "keyword". . Also, the words included in the column defined from the viewpoint of the title of the scene and “title” or “genre” in FIG. 2 are words specific to the scene, and are indispensable when specifying the scene. Therefore, priority is given to the scene important word database. In other words, the scene name and the like are included in the scene important word database even if the number of occurrences in the case is small. Such words do not leak from the scene important word database because the importance calculation value is high.
[0072]
Next, an embodiment of a voice dialogue by a computer according to the present invention will be described with reference to FIG.
FIG. 4 is a block diagram showing one embodiment of a voice dialogue by a computer according to the present invention.
[0073]
The user computer 1 used for voice dialogue by the computer includes a cache memory 2a, an external storage unit 2b storing and accumulating databases such as surrogate databases 20a, 20b, 20c, a dialogue control unit 3, and a scene control unit. It includes a unit 4a, an operation instructing unit 4b, and a similar link unit 50, and includes a microphone and a speaker for performing input and output from the user 100.
[0074]
The dialogue control unit 3 includes a speech recognition unit 31, a phoneme memory unit 32, a speech synthesis unit 36, an utterance template unit 37, a knack for dialogue 38, and a question processing unit 39. The voice recognition unit 31 recognizes voice input from the user 100 and compares the voice with a phoneme stored in the phoneme memory unit 32. The phoneme memory unit 32 is an area in which data such as words is temporarily stored, and is frequently and immediately rewritten in response to a dialogue. The voice synthesizer 36 converts the result processed by the scene controller 4a and the operation instructor 4b into sound according to the format stored in the utterance template 37, and outputs the sound.
[0075]
The external storage unit 2b includes surrogate databases 20a, 20b, 20c, index files 27a, 27b, 27c, tips caches 28a, 28b, 28c, and scene important word databases 43a, 43b, 43c, respectively. A scene-based word database 42a, 42b, 42c is stored and stored. The scene-based word databases 42a, 42b, 42c including the scene important word databases 43a, 43b, 43c, respectively, are used for the scene control unit 4a. The index files 27a, 27b, 27c and the tips caches 28a, 28b, 28c are used for the operation instruction unit 4b. When the scene control unit 4a checks words against the scene-based word databases 42a, 42b, and 42c including the scene important word databases 43a, 43b, and 43c, respectively, and when the operation instruction unit 4b checks the index files 27a, 27b, and 27c. When matching words to the tips caches 28a, 28b, 28c, their databases are copied to the cache memory 2a. The surrogate databases 20a, 20b, and 20c are used to provide a schema to the question processing unit 39.
[0076]
In FIG. 4, there are three scenes, "meal", "accommodation", and "leisure land", and the corresponding surrogate databases 20a, 20b, 20c, index files 27a, 27b, 27c, tips cache 28a, 28b, 28c, scene-based word databases 42a, 42b, 42c, and scene important word databases 43a, 43b, 43c are stored.
[0077]
The scene control section 4a includes a scene determination program 41 for determining a scene. The scene determination program 41 specifies a scene by comparing input words input by the user 100 with a scene-based word database 42a, 42b, 42c or a scene important word database 43a, 43b, 43c in the external storage device 2b. . The scene-based word databases 42a, 42b, and 42c are all the tuple data in the surrogate-ized databases 20a, 20b, and 20c, respectively, in the external storage unit 2b. Of all the tapped data, scene representative word databases 43a, 43b and 43c are stored with words representing the scene added with the frequency of appearance and the like. The scene important word databases 43a, 43b, 43c are data groups of words arranged to identify scenes at high speed by collating with input words. The scene control unit 4a can specify the scene of the dialogue content by accessing the scene important word databases 43a, 43b, 43c and the word databases 42a, 42b, 42c based on the scenes in which all the tuple data for each scene are stored.
[0078]
Thus, a specific description will be given by applying the voice dialogue by the computer according to the present invention shown in FIG. 4 to car navigation. In this case, the user 100 in FIG. 4 corresponds to a car driver, and the user computer 1 corresponds to car navigation.
[0079]
In the voice dialogue by the computer according to the present invention, the voice input by the user 100 through the microphone is first recognized by the voice recognition unit 31 to become an input sentence. Then, sentence analysis and word analysis are performed.
The input text represents an input voice, that is, a sound obtained by converting a sound into an electric signal. An input sentence is decomposed into input words that are indispensable for connecting dialogue.
[0080]
For example, when the user 100 asks the user computer 1 to “wake up because there is something I want to hear. (Input sentence 1),” the user computer 1 is activated. The user computer 1 responds to this voice by saying, "Thank you for starting me. I can talk about three scenes: food, accommodation, and leisure land. (Output sentence 1)." . This is because the program that answers the user 100 with the content that the user computer 1 can interact with, that is, the scene, when started, is recorded in the question processing unit 39. That is, the user computer 1 stores data relating to three scenes of meals, accommodation facilities, and leisure land, and the user 100 receives the output sentence 1 and determines which of the three scenes to interact with. Need to decide. In the user computer 1, the output sentence 1 is output from the speech synthesizer 36, and at the same time, the words of the scene important word databases 43a, 43b, 43c unique to the three scenes of meal, accommodation, and leisure land are temporarily stored in the cache memory 2a. I do.
[0081]
The user 100 replies to the output sentence 1 “Yes, I want to eat. (Input sentence 2)”. The input sentence 2 includes an input word “meal”. This is recognized by the phoneme memory unit 32. Then, the scene determination program 41 checks the scene important word databases 43a, 43b, 43c temporarily stored in the cache memory 2a. In this case, since the word "meal" is clearly present only in the meal scene, it is specified that the scene of the conversation content is "meal". This means that the scope of the dialogue has been narrowed, and is the most important step of the present invention.
[0082]
However, when the input word recognized by the voice memory unit 32 is duplicated in the scene important word databases 43a, 43b, and 43c of a plurality of scenes, the number of words and the appearance frequency value of the word in the scene and It is determined that a scene with a large number multiplied by the importance calculation value is likely to be a dialogue scene. However, since the multiplied number is a relative number, there is a problem in absolutely judging from the number. Therefore, at that time, the user computer 1 determines the scene by asking the user 100 whether or not this scene is good or prompting the user 100 to input information for specifying a further scene.
[0083]
Although the scene is apparently specified, the next format of the utterance template unit 37 is activated according to the program of the question processing unit 39 in order to confirm the scene with care. In the utterance template section 37, when the scene is decided, a format for listening back to the scene is recorded. The specified scene is applied to the part of "~", and the user 100 can confirm "It's a story about meal. (Output sentence 2)".
The user 100 inputs an input sentence 3 “Yes, (input sentence 3)” to the output sentence 2.
By obtaining the above steps, the scene is reliably specified, and the dialogue is continued.
[0084]
Next, the user computer 1 asks the user 100 what kind of story he wants to talk about the specified “meal” scene. Activate the format included in the utterance template 37 according to the instructions of the tips 38 of the dialogue such as “What category do you want to eat?” Or “What kind of genre do you want to eat?” Output the output statement. Thus, the user computer 1 can prompt the user 100 to input information for continuing the conversation.
[0085]
The dialogue tips section 38 is a group of programs for asking the user 100 for the viewpoint, and it is also possible to form a group of different programs depending on the scene. A mechanism for prompting the user 100 to input a viewpoint after a scene is specified is provided in the tip 38 of the dialogue. When the scene of "meal" is specified, the schema A25a in the surrogate conversion database 20a relating to the scene of "meal" is called by the knack 38 of the dialogue. The knuckle part 38 of the dialog uses the called schema A25a in order to specify the tuple. Specifically, a program for prompting the user to input “genre” and “food ingredients” and specifying a tapple is incorporated in the tip 38 of the dialogue. Of course, input of any viewpoint may be urged, and input of all viewpoints may be urged. However, in order to assemble the dialogue smoothly, it is better to prompt the user to input two or more perspectives and to proceed with the dialogue, so that the user can make the dialogue interactive, smooth and reliable. 100 can be felt. Further, in order to extract an input word from the input voice input by the user 100, taple data for each viewpoint is recorded in the phoneme memory unit 32. However, if the number of tuple data recorded in the phoneme memory unit 32 is large, it takes a long time for the matching. Therefore, only the amount of tuple data whose collation time is within 3 seconds is stored in the phoneme memory unit 32. If the collation cannot be performed within 3 seconds, the dialog is not interrupted by asking the user 100 or asking a further question.
[0086]
On the other hand, after the scene is specified, the conversation is smoothly and rapidly performed on the cache memory 2a using the knack cache. To realize this, at the same time as or immediately after the scene is specified, the knack cache 28a unique to the specified scene "meal" stored in the external storage unit 2b is copied and recorded in the cache memory 2a ( (See FIG. 4).
[0087]
The user who is asked "What kind of food do you want to eat? (Output sentence 3)" is asked "I want to eat Japanese food.", "I want to eat ramen." It is preferable to input a reply such as "I want to eat." However, in the embodiment of FIG. 4, the user responded “I want to eat seafood because I came near the sea. (Input sentence 4)”.
[0088]
When the sentence analysis and the word decomposition of the input sentence 4 are performed by the speech recognition unit 31, input words “sea” and “seafood” are extracted. The input words "sea" and "seafood" are stored in the "phoneme memory unit" at this stage. Next, the user computer 1 asks the user 100, "What kind of genre do you want to eat? (Output sentence 4)." Therefore, the user 100 answers "I like Japanese cuisine. (Input sentence 5)." The speech recognition unit 31 processes the input sentence 5 to extract an input word of “Japanese cuisine”.
[0089]
Since the two viewpoints that the dialogue tip 38 prompted for input have been satisfied, the extracted input words are sent to the search program unit 46 of the operation instruction unit 4b. The search program unit 46 matches the input words “sea”, “seafood” and “Japanese cuisine” with the words in the tips cache 28a, and further matches one or more words matched by the matching to topics in the scene. Specifically, a task for specifying a tuple is performed.
[0090]
However, the input words “sea” and “seafood” do not match the tuple data of the knack cache 28a. Therefore, the user computer 1 uses the synonym dictionary, synonym dictionary, and analogy search dictionary in the similar link unit 50 to search for a word intended by the user 100. As a result, "fish" in the tip cache 28a has emerged as a candidate. Here, the taple data included in the candidates is limited to data recognized by the user computer 1 as words intended by the user 100 with a probability of 80% or more. For this probability, the probabilities assigned to the synonym dictionary, synonym dictionary, and analogy search dictionary are used. The possibility that the tuple data “fish” derived here matches the intention of the user 100 is 80% or more, but not 100%.
[0091]
Then, the format included in the utterance template 37 is activated according to the question processing unit 39, and the user computer 1 asks the user 100, "Do you want to eat fish dishes? (Output sentence 5)." In response, the user 100 replies “Yes, (input sentence 6)”.
[0092]
As a result, it was determined that the tuple data from the viewpoint of “foodstuff” was “fish”. However, there are many taples including "fish" according to FIG. On the other hand, the input word of “Japanese cuisine” matched the “Japanese cuisine” of the tuple data in the tip cache 28a. Looking at the taple numbers of "Japanese cuisine", they are T1 and T4.
[0093]
In this way, the search program unit 46 uses the tuple numbers of “fish” and “Japanese cuisine” in the trick cache 28a to obtain a set of tuple numbers of “fish” and “Japanese cuisine”. In other words, from the tuple number of the taple containing the taple data of "fish" and the taple number of the taple containing the taple data of "Japanese cuisine", the taple number in both is searched. As a result, the tuple of T1 can be specified.
[0094]
The user computer 1 answers the specified title of the tapple to the user 100. This is because the program of the question processing unit 39 is designed to output the one corresponding to the viewpoint of “title” in the schema A25a. User computer 1 asks, "How about new Tokyo sushi? (Output sentence 6)." However, since the user 100 is driving a car, the user computer 1 asks “Is there a parking lot? (Input sentence 7)”.
[0095]
The input sentence 7 is processed by the voice recognition unit 31 to extract an input word “parking lot”. The phoneme memory unit 32 checks whether or not there is a viewpoint applicable to the viewpoint included in the schema A25a of the conversation tip unit 38. Since there is no applicable word in the phoneme memory unit 32, the conversation tip unit 38 calls another schema, specifically, the schema B25b and the schema C25c from the surrogate database 20a. As a result, the phoneme memory unit 32 can find the viewpoint of “parking lot” in the schema B25b. The search program unit 46 reads the tuple data from the viewpoint of “parking lot” into the surrogate database 20a. As a result, from the viewpoint of the parking lot of the tuple at T1, it can be seen that the tuple data of "none" is included. Therefore, the speech synthesizing unit 36 outputs "No parking lot. (Output sentence 7)" using the utterance template unit 37.
[0096]
Then, the user 100 answers “Chinese cuisine is fine. (Input sentence 8)”. In response to the input sentence 8, the knack part 38 of the dialog puts “Chinese food” from the viewpoint of “genre” instead of “Japanese food” previously input. In response to this, the search program unit 29 deletes “Japanese cuisine”, and performs a search on “fish”, “parking lot”, and “Chinese cuisine” in the tips cache 27a. As a result, the tuple of T2 matches the condition, so the user computer 1 asks the user 100, "How about Sichuan Souzei? (Output sentence 8)". The user 100 replies, "It's good there (input sentence 9)." As a result, the scene was set to "meal" and the taple was set to "Sichuan Sosakutei". Up to this point, the step of determining the tuple is the step of performing a dialogue using the tip cache 28a.
[0097]
By the way, when the number of tapples specified in the above steps is not one but a plurality, it leads to prompting the user 100 to input a condition for narrowing down the content of the dialogue, and the tip 38 of the dialogue is activated. In the tip part 38 of the dialogue, a program is prepared for prompting the input of a “point of view” that has not yet been specified when the tapple cannot be specified at one time. Therefore, the user computer 1 asks, "Which category of dish is good? For example, Chinese cuisine includes Sichuan cuisine, Cantonese cuisine, Shanghai cuisine, and Beijing cuisine. Japanese cuisine includes tempura, sushi, and hot pot. There is a dish or the like. Which is better? " In this way, it is possible to search for a desired tuple by the user 100 by increasing the elements for specifying the tuple.
[0098]
When the tuple is determined, the schema and the data of the specified tuple T2 are called by the knuckle part 38 of the dialog, and the user computer 1 is ready to answer the contents of the tuple of T2 to the user 100 at any time.
[0099]
Next, the dialogue is advanced using the specified T2 tuple. Does user computer 1 go to Sichuan Sosakutei? (Output sentence 9). " The user 100 asks the user computer 1 "Let's go to Sichuan Sousakutei. By the way, what's delicious? (Input sentence 10)". Upon receiving the input sentence 10, the user computer 1 answers the related matter, "Shrimp is recommended. (Output sentence 10)" from the tapple of T2. "If you have a photo, I want to see it. (Input sentence 11)" In response to this, the user computer 1 replies to the user, "Display the picture. Stop the car and look. (Output sentence 11)." In this way, the interaction between the user 100 and the user computer 1 is performed.
When the scene changes during the conversation, the scene control unit 4a and the search program unit 46 can be used to specify the scene and the taple again, and perform the smooth and high-speed conversation processing.
[0100]
Next, knowledge acquisition for collecting information via communication means such as the Internet in a voice dialogue by the computer according to the present invention will be described.
FIG. 5 is a block diagram showing knowledge acquisition via communication means such as the Internet in a voice dialogue by a computer according to the present invention.
In FIG. 5, the relationship between the user computer 1 and the user 100 on the left half is the same as that of the first embodiment described with reference to FIG. For acquiring knowledge via communication means such as the Internet, the information collection and sharing processing unit 6 is required. In FIG. 5, the information collection / sharing processing unit 6 is located at a central management center connected to the user computer 1 via a communication line. The information collection / sharing processing unit 6 may be configured to be provided inside the user computer 1.
[0101]
The information collection and sharing processing unit 6 includes a word / decomposition processing unit 61, a word grouping unit 62, a URL search processing unit 63, a URL knowledge body 64, an Internet knowledge acquisition unit 65, a Web robot 66, and a dynamic grouping unit. 67, a frequency program unit 68, and a plurality of concept dictionaries (not shown).
Further, the information collection / sharing processing unit 6 linked to the dialog control unit 3 and the like of the user computer 1 is activated. Of course, it is also possible to incorporate only necessary functions into the information collection / sharing processing unit 6 and start up as an independent terminal.
[0102]
The word decomposition / processing unit 61 has a role of performing sentence analysis and word analysis on an input sentence input by the user 100, and extracting a meaningful word. However, in FIG. 5, since the user 100 and the information collection / sharing processing unit 6 are connected via the user computer 1, the word decomposition / processing unit 61 is not activated. In other words, since the work of the word decomposition / processing unit 61 is performed by the dialogue control unit 3 of the user computer 1, it is not necessary for the word decomposition / processing unit 61 to analyze the input sentence. Therefore, in FIG. 5, data such as words input from the user computer 1 is transmitted to the word grouping unit 62.
[0103]
The word summarizing unit 62 plays a role of deciding what viewpoint to classify the information gathered based on the inputted input words, that is, what schema should be classified. The word grouping unit 62 has a memory for storing an existing schema 62a and a new schema 62b. The existing schema 62a includes a viewpoint "5W1H" for organizing information gathered based on the input word when the viewpoint is not input. "5W1H" means Who (who), When (when), Where (where), What (what), Why (why), How (what). On the other hand, the new schema 62b is a schema created based on the intention of the user 100. For example, if the user 100 wants to classify the information gathered based on the input word using the schema A25a in FIG. 2, the user 100 issues an instruction to set the new schema 62b to the schema A25a via the user computer 1. input. If the information is to be classified based on a completely different viewpoint, the user 100 can create a new schema 62b in the word grouping unit 62 each time. That is, the user 100 inputs a plurality of input words, specifies to which viewpoint these input words belong using the concept dictionary, and forms the new schema 62b based on the specified viewpoints.
[0104]
The URL search processing unit 63 is closely connected to the URL knowledge body 64, and determines which URL is used to access which homepage when collecting information based on the input word. The URL knowledge body 64 is a database created in advance. The URL knowledge body 64 sets a URL of a homepage indicating one case specific to a certain scene and a plurality of data such as words in the homepage as a set, and The database is stored. The URL search processing unit 63 applies the input word to the database of the URL knowledge body 64 and determines one URL having a large number of matching words.
[0105]
The Internet knowledge acquisition unit 65 searches for information based on the URL determined by the URL search processing unit 63. Then, the Web robot 66 takes in the URL data 65a based on the URL determined by the URL search processing unit 63, takes out the linked URL 65b in the URL data 65a, and uses them to take in the data of the URL 65b again. Have. Therefore, the Web robot 66 is a self-contained robot and does not move according to the user's will. That is, when the information collection / sharing processing unit 6 is not accessed by the user 100, the Web robot 66 is working to extend the URL knowledge body 64.
[0106]
The dynamic grouping unit 67 classifies the information collected via the Internet based on the schema determined by the word grouping unit 62 and creates one taple. That is, one tuple for one case is created for the schema determined by the word grouping unit 62. The created set of schema and tuple is transmitted to the user computer 1 and transmitted to the user 100.
[0107]
The frequency program section 68 has a misunderstanding program. The misunderstanding program not shown in FIG. 5 is activated when the user 100 accesses the information collection and sharing unit 6 to collect information on the same case or the same scene more than a certain number of times. Is set to For example, a setting such as "when the same scene is accessed five or more times in one week" is set. The misunderstanding program newly creates a scene-specific surrogate database using a scene-specific concept dictionary. The construction of this surrogate database is performed irrespective of human will. Therefore, at the time of creation, the user 100 is asked whether or not to record the newly constructed surrogate database 20d in the external storage unit 2b of the user computer 1. During the dialogue with the user 100 started by this question, the user 100 can also modify the newly constructed surrogated database 20d. You can modify the schema and rebuild it. In this way, the user computer 1 and the like can construct a new surrogate database 20d constructed according to the intention of the user 100, and can store the surrogate database 20d in the external storage unit 2b of the user computer 1. Of course, when the surrogate database 20d constructed by the user computer 1 or the like is unnecessary, the user 100 can inform the user computer 1 or the like of the surrogate database 20d and delete it.
[0108]
When the surrogate database 20d is stored in the external storage unit 2b, the user computer 1 creates an index file and a trick cache based on the surrogate database 20d in the external storage unit 2b. This index file is created automatically because it is a collection of tuple data in the surrogate database. However, since the usage frequency of the trick cache data is added to the tapped data, it is impossible for the user computer 1 to construct the cache without permission. For this reason, the user computer 1 listens to the user 100 and listens to the taple data to be put into the trick cache. For example, "Do you want to add the tiple data about the viewpoint" what? " , Etc., and prompting the user 100 to input, it is also possible to put the tapped data in the trick cache. At this time, it is better to set the usage frequency to the highest value, for example, 100%. This is because the frequency of use changes with each use, and a desired knack cache is formed.
[0109]
On the other hand, there is no need to initially store any data in the trick cache based on the surrogate database 20d. That is, it may be left empty. This means that the taple data is copied from the index file to the knurl cache each time it is used, and the knurl cache grows, leading to the use of the characteristic that the knurl cache is a self-growth type.
[0110]
Next, a distributed sharing technology (hereinafter, OFC) according to the present invention will be described.
FIG. 6 is a block diagram showing the OFC 7 according to the present invention applied to a local network society.
The OFC 7 is an independent sharing technology that can be installed in each user terminal, each house, and each company. In FIG. 6, an OFC 7 is installed in a user computer 1 so as to be mutually open to the outside.
[0111]
The OFC 7 is a technology for sharing information of its own or another person that is distributed and installed or is located at a remote place via each OFC 7, that is, a plurality of surrogated databases in the world. To use the surrogate database on a terminal such as each user computer, a knack cache is necessary, and each surrogate database is provided with a knuckle cache. Of course, an index file which is indispensable when creating a tip cache from the surrogate database is provided. However, in the embodiment shown in FIG. 6, the description of the index file is omitted.
[0112]
On the other hand, the surrogate database, tips cache, and index file can be used by directly accessing each other, but when the frequency of use is high or when you want to recreate the surrogate database of another user computer to your own preference. For example, it is also possible to copy a surrogated database on another user computer and download it to its own user computer. In addition, since it is possible to copy the surrogate database, the terminal number indicating where the original of the surrogate database was or exists is not only the surrogate database but also the tips cache and index. All data in the file is attached. Thus, even if a surrogate database or the like is copied, it is possible to easily reach the original at any time.
[0113]
Further, when the copied surrogated database is modified or improved, the original can be updated correspondingly. When connecting a plurality of user computers and sharing one surrogate database, the surrogate database is copied and used by each user computer. As a result, the surrogated database is improved with the tuple data modified and augmented. When the surrogate database is activated after use, the improved surrogate database is reflected in the original. As a result, its use will evolve the surrogated database. This means that the surrogate database is always out-of-date and always filled with the latest information.
[0114]
In FIG. 6, a private vehicle 81 has a user 100 and a user computer 1 installed therein. Further, the user computer 1 of the private vehicle 81 is connected to other computers in the private house 82 and the respective computers in the central management center 9 through a communication line such as the Internet. In each computer, the OFC 7 is opened outward and inward.
[0115]
Through the OFC 7, the user 100 can effectively utilize a database on another computer. The user computer 1 of the user 100 stores data such as a surrogate database relating to leisure land, accommodation, and meal scenes effectively used in the car navigation system. Therefore, the user 100 does not feel inconvenience if he uses the surrogate database only as a car navigation system. However, when the user travels and performs fieldwork, it may be necessary to use information necessary for fieldwork at the destination. FIG. 6 assumes such a situation.
[0116]
The user 100 was searching a shoreline to examine vegetation, but found a cliff that did not exist one year ago. The user 100 found a fault exposed on the coastline, and collected a sample for each stratum from the fault. The sample was analyzed by a portable analyzer or the like. However, since the user 100 is not an expert in geology, the user 100 cannot determine. Therefore, the present inventors came up with the idea of using a geologic surrogate database on another user's computer via the OFC 7.
[0117]
In the surrogate database 101a of the user 101, enormous data on geology is orderly stored based on a schema in which viewpoints input by the user 101 are arranged. A knack cache 101b containing words frequently used in the geological survey is constructed for searching the surrogate database 101a. Further, these data of the user 101 are opened outside via the OFC 7. Therefore, the user 100 can use the surrogate database 101a and the knuckle cache 101b of the user 101 via the car navigation system of the private car 81 like their own databases.
[0118]
However, the user 100 does not know where the surrogated database 101a of the user 101 is located. Therefore, a search is made to determine whether or not the geology surrogate database 101a exists in the URL knowledge body 64 of the information collection / sharing processing unit 6 of the central management center 9. In the URL knowledge body 64, not only the URL but also the location information of the original of the surrogate database created using the URL is recorded. Therefore, it was possible to confirm that the geology surrogate database 101a exists in the user computer of the user 101.
[0119]
The knack cache 101b serves as an entrance that is accessed first by the user 100, and can specify a scene from words intended by the user 100. Thus, the user 100 can quickly extract necessary data from the surrogate database 101a of the user 101 and derive an analysis result. This is because the knock cache 101b that enables a high-speed search to the surrogate database 101a is a window through OFC. As a result, the amount of data provided through a communication line such as the Internet is small, the search is performed quickly, and the time required for communication is reduced. Specifically, the time required to search for one piece of information is about several ms.
[0120]
Through the OFC 7, another surrogated database in a distributed environment can be used like its own surrogated database. However, it is also possible to allow only certain people to use it and keep the surrogate database confidential. In this case, since the OFC 7 is installed at the outermost position in each user computer or the like, the OFC 7 can provide security so that only the access from those having a specific code in the OFC 7 can be provided. This enables safe operation of information.
[0121]
Further, the OFC 7 can also restrict the acquisition of knowledge and the like via the communication line such as the Internet in the information collection and sharing processing unit 6 shown in FIG. For example, in order to modify the schema, access is made to the central management center 9 via the OFC 7 so that the authorization must be obtained. This authorization can be provided not only by a contract when the OFC 7 is installed, but also by a request from the user. This is because it is possible to prevent a new surrogate database from being constructed by another user or update information in an existing surrogate database without permission when a user computer is involved in sharing. That's why.
[0122]
As described above, a natural conversation between humans and computers can be realized while effectively performing information search and security management using the surrogate database. In addition, the system and method can be used in other areas, for example, in elderly care, in remote medical care, in out-of-home security systems, in distance education, geographically or It is possible to provide services with no time difference.
[0123]
【The invention's effect】
According to the first aspect of the present invention, the scene of the dialogue intended by the user can be reliably identified, and the user can smoothly and immediately acquire the information desired in the dialogue with the user computer. Has the following effects.
According to the invention described in claim 2, there is an effect that data for each scene can be used based on the scene.
[0124]
According to the third aspect of the present invention, an input word for specifying a scene can be reliably extracted from an input sentence input by a user, and a word stored in a phoneme memory is frequently rewritten. The number of words stored at one time in the phoneme memory for extraction is small, and the input word can be quickly identified. Furthermore, there is an effect that the scene can be accurately narrowed down by the calculation by the user computer from the extracted input words, and finally, a question is asked to the user, so that the scene intended by the user can be surely specified.
[0125]
According to the invention described in claim 4, the user computer can accurately acquire words specifying the scene from the user, and when the scene cannot be specified, the user computer does not proceed with the process of specifying the scene without permission. Therefore, there is an effect that the scene can be surely specified without twists and turns.
According to the fifth aspect of the invention, when a scene is specified, preparation of a scene-specific knuckle cache is immediately prepared, so that it is possible to quickly access a scene-specific surrogate database.
[0126]
According to the invention as set forth in claim 6, since the dialogue proceeds based on the viewpoint and the knuckle cache in which the data volume is small and the taple data is arranged according to the frequency of use is utilized, one taple, that is, one taple It has the effect that the case can be specified. According to the seventh aspect of the present invention, even if a knuckle cannot identify a tuple, since there is an index file, it is possible to utilize the index file and accurately identify one tuple. Have.
[0127]
According to the invention described in claim 8, there is an effect that the user can quickly obtain only the specified tuple, that is, only useful information of the specified case from the user computer.
According to the ninth aspect of the present invention, new information is added to the information in the surrogate database, or a new surrogate database is constructed, so that the dialogue can be advanced using the latest information. Have.
[0128]
According to the tenth aspect of the present invention, there is an effect that a voice conversation can be easily and quickly advanced based on a scene using a general-purpose user computer.
According to the eleventh aspect, there is an effect that data for each scene is organized based on the scene, and the user computer can use the data.
[0129]
According to the twelfth aspect of the present invention, a scene can be accurately specified by one user computer, and a tapple based on the scene can be specified.
According to the thirteenth aspect, there is an effect that the latest information can be effectively used.
[0130]
According to the fourteenth aspect of the present invention, it is possible to effectively arrange the generally circulated cases based on viewpoints, and to construct a surrogated database composed of useful data for each scene. .
According to the invention described in claim 15, by comparing the situation words in the concept dictionary with the words in the case, the viewpoint in the case can be accurately attached to the words in the case, and the words in the case can be stored in the surrogate database. Has the effect that can be incorporated.
[0131]
According to the sixteenth aspect, the schema in the surrogate database can be hierarchized, so that data such as words in a case is changed from a higher concept to a lower concept or from a clear viewpoint from an abstract viewpoint. This has the effect that a surrogated database in which large and small scenes are classified and arranged hierarchically over a wide range up to and including large scenes can be constructed. In addition, there is an effect that the dependency of the viewpoint can be reflected in the hierarchy of the schema.
According to the seventeenth aspect of the present invention, since the surrogate database can be provided with a trick cache, it is possible to quickly search for a tuple in the surrogate database.
[0132]
According to the invention described in claim 18, since the surrogated databases connected to each other via the communication line such as the Internet and open to each other can be shared, the labor of constructing the duplicated surrogated databases can be omitted. Has the effect of being able to
According to the nineteenth aspect, there is an effect that data opened through a communication line such as the Internet does not float on the Internet, and the copyright and the like can be properly protected.
According to the twentieth aspect, the use status can be notified to the administrator of the original, and the surrogate database can be grown according to the use of the surrogate database.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a method for constructing a surrogate database according to the present invention.
FIG. 2 is a specific example of a surrogate database according to the present invention.
FIG. 3 is a knuckle cache relating to the same scene as the surrogate database shown in FIG. 2;
FIG. 4 is a block diagram showing one embodiment of a voice dialogue by a computer according to the present invention.
FIG. 5 is a block diagram showing an embodiment of knowledge acquisition via communication means such as the Internet in a voice dialogue by a computer according to the present invention.
FIG. 6 is a block diagram showing an embodiment in which the OFC according to the present invention is applied to a local network society.
[Explanation of symbols]
1 User computer
2a Cache memory
2b External storage unit
20a, 20b, 20c, 20d Surrogates Database
21 Cases
22 Concept dictionary
22a Situation word
22b Perspective
23 Data Mining Department
25a, 25b, 25c schema
26 tapple
27 columns
27a, 27b, 27c Index file
28a, 28b, 28c Tips Cache
3 Dialogue control section
31 Voice Recognition Unit
32 phoneme memory unit
36 Voice synthesis unit
37 Utterance template part
38 Tips for Dialogue
39 Question processing section
4a Scene control unit
41 Scene judgment program
42a, 42b, 42c Scene-based word database
43a, 43b, 43c Scene important word database
4b Operation instruction section
46 Search program section
50 Similar links
6 Information collection and sharing processing unit
61 Word / decomposition processor
62 Word Summary Part
62a Existing schema
62b New schema
63 URL search processing unit
64 URL knowledge body
65 Internet Knowledge Acquisition Department
65a URL data
65b URL
66 Web Robot
67 Dynamic Summary
68 Frequency Program
7 OFC
81 Private car
82 private house
9 Central Management Center
100 users
101 users
101a Surrogates Database
101b Tips Cache

Claims (20)

人間からの指示に基づいてそれぞれ予め定めた特定のシーンに属する対話のシーンを識別し、当該シーンに即した自然対話を構成する応答文を作成して、それを音声合成することにより、対話を行うコンピュータによる音声対話方法であって、
予め、複数のシーンに対してシーン毎にシーン名を付してシーン固有のデータベースを作成しておく工程と、
前記複数のシーンの内で何れのシーンに関する対話を行うのかをユーザコンピュータは、ユーザに質問し、ユーザに入力を促す工程と、
入力された入力文章を認識して、当該入力文章を入力単語に分解し、当該入力単語を前記データベースの単語に照合して、対話のシーンを特定する工程と、
そして、特定したシーンに基づいて、対話内容を限定して対話を進めていく工程と、
を含んで構成されてなるコンピュータによる音声対話方法。
Based on instructions from humans, each scene of a dialogue belonging to a predetermined specific scene is identified. A speech dialogue method by a computer to perform,
A step of creating a scene-specific database in advance by assigning a scene name to each of a plurality of scenes,
A user computer as to which of the plurality of scenes to interact with regarding the scene, the user computer asks the user, prompting the user to input,
Recognizing the input text that has been input, decomposing the input text into input words, collating the input words with the words in the database, and identifying a scene of the dialogue;
Then, based on the identified scene, a step of limiting the contents of the dialogue and proceeding with the dialogue,
A computer-assisted voice dialogue method comprising:
請求項1に記載のコンピュータによる音声対話方法において、
前記データベースは、
シーン固有の観点に基づきデータが整理されたサロゲイト化データベースと、前記サロゲイト化データベースの検索用のインデックスファイル及びコツキャッシュと、シーンに基づく単語データベースと、そして前記シーンに基づく単語データベース中の重要な単語をまとめたシーン重要単語データベースであることを特徴とするコンピュータによる音声対話方法。
The computer-based speech dialogue method according to claim 1,
The database is
A surrogated database in which data is organized based on a scene-specific viewpoint, an index file and a knuckle cache for searching the surrogated database, a scene-based word database, and important words in the scene-based word database A voice dialogue method by a computer, characterized in that the database is a scene important word database in which the words are compiled.
請求項2に記載のコンピュータによる音声対話方法において、
前記対話のシーンを特定する工程が、
ユーザコンピュータは、前記入力文章を音声認識部で認識し、音素メモリ部に保存されている単語と照合して、前記入力文章中の前記入力単語を特定する工程と、
前記入力単語を、シーン制御部でシーン毎に蓄えられているシーン重要単語データベース中の単語と照合して、出現頻度値又は/及び重要度計算値が多いシーンを一つだけ特定し、当該シーンを対話内容のシーンであるか否かをユーザに問いかけて、対話内容のシーンを特定する工程と、
を含んで構成されていることを特徴とするコンピュータによる音声対話方法。
The method for voice dialogue by a computer according to claim 2,
Identifying the scene of the dialogue includes:
A step of recognizing the input sentence with a voice recognition unit, comparing the input sentence with a word stored in a phoneme memory unit, and identifying the input word in the input sentence;
The input word is compared with a word in a scene important word database stored for each scene by a scene control unit, and only one scene having a large appearance frequency value and / or a calculated importance value is specified. Asking the user whether the scene is a dialog content, and identifying the scene of the dialog content;
A speech dialogue method by a computer, characterized by comprising:
請求項3に記載のコンピュータによる音声対話方法において、
シーンを特定できなかった時に、
ユーザにさらに対話内容のシーンを特定するための質問をして、入力を促して、請求項3に記載の工程を繰り返し行うことで、対話のシーンを特定することを特徴とするコンピュータによる音声対話方法。
The computer-based speech dialogue method according to claim 3,
When the scene could not be specified,
A voice dialogue by a computer, wherein the user is further asked a question for specifying a scene of the dialogue, prompted for an input, and repeatedly performs the process according to claim 3 to specify the scene of the dialogue. Method.
請求項3又は4に記載のコンピュータによる音声対話方法において、
シーンが特定された直後に、キャッシュメモリに当該シーンのコツキャッシュをコピーすることを特徴とするコンピュータによる音声対話方法。
The computer-assisted voice interaction method according to claim 3,
Immediately after a scene is specified, a knack cache of the scene is copied to a cache memory.
請求項5に記載のコンピュータによる音声対話方法において、
特定されたシーンに関するサロゲイト化データベースからスキーマを取り出して、当該スキーマの観点に対応する入力単語の入力をユーザに促し、入力された入力文章から抽出した入力単語を一の観点に対応させ、前記入力単語を前記コツキャッシュのタップルデータと照合して、一のタップルを特定することを特徴とするコンピュータによる音声対話方法。
The computer-assisted voice interaction method according to claim 5,
Retrieving a schema from the surrogate database related to the identified scene, prompting the user to input an input word corresponding to the viewpoint of the schema, associating the input word extracted from the input sentence input with one viewpoint, A voice dialogue method by a computer, wherein a word is checked against tuple data in the knuckle cache to specify one tuple.
請求項6に記載のコンピュータによる音声対話方法において、
タップルを特定できなかった時に、
特定されたシーンに関するインデックスファイルに前記入力単語の検索をして、前記入力単語に該当するタップルデータを、前記コツキャッシュにコピーして、一の観点に対応する前記入力単語を前記コツキャッシュのタップルデータと照合して、一のタップルを特定することを特徴とするコンピュータによる音声対話方法。
7. The method for voice dialogue by a computer according to claim 6,
When the tuple could not be identified,
A search is made for the input word in the index file relating to the specified scene, and the taple data corresponding to the input word is copied to the knack cache. A computer-assisted voice interaction method comprising identifying one tuple by comparing it with data.
請求項6又は7に記載のコンピュータによる音声対話方法において、
ユーザコンピュータは、特定されたタップルの内容を、前記スキーマに従ってユーザに音声合成して出力することを特徴とするコンピュータによる音声対話方法。
The method for voice dialogue by a computer according to claim 6 or 7,
A voice dialogue method by a computer, wherein the user computer voice-synthesizes the content of the specified tuple to the user according to the schema and outputs the synthesized voice.
請求項2〜8のいずれか一項に記載のコンピュータによる音声対話方法において、
コンピュータに自発的にインターネット等の通信手段を介して未知の情報を獲得させ、当該情報を前記サロゲイト化データベースにおける規定に従って前記サロゲイト化データベースに組み込み又は他のサロゲイト化データベースを構築して前記サロゲイト化データベースを拡張することを特徴とするコンピュータによる音声対話方法。
A computer-based voice interaction method according to any one of claims 2 to 8,
The computer spontaneously acquires unknown information through communication means such as the Internet, and incorporates the information into the surrogate database according to the provisions in the surrogate database or constructs another surrogate database to form the surrogate database. A computer-assisted voice dialogue method, characterized by extending the following.
人間からの指示に基づいてそれぞれ予め定めた特定のシーンに属する対話のシーンを識別し、当該シーンに即した自然対話を構成する応答文を作成して、それを音声合成することにより、対話を行うコンピュータによる音声対話システムであって、
ユーザコンピュータには、ユーザから入力された入力文章から入力単語を特定し、またユーザコンピュータにおいて処理した結果をユーザに出力する対話コントロール部と、
対話内容のシーンを特定するための複数のシーンに対してシーン毎のデータが蓄積されているデータベースが保存されている外部記憶装置部と、
そして、前記データベースを用いてシーンを特定することを行うシーン制御部と、
を備えて構成されてなるコンピュータによる音声対話システム。
Based on instructions from humans, each scene of a dialogue belonging to a predetermined specific scene is identified. A computer-assisted voice dialogue system,
A user computer, an input control unit that specifies an input word from an input sentence input by the user and outputs a result processed by the user computer to the user;
An external storage unit in which a database in which data for each scene is stored for a plurality of scenes for specifying scenes of the conversation content is stored;
And a scene control unit that specifies a scene using the database,
A computer-assisted voice dialogue system comprising:
請求項10に記載のコンピュータによる音声対話システムにおいて、前記データベースは、
シーン固有の観点に基づきデータが整理されたサロゲイト化データベースと、前記サロゲイト化データベースの検索用のインデックスファイル及びコツキャッシュと、シーンに基づく単語データベースと、そして前記シーンに基づく単語データベース中の重要な単語をまとめたシーン重要単語データベースであることを特徴とするコンピュータによる音声対話システム。
The computer-assisted dialogue system according to claim 10, wherein the database includes:
A surrogated database in which data is organized based on a scene-specific viewpoint, an index file and a knuckle cache for searching the surrogated database, a scene-based word database, and important words in the scene-based word database A computer-assisted voice dialogue system, which is a scene important word database in which the words are compiled.
請求項11に記載のコンピュータによる音声対話システムであって、
前記対話コントロール部は、音素メモリ部と、そして入力文章を認識し、当該音素メモリ部にある音素と照合して入力単語を特定する音声認識部と、ユーザが処理した結果を発話テンプレート部のフォーマットに当てはめて出力する音声合成部と、シーンが特定された後に特定されたシーンに関する前記サロゲイト化データベースからスキーマを取り出して、当該スキーマの観点に対応する入力単語の入力をユーザに入力させ、一又は複数の観点に対応する前記入力単語を音声認識部から動作指示部に送る対話のコツ部と、
前記シーン制御部は、前記外部記憶装置部に保存されているシーン重要単語データベース中の単語と前記入力単語を照合することでシーンを特定するシーン判定プログラムと、
そして、前記動作指示部は、前記外部記憶装置部に保存されているコツキャッシュ及びインデックスファイルと照合して一のタップルを特定する検索プログラム部と、
を備えて構成されてなることを特徴とするコンピュータによる音声対話システム。
It is a speech dialogue system by computer of Claim 11, Comprising:
The dialogue control unit includes a phoneme memory unit, and a speech recognition unit that recognizes an input sentence and identifies an input word by comparing the input sentence with a phoneme in the phoneme memory unit. Speech synthesis unit to apply and output, the schema is extracted from the surrogated database related to the scene specified after the scene is specified, and the input of the input word corresponding to the viewpoint of the schema is input to the user. A tip part of a dialogue for sending the input word corresponding to a plurality of viewpoints from the voice recognition unit to the operation instruction unit;
The scene control unit, a scene determination program that specifies a scene by comparing the input word with a word in a scene important word database stored in the external storage device unit,
And the operation instructing unit is a search program unit that identifies one tuple by comparing with a tips cache and an index file stored in the external storage device unit,
A speech dialogue system by a computer, comprising:
請求項11又は12に記載のコンピュータによる音声対話システムにおいて、
コンピュータに自発的にインターネット等の通信手段を介して未知の情報を獲得させ、当該情報を前記サロゲイト化データベースにおける規定に従って前記サロゲイト化データベースに組み込み又は他のサロゲイト化データベースを構築して前記サロゲイト化データベースを拡張する情報収集共有処理部を含んでいることを特徴とするコンピュータによる音声対話システム。
The speech dialogue system by a computer according to claim 11 or 12,
The computer spontaneously acquires unknown information via communication means such as the Internet, and incorporates the information into the surrogate database according to the provisions in the surrogate database or constructs another surrogate database to form the surrogate database. A computer-assisted dialogue system including an information collection / sharing processing unit that extends the above.
コンピュータによる音声対話に用いられるサロゲイト化データベースの構築方法であって、
ユーザコンピュータは、インターネット等の通信回線を介して収集可能なシーンに属する複数の事例から、又は書面を電子化処理したシーンに属する複数の事例からそれぞれ複数のデータを抽出する工程と、
ユーザに質問して、前記データが何れの観点に属するのかを特定する工程と、前記観点の配列したスキーマに対して、前記スキーマの前記観点と同一の配列で、事例毎に前記データを配列する工程と、を有していて、
事例固有の前記データ等である複数のタップルデータからなるタップルと、そして前記観点が同一な前記データ等である複数のタップルデータから成り立つカラムとを含んで構成され、シーン毎に構築されるサロゲイト化データベースの構築方法。
A method for constructing a surrogated database used for computer-based speech dialogue,
The user computer extracts a plurality of data from a plurality of cases belonging to scenes that can be collected via a communication line such as the Internet, or a plurality of cases from a plurality of cases belonging to scenes obtained by digitizing a document.
A step of specifying which viewpoint the data belongs to by asking the user, and arranging the data for each case in the same arrangement as the viewpoint of the schema with respect to the schema arranged in the viewpoint. And a process,
A surrogate that is configured to include a tuple made up of a plurality of tuple data that is the case-specific data and a column that is made up of a plurality of tuple data that is the same viewpoint and the like, and that is constructed for each scene How to build a database.
請求項14に記載のサロゲイト化データベース構築方法であって、
予め、事例が属するシーンの専門家等が予めその分野に関係する及び関連すると思われるシチュエーション単語にそれぞれ観点を付して、膨大な数のシチュエーション単語を保存してある概念辞書を一つ又は複数のシーンに対して作成する工程と、
前記データが単語であって、当該単語を前記概念辞書のシチュエーション単語に照合して、当該単語と、当該シチュエーション単語に付されている観点と、を結びつける工程と、
前記観点の配列したスキーマに対して、前記スキーマの前記観点と同一の配列で、事例毎に前記単語を配列する工程と、
を有していることを特徴とするサロゲイト化データベースの構築方法。
A method for constructing a surrogated database according to claim 14,
An expert of the scene to which the case belongs belongs in advance to each of the situation words that are presumed to be relevant and relevant to the field, and one or more concept dictionaries in which a huge number of situation words are stored. The process of creating for the scene of,
The data is a word, a step of matching the word against a situation word in the concept dictionary, and linking the word with a viewpoint attached to the situation word;
Arranging the words for each case in the same arrangement as the viewpoint of the schema for the schema arranged in the viewpoint,
A method for constructing a surrogated database, comprising:
請求項14に記載のサロゲイト化データベースの構築方法であって、
前記スキーマの前記観点の一又は複数において、前記観点を細分化する観点が含まれていて、
当該観点を配列したスキーマによりスキーマが階層化され、階層化された前記スキーマに基づき前記データを分類することを特徴とするサロゲイト化データベースの構築方法。
A method for constructing a surrogated database according to claim 14,
In one or more of the aspects of the schema, aspects that subdivide the aspect are included,
A method for constructing a surrogate database, wherein the schema is hierarchized by a schema in which the viewpoints are arranged, and the data is classified based on the hierarchized schema.
請求項14〜16のいずれか一項に記載のサロゲイト化データベースを使用してキャッシュメモリを構築する方法であって、
前記サロゲイト化データベース内のタップルデータに、当該サロゲイト化データベースの内のタップル番号と、当該タップルデータの使用頻度数を付して保存することを特徴とする前記サロゲイト化データベースとリンク可能なキャッシュメモリを構築する方法。
A method of constructing a cache memory using the surrogated database according to any one of claims 14 to 16,
A cache memory that can be linked to the surrogate database, characterized in that the tuple data in the surrogate database is stored with a tuple number in the surrogate database and the frequency of use of the tuple data. How to build.
インターネット等の通信回線を介して接続されていて、相互に開放されている情報を共有してホーム家電の管理や地域ネットワークの促進が図れる情報共有化システムにおいて、
インターネット等の通信回線を介して相互に接続可能となっている複数のサロゲイト化データベースを共有可能とする情報共有化技術を有している情報共有化システム。
In an information sharing system that is connected via a communication line such as the Internet and shares information that is open to each other, it is possible to manage home appliances and promote regional networks.
An information sharing system having an information sharing technology for sharing a plurality of surrogate databases that can be connected to each other via a communication line such as the Internet.
請求項18に記載の情報共有化システムにおいて、
インターネット等の通信回線を介して相互に接続可能となっていて共有可能な複数の前記サロゲイト化データベースは、インターネット等の通信回線を介して提供可能であり、移転された前記サロゲイト化データベース及び/又は前記サロゲイト化データベース内のタップルデータにはそれぞれの原本の所在位置を示す位置情報が付されていて、当該位置情報を介して原本にアクセス可能とすることを特徴とする情報共有化システム。
The information sharing system according to claim 18,
The plurality of surrogated databases that can be connected to each other and can be shared via a communication line such as the Internet can be provided via a communication line such as the Internet, and the surrogated databases and / or are transferred. An information sharing system, wherein position information indicating the location of each original is added to the tuple data in the surrogate database, and the original can be accessed via the position information.
請求項18又は19に記載の情報共有化システムにおいて、
前記原本には、インターネット等の通信回線を通じて、当該原本の情報の使用頻度が蓄積されることを特徴とする情報共有化システム。
The information sharing system according to claim 18 or 19,
An information sharing system, wherein the frequency of use of the information of the original is accumulated in the original through a communication line such as the Internet.
JP2003007029A 2003-01-15 2003-01-15 Method and system for speech interaction by computer that discriminate scene of interaction belonging to specific scene predetermined according to human's indication, generate answer sentence constituting natural interaction conforming with scene, speech interaction by synthesizing voice of it Pending JP2004219714A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003007029A JP2004219714A (en) 2003-01-15 2003-01-15 Method and system for speech interaction by computer that discriminate scene of interaction belonging to specific scene predetermined according to human's indication, generate answer sentence constituting natural interaction conforming with scene, speech interaction by synthesizing voice of it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003007029A JP2004219714A (en) 2003-01-15 2003-01-15 Method and system for speech interaction by computer that discriminate scene of interaction belonging to specific scene predetermined according to human's indication, generate answer sentence constituting natural interaction conforming with scene, speech interaction by synthesizing voice of it

Publications (1)

Publication Number Publication Date
JP2004219714A true JP2004219714A (en) 2004-08-05

Family

ID=32897243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003007029A Pending JP2004219714A (en) 2003-01-15 2003-01-15 Method and system for speech interaction by computer that discriminate scene of interaction belonging to specific scene predetermined according to human's indication, generate answer sentence constituting natural interaction conforming with scene, speech interaction by synthesizing voice of it

Country Status (1)

Country Link
JP (1) JP2004219714A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052043A (en) * 2005-08-15 2007-03-01 Nippon Telegr & Teleph Corp <Ntt> Voice interactive scenario generation method and system, and voice interactive scenario generation program and recording medium
JP2008529101A (en) * 2005-02-03 2008-07-31 ボイス シグナル テクノロジーズ インコーポレイテッド Method and apparatus for automatically expanding the speech vocabulary of a mobile communication device
JP2009064186A (en) * 2007-09-05 2009-03-26 Mazda Motor Corp Interactive system for vehicle
CN107103899A (en) * 2017-04-24 2017-08-29 北京小米移动软件有限公司 The method and apparatus for exporting speech message
JP2018190413A (en) * 2017-05-02 2018-11-29 ネイバー コーポレーションNAVER Corporation Method and system for processing user command to adjust and provide operation of device and content provision range by grasping presentation method of user speech
KR101960218B1 (en) * 2018-01-30 2019-03-27 김영호 System for providing interactive information using database structure
US10319378B2 (en) 2014-06-27 2019-06-11 Kabushiki Kaisha Toshiba Interaction apparatus and method
KR20200079629A (en) * 2018-12-26 2020-07-06 지의소프트 주식회사 Interactive information providing system and method
WO2020208859A1 (en) * 2019-04-11 2020-10-15 株式会社Nttドコモ Chatbot management device, chatbot management method, and chatbot management program
CN112562659A (en) * 2020-12-11 2021-03-26 上海科大讯飞信息科技有限公司 Voice recognition method and device, electronic equipment and storage medium
CN114420089A (en) * 2022-03-30 2022-04-29 北京世纪好未来教育科技有限公司 Speech synthesis method, apparatus and computer-readable storage medium

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529101A (en) * 2005-02-03 2008-07-31 ボイス シグナル テクノロジーズ インコーポレイテッド Method and apparatus for automatically expanding the speech vocabulary of a mobile communication device
JP2013047809A (en) * 2005-02-03 2013-03-07 Naunce Communications Inc Methods and apparatus for automatically extending voice vocabulary of mobile communications devices
JP2007052043A (en) * 2005-08-15 2007-03-01 Nippon Telegr & Teleph Corp <Ntt> Voice interactive scenario generation method and system, and voice interactive scenario generation program and recording medium
JP4634889B2 (en) * 2005-08-15 2011-02-16 日本電信電話株式会社 Voice dialogue scenario creation method, apparatus, voice dialogue scenario creation program, recording medium
JP2009064186A (en) * 2007-09-05 2009-03-26 Mazda Motor Corp Interactive system for vehicle
US10319378B2 (en) 2014-06-27 2019-06-11 Kabushiki Kaisha Toshiba Interaction apparatus and method
CN107103899A (en) * 2017-04-24 2017-08-29 北京小米移动软件有限公司 The method and apparatus for exporting speech message
CN107103899B (en) * 2017-04-24 2020-06-19 北京小米移动软件有限公司 Method and apparatus for outputting voice message
JP2018190413A (en) * 2017-05-02 2018-11-29 ネイバー コーポレーションNAVER Corporation Method and system for processing user command to adjust and provide operation of device and content provision range by grasping presentation method of user speech
KR101960218B1 (en) * 2018-01-30 2019-03-27 김영호 System for providing interactive information using database structure
KR20200079629A (en) * 2018-12-26 2020-07-06 지의소프트 주식회사 Interactive information providing system and method
KR102132696B1 (en) 2018-12-26 2020-07-13 지의소프트 주식회사 Interactive information providing system and method
WO2020208859A1 (en) * 2019-04-11 2020-10-15 株式会社Nttドコモ Chatbot management device, chatbot management method, and chatbot management program
JPWO2020208859A1 (en) * 2019-04-11 2021-12-16 株式会社Nttドコモ Dialogue bot management device, dialogue bot management method and dialogue bot management program
JP7123248B2 (en) 2019-04-11 2022-08-22 株式会社Nttドコモ Dialogue bot management device, dialogue bot management method, and dialogue bot management program
CN112562659A (en) * 2020-12-11 2021-03-26 上海科大讯飞信息科技有限公司 Voice recognition method and device, electronic equipment and storage medium
CN112562659B (en) * 2020-12-11 2024-04-09 科大讯飞(上海)科技有限公司 Speech recognition method, device, electronic equipment and storage medium
CN114420089A (en) * 2022-03-30 2022-04-29 北京世纪好未来教育科技有限公司 Speech synthesis method, apparatus and computer-readable storage medium
CN114420089B (en) * 2022-03-30 2022-06-21 北京世纪好未来教育科技有限公司 Speech synthesis method, apparatus and computer-readable storage medium

Similar Documents

Publication Publication Date Title
CN102549652B (en) Information retrieving apparatus
KR101661198B1 (en) Method and system for searching by using natural language query
US9336309B2 (en) Detecting correlations between data representing information
CN109408811B (en) Data processing method and server
CN109804364A (en) Knowledge mapping constructs system and method
US20090112903A1 (en) Ontology data import/export method and apparatus
JP3849318B2 (en) Information search device, information search method, and computer-readable recording medium storing information search program
WO2007043679A1 (en) Information processing device, and program
CN109726274A (en) Problem generation method, device and storage medium
CN110517689A (en) A kind of voice data processing method, device and storage medium
CN111782800B (en) Intelligent conference analysis method for event tracing
CN112182252A (en) Intelligent medication question-answering method and device based on medicine knowledge graph
JP2004219714A (en) Method and system for speech interaction by computer that discriminate scene of interaction belonging to specific scene predetermined according to human&#39;s indication, generate answer sentence constituting natural interaction conforming with scene, speech interaction by synthesizing voice of it
JP2019091416A5 (en)
CN113343692B (en) Search intention recognition method, model training method, device, medium and equipment
CN111460114A (en) Retrieval method, device, equipment and computer readable storage medium
JP4244423B2 (en) Proper word string estimation device
US11714599B2 (en) Method of browsing a resource through voice interaction
CN115544297A (en) Sound database construction and intelligent retrieval method, system and storage medium
JPH0728687A (en) Multimedia knowledge base device and information offering device
Nguyen et al. Inside ASCENT: Exploring a deep commonsense knowledge base and its usage in question answering
CN109284364B (en) Interactive vocabulary updating method and device for voice microphone-connecting interaction
JP2004342042A (en) Method and system for communication in distributed environment
JP2009151541A (en) Optimum information presentation method in retrieval system
JP6843689B2 (en) Devices, programs and methods for generating contextual dialogue scenarios

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060111

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106