JP2005241952A - 知識処理装置、知識処理方法および知識処理プログラム - Google Patents

知識処理装置、知識処理方法および知識処理プログラム Download PDF

Info

Publication number
JP2005241952A
JP2005241952A JP2004051398A JP2004051398A JP2005241952A JP 2005241952 A JP2005241952 A JP 2005241952A JP 2004051398 A JP2004051398 A JP 2004051398A JP 2004051398 A JP2004051398 A JP 2004051398A JP 2005241952 A JP2005241952 A JP 2005241952A
Authority
JP
Japan
Prior art keywords
domain
input
sentence
user
value
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
JP2004051398A
Other languages
English (en)
Inventor
Masato Numabe
正人 沼部
Kazunao Onda
和直 恩田
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.)
Gap Japan KK
Original Assignee
Gap Japan 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 Gap Japan KK filed Critical Gap Japan KK
Priority to JP2004051398A priority Critical patent/JP2005241952A/ja
Publication of JP2005241952A publication Critical patent/JP2005241952A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ユーザの多種多様で柔軟な入力文(質問文)に対して機動的に応答して、円滑かつ高速な対話処理を行うことを課題とする。
【解決手段】対話処理装置20のドメイン化DB14bは、ある事例の文章から、心理学的な意味を成し得る最小慣用句単位、かつ、当該事例が属するドメインの経験則に基づいたサブドメインにリンク付けされ得る単位で抽出された流通言語語彙を、各サブドメインにリンク付けして記憶する。そして、対話処理装置20は、ユーザの入力文から抽出された入力流通言語語彙に対応するサブドメインを検索し、当該検索したサブドメインにリンク付けされてドメイン化DB14bに記憶された流通言語語彙を、出力文に含める回答として特定する。
【選択図】 図11

Description

この発明は、入力文を解析して当該入力文に対する出力文を出力する知識処理装置、知識処理方法および知識処理プログラムに関する。
従来より、予め定められた会話プログラムによって、人間の発した音声を音声認識によって認識した結果に基づいて、人間とコンピュータがあたかも人間同士で会話を行っているかのように対話処理を行う「音声対話」と呼ばれるものである。そして、この音声対話を利用して機械や装置を意志通りに操作するなど、その利用範囲は広く、多方面での応用研究がなされており、このような音声対話を行うために、以下に説明するように、データベースや音声認識技術等が研究されている。
例えば、音声対話に用いられるデータベースとして、リレーショナル型データベースや、オブジェクト指向型データベース、これらのデータベースを改良したデータベースが研究・開発されている(例えば、特許文献1)。これらは、例えば、一般に流布されている事例中の文章に対して単語解析および文章解析を行い、プロパティの分類名に従って、事例中の単語を分類して整理したデータベースであり、このデータベースによれば、事例中の莫大な単語を漏れなく整理することができる。
また、音声対話における音声認識としては、人間が普通に話す言葉をそのままの状態で頭から認識を行う「ディクテーション」や、人間が話した言葉の中からキーとなる単語を抽出して、その単語を認識していく「ワードスポット」など、種々の手法が用いられている。
このうち、「ディクテーション」では、まず人間が話した言葉を入力音声として音素列に変換し、その音素列を単語列に置き換えて構文解析した後に、文字列に変換する。さらに、論理解析や意味解析を行って文章を生成し、音声合成して出力する。なお、単語にも同音異義語があるので、ここでは、各単語の属性情報を付すなどして的確な認識を行うようにされている。
その一方、「ワードスポット」では、人間が話した言葉を音声としてコンピュータが分析し、その音声の特徴量を抽出した後に、特徴量の時系列を作成する。そして、予めコンピュータに備えられている音声認識辞書(各単語の特徴量の時系列を記録保存した辞書)に含まれる各単語との類似度を計算し、その中から類似度の高い単語を認識結果として出力する。
また、音声対話における音声認識には、対話に用いる莫大な数の単語を予めドメイン毎に音声認識辞書として保存しておき、その音声認識辞書中の単語と入力された単語とを照合することで音声認識を行い、入力された文書から単語を抽出する手法もある(例えば、特許文献2参照)。これは、ドメイン毎に属する単語のデータベースを一度にメモリに保存し、かかるドメインに基づいて単語の認識速度を速める方法でもある。
そして、このような音声対話には、データベース等の情報を一箇所に集中させずに分散し、一箇所に情報過多の状況を構築せず、かつ、セキュリティーに優れた情報を分散させるようにした技術もある(例えば、特許文献3参照)。
国際公開第02/21270号パンフレット 国際公開第02/067244号パンフレット 国際公開第00/65449号パンフレット
ところで、上記したような従来の技術は、単語と応答文とを対応付けた複数のルールを予め用意しておき、入力文から抽出される単語がルールにヒットした場合に対応する応答文を出力するものに過ぎず、ルールにヒットしない限りは、ユーザの多種多様で柔軟な入力文(質問文)に対して機動的に応答することができないという問題点があった。
その他にも、上記の従来技術には、以下に述べるような問題点もあった。例えば、音声対話に用いられるデータベースとして、リレーショナル型データベースや、オブジェクト指向型データベースや、これらのデータベースを改良したデータベースを用いても、これらのデータベース内には事例中の無用な単語が大量に蓄積されているので、対話に用を成さない無用な単語を音声対話の音声認識で拾うことがある。このため、入力した文章から認識される単語として、全く関係のない無意味な単語が認識され、ひいては対話処理に供されることになり、結果として、円滑かつ高速な対話処理が困難であるという問題点があった。さらに、これらのデータベースは、単語等の情報を単にプロパティに従って整理しているだけであるので、データに主従関係は無く、高速で必要なデータを検索することが困難であるという問題点もあった。
また、一般に「ディクテーション」を用いる場合であっても、「ワードスポット」による場合であっても、認識率を上げるためには、音声認識に使用する音声認識辞書に予め膨大な数の単語を登録しておく必要がある。しかしながら、音声認識辞書に登録する単語の数が多いと、それだけメモリの容量が必要になるとともに、入力された音声と音声認識辞書に記録された単語とのマッチングに時間がかかり過ぎてしまう。その結果、コンピュータが応答するまでに不必要な間が空いてしまい、音声会話としての実用に耐えられなくなるという問題点があった。その上、音声認識辞書に登録された単語数が多過ぎると、検索すべき対象が多くなるので、逆に認識率が低下し、認識に要する時間もかかり過ぎるという問題点もあった。
さらに、対話のドメインごとに音声認識辞書を作成したとしても、ドメインが固定されると、メモリに音声認識のために保存されるデータは変わらないので、一定容量以上のデータを一度にメモリに保存しておかなければならないという問題点があった。
また、従来の音声認識システム、特に「ディクテーション」による場合では、意味のない単語の羅列についても認識しようとして、かえって認識率を低下させるという問題点があった。すなわち、例を挙げれば、発話者が言葉に詰まったり、言い淀んだりした場合であっても、その言葉を認識しようとする結果、意味のない言葉として認識してしまうのみならず、前後の言葉についても誤った認識を誘発するという問題点があった。
さらに、従来の音声認識システムにおいては、入力された音声と音声認識辞書に含まれる単語との類似度を計算し、音声認識辞書の中から類似度の高い単語を認識結果として出力するようになっているので、実際は正しく認識できていない場合でも、とりあえず候補の単語が出力されてしまう。このため、かえって認識率が低下し、意味不明な応答文を返すという問題点があった。
また、音声認識辞書を如何に整理しても、一つの概念またはサブドメインのもとで整理されたものではないので、対話を高速に処理するためには、莫大なデータにアクセスして音声認識処理を行いながら、対話を進めなければならない。このため、広範なデータベースを効率良く、音声対話のために利用することもできないという問題点があった。
加えて、コンピュータによって音声認識が行われる場合には、コンピュータ内のメモリやハードディスク等に蓄積されているデータが利用されるのが一般的であるが、メモリやハードディスク等の容量は有限であり、利用できるデータには制限がある。このため、入力された音声に対応するデータが、メモリやハードディスク等に無い場合には、一向にデータがマッチせず、対話が行えないという問題点があった。
なお、人間同士の会話においても相手の話を聞く気になっていない場合には、相手が何を話してもその内容を認識できず上の空である。一方、相手の話を聞く気になっている場合には、かなりの騒音下であって、また、良く聞き取れない部分が一部にあったとしても、話の内容を理解することが可能である。この相違は、相手の話を聞く気になっている場合には、聞き手としては、今話題となっているドメインを予め想定し、相手が次に話すであろう言葉(流通言語語彙)をある程度予想した上で、その認識を行っているからである。このため、いきなり話が飛んで、今話題となっている話題と違う話題に移ったような場合には、聞き手としては、これを直ぐには理解できず、聞き間違えたのかと一瞬勘違いをすることになる。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ユーザの多種多様で柔軟な入力文(質問文)に対して機動的に応答することができ、円滑かつ高速な対話処理を行うことが可能な知識処理装置、知識処理方法および知識処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、入力文を解析して当該入力文に対する出力文を出力する知識処理装置であって、ある事例の文章から、心理学的な意味を成し得る最小慣用句単位、かつ、当該事例が属するドメインの経験則に基づいたサブドメインにリンク付けされ得る単位で抽出された流通言語語彙を、各サブドメインにリンク付けして記憶するドメイン化データベースと、前記入力文から抽出された入力流通言語語彙に対応するサブドメインを検索し、当該検索したサブドメインにリンク付けされて前記ドメイン化データベースに記憶された流通言語語彙を、前記出力文に含める回答として特定する回答特定手段と、を備えたことを特徴とする
また、請求項2に係る発明は、上記の発明において、前記ドメイン化データベースは、前記ドメインが共通する複数の事例ごとに、各事例の文章から抽出された流通言語語彙を、共通するサブドメインにリンク付けして記憶するものであって、所定の事例を特定するための入力文から前記サブドメインに対応する複数の入力流通言語語彙を抽出し、当該複数の入力流通言語語彙をいずれも含んで前記ドメイン化データベースに記憶された事例を特定する事例特定手段をさらに備え、前記回答特定手段は、前記事例特定手段によって特定された事例について前記ドメイン化データベースに記憶された流通言語語彙のなかから、前記出力文に含める回答を特定することを特徴とする。
また、請求項3に係る発明は、上記の発明において、前記ドメイン化データベースは、複数のドメイン毎に区分けして、各ドメインに属する複数の事例ごとに、各事例の文章から抽出された流通言語語彙を記憶するものであって、所定のドメインを特定するための入力文から入力流通言語語彙を抽出し、当該入力流通言語語彙に対応するドメインを特定するドメイン特定手段をさらに備え、前記事例特定手段は、前記ドメイン特定手段によって特定されたドメインについて、当該ドメインのサブドメインに対応する複数の入力流通言語語彙を抽出し、当該複数の入力流通言語語彙をいずれも含んで前記ドメイン化データベースに記憶された事例を特定することを特徴とする。
また、請求項4に係る発明は、入力文を解析して当該入力文に対する出力文を出力する知識処理方法であって、ある事例の文章から、心理学的な意味を成し得る最小慣用句単位、かつ、当該事例が属するドメインの経験則に基づいたサブドメインにリンク付けされ得る単位で抽出された流通言語語彙を、各サブドメインにリンク付けしてドメイン化データベースに格納する格納工程と、前記入力文から抽出された入力流通言語語彙に対応するサブドメインを検索し、当該検索したサブドメインにリンク付けされて前記ドメイン化データベースに記憶された流通言語語彙を、前記出力文に含める回答として特定する回答特定工程と、を含んだことを特徴とする。
また、請求項5に係る発明は、入力文を解析して当該入力文に対する出力文を出力する方法をコンピュータに実行させる知識処理プログラムであって、ある事例の文章から、心理学的な意味を成し得る最小慣用句単位、かつ、当該事例が属するドメインの経験則に基づいたサブドメインにリンク付けされ得る単位で抽出された流通言語語彙を、各サブドメインにリンク付けしてドメイン化データベースに格納する格納手順と、前記入力文から抽出された入力流通言語語彙に対応するサブドメインを検索し、当該検索したサブドメインにリンク付けされて前記ドメイン化データベースに記憶された流通言語語彙を、前記出力文に含める回答として特定する回答特定手順と、をコンピュータに実行させることを特徴とする。
請求項1、4または5の発明によれば、サブドメインに対応付けられた流通言語語彙単位で応答処理を行うので、ユーザの多種多様で柔軟な入力文(質問文)に対して機動的に応答することができ、円滑かつ高速な対話処理を行うことが可能になる。
また、請求項2の発明によれば、複数の事例(バリュー)について回答可能である場合でも、円滑かつ高速に事例(バリュー)を特定することができ、円滑かつ高速な対話処理を行うことが可能になる。
また、請求項3の発明によれば、複数のドメインについて回答可能である場合でも、円滑かつ高速にドメインを特定することができ、円滑かつ高速な対話処理を行うことが可能になる。
以下に添付図面を参照して、この発明に係る知識処理装置、知識処理方法および知識処理プログラムの実施例を詳細に説明する。なお、以下では、本発明をユーザとコンピュータとの対話処理に適用した場合を実施例として、この対話処理の概要および特徴を最初に説明した後に、対話処理に用いるデータの構築、ユーザとの対話処理、対話処理に用いるデータの収集、対話処理に用いるデータの共有を順に説明し、最後に本実施例に対する種々の変形例を説明する。
[1:対話処理の概要および特徴]
まず最初に、図1を用いて、本実施例に係る対話処理の概要および特徴を説明する。図1は、本実施例の概要および特徴を説明するための図である。
同図に示すように、本実施例に係る対話処理は、概略的には、入力文を解析して当該入力文に対する出力文を出力するものであるが、かかる実際の対話処理に先立って、図3に例示するような事例データから図5に例示するようなドメイン化DB(データベース)と呼ばれるものが作成される。このドメイン化DBとは、ある事例の文章(例えば、「新東京寿司」の事例)から、心理学的な意味を成し得る最小慣用句単位、かつ、当該事例が属するドメインの経験則に基づいたサブドメインにリンク付けされ得る単位で抽出された流通言語語彙を、各サブドメインにリンク付けして記憶するものである(図5参照)。
また、このドメイン化DBは、ドメインが共通する複数の事例(例えば、「食事」というドメインで共通する「新東京寿司」の事例や「四川創作亭」の事例など)ごとに、各事例の文章から抽出された流通言語語彙を、共通するサブドメインにリンク付けして記憶する(図5参照)。さらに、このドメイン化DBは、図1に例示するように、「食事」や「宿泊施設」、「レジャーランド」等の複数のドメイン毎に区分けして作成される。
そして、本実施例に係る対話処理では、図1に例示するように、ドメイン特定、バリュー特定(事例特定)、回答データ特定の各処理を通じて、ユーザと対話を行う。すなわち、例を挙げれば、「食事」、「宿泊施設」および「レジャーランド」のいずれのドメインについてユーザが対話を意図しているかをユーザの入力文に基づいて特定する。続いて、例えば、「食事」というドメインが特定された後に、特定されたドメインにおけるいずれのバリュー(バリュー番号)についてユーザが対話を望んでいるかをユーザの入力文に基づいて特定する。そして、バリューが特定された後は、特定されたバリューにおいてユーザが要求している回答データ(バリューデータ)をユーザの入力文に基づいて特定する。
具体的には、かかるドメイン特定、バリュー特定および回答データ特定は、いずれの処理も、ユーザの入力文を文章解析および流通言語語彙解析して、入力流通言語語彙を抽出することで行われる。すなわち、入力文に対して意味解析までは行わず、ドメイン化DBの記憶単位である「流通言語語彙」の単位で語彙解析を行う。これについて例を挙げると、端的には、「〜動かない。」という入力文に対しては、動詞・助動詞を区別せずに「動かない」という流通言語語彙の単位で分解抽出する。
そして、ドメインを特定する場面では、ドメイン特定データ(後述する語彙DB、重要語彙DB)に記憶されている流通言語語彙とユーザの入力文から抽出した流通言語語彙とを照合することで、いずれのドメインについてユーザが対話を意図しているかを特定する。つまり、例を挙げれば、ユーザの入力文から「食事」という流通言語語彙が抽出されれば、「食事」、「宿泊施設」および「レジャーランド」という三つのドメインのなかから「食事」をドメインとして特定する。
また、バリューを特定する場面では、バリュー特定データ(後述するインデックスファイル、インデックスキャッシュ)に記憶されている流通言語語彙とユーザの入力文から抽出した流通言語語彙とを照合することで、特定されたドメインにおけるいずれのバリュー(事例、バリュー番号)についてユーザが対話を望んでいるかを特定する。つまり、例を挙げれば、ユーザの入力文から「魚」および「日本料理」という流通言語語彙が抽出されれば、複数あるバリュー(バリュー番号)のなかからユーザが意図するバリューとしてバリュー番号「T1」のバリューを特定する(図5参照)。
さらに、回答データを特定する場面では、特定されたバリューのプロパティ(流通言語語彙としてのサブドメイン)と、ユーザの入力文から抽出した流通言語語彙とを照合することで、特定されたバリューにおいてユーザが要求している回答データ(バリューデータ)を特定する。つまり、上記の例で言えば、ユーザの入力文から「駐車場」という流通言語語彙が抽出されれば、バリュー番号「T1」のバリューのなかから「駐車場」のサブドメインに対応する「無し」というバリューデータを回答データとして特定し、ユーザの入力文(質問文)に対する回答として、例えば、「駐車場は無いです。」という出力文を出力する。
このように、本実施例に係る対話処理では、サブドメインに対応付けられた流通言語語彙単位で応答処理を行うので、ユーザの多種多様で柔軟な入力文(質問文)に対して機動的に応答することができ、円滑かつ高速な対話処理を行うことが可能になる。また、複数の事例(バリュー)について回答可能である場合でも、円滑かつ高速に事例(バリュー)を特定することができる、円滑かつ高速な対話処理を行うことが可能になる。さらに、複数のドメインについて回答可能である場合でも、円滑かつ高速にドメインを特定することができ、円滑かつ高速な対話処理を行うことが可能になる。
[2:対話処理に用いるデータの構築]
次に、図2などを用いて、本発明に係る対話処理に用いられるドメイン化DB(データベース)、バリュー特定データ(インデックスファイル、インデックスキャッシュ)、ドメイン特定データ(語彙DB、重要語彙DB)の構築手法を説明する。なお、以下では、これらのドメイン化DB、バリュー特定データ、ドメイン特定データを作成するドメイン化DB作成装置の構成を説明した後に、それぞれの構築手法を説明する。
(1)ドメイン化DB作成装置の構成
図2は、ドメイン化DB、バリュー特定データ、ドメイン特定データをそれぞれ作成するドメイン化DB作成装置10の構成を示すブロック図である。同図に示すように、このドメイン化DB作成装置10は、入力部11と、出力部12と、通信制御部13と、記憶部14と、制御部15とから構成される。
このうち、入力部11は、各種の情報の入力を受付ける入力手段であり、キーボードやマウス、マイクなどを備えて構成され、例えば、ドメイン化DB作成装置10に対する操作指示などをユーザから受け付けて入力する。なお、後述するモニタも、マウスと協働してポインティングディバイス機能を実現する。
出力部12は、各種の情報を出力する出力手段であり、モニタ(若しくはディスプレイ、タッチパネル)やスピーカを備えて構成され、例えば、ドメイン化DB作成装置10の動作内容(処理過程における確認)や、記憶部14に記憶された各種の情報などを表示出力する。
通信制御部13は、ドメイン化DB作成装置10と他の外部装置(ネットワーク等を介して接続される他の外部装置)の間でやり取りする各種情報に関する通信を制御する手段であり、例えば、後述する「事例」のデータや概念辞書14aを外部装置から入力し、また、作成したドメイン化DB、バリュー特定データ、ドメイン特定データを外部装置(例えば、後述する対話処理装置20)に出力する。
記憶部14は、制御部15による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、特に本発明に密接に関連するものとしては、概念辞書14aと、ドメイン化DB14bと、インデックスファイル14cと、インデックスキャッシュ14dと、語彙DB14eと、重要語彙DB14fとを備える。
このうち、概念辞書14aは、ドメイン化DB14bの作成に用いられるデータベースであり、具体的には、図4に例示するように、「事例(図3参照)」が属するドメインの専門家等が予め、当該分野に関係するシチュエーション流通言語語彙、並びに、関係すると思われるシチュエーション流通言語語彙のそれぞれに、サブドメインを対応付けて記憶して構成される。
ドメイン化DB14bは、後述する制御部15によって作成され、後述する対話処理装置とユーザとの対話に際して利用されるデータベースであり、具体的には、図5に例示するように、「事例(図3参照)」に関する流通言語語彙等を、概念辞書14aのサブドメインに従って整理保存して構成される。
インデックスファイル14cおよびインデックスキャッシュ14dは、後述する制御部15によって作成され、後述する対話処理装置とユーザとの対話に際して、ドメイン化DB14bに含まれるバリューを特定するために使用されるデータベースである。具体的には、インデックスファイル14cは、図7に例示するように、ドメイン化DB14bに含まれるバリューデータの全てと、それぞれのバリューデータがどのバリューに含まれているのかを示すバリュー番号とを相互に対応付けて記憶して構成される。また、インデックスキャッシュ14dは、図8に例示するように、ドメイン化DB14bに含まれるバリューデータの一部と、それらのバリューデータのそれぞれがドメイン化DB14bのどのバリューに含まれているのかを示すバリュー番号と、それらのバリューデータの使用頻度とを相互に対応付けて記憶して構成される。
語彙DB14eおよび重要語彙DB14fは、後述する制御部15によって作成され、後述する対話処理装置とユーザとの対話に際して、対話のドメインを特定するために使用されるデータベースである。具体的には、語彙DB14eは、図9に例示するように、ドメイン化DB14bの全てのバリューデータや、各事例(図3参照)からドメイン化DB14b内に分類格納されなかった流通言語語彙を記憶して構成される。また、重要語彙DB14fは、図10に例示するように、上記の語彙DB14eに記憶された流通言語語彙のなかで出現頻度の高いもの(例えば、50個から300個)、または、重要度計算を行った結果として出現頻度値や重要度計算値が高いものを記憶して構成される。
制御部15は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、データマイニング部15aと、バリュー特定データ作成部15bと、ドメイン特定データ作成部15cとを備える。
これらの各部の詳細な処理内容については、以下で後述するが、概略的には、データマイニング部15aは、上記のドメイン化DB14bを作成する処理部であり、バリュー特定データ作成部15bは、上記のインデックスファイル14cおよびインデックスキャッシュ14dを作成および更新する処理部であり、ドメイン特定データ作成部15cは、上記の語彙DB14eおよび重要語彙DB14fを作成および更新する処理部である。
なお、上述してきたドメイン化DB作成装置10は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDAなどの情報処理装置に、上記した記憶部14および制御部15の各機能(プログラムやデータ)を搭載することによって実現することもできる。
(2)ドメイン化DBの構築
続いて、図3〜図6を用いて、図2に示したドメイン化DB作成装置10によるドメイン化DBの構築手法を説明する。図3は、事例を構成する情報の具体例を示す図であり、図4は、概念辞書14aに記憶される情報の構成例を示す図であり、図5は、ドメイン化DB14bに記憶される情報の構成例を示す図であり、図6は、ドメイン化DB14bの作成処理の流れを示すフローチャートである。
ドメイン化DB14bは、ドメイン化DB作成装置10に入力される「事例」および記憶部14に予め記憶された概念辞書14aを用いて、制御部14のデータマイニング部15aによって作成されるものである。そこで、以下では、かかる「事例」および概念辞書14aの内容を先に説明してから、ドメイン化DB14bの作成手法を説明する。
ドメイン化DB作成装置10に入力される「事例」とは、マニュアルやFAQ、カタログ、パンフレットなどの知識情報である。そして、この「事例」は、例えば、図3に例示するように、インターネット等の通信回線(通信制御部13)を通じてアクセス可能なカタログの他に、一つのタイトル毎にデータが収められているものであれば、カタログ以外にパンフレット等でもよい。また、通信回線を介して収集されるもの以外にも、一般に流布されている書面でもよく、書面の場合には、スキャナーで取り込まれて電子化処理された後、通信回線を介して収集されたものと同様に扱われる。
かかる「事例」について、より詳細に説明すると、例えば、図3に例示する「事例」は、インターネット上で取得した「食事」のドメインに関する事例の一つであるが、この事例では「新東京寿司」や「四川創作亭」という店舗名が一つのタイトルに相当し、それぞれで「新東京寿司」や「四川創作亭」を紹介する情報や概要等が記載されている。つまり、「寿司」、「日本料理」、「穴子握り」、「5台」等の意味のある流通言語語彙が記載されるとともに、寿司の「参考写真」等を含んだ店の概要が記載されている。
ドメイン化DB作成装置10は、このような「事例」を入力してドメイン化DB14bを作成するが、その作成に際して概念辞書14aを参照する。かかる概念辞書14aは、図4に例示するように、事例が属するドメインの専門家等が予め、当該分野に関係するシチュエーション流通言語語彙、並びに、関係すると思われるシチュエーション流通言語語彙のそれぞれに、サブドメインを対応付けることで、膨大な数のシチュエーション流通言語語彙を記憶して構成されるデータベースである。
ここで、シチュエーション流通言語語彙としては、業界固有の用語を編集した辞書に記載してある流通言語語彙や、業界の関係者が日常用いている用語等が記憶保存される。したがって、事例の文章を意味解析および流通言語語彙解析して得られた流通言語語彙、つまり、図3に例示するような事例から助詞や冠詞等を取り除いて分解した意味のある流通言語語彙は、全て概念辞書に含まれていることになる。
かかる概念辞書14aについて、より詳細に説明すると、例えば、図4に例示する概念辞書14aでは、「日本料理」というシチュエーション流通言語語彙に対して「ジャンル」というサブドメインが付されている。なお、原則として、サブドメインの数は一つのドメインに付き30個程度であるが、事例が属するドメインの専門家等の判断により、100個以上にまでサブドメインの数を増やすことも可能である。また、これらのサブドメインは、互いに従属関係を持たせておくことも可能であり、この従属関係を用いて、後述するドメイン化DB14bのプロパティの階層化に反映することも可能である。
ドメイン化DB作成装置10は、上記したような事例を概念辞書14に基づいて分類することでドメイン化DB14bを作成する。かかるドメイン化データベース14bは、図5に例示するように、ドメイン毎のデータ、つまり図3に例示したような事例に関する流通言語語彙等を、概念辞書14aのサブドメイン(人間が入力したサブドメイン)に従って整理保存して構成されるデータベースである。つまり、ドメイン化DB14bにおけるサブドメインは、概念辞書14aで用いているサブドメインと1対1に対応している。
かかるドメイン化DB14bについて、より詳細に説明すると、サブドメインを配列したものを「プロパティ」と呼ぶことにするが、例えば、図5に例示するドメイン化DB14bでは、プロパティがプロパティa、プロパティb、プロパティcの三つに分けられており、プロパティaには、「タイトル」、「URL」、「ジャンル」、「参考写真」、「お勧め料理」、「食材」「店舗情報」等が含まれている。さらに、このうちの「店舗情報」を細分化するサブドメインが「収容人数」、「営業時間」、「駐車場」等のサブドメインであり、「参考写真」を細分化するサブドメインが「皿の数」、「明るさ」等のサブドメインであり、これらはプロパティaに対してさらに細分化したサブドメインの集合体であるプロパティbやプロパティcに含まれている。
ここで、プロパティaとプロパティbとを統合して一つのプロパティにしてもよいが、逆にプロパティaとプロパティbとを細分化してプロパティA、プロパティB、プロパティC、プロパティDにさらに細分化することもできる。このように、プロパティを階層に並べてドメインを整理することを「ドメインの階層化」と呼ぶが、ドメインの階層化はユーザの嗜好をユーザコンピュータ(ドメイン化DB作成装置10)が伺いながら構築されるものであり、ドメイン化DB作成装置10がユーザと対話をしながら作成する。ただし、ここで言う「ユーザ」は、ドメインに関する専門家等である必要があり、いわゆる一般ユーザ(後述する対話処理装置と対話するユーザ)がドメイン化DB14bを利用して対話を行う前に、予め専門家等がドメイン化DB14bを作成しておくようにしてもよい。
また、ドメイン化DB14bでは、図5に例示するように、ドメイン固有の事例がそれぞれプロパティa、プロパティbおよびプロパティcに従って分類されるが、事例の一つ一つを、プロパティに従って分類したものを「バリュー」と呼ぶことにする。すなわち、図5に例示するドメイン化DB14bでは、「新東京寿司」、「四川創作亭」、「グラツィオーゾ」、「豚骨亭」の四つのタイトルで代表される四つの事例について、プロパティa、プロパティbおよびプロパティcに従って分類したバリューをそれぞれ4つ記憶している。そして、プロパティaに従って分類したバリューには、T1、T2、T3、T4のバリュー番号を、プロパティbに従って分類したバリューには、T1a、T2a、T3a、T4aのバリュー番号を、そしてプロパティcに従って分類したバリューには、T1b、T2b、T3b、T4bのバリュー番号を付して記憶している。
また、ドメイン化DB14bを構成するデータをサブドメインに基づいてまとめたものを「カラム」と呼ぶことにする。すわわち、ドメイン化DB14bは、事例の一つ一つをプロパティに従って分類したものであり、バリューとカラムによって構成されている。また、ドメイン化DB14bに分類され、組み込まれた流通言語語彙等のデータを「バリューデータ」と呼ぶことにする。つまり、図5に例示するドメイン化DB14b中の「寿司」や「日本料理」等の流通言語語彙等は、それぞれバリューデータである。
上述してきたようなドメイン化DB14bを作成するのが、ドメイン化DB作成装置10の制御部15におけるデータマイニング部15aである。すなわち、図6に示すように、データマイニング部15aは、入力部11若しくは通信制御部13を介して事例(図3参照)の文章データが入力されると(ステップS601肯定)、事例の中に記載の文章を意味解析および流通言語語彙解析して流通言語語彙を抽出する(ステップS602)。
そして、データマイニング部15aは、抽出した流通言語語彙を概念辞書14a中のシチュエーション流通言語語彙と照合し(ステップS603)、マッチする流通言語語彙を該当するサブドメイン(図4参照)に従ってドメイン化DB14bに分類して格納する(ステップS604)。その後、データマイニング部15aは、事例に属する全ての流通言語語彙を抽出分類する(ステップS605肯定)まで、上記した処理(ステップS602〜S604)を繰り返し実行する。その結果、図5に例示したようなドメイン化DB14bが作成される。
なお、データマイニング部15aには、事例に含まれるタイトル(例えば、「新東京寿司」)を認識する機能や、事例に含まれる写真やグラフをそれぞれ写真データやグラフデータであることを認識してドメイン化DB14bに分類する機能もある。
ところで、概念辞書14aのサブドメインも、一般辞書(一般に流通している膨大な数の国語辞典等が該当する。)に含まれる概念を専門家等が整理したものである。そして、概念辞書14aの中では、流通言語語彙に概念が付されているが、これを専門家等がそれぞれのドメインに対して分類・整理したものがサブドメインである。さらに、図3に例示するような事例中の流通言語語彙は、ユーザコンピュータ(ドメイン化DB作成装置10)によって、全て自動的に分類・整理されてドメイン化DB14bが構築されるようにする場合には、一旦ドメイン化DB14bを構築した後に、専門家等にユーザコンピュータが構築結果の確認を取ることで、ドメイン化DB14bの完成度を上げることも可能である。つまり、一旦構築したドメイン化DB14bが満足できないものであった場合には、専門家等の指示の下、プロパティを組み直すなどしてドメイン化DB14bを満足のいくものに修正することも可能である。
続いて、以下に、図3に例示した「事例」からドメイン化DB14bを作成する処理を具体的に説明する。まず、データマイニング部15aは、「新東京寿司」が事例のタイトルであることを識別する。これは、例えば、事例のファースト頁の最上段に位置する用語を、その事例のタイトルであるとするプログラムが組まれていることで行われる。そして、データマイニング部15aは、「新東京寿司」はタイトルであるので、ドメイン化DB14bの「タイトル」のサブドメインによってまとめられたカラムの一つに「新東京寿司」を分類格納する。これによって、「タイトル」の欄に「新東京寿司」を入れた「バリュー」は、事例の「新東京寿司」に関するデータを分類・整理したものであることになる。
なお、ドメイン化DB14bでは、上から順に各バリューにバリュー番号を付しており、「新東京寿司」に関する事例のデータが格納されている「バリュー」のバリュー番号は「T1」である。そして、バリュー番号は、任意に決められるものであるが、一つのバリューが重複して一つのドメインにおけるドメイン化DB14bに含まれることはなく、また、バリュー番号によって事例の優劣が決定されるものでもない。
また、図3に例示したように、この事例の中には、例えば「寿司は、日本料理の一つである。」という文章が記されている。データマイニング部15aでは、この文章の意味解析および流通言語語彙解析を行って「寿司」および「日本料理」の二つの流通言語語彙を抽出する。一方、概念辞書14には、図3に例示したように、「寿司:カテゴリ」、「日本料理:ジャンル」というように、「寿司」および「日本料理」のシチュエーション流通言語語彙がサブドメインを伴って保存されている。
そこで、データマイニング部15aは、「寿司」の流通言語語彙は「カテゴリ」のサブドメインに従って、また、「日本料理」の流通言語語彙は「ジャンル」のサブドメインに従って、T1のバリューに分類格納する(図5参照)。このような工程を、プロパティaに従って図3の事例について全て実行すると、T1のバリューがドメイン化DB14bに作成格納される。そして、データマイニング部15aは、同様の作業を「食事」のドメインに属する他の事例(例えば、タイトル「四川創作亭」の事例)について行うことで、「食事」に関するドメイン化DB14bを作成する(図5参照)。
さらに、データマイニング部15aは、他のドメイン(例えば、「宿泊施設」や「レジャーランド」など)に関しても同様の作業を繰り返して実行することで、他のドメインに関するドメイン化DB14bを作成することもできる。すなわち、ドメイン化DB14bは、ドメイン毎に作成されるデータベースである。ただし、他のドメインに対応するドメインDB14bを作成するためには、例えば、「宿泊施設」や「レジャーランド」など、他のドメインに対応した概念辞書14aが必要である。
ところで、図5に例示するように、ドメイン化DB14bのプロパティaには、サブドメインとして「URL」や「参考写真」が含まれている。一方、このサブドメインに対応する流通言語語彙は、図4に例示する概念辞書14aには含まれていない。つまり、概念辞書14aを用いるだけでは、「URL」や「参考写真」のサブドメインに対応するデータを事例から抽出することはできない。そこで、データマイニング部15aは、「URL」のサブドメインに対するデータを抽出する場合には、URL認識プログラムを用い、同様に、「参考写真」のサブドメインに対するデータを抽出する場合には、写真やグラフを事例から認識するための認識ソフトを用いる。
例えば、図3に例示した事例は、HTMLファイルのホームページであるので、データマイニング部15aのURL認識プログラムは、このURL、すなわち「A1」を「URL」のサブドメインに対するT1のバリューの欄に分類格納する。一方、写真を事例から認識した場合には、データマイニング部15aは、この写真の所在位置を詳細に示すURL等の位置情報をT1のバリューの欄に分類格納する。これによって、本来的には別々のデータベースに格納される文字や写真等の画像を、一つのデータベースに一緒に保存することが可能になる。
また、データマイニング部15aは、写真のURL等を取り込むと同時に、写真を文章や流通言語語彙で判断できるように、画像認識プログラムを用いて写真を分解・分析することもできる。つまり、かかる画像認識プログラムは、写真を網の目状に区分けした上で、その特徴を読み取る機能を担うものであるが、これによって、例えば、店内の椅子やテーブルの配置を表した写真であれば、写真の中の特徴として、店内の椅子の数やテーブルの間隔等を文章や流通言語語彙として抽出し、ドメイン化DB14bに分類格納する。
さらに、専門家等のコメント等に代表される主観を事例の中から取り出す機能を画像認識プログラムに付加しておくこともできる。つまり、この主観は、事例の中の写真の解説欄に記載の文章であり、この文章を取り出す機能が上記の付加機能である。図5に例示するように、ドメイン化DB14bにおいては、サブドメイン「参考写真」のさらに下層に参考写真のデータを入れるプロパティcが形成されているが、上記の付加機能によって、写真のデータを個別具体的にドメイン化DB14に分類格納することが可能になる。なお、グラフについても、同様に分類格納することができる。
ただし、店舗の外観写真と料理の見本を示した写真の2種類が掲載されているような事例の場合には、「参考写真」のサブドメインに対応する写真は、料理の見本を示した写真のことである。そして、この判別は、写真を見つけるごとに、専門家等のサブドメインを導入した人やユーザに確認を取りつつ行われる。つまり、データマイニング部15aが店舗の外観写真を事例から抽出した場合に、専門家等のサブドメインを導入した者やユーザに「この写真を、参考写真に組み込みますか?」と尋ねるようなプログラムがデータマイニング部15aには組み込まれる。
ここで、かかる写真は「参考写真」に組み込みたい写真ではないので、専門家等のサブドメインを導入した者やユーザが「いいえ」と答えた場合には、データマイニング部15aは、抽出した店舗の外観写真をドメイン化DB14bに格納することはしない。その一方、データマイニング部15aは、料理の見本を示した写真を事例から抽出して、「この写真を、参考写真に組み込みますか?」と尋ねる。ここで、この写真は「参考写真」に組み込みたい写真なので、「はい」と答えた場合には、データマイニング部15aは、この写真の所在位置を詳細に示すURL等の位置情報をT1のバリューの欄に分類格納する。
上述してきたような処理をデータマイニング部15aで実行することで、図3に例示したような事例のデータから、図5に例示したようなドメイン化DB14bが作成される。なお、写真やグラフ以外の他のバリューデータをドメイン化DB14bに分類格納する際にも、個別に専門家等のサブドメインを導入した者やユーザに確認を取ることも可能であり、また、そうすることで、ドメイン化DB14bもユーザ等にとって最も有効なデータベースになる。
(3)バリュー特定データの構築
続いて、図7および図8を用いて、図2に示したドメイン化DB作成装置10によるバリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)の構築手法を説明する。図7は、インデックスファイル14cに記憶される情報の構成例を示す図であり、図8は、インデックスキャッシュ14dに記憶される情報の構成例を示す図である。
インデックスファイル14cは、図7に例示するように、ドメイン化DB14bに含まれるバリューデータの全てと、それぞれのバリューデータがどのバリューに含まれているのかを示すバリュー番号とを相互に対応付けて記憶して構成される。
そして、このインデックスファイル14cは、上記したドメイン化DB14bの作成後、後述するインデックスキャッシュ14dの作成前に、ドメイン化DB作成装置10の制御部15におけるバリュー特定データ作成部15bによって作成される。具体的には、バリュー特定データ作成部15bは、ドメイン化DB14bに格納されているバリューデータを全て集めてくることでインデックスファイル14cを作成する。このため、インデックスファイル14cの容量は莫大になるが、バリューデータが同一の流通言語語彙については、図7に例示するように、バリューデータを統合して、複数のバリュー番号をまとめるようにしてもよく、これによって、記憶されるデータ量を少なくし、後述する検索処理(バリュー特定のための検索処理)における重複作業を省くこともできる。
一方、インデックスキャッシュ14dは、図8に例示するように、ドメイン化DB14bに含まれるバリューデータの一部と、それらのバリューデータのそれぞれがドメイン化データベース20aのどのバリューに含まれているのかを示すバリュー番号と、それらのバリューデータの使用頻度とを相互に対応付けて記憶して構成される。
そして、このインデックスキャッシュ14dは、上記したインデックスファイル14cの作成後に、ドメイン化DB作成装置10の制御部15におけるバリュー特定データ作成部15bによって作成される。具体的には、バリュー特定データ作成部15bは、ドメイン化DB14bに格納されているバリューデータのうちから、使用頻度が高い一部のバリューデータ(例えば、5000個のバリューデータ)を集めてくることでインデックスキャッシュ14dを作成する。なお、使用頻度数は、そのバリューデータの使用割合やアクセス回数を用いて表すことができるが、例えば、使用割合は、そのバリューデータへのアクセス回数をインデックスキャッシュ14dへのアクセス回数で除して、100を乗じた値である。
このようなインデックスキャッシュ14dやインデックスファイル14cは、後述する対話処理装置とユーザとの対話に際して、ドメイン化DB14bに含まれるバリューを特定するために使用される。つまり、インデックスキャッシュ14dやインデックスファイル14cは、いずれもドメイン化DB14bの中から特定のバリューを検索するための検索用ファイルであり、ドメイン化DB14bを本と例えるならば、インデックスキャッシュ14dおよびインデックスファイル14cは共に本の索引に相当する。ただし、インデックスキャッシュ14dは簡易な索引に相当し、インデックスファイル14cは詳細な索引に相当する。また、インデックスキャッシュ14d内のバリューデータは、使用頻度数が多い順に配列されるが、インデックスファイル14c内のバリューデータは、例えば「あいうえお順」や「アルファベット順」等で配列される。
かかるインデックスキャッシュ14dおよびインデックスファイル14cについて、より詳細に説明すると、例えば、図5に例示したドメイン化DB14bでは、「ジャンル」のサブドメインに対応付けて「日本料理」というバリューデータがT1とT4の二つのバリューに格納されているが、図8に例示するインデックスキャッシュ14dでは、これが1行目に格納されている。つまり、「日本料理」のバリューデータと同じ行に「T1&T4」というデータが記されている。ここで、「T1&T4」は、「T1とT4のバリューにそれぞれ入っています。」ということを表している。すなわち、これらは、「「日本料理」のバリューデータは、T1のバリューとT4のバリューに組み込まれている。」ということを指し示しており、さらに、図8に例示するインデックスキャッシュ14dでは、使用頻度数は「日本料理」が最も多いことを表している。なお、以上からも明らかなように、インデックスファイル14cやインデックスキャッシュ14dには、ドメイン化DB14bに存在するプロパティやカラムという概念は無関係である。
ところで、図5に例示したドメイン化DB14bにおけるプロパティbのように、サブドメインの中には「駐車場」や「収容人数」と言ったものがあるが、これらのサブドメインに対して「5台」や「20人」というバリューデータをそのままインデックスキャッシュ14dに保存したのでは、そのバリューデータの意味するところが不明確になるおそれがある。そこで、バリュー特定データ作成部15bでは、例えば「駐車場」のサブドメインに対するバリューデータに関しては、「駐車場有り」または「駐車場無し」と分けることで、インデックスキャッシュ14dでは、駐車場があるものを「駐車場有り」というバリューデータに変換して保存するようにしている。
ただし、かかる変換保存処理は、インデックスキャッシュ14dに対してのみ実行され、バリュー特定データ作成部15bでは、インデックスファイル14cに対しては、「5台」や「20人」といったバリューデータであっても、そのままのバリューデータを保存する。これは、インデックスファイル14cは、データ処理の高速化を目的とするというよりも、ドメイン化DB14bの単なる検索用ファイルとしての側面が、インデックスキャッシュ14dよりも強いからである。
これに対して、インデックスキャッシュ14dは、高速で入力された流通言語語彙からバリュー、すなわち事例を特定することに主眼を置いている。そのため、検索を単純かつスマートに行うために、バリューデータそのものを一部簡潔に整理・保存している。つまり、インデックスキャッシュ14dは、バリューデータの正確さよりも検索の高速化を主眼に構築され、インデックスファイル14cは、インデックスキャッシュ14dよりもバリューデータの正確さを主眼に構築される。なお、もちろん、インデックスキャッシュ14dにインデックスファイル14cからバリューデータをそのまま取り込むようにしても良い。
一方、インデックスファイル14cからインデックスキャッシュ14cには、バリューデータの移行が可能である。すなわち、バリューデータの特定に際して、インデックスキャッシュ14cに含まれるバリューデータに検索対象の流通言語語彙がない場合には、インデックスファイル14cのバリューデータを用いて検索される。そして、このような場合、バリュー特定データ作成部15bでは、インデックスファイル14cで検索に用いられたバリューデータを、最も高い使用頻度(例えば100%)を付与した上で、インデックスキャッシュ14dに新たに格納する。ただし、インデックスファイル14cで検索に用いられたバリューデータは消去もされず、何の変化も無く保存される。それ故、保存されているバリューデータの数は、インデックスファイル14cでは変化しないが、インデックスキャッシュ14dでは変化する。例えば、当初5000個のバリューデータが保存されていたインデックスキャッシュ14でも、運用に従って5001個、5002個、・・・と保存数が増加する。
また、インデックスキャッシュ14dは、運用開始から一定期間経過したとき、または、記憶するバリューデータ量が一定容量に達したときに整理される。すなわち、インデックスキャッシュ14dには、例えば、原則として5000個のバリューデータが保存されるように規定されているので、バリュー特定データ作成部15bでは、増加したバリューデータを整理して5000個にする。これは、瞬時に行われ、使用頻度の少ないものがインデックスキャッシュ14dから消去されることで5000個にされる。若しくは、インデックスキャッシュ14dを二個設け、バリューデータを整理しているときには、一方のインデックスキャッシュ14dを使用し、その後、整理された他のインデックスキャッシュ14dを入れ替えることで、整理中でもインデックスキャッシュ14dが円滑に機能するようにすることも可能である。
ところで、上記でも説明したが、インデックスキャッシュ14dには、原則として、ドメイン化DB14b中で使用頻度の高い流通言語語彙が5000個集められている。しかし、5000個という数は、設定により増減可能であり、例えば、2000個にすることも、また7000個にすることも可能である。なお、ドメイン化DB14bと、インデックスファイル14cと、インデックスキャッシュ14dとは、一つのドメインに付き一つずつ少なくともあり、インデックスキャッシュ14dの数のみ設定により二個にすることが可能である。
さらに、バリューデータの集合からボトムアップ形式で構築した類似検索を、インデックスキャッシュ14dやインデックスファイル14cのバリューデータに付することも可能である。例えば、「ラーメン」と「パスタ」のバリューデータから「めん類」というように類似点を抽出し、ボトムアップ形式で新たなサブドメインをツリー状に分類・整理し、その結果として、新たに導き出された「めん類」というサブドメインを「ラーメン」や「パスタ」のバリューデータに付し、これを検索に利用することも可能である。
(4)ドメイン特定データの構築
続いて、図9および図10を用いて、図2に示したドメイン化DB作成装置10によるドメイン特定データ(語彙DB14e、重要語彙DB14f)の構築手法を説明する。図9は、語彙DB14eに記憶される情報の構成例を示す図であり、図10は、重要語彙DB14fに記憶される情報の構成例を示す図である。
語彙DB14eは、図9に例示するように、ドメイン化DB14bの全てのバリューデータや、各事例(図3参照)からドメイン化DB14b内に分類格納されなかった流通言語語彙を記憶して構成されるデータベースである。そして、この語彙DB14eは、上記したドメイン化DB14bの作成後、ドメイン化DB作成装置10の制御部15におけるドメイン特定データ作成部15cによってドメイン毎に作成される。
ただし、この語彙DB14eは、ドメイン化DB14bのような「事例やサブドメインに基づいてデータを保存したデータベース」、またはインデックスキャッシュ14dやインデックスファイル14cのような「バリュー番号を付してデータを保存したデータベース」とは異なり、保存形式に係る一切の規定が無く、ドメイン特定データ作成部15cは、バリューデータそのものや、事例から分類格納されなかった流通言語語彙を、単に羅列して記憶させることで語彙DB14eを作成する。
一方、重要語彙DB14fは、図10に例示するように、上記の語彙DB14eに記憶された流通言語語彙のなかで出現頻度の高いもの(例えば、50個から300個)、または、重要度計算を行った結果として出現頻度値や重要度計算値が高いものを記憶して構成されるデータベースである。そして、この重要語彙DB14fは、上記したドメイン化DB14bの作成後、ドメイン化DB作成装置10の制御部15におけるドメイン特定データ作成部15cによってドメイン毎に作成される。
ここで、出現頻度値とは、ドメインの中で各事例の範囲を越えて、例えば「日本料理」の流通言語語彙が何回表れたのかを示す値のことである。また、重要度計算値とは、ドメインの中で各事例の範囲を超えて、例えば「日本料理」と「寿司」の出現頻度値が高いときに、このような流通言語語彙同士の関係から導いた値のことである。つまり、出現頻度値も重要度計算値も共に、ドメインの中で、その流通言語語彙等がどれだけ不可欠な流通言語語彙等であるかを示すものであり、一般的に言うところの「キーワード」に対応している。そして、ドメイン特定データ作成部15cは、これらの値を算出して重要語彙DB14fに格納する。
また、ドメインの名称や、「タイトル」や「ジャンル」のサブドメイン(図5参照)で定義されるカラムに含まれる流通言語語彙は、ドメイン固有の流通言語語彙であり、ドメインを特定する際に必要不可欠であるので、ドメイン特定データ作成部15cは、重要語彙DB14fの作成に際して、これらの流通言語語彙を優先して重要語彙DB14fに格納する。つまり、ドメインの名称等は、事例の中で出てくる回数が少なくても、優先して重要語彙データベースに格納される。なお、このような流通言語語彙は、重要度計算値が高いので、重要語彙DB14fから漏れることはないと考えられる。
このような語彙DB14eや重要語彙DB14fは、後述する対話処理装置とユーザとの対話に際して、対話のドメインを特定するために使用される。つまり、「食事」、「宿泊施設」、「レジャーランド」等に関するドメイン化DB14bが複数あるような場合に、ユーザがいずれのドメインについて対話を望んでいるか、言い換えれば、いずれのドメイン化DB14bを用いてユーザと対話するかを特定するために利用される。
[3:ユーザとの対話処理]
次に、図11などを用いて、本発明に係る対話処理を説明する。なお、以下では、ユーザとの間で対話処理を実行する対話処理装置の概略処理、各部の構成を説明した後に、これをカーナビゲーションシステムに適用した場合を例にして具体的な対話処理の流れを説明する。
(1)対話処理装置の概略処理
図11は、ユーザとの間で対話処理を実行する対話処理装置20の構成を示すブロック図であり、図12は、この対話処理装置20による対話処理の概略を説明するための図であり、図13は、対話処理装置20による対話処理の概略を示すフローチャートである。
図11に示すように、この対話処理装置20では、上記した「対話処理に用いられるデータ」で説明したドメイン化DB14b、バリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)およびドメイン特定データ(語彙DB14e、重要語彙DB14f)を外部記憶部25に備える。すなわち、例を挙げれば、「食事」、「宿泊施設」、「レジャーランド」というドメイン毎に、上記した各データを備える。
そして、この対話処理装置20では、上記した各データを用いて、ドメイン特定、バリュー特定、回答データ特定の各処理を通じて、ユーザと対話を行う。すなわち、例を挙げれば、対話処理装置20は、「食事」、「宿泊施設」および「レジャーランド」のいずれのドメインについてユーザが対話を意図しているかをユーザの入力文に基づいて特定する。続いて、例えば、「食事」というドメインが特定された後に、対話処理装置20は、特定されたドメインにおけるいずれのバリュー(バリュー番号)についてユーザが対話を望んでいるかをユーザの入力文に基づいて特定する。そして、バリューが特定された後に、対話処理装置20は、特定されたバリューにおいてユーザが要求している回答データ(バリューデータ)をユーザの入力文に基づいて特定する。
そして、かかるドメイン特定、バリュー特定および回答データ特定は、いずれの処理も、図13に示すフローチャートの流れに従って実行される。すなわち、同図に示すように、ユーザからマイク(後述する入力部21)を通じて音声入力があると(ステップS1301肯定)、対話処理装置20の制御部26は、かかる音声入力された入力文に対して、文章解析および流通言語語彙解析することで、ユーザとの対話を繋げるために必要不可欠な入力流通言語語彙を抽出する(ステップS1302)。
すなわち、対話処理装置20の制御部26は、入力文に対して意味解析までは行わず、ドメイン化DB14b、バリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)およびドメイン特定データ(語彙DB14e、重要語彙DB14f)の記憶単位である「流通言語語彙」の単位で語彙解析を行う。これについて例を挙げると、端的には、「〜動かない。」という入力文に対しては、動詞・助動詞を区別せずに「動かない」という流通言語語彙の単位で分解抽出する。
対話処理装置20の制御部26は、抽出した流通言語語彙を用いてユーザに対する応答を検索する(ステップS1303)。すなわち、ドメインを特定する場面では、ドメイン特定データ(語彙DB14e、重要語彙DB14f)に記憶されている流通言語語彙とユーザの入力文から抽出した流通言語語彙とを照合することで、いずれのドメインについてユーザが対話を意図しているかを特定する。つまり、例を挙げれば、ユーザの入力文から「食事」という流通言語語彙が抽出されれば、「食事」、「宿泊施設」および「レジャーランド」という三つのドメインのなかから「食事」がドメインとして特定される。
また、バリューを特定する場面では、バリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)に記憶されている流通言語語彙とユーザの入力文から抽出した流通言語語彙とを照合することで、特定されたドメインにおけるいずれのバリュー(バリュー番号)についてユーザが対話を望んでいるかを特定する。つまり、例を挙げれば、ユーザの入力文から「魚」および「日本料理」という流通言語語彙が抽出されれば、複数あるバリュー(バリュー番号)のなかからユーザが意図するバリューとしてバリュー番号「T1」のバリューが特定される(図5参照)。
さらに、回答データを特定する場面では、特定されたバリューのプロパティ(流通言語語彙としてのサブドメイン)と、ユーザの入力文から抽出した流通言語語彙とを照合することで、特定されたバリューにおいてユーザが要求している回答データ(バリューデータ)を特定する。つまり、上記の例で言えば、ユーザの入力文から「駐車場」という流通言語語彙が抽出されれば、バリュー番号「T1」のバリューのなかから「駐車場」のサブドメインに対応する「無し」というバリューデータが回答データとして特定される。
このようにして、ドメイン特定、バリュー特定または回答データ特定のいずれかが行われた後に、対話処理装置20の制御部26は、応答文を作成して、これをスピーカ(後述する出力部22)から出力する(ステップS1304およびS1305)。すなわち、ドメインを特定した場面では、特定したドメインをユーザに確認する意味で、例えば、「食事の話ですね。」という出力文を出力する。また、バリューを特定した場面では、特定したバリューをユーザに回答する意味で、例えば、「新東京寿司はいかがですか?(出力文6)」という出力文を出力する。さらに、回答データを特定した場面では、ユーザの入力文(質問文)に対する回答として、例えば、「駐車場は無いです。」という出力文を出力する。なお、ユーザの一度の入力文によってもドメインやバリュー、回答データが特定できなかった場合には、ドメインやバリュー、回答データを特定するための質問文を対話処理装置20から出力し、これらを特定するための流通言語語彙の入力をユーザに促す。
(2)対話処理装置の構成
続いて、上記した概略の対話処理を行う対話処理装置20の構成を説明する。図11に示すように、この対話処理装置20は、入力部21と、出力部22と、通信制御部23と、記憶部24と、外部記憶部25と、制御部26とから構成される。
このうち、入力部21は、各種の情報の入力を受付ける入力手段であり、マイクやキーボード、マウス、などを備えて構成され、例えば、マイクを介して対話の入力文(図14参照)などをユーザから受け付けて入力する。
出力部22は、各種の情報を出力する出力手段であり、スピーカやモニタ(若しくはディスプレイ、タッチパネル)を備えて構成され、例えば、スピーカを介して対話の出力文(図14参照)などを出力する。
通信制御部23は、対話処理装置20と他の外部装置(ネットワーク等を介して接続される他の外部装置)の間でやり取りする各種情報に関する通信を制御する手段であり、例えば、ドメイン化DB14b、バリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)およびドメイン特定データ(語彙DB14e、重要語彙DB14f)の各種データを外部装置(例えば、上記したドメイン化DB作成装置10)から入力する。
記憶部24は、制御部26による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、特に本発明に密接に関連するものとしては、データアクセスの高速化を図るためのキャッシュメモリ24aを備え、かかるキャッシュメモリ24a上に、バリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)やドメイン特定データ(語彙DB14e、重要語彙DB14f)を適宜記憶する。
外部記憶部25も、制御部26による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、特に本発明に密接に関連するものとしては、「食事」、「宿泊施設」、「レジャーランド」等のドメイン毎に、ドメイン化DB14b、バリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)およびドメイン特定データ(語彙DB14e、重要語彙DB14f)を備える。なお、ここでは、記憶部24と外部記憶部25とを別個に構成する場合を例に挙げたが、これらを一体として構成するようにしてもよい。
制御部26は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、音声認識部26aと、音素メモリ部26bと、音声合成部26cと、発話テンプレート部26dと、対話制御部26eと、ドメイン特定部26fと、バリュー特定部26gと、回答データ特定部26hとを備える。
このうち、音声認識部26aは、ユーザがマイク(入力部21)から入力した音声を認識して入力文章(入力された音声を電気的な信号に変換したもの)に変換し、この入力文章を文章解析および流通言語語彙解析することで、ユーザとの対話を繋げるために必要不可欠な入力流通言語語彙に分解する処理部である。
音素メモリ部26bは、音声認識部26aによって分解されて抽出された入力流通言語語彙を記憶するとともに、バリューの特定後に(回答データの特定の際に)、特定されたバリューのプロパティ(サブドメイン)およびバリューデータを記憶するメモリである。なお、音素メモリ部26bの記憶内容は、対話の応答に従って、頻繁にかつ即座に書き換えられる。
音声合成部26cは、後述の対話制御部26eによって作成された応答文を音声に変換してスピーカ(出力部22)から出力する処理部である。発話テンプレート部26dは、ユーザとの対話における所定の場面毎に、ユーザに対して出力する出力文のフォーマットを記憶するメモリである。なお、このフォーマットの具体例については後述する。
対話制御部26eは、後述するドメイン特定部26fやバリュー特定部26g、回答データ特定部26hの処理結果に応じて、ユーザに対して出力する出力文(応答文)を作成する処理部である。具体的には、後述するが、ユーザとの対話における所定の場面毎に、いかなる応答文を作成するかについて規定した各種のプログラムが組み込まれている。
ドメイン特定部26fは、ユーザとの対話に際してドメインを特定する処理部である。具体的には、ドメイン特定データ(語彙DB14e、重要語彙DB14f)に記憶されている流通言語語彙とユーザの入力文から抽出した流通言語語彙とを照合することで、いずれのドメインについてユーザが対話を意図しているかを特定する。なお、この詳細については具体例を用いて後述する。
バリュー特定部26gは、ユーザとの対話に際してバリューを特定する処理部である。具体的には、バリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)に記憶されている流通言語語彙とユーザの入力文から抽出した流通言語語彙とを照合することで、特定されたドメインにおけるいずれのバリュー(バリュー番号)についてユーザが対話を望んでいるかを特定する。なお、この詳細についても具体例を用いて後述する。
回答データ特定部26hは、ユーザとの対話に際して回答データを特定する処理部である。具体的には、特定されたバリューのプロパティ(流通言語語彙としてのサブドメイン)と、ユーザの入力文から抽出した流通言語語彙とを照合することで、特定されたバリューにおいてユーザが要求している回答データ(バリューデータ)を特定する。なお、この詳細についても具体例を用いて後述する。
ところで、上述してきた対話処理装置20は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDAなどの情報処理装置に、上記した記憶部24、外部記憶部25および制御部26の各機能(プログラムやデータ)を搭載することによって実現することもできる。また、ここでは、上記のドメイン化DB作成装置10と対話処理装置20とを別個に構成する場合を例に挙げたが、これらをユーザコンピュータとして一体として構成するようにしてもよい。特に、両者を一体として構成した場合には、バリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)やドメイン特定データ(語彙DB14e、重要語彙DB14f)を簡易に更新することも可能になる。
(3)具体的な対話処理の流れ
続いて、図14を用いて、上記の対話処理装置20による具体的な対話処理の流れを説明するが、ここでは、対話処理装置20による対話処理をカーナビゲーションシステムに適用した場合を具体例として説明する。つまり、この場合には、ユーザは車の運転手(または同乗者)に相当し、対話処理装置20はカーナビゲーションシステム(いわゆるユーザコンピュータ)に相当する。図14は、このような場合における対話処理の具体例を示す図である。
上記した対話処理装置20において、ユーザがマイク(入力部21)から音声を入力すると、音声認識部26aは、この音声を認識して入力文章(入力された音声を電気的な信号に変換したもの)に変換し、この入力文章を文章解析および流通言語語彙解析することで、ユーザとの対話を繋げるために必要不可欠な入力流通言語語彙に分解する。
すなわち、例えば、図14に例示するように、ユーザが「聞きたいことがあるから、起きてくれる。(入力文1)」と対話処理装置20に対して入力すると、対話処理装置20は、この音声に反応して、「私を起動してくれてありがとう。私は食事、宿泊施設、そしてレジャーランドの三つのドメインについて話が出来ます。(出力文1)」と返答する。
このような対話が行われるのは、「対話処理装置20が起動した際には、対話処理装置20が対話可能な内容(つまり、ドメイン)をユーザに答える」というプログラムが対話制御部26eに組み込まれているからである。すなわち、対話処理装置20の中には、「食事」、「宿泊施設」、そして「レジャーランド」という三つのドメインに関するデータ(ドメイン化DB14bなど)が保存されており、三つのうちからどのドメインの対話を行うのかをユーザに決めさせるために、上記のような出力文を対話処理装置20は出力する。
また、対話処理装置20では、上記のような出力文を音声合成部26cによって出力すると同時に、「食事」、「宿泊施設」、「レジャーランド」の三つドメインそれぞれに対応する重要語彙DB14f内の流通言語語彙を一時的に記憶部24のキャッシュメモリ24aに保存する。これは、後述するように、ドメインを特定するための準備である。
一方、ユーザが上記の出力文に対して、「そうだな、食事をしたいな。(入力文2)」と答えたとする。この場合には、対話処理装置20の音素メモリ部26bは、音声認識部26aによる文章解析および流通言語語彙解析を経て、入力文の中にある「食事」という入力流通言語語彙を記憶し、ドメイン特定部26gは、一時的にキャッシュメモリ24aに蓄えた重要語彙DB14fに対して照合(検索)を行う。そして、この場合には、明らかに食事のドメインだけに「食事」の流通言語語彙があるので、対話内容のドメインが「食事」であることを特定する。なお、これによって、対話の範囲が狭まり、後の対話がスムーズに行われることからも、これは最も重要な工程である。
ところで、音声認識部26aによる語彙解析を経て音素メモリ部26bに記録された入力流通言語語彙が、複数のドメインの重要語彙DB14fに重複して存在している場合には、ドメイン特定部26fは、その流通言語語彙の数に、ドメイン内における当該流通言語語彙の出現頻度値や重要度計算値を乗じた数が多いドメインを、対話のドメインである可能性が高いと判断することもできる。しかしながら、その乗じた数は、相対的な数であるので、その数で絶対的に判断することには問題がある。そこで、このような場合には、対話処理装置20では、ユーザにこのドメインで良いのかどうかを確認し、または、更なるドメイン特定のための情報入力を促すことで、ドメインを正確に特定する。
すなわち、ドメインが明らかに特定されたと思われるような場合でも、念を押してドメインを確認するために、対話制御部26eは、発話テンプレート部26dに記録されている以下のようなフォーマットを起動する。具体的には、発話テンプレート部37には、ドメインが決まった場合にそれを聞き返すフォーマットとして「〜の話ですね。」が記録されているので、対話制御部26eは、フォーマット内の「〜」の部分に特定されたドメインを当てはめることで、図14に例示するように、「食事の話ですね。(出力文2)」という出力文を出力する。これによって、ユーザはドメインが特定されたことを確認し、上記の出力文に対して、「そうだよ。(入力文3)」という入力文を入力する。以上のような工程を経ることで、ドメインが確実に特定され、スムーズな対話が続けられる。
このようにしてドメインが特定されると、対話処理装置20では、特定された「食事」のドメインに対して、どのような話をしたいのかをユーザに尋ねる工程に移行する。具体的には、対話制御部26eは、「どのカテゴリのものが食べたいですか?」や「どのようなジャンルの料理が食べたいですか?」等の出力文を、発話テンプレート部26dに記録されているフォーマットを起動して出力する。これによって、対話処理装置20は、ユーザに対して、対話を続けていくための情報の入力を促すことが可能になる。
このように、対話制御部26eは、サブドメインをユーザに尋ねるプログラム群でもあり、ドメインによって異なるプログラム群を形成することも可能である。つまり、対話制御部26eには、ドメインが特定された後に、ユーザにサブドメインの入力を促す仕組みが設けられており、例えば、「食事」のドメインが特定されると、「食事」のドメインに関するドメイン化DB14b中のプロパティaを呼び出し、呼び出したプロパティaを用いてバリューを特定するためのプログラムが組み込まれている。
具体的には、「ジャンル」および「食材」の入力を促して、バリューを特定するというプログラムが対話制御部26eに組み込まれている。しかしながら、必ずしも「ジャンル」および「食材」の入力を促す必要はなく、どのサブドメインの入力を促してもよいし、全てのサブドメインの入力を促すようにしてもよい。ただし、対話を滑らかに組み立てるためには、2個から5個程度のサブドメインの入力を促して対話を進めた方が、対話が双方向で滑らか、かつ、確実に行われているようにユーザに感じさせることができる。
さらに、ドメインが特定された後においては、キャッシュメモリ24a上でインデックスキャッシュ14dを用いて対話が滑らか、かつ、高速に行われる。すなわち、ドメインが特定されたと同時(または直後)に、制御部26は、外部記憶部25に保存されている特定されたドメイン「食事」に固有のインデックスキャッシュ14dをキャッシュメモリ24aにコピーして記録する。
ここで、対話処理装置20が「どのような食材を用いた料理を食べたいですか?(出力文3)」と出力したような場合には、「ジャンル」および「食材」をスムーズに特定する観点からは、ユーザとしては、「日本料理が食べたい。」や「ラーメンが食べたい。」、「中華が食べたい。」等の返事を入力することが好ましい。しかしながら、図14に示す例では、ユーザが「海の近くに来たから、魚介類が食べたいな。(入力文4)」と応答したものとする。
かかる入力文が入力されると、対話処理装置20の音声認識部26aでは、かかる入力文に対して文章解析および流通言語語彙分解を行うことで、「海」、「魚介類」という入力流通言語語彙を抽出する。そして、この段階で、音素メモリ部26bは、「海」、「魚介類」の入力流通言語語彙を蓄える。
さらに、対話処理装置20は、図14に例示するように、「どのようなジャンルの料理が食べたいですか?(出力文4)」とユーザ100に尋ねる。これに対して、ユーザが「日本料理がいいな。(入力文5)」と答えると、対話処理装置20の音声認識部26aでは、かかる入力文に対して文章解析および流通言語語彙分解を行うことで、「日本料理」という入力流通言語語彙を抽出し、音素メモリ部26bは、これを蓄える。
このようにして、ユーザに入力を促した二つのサブドメインが得られたので、これらの「海」、「魚介類」および「日本料理」の入力流通言語語彙はバリュー特定部26gに送られる。そして、バリュー特定部26gでは、入力された入力流通言語語彙の「海」、「魚介類」および「日本料理」と、キャッシュメモリ24aに一時記憶されているインデックスキャッシュ14dの流通言語語彙とを照合し、照合により合致した一または複数の流通言語語彙に基づいて、さらに「食事」というドメインの中の話題(すなわち、バリュー)を特定する。
しかしながら、上記の「海」や「魚介類」という入力流通言語語彙は、インデックスキャッシュ14dのバリューデータには合致しない。そこで、バリュー特定部26gでは、対話処理装置20に予め備えられた類義語辞書、同義語辞書、類推検索辞書を用いて、ユーザが意図している流通言語語彙を探索する。その結果、上記の場合には、インデックスキャッシュ14d中の「魚」が候補として浮上する。ここで、類義語辞書等を利用することで候補に挙がるバリューデータは、対話処理装置20による検索で80%以上の確率でユーザが意図している流通言語語彙であることが認められたものに限定され、この確率には、ドメインに関連付けられた類義語辞書、同義語辞書、類推検索辞書にそれぞれ付されている、ドメイン毎に固有の確率を用いる。
この例では、導き出した「魚」というバリューデータがユーザの意図したものと合致する可能性は、80%以上であったが100%ではなかったとする。この場合には、対話制御部26eは、発話テンプレート部26dに含まれているフォーマットを起動し、ユーザに対して、「魚の料理が食べたいのですか?(出力文5)」と確認する。これに対して、ユーザは、「そうだよ。(入力文6)」と答える。
このようにして、「食材」のサブドメインのバリューデータは「魚」であることが確定する。しかしながら、図5に例示するように、「魚」を含むバリューは複数存在する。一方、「日本料理」の入力流通言語語彙は、インデックスキャッシュ14d内のバリューデータの「日本料理」と合致した。そして、この「日本料理」のバリュー番号を見ると、T1とT4の二つである。
これによって、バリュー特定部26gでは、インデックスキャッシュ14dの「魚」と「日本料理」のバリュー番号を用いて、「魚」と「日本料理」のバリュー番号の集合を求める。つまり、「魚」のバリューデータを含んだバリューのバリュー番号と、「日本料理」のバリューデータを含んだバリューのバリュー番号とから、両方にあるバリュー番号を探す。その結果、バリュー特定部26gでは、T1のバリューを特定する。
そして、対話処理装置20の対話制御部26eは、特定したバリューのタイトルをユーザに対して応答する。具体的には、図14に例示するように、「新東京寿司はいかがですか?(出力文6)」と尋ねる。これは、「バリューが特定された場合には、プロパティaの内で「タイトル」のサブドメインに相当するものを出力する」というプログラムが対話制御部26eに組まれているからである。このようにして、複数あるバリューのなかからユーザが意図するバリューT1が一応特定される。
このようにしてバリューが特定されると、回答データ特定部26hでは、特定されたバリューのプロパティ(サブドメイン)と、特定したバリューのデータとを外部記憶部25から呼び出し、かかるバリューの内容をいつでもユーザに答えられるように準備する。つまり、ユーザが入力する入力音声から入力流通言語語彙を抽出するために、音素メモリ部26bにそれぞれのサブドメインに対するバリューデータを記録し、回答データ特定部26hは、音素メモリ部26bに記録されたデータ(特定したバリューの内容)を用いてユーザと対話を進めていく。
なお、音素メモリ部26bに記録されるバリューデータの数が多いと照合に長い時間を要するようになる。そこで、音素メモリ部26bでは、照合時間が3秒以内に収まる量のバリューデータのみが保存されるようになっている。また、回答データ特定部26hでは、3秒以内に照合できない場合に、ユーザに聞き返したり、更なる質問をするなどして、対話が途切れないようにしている。
上記したように、対話処理装置20が「新東京寿司はいかがですか?(出力文6)」と出力したのに対して、ユーザは、車を運転しているところなので、「駐車場は、あるの?(入力文7)」と対話処理装置20に尋ねたとする。この場合、対話処理装置20の音声認識部26aは、かかる入力文から「駐車場」という入力流通言語語彙を抽出して音素メモリ部26bに記録する。そして、回答データ特定部26hでは、音素メモリ26bに記録しているプロパティaに含まれるサブドメインに、音素メモリ部26bに記録された入力流通言語語彙に当てはまるものがあるかどうかが照合するが、ここでは、当てはまる流通言語語彙が無いので、他のプロパティ(具体的には、図5に例示するプロパティbやプロパティc)をドメイン化DB14bから呼び出す。
その結果、回答データ特定部26hは、ドメイン化DB14bのプロパティbの中に「駐車場」のサブドメインを見つけるので、「駐車場」のサブドメインのバリューデータをドメイン化DB14bに読みに行く。そして、この場合には、T1のバリューの「駐車場」のサブドメインには「無し」というバリューデータが入っているので、対話制御部26eは、発話テンプレート部26dに記録されたフォーマットを用いて「駐車場は無いです。(出力文7)」という出力文を出力する。
そして、かかる出力文に対して、ユーザが「中華料理でも良いよ。(入力文8)」と答えたとすると、上記のバリュー特定に用いた検索条件が変更されたことになるので、この場合には、対話処理装置20では、改めてバリューを特定する。すなわち、この場合には、音素メモリ26bでは、先に入力された「日本料理」に代えて、「中華料理」を、「ジャンル」のサブドメインに入れる。これを受けて、バリュー特定部26gでは、「日本料理」を検索条件から外し、「魚」、「駐車場」および「中華料理」を新たな検索条件としてインデックスキャッシュ14dから検索条件に合致するバリューを検索する。
その結果、T2のバリューが検索条件に合致するので、対話処理装置20は「四川創作亭はいかがですか?(出力文8)」とユーザに応答する。これに対して、ユーザが「そこで良いよ。(入力文9)」と答えたとすると、これによって、ドメインが「食事」であり、バリューが「四川創作亭」であると決まる。このようにして複数あるバリューのなかからユーザが意図するバリューが改めて決定され、具体的な対話へと移行する。
ところで、上記した工程で特定されたバリューが一つではなく、複数である場合には、さらに対話の内容を絞るための条件を、ユーザから入力するようにするために、対話制御部26eが機能する。すなわち、対話制御部26eには、上記した工程(一回の工程)でバリューが特定できなかった場合には、さらに未だ特定していない「サブドメイン」の入力を促すプログラムが組み込まれている。そこで、対話処理装置20は、「どのカテゴリの料理が良いですか?例えば、中華料理には、四川料理、広東料理、上海料理、北京料理があります。また、日本料理には、天ぷら、寿司、鍋料理等があります。どれが宜しいですか?」といった質問をユーザに行う。このようにして、バリューを特定する要素(条件)を多くすることで、ユーザが希望するバリューを確実に特定することが可能になる。
上記したような工程を経てバリューT2が特定されると、回答データ特定部26hでは、特定されたバリューT2のプロパティ(サブドメイン)と、特定したバリューT2のデータとを外部記憶部25から呼び出し、かかるバリューの内容をいつでもユーザに答えられるように、音素メモリ部26bに記録する。
ここで、例えば、対話処理装置20が、対話制御部26eに組み込まれたプログラム(バリュー特定後に出力する出力文のプログラム)に基づいて「四川創作亭に行きますか?(出力文9)」と質問したとする。これに対して、ユーザが「四川創作亭に行こう。ところで、何がおいしいの?(入力文10)」と尋ねたような場合には、対話処理装置20の回答データ特定部26bでは、かかる入力文を受けて、T2のバリューのプロパティにおける「お勧め料理」というサブドメインを音素メモリ部26bから検索し、このサブドメインに対応する「エビチリ」というバリューデータを回答データとして特定する。その結果、対話制御部26eは、「エビチリがお勧めです。(出力文10)」と答える。
また、ユーザが「写真があれば、見たいな。(入力文11)」と入力したような場合には、対話処理装置20の回答データ特定部26bでは、かかる入力文を受けて、T2のバリューのプロパティにおける「参考写真」というサブドメインを音素メモリ部26bから検索し、このサブドメインに対応する写真データ「B2」のバリューデータを回答データとして特定する。その結果、対話制御部26eは、「写真を表示します。車を止めてから見て下さい。(出力文11)」とユーザに答える。このようにして、対話処理装置20では、特定されたバリューのサブドメインを参照しつつ、ユーザとの対話を実行する。なお、かかる対話の途中で、ドメインやバリューが変わったような場合には、ドメイン特定部26fおよびバリュー特定部26gは、再度ドメインやバリューを特定し、ユーザとの対話を滑らか、かつ、高速に行う。
[4:対話処理に用いるデータの収集]
次に、図15などを用いて、対話処理に用いられるバリューデータやドメイン化DB14b自体のデータを、新たにネットワークを介して収集するシステムを説明する。つまり、上記の対話処理装置20では、ドメイン化DB作成装置10によって予め作成したドメイン化DB14bを外部記憶部25に格納して対話処理を行う場合を説明したが、ここでは、かかるドメイン化DB14bをネットワーク経由で補充する場合を説明する。なお、以下では、かかるバリューデータの収集処理およびドメイン化DB14bの収集処理を行うバリュー収集システムの構成を説明した後に、各収集処理の流れを説明する。
(1)情報収集システムの構成
図15は、情報収集システムの構成を示すブロック図である。同図に示すように、この情報収集システムは、上記した対話処理装置20と、中央管理センタの情報収集共有装置30と、複数のサイト(Webサイト)40とを、LANやインターネット等のネットワークを介して相互に通信可能にして構成される。そして、かかる情報収集システムにおいて、情報収集共有装置30は、同図に示すように、通信制御部31と、記憶部32と、制御部33とから構成される。
ここで、通信制御部31は、情報収集共有装置30と他の外部装置(対話処理装置20やサイト40)の間でやり取りする各種情報に関する通信を制御する手段であり、例えば、ユーザの入力文章を対話処理装置20から受信し、また、ドメイン化DB14bに含まれるバリューのデータをサイト40から受信する。
記憶部32は、制御部26による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、特に本発明に密接に関連するものとしては、既存プロパティ32aと、新規プロパティ32bと、URL知識体32cと、複数の概念辞書32dとを備える。
このうち、既存プロパティ32aおよび新規プロパティ32bは、ネットワーク上のサイト40から収集した情報を分類する際のプロパティ(図5参照)を規定したものである。具体的には、既存プロパティ32aは、サブドメイン(図5参照)が対話処理装置20から入力されない場合に、入力された入力流通言語語彙を基に集めてくる情報を整理するためのサブドメイン「5W1H」が規定されたプロパティのことである。なお、「5W1H」とは、Who(だれが)・When(いつ)・Where(どこで)・What(なにを)・Why(なぜ)・How(どうした)のことである。ただし、このサブドメインは、5W1Hを標準値とするが、ドメインによって固有のプロパティを任意に追加または省略することが可能である。
その一方、新規プロパティ32bは、対話処理装置20におけるユーザの意向を基に作成されるプロパティのことである。例えば、図5に例示した「プロパティa」を用いて、入力された入力流通言語語彙を基に収集した情報を分類したいのであれば、ユーザは、対話処理装置20を介して新規プロパティ32bを「プロパティa」とする指示を入力する。また、全く別のサブドメインに基づいて分類したいのであれば、ユーザは、その都度新規プロパティ32bを作成することができる。つまり、この場合には、ユーザが複数の入力流通言語語彙を入力すると、これらの入力流通言語語彙がどのサブドメインに属するのかが概念辞書32dを用いて特定され、特定されたサブドメインに基づいて新規プロパティ32bが作成される。
URL知識体32cは、膨大なドメイン(例えば、「食事」や「宿泊施設」、「レジャーランド」等のドメイン)について、各ドメイン固有の一つの事例を指し示すホームページのURL(サイト40のURL)と、そのホームページ内における流通言語語彙等の複数のデータとを相互に対応付けて記憶するデータベースであり、上記の既存プロパティ32aおよび新規プロパティ32bと同様、情報収集前に予め作成される。
概念辞書32dは、上記したドメイン化DB作成装置10における概念辞書14aと同様、ドメイン化DB14bの作成に用いられるデータベースであり、具体的には、図4に例示したように、「事例(図3参照)」が属するドメインの専門家等が予め、当該分野に関係するシチュエーション流通言語語彙、並びに、関係すると思われるシチュエーション流通言語語彙のそれぞれに、サブドメインを対応付けて記憶して構成される。
制御部33は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、語彙分解処理部33aと、語彙まとめ部33bと、URL検索部33cと、知識獲得部33dと、Webロボット33eと、動的主要意味抽出部33fと、頻度プログラム部33gとを備える。
このうち、語彙分解処理部33aは、ユーザが対話処理装置20から入力した入力文章に対して文章解析および流通言語語彙解析を行って、意味のある流通言語語彙を抽出する処理部である。ただし、図15に示した例では、対話処理装置20を介してユーザと情報収集共有装置30とが繋がっているので、この場合には、語彙分解処理部33aは起動していない。つまり、この場合には、対話処理装置20において、既に文章解析および流通言語語彙解析が行われているので、あえて語彙分解処理部33aは起動する必要はなく、ユーザが情報収集共有装置30に対して入力文章を直接入力するような場合に限って、語彙分解処理部33aは起動する。したがって、図15に示す例では、対話処理装置20から入力された流通言語語彙等のデータは、後述の語彙まとめ部33bに伝えられる。
語彙まとめ部33bは、入力された入力流通言語語彙を基に集めてくる情報を、どのようなサブドメインに従って分類するか、つまり、どのようなプロパティに従って分類するかを決定する処理部である。具体的には、後述する動的主要意味抽出部33fによる処理に際して、上記した既存プロパティ32aおよび新規プロパティ32bに基づいて決定する。
URL検索部33cは、上記したURL知識体32cと密接に繋がっており、入力された入力流通言語語彙を基にして情報を収集する際に、どのURLを用いて、どのホームページにアクセスするのかを決定する処理部である。具体的には、入力された流通言語語彙をURL知識体32cに当てはめて、合致する流通言語語彙数の多いURLを一つ決定する。
知識獲得部33dは、URL検索部33cで決定されたURLを基にして、情報を収集する処理部である。具体的には、決定されたURLを用いて、サイト40のホームページにアクセスし、図3に例示したようなデータ(事例データ)を収集する。
Webロボット33eは、URL検索33cで決定されたURLを基にして、当該URLのデータ(ホームページ上のデータ)を取り込み、そのデータの中にあるリンク付けされたURLを取り出し、さらに、当該URLを基にしてデータをURL知識体32cに取り込む処理部である。つまり、このWebロボット33eは、自立型のロボットであり、ユーザの意志に従って動くものではなく、情報収集共有処理装置30がユーザによってアクセスされていない場合などに、URL知識体32cを拡張する作業を行っている。
動的主要意味抽出部33fは、ネットワークを介して知識獲得部33dが収集した情報を、語彙まとめ部33bで決定したプロパティを基に分類し、一つのバリューを作成する処理部である。つまり、語彙まとめ部33bで決定したプロパティに対して、一つの事例に関する一のバリューを作成する(図5参照)。なお、作成した一組のプロパティとバリューは、対話処理装置20に送信されて、ドメイン化DB14bに更新格納される。
頻度プログラム部33gは、いわゆる時間遅延学習プログラムを有する。この時間遅延学習プログラムは、一定回数以上、ユーザから情報収集共有処理装置30に対して同一の事例、または同一のドメインに関する情報を収集するようにアクセス要求があった場合に、起動するように設定されているプログラムである。つまり、例を挙げれば、「同一ドメインに対して一週間で5回以上アクセスがあったとき」のような設定がされている。
そして、この時間遅延学習プログラムは、ドメイン固有の概念辞書32dを用いて、ドメイン固有のドメイン化DB14bを作成するプログラムであり、このドメイン化DB14bの作成・構築を、人間の意志に関係なく実行する。このため、ドメイン化DB14bを作成した時点で、情報収集共有装置30は、対話処理装置20のユーザに対して、新規に構築したドメイン化DB14bを対話処理装置20の外部記憶部25に新規に登録するか否かを質問する。そして、この質問によって始まるユーザとの対話の中で、ユーザは新規に構築したドメイン化DB14bを修正することもでき、また、プロパティを修正して再構築することもできる。このようにして、対話処理装置20は、ユーザの意向に沿って構築した新規のドメイン化DB14bを構築し、これを外部記憶装置部25に保存することができる。もちろん、新規に構築したドメイン化DB14bが不要である場合には、ユーザはその旨を対話処理装置20に入力することで、これを削除することもできる。
なお、上述してきた情報収集共有装置30は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDAなどの情報処理装置に、上記した記憶部32および制御部33の各機能(プログラムやデータ)を搭載することによって実現することもできる。また、ここでは、上記の対話処理装置20と情報収集共有装置30とを別個に構成する場合を例に挙げたが、情報収集共有装置30の機能を対話処理装置20に組み込むことで、これらをユーザコンピュータとして一体として構成するようにしてもよい。
(2)バリュー収集処理
続いて、図16を用いて、図15に示した情報収集システムによるバリュー収集処理を説明する。図16は、かかるバリュー収集処理の流れを示すフローチャートである。
同図に示すように、対話処理装置20は、ある事例について情報を収集するようにユーザから要求があると、かかる要求に係る入力文章を情報収集共有装置30に送信する(ステップS1601)。つまり、例を挙げれば、「新東京寿司の情報を収集して欲しい。」といった入力文章を送信する。
これを受けて、情報収集共有装置30では、入力文章に対して文章解析および流通言語語彙解析を行って、意味のある流通言語語彙を抽出する(ステップS1602)。つまり、上記の例で言えば、「新東京寿司の情報を収集して欲しい。」という入力文章から「新東京寿司」という入力流通言語語彙を抽出する。なお、ここでは、情報収集共有装置30で語彙解析を行う場合を説明したが、上記したように、対話処理装置20で語彙解析を済ませておいてもよい。
続いて、情報収集共有装置30は、入力された入力流通言語語彙を基にして情報を収集する際に、どのURLを用いて、どのホームページにアクセスするのかを決定し(ステップS1603)、この決定したURLを基にして情報を収集する(ステップS1604)。つまり、上記の例で言えば、「新東京寿司」のホームページ等にアクセスして、図3に例示したようなデータ(事例データ)を収集する。
さらに、情報収集共有装置30は、上記で収集した情報を所定のプロパティを基に分類して一つのバリューを作成し(ステップS1605)、これを対話処理装置20に送信する(ステップS1606)。つまり、上記の例で言えば、図5に例示したようなバリューを「新東京寿司」に関して作成し、作成した一組のプロパティとバリューとを対話処理装置20に送信する。
これを受けて、対話処理装置20では、情報収集共有装置30から受信した一組のプロパティとバリューとをドメイン化DB14bに新規に登録する(ステップS1607)。つまり、上記の例で言えば、図5に例示したような「新東京寿司」のバリューを、「食事」のドメイン化DB14bに格納する。
(3)ドメイン化DB収集処理
続いて、図17を用いて、図15に示した情報収集システムによるドメイン化DB14bの収集処理を説明する。図17は、かかるドメイン化DB収集処理の流れを示すフローチャートである。
同図に示すように、情報収集共有装置30は、ドメイン化DB14bの作成条件を満たす状況になった場合に(ステップS1701肯定)、すなわち、例を挙げれば、一定回数以上、ユーザから情報収集共有処理装置30に対して同一のドメインに関する情報を収集するようにアクセス要求があった場合に、かかるドメインについてドメイン化DB14bを作成する(ステップS1702)。
具体的に例を挙げれば、「食事」のドメインについて作成条件を満足したような場合には、食事に関する複数のURLを基にして情報を収集した後、収集した情報を「食事」固有の概念辞書32dを用いて分類することで、図5に例示したような「食事」のドメイン化DB14bを作成する。
続いて、情報収集共有装置30は、対話処理装置20のユーザに対して、新規に構築したドメイン化DB14bを対話処理装置20の外部記憶部25に新規に登録するか否かを質問し、新規に登録する場合には、かかるドメイン化DB14bのデータを対話処理装置20に送信する(ステップS1703)。
これを受けて、対話処理装置20では、情報収集共有装置30から受信した新規のドメイン化DB14bを外部記憶装置部25に格納する(ステップS1704)。また、対話処理装置20は、ドメイン化DB14bが保存されると、このドメイン化DB14に関するバリュー特定データ(インデックスファイル14c、インデックスキャッシュ14d)およびドメイン特定データ(語彙DB14e、重要語彙DB14f)を作成し、これを外部記憶部25に格納する(ステップS1705およびS1706)。
この作成処理は、上記したドメイン化DB作成装置10による処理と基本的に同様である。つまり、インデックスファイル14cは、ドメイン化DB14b内のバリューデータを集めたものであるので自動的に作成される。しかし、インデックスキャッシュ14dはバリューデータに使用頻度が付されるので、対話処理装置20が勝手に構築するのは不可能であり、そのため、対話処理装置20は、ユーザに聞きながらインデックスキャッシュ14dに入れるバリューデータを決定する。例えば、「サブドメイン「何々」に関するバリューデータをインデックスキャッシュに入れますか?」等と質問をして、ユーザに入力を促すことでインデックスキャッシュ14dにバリューデータを入れることができる。この場合には、使用頻度は、全て最も高い値、例えば100%にしておくように設定することが望ましい。これは、使用する度に、使用頻度が変わり、望みのインデックスキャッシュ14dが形成されるからである。
なお、インデックスキャッシュ14dには、当初は何のデータを入れておかないようにしてもよい。つまり、空のままでも良い。この場合には、使用される度にインデックスファイル14cからインデックスキャッシュ14dにバリューデータがコピーされて、インデックスキャッシュ14dが成長していくので、自己成長型であるインデックスキャッシュ14dの特性を利用することにつながる。
[5:対話処理に用いるデータの共有]
次に、図18などを用いて、対話処理に用いられるドメイン化DB14bを、ネットワークを介して共有するシステムを説明する。つまり、上記の対話処理装置20では、外部記憶部25に記憶したドメイン化DB14bを用いて対話処理を行う場合を説明したが、ここでは、ネットワークを介して接続される他ユーザの対話処理装置20におけるドメイン化DB14bを用いて対話処理を行う場合を説明する。なお、以下では、かかるドメイン化DB14bを共有する情報共有システムの構成を説明した後に、情報共有処理に至る流れと、具体的な情報共有処理の流れとを説明する。
(1)情報共有システムの構成
図18は、情報共有システムの構成を示すブロック図である。同図に示すように、この情報共有システムは、複数の上記した対話処理装置20と、中央管理センタの情報収集共有装置30とを、LANやインターネット等のネットワークを介して相互に通信可能にして構成される。そして、かかる情報共有システムにおいて、対話処理装置20は、共有化処理部(ネットワークデータ)27をさらに備える。
かかる共有化処理部27は、各ユーザ端末、各家、会社単位で設置可能な独立した共有化技術、つまり、分散されて、または遠隔地にある自己、または他人の情報(すなわち、世の中にある複数のドメイン化DB14b)を共有化するための技術であり、各対話処理装置20において共有化処理部27が外部に相互に開かれて設置されている。ただし、ドメイン化DB14bを、各々の対話処理装置20で利用するためにはそれに対応したインデックスキャッシュ14dが必要であり、それぞれのドメイン化DB14bにはインデックスキャッシュ14dが同様に設けられている。また、ドメイン化DB14bからインデックスキャッシュ14dを作る際に必要不可欠であるインデックスファイル14cも同様に設けられているが、図18では図示を省略している。
また、上記の情報共有システムにおいては、各ユーザのドメイン化DB14b、インデックスキャッシュ14dおよびインデックスファイル14cを、各ユーザが互いに直接アクセスして利用可能であるが、利用頻度が高い場合や、他の対話処理装置20のドメイン化DB14bを自己の好みに合わせて作り変えたいような場合等には、他の対話処理装置20のドメイン化DB14bをコピーして自己の対話処理装置20にダウンロードすることも可能であり、共有化処理部27は、かかるダウンロードの処理も実行する。
そして、このように、ドメイン化DB14bをコピーすることが可能であることから、ドメイン化DB14bの原本がどこにあったものなのか、または、原本がどこにあるものなのかを示す端末番号(ユーザIDなど)が、ドメイン化DB14b自体だけでなく、インデックスキャッシュ14dおよびインデックスファイル14cの全てのデータに付されている。これによって、ドメイン化DB14b等がネットワーク上でコピーされても、いつでも原本に容易に行き着くことが可能になる。
さらに、コピーしたドメイン化DB14bを修正したり、改善した場合に、これに対応させて原本を更新することも可能である。すなわち、複数の対話処理装置20(ユーザコンピュータ)を繋いで、一つのドメイン化DB14bを共有する際には、それぞれの対話処理装置20でドメイン化DB14bがコピーされて使用される。そして、これが使用された結果、ドメイン化DB14bにおいては、バリューデータが修正され、さらに増加され、改善される。そこで、これらの使用が終わった後、ドメイン化DB14bに起動をかけるプログラムが共有化処理部27には組み込まれており、改善されたドメイン化DB14bの内容が原本のドメイン化DB14bに反映される。このように、ドメイン化DB14bが共有されて使用されることによって、ドメイン化DB14bは進化し、時代遅れになることなく、常に最新の情報で満たされているようにすることが可能になる。
(2)情報共有処理に至る流れ
続いて、図19を用いて、他の対話処理装置20におけるドメイン化DB14bを共有処理に至る流れを説明する。図19は、かかる情報共有処理に至る流れを示すフローチャートである。
同図に示すように、あるユーザAの対話処理装置20は、あるドメインに関するドメイン化DB14bの検索要求を情報収集共有装置30に対して送信する(ステップS1901)。つまり、例を挙げると、後述するように、他のユーザの対話処理装置20にある「地質学」のドメイン化DB14bの検索要求を送信する。
これに対して、情報収集共有装置30は、URL知識体32cから検索要求に係るドメイン化DB14bが存在している所在場所を検索する(ステップS1902)。つまり、上記の例で言えば、地質学のドメイン化DB14bを有するユーザBの対話処理装置20のURL情報を検索する。そして、情報収集共有装置30は、検索されたURL情報(ユーザBの対話処理装置20の所在情報)をユーザAの対話処理装置20に送信する(ステップS1903)。
これを受けて、ユーザAの対話処理装置20では、情報収集共有装置30から受信したURL情報(ユーザBの対話処理装置20の所在情報)を基にして、ユーザBの対話処理装置20にアクセス要求を送信する(ステップS1904)。これに対して、ユーザBの対話処理装置20がアクセス要求を許可することで(ステップS1905)、情報共有化が図られる。つまり、ユーザAの対話処理装置20は、ユーザBの対話処理装置20にある「地質学」のドメイン化DB14bを自己のドメイン化DB14bのように利用して、ユーザAとの間で「地質学」に関する対話処理を実行する。
(3)具体的な情報共有処理の流れ
続いて、上記した情報共有システムによる具体的な情報共有処理の流れを説明するが、ここでは、図18に例示するように、ユーザAが、対話処理装置20が設置されている自家用車に居る場合を具体例として説明する。すなわち、同図に例示するように、自家用車の対話処理装置20は、他のユーザBが居る民家の対話処理装置20や、中央管理センタ内の情報収集共有装置30と、ネットワークを介して接続され、各対話処理装置20では、共有化処理部27が外に向かって、また、内に向かって開かれている。
ユーザAは、共有化処理部27を介して、他のコンピュータにあるデータベースを有効に活用することが可能である。ここで、例えば、ユーザAの対話処理装置20には、カーナビゲーションシステムで有効に用いられる「レジャーランド」、「宿泊施設」、「食事」のドメインに関するドメイン化DB14b等のデータが保存されているとする。つまり、ユーザAは、カーナビゲーションシステムとしてのみ、ドメイン化DB14bを利用するのであれば、不自由は感じないが、ユーザAが旅をしている途中で、フィールドワークを行ったような場合には、フィールドワークに必要な情報を旅先で利用する必要性も生じている。以下では、このような必要性が生じた場合の情報共有処理を具体的に説明する。
例えば、ユーザAは、植生を調べるために海岸線を探索していたが、1年前には無かった崖を発見した。そして、ユーザAは、海岸線で露出している断層を発見し、断層から地層ごとにサンプルを採取し、このサンプルを、持ち運び可能な分析器等によって分析した。しかしながら、ユーザAは、地質学の専門家ではないため、分析結果を判断することができない。そこで、ユーザAは、対話処理装置20の情報共有化部27を介して、他のユーザの対話処理装置20にある「地質学」のドメイン化DB14bを利用することを思いついた。
ここで、ユーザBのドメイン化DB14bには、地質学に関する膨大なデータが、ユーザBが入力したサブドメインを配列したプロパティに基づいて整然と分類保存されている。また、地質調査に関して利用頻度の高い流通言語語彙が収められたインデックスキャッシュ14dがドメイン化DB14bの検索用に構築されている。また、これらのユーザBのデータは、共有化処理部27を介して外に開かれているため、ユーザAは、自家用車のカ−ナビ(対話処理装置20)を介して、ユーザBのドメイン化DB14bやインデックスキャッシュ14dを自己のデータベースのごとく利用することができる。
しかしながら、ユーザBのドメイン化DB14bがどこにあるのかをユーザAは知らない。そこで、ユーザAは対話処理装置20を介して、中央管理センタの情報収集共有装置30にアクセスし、URL知識体32cに地質学のドメイン化DB14bがどこに存在しているのかを検索に行く。そして、このURL知識体32cには、URLばかりでなく、そのURLを利用して作成されたドメイン化DB14bの原本の所在情報が記録されている。このため、情報収集共有装置30は、原本の所在情報を示すURL情報(ユーザBの対話処理装置20の所在情報)をユーザAの対話処理装置20に送信する。これによって、ユーザAは、ユーザBの対話処理装置20に地質学のドメイン化DB14bが存在していることを確認することができる。
そして、ユーザAの対話処理装置20は、情報収集共有装置30から受信したURL情報(ユーザBの対話処理装置20の所在情報)を基にして、ユーザBの対話処理装置20にアクセスし、ユーザBによって「地質学」のドメイン化DB14bに対するアクセスが許可されれば、かかるドメイン化DB14bを自己のドメイン化DB14bのように利用して、ユーザAとの間で「地質学」に関する対話処理を実行する。
かかる対話処理に際して、ユーザBの対話処理装置20におけるインデックスキャッシュ14dは、ユーザAから真っ先にアクセスされる入り口の役目を果たし、ユーザAが意図する流通言語語彙からドメインを特定する。これによって、ユーザBのドメイン化DB14bからユーザAは必要なデータを迅速に取り出して、解析結果を導き出すことができるようになる。これは、ドメイン化DB14bへの高速検索を可能にするインデックスキャッシュ14dが共有化処理部27(ネットワークデータ)を介して窓口になっているからである。これによって、インターネット等の通信回線を通じて提供されるデータ量が少なく、かつ、検索が速やかに行われ、通信に要する時間が短時間で済むようになる。なお、具体的には、一つの情報を検索するために要する時間は数ms程度である。
このように、各対話処理装置20の共有化処理部27を介して、分散環境にある他のドメイン化DB14bを自己のドメイン化DB14bのように利用することが可能になる。しかしながら、特定の者にのみ利用を許して、自己のドメイン化DB14bの秘密性を保つことも可能である。すなわち、各対話処理装置20において、共有化処理部27が一番外に設置されているので、かかる共有化処理部27で特定のコードを有する対話処理装置20(特定のユーザ)からのアクセスのみを受け入れるようにセキュリティーを設けることも可能である。これによって、情報の安全な運用が可能になる。
なお、図15を用いて説明した情報収集システムにおいても、上記したようなセキュリティーを設けた共有化処理部27を各サイト40が備えることで、情報収集を制限することが可能である。例えば、プロパティに手を加えるためには、共有化処理部27を介して中央管理センタにアクセスして、認可を得なければならないようにしてもよい。この場合、この認可は、共有化処理部27の設置時の契約によって設けるだけではなく、ユーザからの要望によって設けることもできる。なぜならば、対話処理装置20が共有に係る場合等に、他のユーザによって勝手に新規のドメイン化DB14bが構築されたり、既存のドメイン化DB14b内の情報が更新されたりしないようにするためである。
上述してきたように、ドメイン化DB14bを用いて、有効に情報探索を行い、かつ、セキュリティー管理を万全にしながら、人間とコンピュータとの自然な対話を実現することが可能になる。また、上記した内容を、他の領域、例えば、老人介護への適用、遠隔地医療への適用、留守宅のセキュリティーシステムへの適用、遠隔教育への適用に用いることで、地理的または時間的な差の無いサービスの提供を行うことが可能になる。
[6:他の実施例]
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
例えば、本実施例では、音声入力による入力文を処理する場合を説明したが、本発明はこれに限定されるものではなく、キーボードを介して入力されたテキストの入力文を処理する場合でも同様に適用することができる。また、本実施例では、音声出力によって出力文を出力する場合を説明したが、本発明はこれに限定されたものではなく、モニタに出力文をテキストで表示する場合にも同様に適用することができる。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(特に、図3〜図5等に例示した情報)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置(ドメイン化DB作成装置10、対話処理装置20、情報収集共有装置30)の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置(ドメイン化DB作成装置10、対話処理装置20、情報収集共有装置30)の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、本実施例で説明した各種の知識処理(例えば、ドメイン化DBの作成処理、対話処理、情報収集処理、情報共有処理など)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上のように、本発明に係る知識処理装置、知識処理方法および知識処理プログラムは、入力文を解析して当該入力文に対する出力文を出力する場合に有用であり、特に、ユーザの多種多様で柔軟な入力文(質問文)に対して機動的に応答して、円滑かつ高速な対話処理を行うことに適する。
本実施例の概要および特徴を説明するための図である。 ドメイン化DB作成装置の構成を示すブロック図である。 事例を構成する情報の具体例を示す図である。 概念辞書に記憶される情報の構成例を示す図である。 ドメイン化DBに記憶される情報の構成例を示す図である。 ドメイン化DB作成処理の流れを示すフローチャートである。 インデックスファイルに記憶される情報の構成例を示す図である。 インデックスキャッシュに記憶される情報の構成例を示す図である。 語彙DBに記憶される情報の構成例を示す図である。 重要語彙DBに記憶される情報の構成例を示す図である。 対話処理装置の構成を示すブロック図である。 対話処理の概略を説明するための図である。 対話処理の概略を示すフローチャートである。 対話処理の具体例を示す図である。 情報収集システムの構成を示すブロック図である。 バリュー収集処理の流れを示すフローチャートである。 ドメイン化DB収集処理の流れを示すフローチャートである。 情報共有システムの構成を示すブロック図である。 情報共有処理に至る流れを示すフローチャートである。
符号の説明
10 ドメイン化DB作成装置
11 入力部
12 出力部
13 通信制御部
14 記憶部
14a 概念辞書
14b ドメイン化DB
14c インデックスファイル
14d インデックスキャッシュ
14e 語彙DB
14f 重要語彙DB
15 制御部
15a データマイニング部
15b バリュー特定データ作成部
15c ドメイン特定データ作成部
20 対話処理装置
21 入力部
22 出力部
23 通信制御部
24 記憶部
24a キャッシュメモリ
25 外部記憶部
26 制御部
26a 音声認識部
26b 音素メモリ
26c 音声合成部
26d 発話テンプレート部
26e 対話制御部
26f ドメイン特定部
26g バリュー特定部
26h 回答データ特定部
27 共有化処理部
30 情報収集共有装置
31 通信制御部
32 記憶部
32a 既存プロパティ
32b 新規プロパティ
32c URL知識体
32d 概念辞書
33 制御部
33a 語彙分解処理部
33b 語彙まとめ部
33c URL検索部
33d 知識獲得部
33e Webロボット
33f 動的主要意味抽出部
33g 頻度プログラム
40 サイト

Claims (5)

  1. 入力文を解析して当該入力文に対する出力文を出力する知識処理装置であって、
    ある事例の文章から、心理学的な意味を成し得る最小慣用句単位、かつ、当該事例が属するドメインの経験則に基づいたサブドメインにリンク付けされ得る単位で抽出された流通言語語彙を、各サブドメインにリンク付けして記憶するドメイン化データベースと、
    前記入力文から抽出された入力流通言語語彙に対応するサブドメインを検索し、当該検索したサブドメインにリンク付けされて前記ドメイン化データベースに記憶された流通言語語彙を、前記出力文に含める回答として特定する回答特定手段と、
    を備えたことを特徴とする知識処理装置。
  2. 前記ドメイン化データベースは、前記ドメインが共通する複数の事例ごとに、各事例の文章から抽出された流通言語語彙を、共通するサブドメインにリンク付けして記憶するものであって、
    所定の事例を特定するための入力文から前記サブドメインに対応する複数の入力流通言語語彙を抽出し、当該複数の入力流通言語語彙をいずれも含んで前記ドメイン化データベースに記憶された事例を特定する事例特定手段をさらに備え、
    前記回答特定手段は、前記事例特定手段によって特定された事例について前記ドメイン化データベースに記憶された流通言語語彙のなかから、前記出力文に含める回答を特定することを特徴とする請求項1に記載の知識処理装置。
  3. 前記ドメイン化データベースは、複数のドメイン毎に区分けして、各ドメインに属する複数の事例ごとに、各事例の文章から抽出された流通言語語彙を記憶するものであって、
    所定のドメインを特定するための入力文から入力流通言語語彙を抽出し、当該入力流通言語語彙に対応するドメインを特定するドメイン特定手段をさらに備え、
    前記事例特定手段は、前記ドメイン特定手段によって特定されたドメインについて、当該ドメインのサブドメインに対応する複数の入力流通言語語彙を抽出し、当該複数の入力流通言語語彙をいずれも含んで前記ドメイン化データベースに記憶された事例を特定することを特徴とする請求項2に記載の知識処理装置。
  4. 入力文を解析して当該入力文に対する出力文を出力する知識処理方法であって、
    ある事例の文章から、心理学的な意味を成し得る最小慣用句単位、かつ、当該事例が属するドメインの経験則に基づいたサブドメインにリンク付けされ得る単位で抽出された流通言語語彙を、各サブドメインにリンク付けしてドメイン化データベースに格納する格納工程と、
    前記入力文から抽出された入力流通言語語彙に対応するサブドメインを検索し、当該検索したサブドメインにリンク付けされて前記ドメイン化データベースに記憶された流通言語語彙を、前記出力文に含める回答として特定する回答特定工程と、
    を含んだことを特徴とする知識処理方法。
  5. 入力文を解析して当該入力文に対する出力文を出力する方法をコンピュータに実行させる知識処理プログラムであって、
    ある事例の文章から、心理学的な意味を成し得る最小慣用句単位、かつ、当該事例が属するドメインの経験則に基づいたサブドメインにリンク付けされ得る単位で抽出された流通言語語彙を、各サブドメインにリンク付けしてドメイン化データベースに格納する格納手順と、
    前記入力文から抽出された入力流通言語語彙に対応するサブドメインを検索し、当該検索したサブドメインにリンク付けされて前記ドメイン化データベースに記憶された流通言語語彙を、前記出力文に含める回答として特定する回答特定手順と、
    をコンピュータに実行させることを特徴とする知識処理プログラム。
JP2004051398A 2004-02-26 2004-02-26 知識処理装置、知識処理方法および知識処理プログラム Pending JP2005241952A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004051398A JP2005241952A (ja) 2004-02-26 2004-02-26 知識処理装置、知識処理方法および知識処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004051398A JP2005241952A (ja) 2004-02-26 2004-02-26 知識処理装置、知識処理方法および知識処理プログラム

Publications (1)

Publication Number Publication Date
JP2005241952A true JP2005241952A (ja) 2005-09-08

Family

ID=35023755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004051398A Pending JP2005241952A (ja) 2004-02-26 2004-02-26 知識処理装置、知識処理方法および知識処理プログラム

Country Status (1)

Country Link
JP (1) JP2005241952A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280361A (ja) * 2006-03-14 2007-10-25 Canon Inc 文書検索システム、文書検索装置及びその方法とプログラム、記憶媒体
JP2008287210A (ja) * 2007-04-16 2008-11-27 Sony Corp 音声チャットシステム、情報処理装置、音声認識方法およびプログラム
WO2009087860A1 (ja) * 2008-01-10 2009-07-16 Brother Kogyo Kabushiki Kaisha 音声対話装置及び音声対話プログラムを記憶したコンピュータ読み取り可能な媒体
WO2011096015A1 (ja) * 2010-02-05 2011-08-11 三菱電機株式会社 認識辞書作成装置及び音声認識装置
JP2016099381A (ja) * 2014-11-18 2016-05-30 三星電子株式会社Samsung Electronics Co.,Ltd. 音声対話システムおよび音声対話方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280361A (ja) * 2006-03-14 2007-10-25 Canon Inc 文書検索システム、文書検索装置及びその方法とプログラム、記憶媒体
JP2008287210A (ja) * 2007-04-16 2008-11-27 Sony Corp 音声チャットシステム、情報処理装置、音声認識方法およびプログラム
WO2009087860A1 (ja) * 2008-01-10 2009-07-16 Brother Kogyo Kabushiki Kaisha 音声対話装置及び音声対話プログラムを記憶したコンピュータ読み取り可能な媒体
WO2011096015A1 (ja) * 2010-02-05 2011-08-11 三菱電機株式会社 認識辞書作成装置及び音声認識装置
CN102725790A (zh) * 2010-02-05 2012-10-10 三菱电机株式会社 识别词典制作装置及声音识别装置
US8868431B2 (en) 2010-02-05 2014-10-21 Mitsubishi Electric Corporation Recognition dictionary creation device and voice recognition device
JP2016099381A (ja) * 2014-11-18 2016-05-30 三星電子株式会社Samsung Electronics Co.,Ltd. 音声対話システムおよび音声対話方法

Similar Documents

Publication Publication Date Title
US10657966B2 (en) Better resolution when referencing to concepts
de Barcelos Silva et al. Intelligent personal assistants: A systematic literature review
RU2509350C2 (ru) Способ семантической обработки естественного языка с использованием графического языка-посредника
EP2157570B1 (en) Automatic conversation system and conversation scenario editing device
CN110335595A (zh) 基于语音识别的插问对话方法、装置及存储介质
KR101661198B1 (ko) 단문/복문 구조의 자연어 질의에 대한 검색 및 정보 제공 방법 및 시스템
KR20190016653A (ko) 지능형 상담 서비스 제공 방법 및 시스템
US20100121630A1 (en) Language processing systems and methods
US20040167875A1 (en) Information processing method and system
US20150286943A1 (en) Decision Making and Planning/Prediction System for Human Intention Resolution
JP2015511746A5 (ja)
KR20130036863A (ko) 의미적 자질을 이용한 문서 분류 시스템 및 그 방법
CN112182252A (zh) 基于药品知识图谱的智能用药问答方法及其设备
KR20200014047A (ko) 시맨틱 트리플 기반의 지식 확장 시스템, 방법 및 컴퓨터 프로그램
CN114360678A (zh) 信息处理方法、装置、设备和存储介质
JP2004219714A (ja) 人間からの指示に基づいてそれぞれ予め定めた特定のシーンに属する対話のシーンを識別し、シーンに即した自然対話を構成する応答文を作成して、それを音声合成することにより、音声対話を行うコンピュータによる音声対話方法及び音声対話システム
JP2005241952A (ja) 知識処理装置、知識処理方法および知識処理プログラム
EP2184685A1 (en) Method for semantic processing of natural language using graphical interlingua
US11714599B2 (en) Method of browsing a resource through voice interaction
CN109284364B (zh) 一种用于语音连麦互动的互动词汇更新方法及装置
JP2009151541A (ja) 検索システムにおける最適情報の提示方法
CN111143659A (zh) 用于执行智能跨域搜索的系统和方法
JP2004342042A (ja) 分散環境における通信方法及び通信システム
US8478584B1 (en) Method and system for domain-optimized semantic tagging and task execution using task classification encoding
Nehul et al. Survey on chatbot system for cancer patients