トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 入力解釈装置、方法及び対話システム
【発明者】 【氏名】屋野 武秀

【氏名】上原 龍也

【氏名】笹島 宗彦

【氏名】清水 恵美

【氏名】下森 大志

【要約】 【課題】ドメインのデータベース検索を必要とせず、ドメインのデータベース形式に依存しない省略補完を実行可能とする。

【解決手段】入力解釈装置2は、入力解析装置1から利用者の入力を解析した入力解析結果を受け、この入力解析結果から利用者の意図を解釈し、解釈結果をアプリケーションに通知するもので、問題構造記憶部21、補完処理部22及び対話処理部23を有する。問題構造記憶部21は、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと、既に通知された解釈結果である前問題情報とを記憶する。補完処理部22は、前問題情報と新規入力情報とを用いて問題構造テーブルを参照しながら新規入力情報の補完処理を実行する。対話処理部23は、補完処理部21で補完された新規入力情報から解釈結果を決定し、これをアプリケーション3に通知すると共に、決定された解釈結果を問題構造記憶部21の前問題情報に反映させる。
【特許請求の範囲】
【請求項1】 利用者の入力を解析した入力解析結果を受け、この入力解析結果から利用者の意図を解釈し、解釈結果を通知する入力解釈装置において、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと既に通知された解釈結果である前問題情報とを記憶する問題構造記憶部と、前記前問題情報と新規入力情報とを用いて前記問題構造テーブルを参照しながら新規入力情報の補完処理を実行する補完処理部と、この補完処理部で補完された新規入力情報から解釈結果を決定し通知のために出力すると共に、決定された解釈結果を前記前問題情報に反映させる通知部とを具備してなることを特徴とする入力解釈装置。
【請求項2】 前記問題構造記憶部は、前記補完処理に関して同種と取り扱い得る問題の集合を示す問題タイプ情報を記憶し、前記補完処理部は、前記問題タイプ情報を参照しながら前記新規入力情報の補完処理を実行することを特徴とする請求項1記載の入力解釈装置。
【請求項3】 前記前問題情報は、時系列による優先順位を与えて記憶され、前記補完処理部は、問題種類が前記新規入力情報と最優先とされた前問題情報とで同種のものである場合には、前記新規入力情報の値が付与されている属性で前記最優先とされた前問題の該当する属性を修正する第1の補完処理を実行することを特徴とする請求項1又は2記載の入力解釈装置。
【請求項4】 前記前問題情報は、時系列による優先順位を与えて記憶され、前記補完処理部は、最優先とされた前問題情報の前記問題種類に前記新規入力情報の問題が依存し、且つ新規入力情報においてその問題に対応する属性に値がない場合には、前記最優先とされた前問題情報の対応する属性を新規入力情報のその属性として使用する第2の補完処理を実行することを特徴とする請求項1〜3のいずれか1項記載の入力解釈装置。
【請求項5】 前記前問題情報は、時系列による優先順位を与えて記憶され、前記補完処理部は、前記新規入力情報の問題種類が最優先とされた前問題に依存する問題種類であり、且つ新規入力情報には返答すべき属性の指定がなされていない場合には、前記最優先とされた前問題における新規入力情報の問題種類に対応する属性を新規入力情報の属性として使用する第3の補完処理を実行することを特徴とする請求項1〜4のいずれか1項記載の入力解釈装置。
【請求項6】 前記補完処理部は、前記第1の補完処理において、更に依存する問題がある場合には、その依存する問題に対しても前記第1の補完処理を再帰的に実行することを特徴とする請求項1〜5のいずれか1項記載の入力解釈装置。
【請求項7】 利用者の入力を解析した入力解析結果を受け、この入力解析結果から利用者の意図を解釈し、解釈結果を通知する入力解釈方法において、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと既に通知された解釈結果である前問題情報とを記憶する問題構造記憶ステップと、前記前問題情報と新規入力情報とを用いて前記問題構造テーブルを参照しながら新規入力情報の補完処理を実行する補完処理ステップと、この補完処理ステップで補完された新規入力情報から解釈結果を決定し通知のために出力すると共に、決定された解釈結果を前記前問題情報に反映させる通知ステップとを具備してなることを特徴とする入力解釈方法。
【請求項8】 利用者の入力を解析して入力解析結果を出力する入力解析装置と、この入力解析装置から出力される入力解析結果から利用者の意図を解釈し解釈結果を通知する入力解釈装置と、この入力解釈装置から通知される解釈結果に基づいて問題解決処理を実行する問題解決装置とを備えた対話システムにおいて、前記入力解釈装置は、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと既に通知された解釈結果である前問題情報とを記憶する問題構造記憶部と、前記入力解析装置から供給された新規入力情報と前記前問題情報とを用いて前記問題構造テーブルを参照しながら前記新規入力情報の補完処理を実行する補完処理部と、この補完処理部で補完された新規入力情報から解釈結果を決定し前記問題解決装置に通知すると共に、決定された解釈結果を前記前問題情報に反映させる通知部とを備えたものであることを特徴とする対話システム。
【請求項9】 利用者の入力を解析した入力解析結果を受け、この入力解析結果から利用者の意図を解釈し、解釈結果を通知する入力解釈プログラムにおいて、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと既に通知された解釈結果である前問題情報とを記憶する問題構造記憶ステップと、前記前問題情報と新規入力情報とを用いて前記問題構造テーブルを参照しながら新規入力情報の補完処理を実行する補完処理ステップと、この補完処理ステップで補完された新規入力情報から解釈結果を決定し通知のために出力すると共に、決定された解釈結果を前記前問題情報に反映させる通知ステップとを具備してなることを特徴とする入力解釈プログラム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、利用者の問題解決のための入力を受け付けそれを解析した結果から利用者の意図を解釈し、問題解決装置に解釈結果を通知する入力解釈装置及びその意図の解釈方法、並びにそれを利用した対話システムに関し、特に省略入力された入力列から入力意図の補完を行う入力解釈装置、方法及び対話システムに関する。
【0002】
【従来の技術】近年、音声や自然言語入力等による文章入力を受け付けるインタフェースに関する研究が盛んに行われている。また、そのようなインタフェースを用いるエキスパートシステム等が多数開発され、音声やテキストなどによる入力を受理する装置が一般向けにも利用可能となっている。特に音声による入力は、利用者にとって利用しやすいものと位置付けられ、音声認識技術を利用し、音声入力を受け付けるシステムが開発されている。
【0003】音声等による自然言語入力は利用者にとって普段から慣れている入力方法であるため、利用者は自然言語の中でもより自然な入力をすることがある。例えば、人との対話に見られるような、これまでの発話文を文脈として省略をした発話をすることなどが挙げられる。自然言語文による入力をより扱いやすくするためには、このような省略の補完を扱わなくてはならない。
【0004】このような省略補完を取り扱う技術として、特許第3017492号に開示されている対話方式が知られている。この方式は補完済みの発話情報とシステムの回答情報とを組にして保存し、その情報を参照することで次の発話の補完を実行するというものである。この方式では、次の発話に欠落している素性(属性)が直前の回答情報等に含まれている場合には、次の発話にその素性をそのまま代入することによって補完処理が行われる。しかし、直前の回答情報等に、次の発話で欠落している素性が含まれていない場合には、補完候補を決定した上でデータベースを検索して、補完可能性を検証する。
【0005】具体的には、奈良公園付近の観光案内をタスクとしたシステムが紹介されている。例えば、直前で「奈良から京都まで電車で移動」という内容の入力があり、続いて「時間はどのくらいかかりますか?」という入力があった場合、この入力の修飾句が直前の入力には直接含まれていないので、システムは補完候補として「奈良から京都まで電車で移動する場合の時間」という意図を生成した後、システムが対象とする地理知識等を含むドメインの階層型オブジェクト構造のデータベースを検索し、対応するオブジェクトを探し出すことによって補完可能かどうかを確認している。
【0006】しかし、この方式では、補完を実行するためにシステムのドメインのデータベースを検索しなければならない。このため、システムが対象とする問題の規模が大きくなれば、データベース検索時間が増加してしまうという問題がある。これは利用者への応答までの時間の遅延につながり、利用者に対して負担を与えることになる。
【0007】また、この方式によると、省略補完を実行するためには対象とするドメインのデータベースが階層型オブジェクト構造形式である必要がある。このため、この方式を他のタスクに移行する場合にも、既にあるデータベースを階層型オブジェクト構造形式に変換する必要があり、他のタスクへの移行をする際に開発コストが増大するという問題がある。
【0008】
【発明が解決しようとする課題】このように従来は、省略補完を実行するためにそのドメインのデータベース検索をしなければならないため、対象となるドメインの拡大に伴うデータベースの大規模化によりその検索時間が増大し、利用者への応答が遅延するという問題があった。また、省略補完を実行するためにドメインのデータベース形式が限定されているために、他のシステムに適用するためには全てのドメインデータベースを必要な形式に変換しなければならず、その開発コストが増大するという問題があった。
【0009】この発明は、このような事情を考慮してなされたもので、ドメインのデータベース検索を必要とせず、ドメインのデータベース形式に依存しないで省略補完が可能となる入力解釈装置、方法及びそれを用いた対話システムを提供することを目的としている。
【0010】
【課題を解決するための手段】本発明に係る入力解釈装置は、利用者の入力を解析した入力解析結果を受け、この入力解析結果から利用者の意図を解釈し、解釈結果を通知する入力解釈装置において、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと既に通知された解釈結果である前問題情報とを記憶する問題構造記憶部と、前記前問題情報と新規入力情報とを用いて前記問題構造テーブルを参照しながら新規入力情報の補完処理を実行する補完処理部と、この補完処理部で補完された新規入力情報から解釈結果を決定し通知のために出力すると共に、決定された解釈結果を前記前問題情報に反映させる通知部とを具備してなることを特徴とする。
【0011】本発明に係る入力解釈方法は、利用者の入力を解析した入力解析結果を受け、この入力解析結果から利用者の意図を解釈し、解釈結果を通知する入力解釈方法において、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと既に通知された解釈結果である前問題情報とを記憶する問題構造記憶ステップと、前記前問題情報と新規入力情報とを用いて前記問題構造テーブルを参照しながら新規入力情報の補完処理を実行する補完処理ステップと、この補完処理ステップで補完された新規入力情報から解釈結果を決定し通知のために出力すると共に、決定された解釈結果を前記前問題情報に反映させる通知ステップとを具備してなることを特徴とする。
【0012】また、本発明に係る入力解釈プログラムは、利用者の入力を解析した入力解析結果を受け、この入力解析結果から利用者の意図を解釈し、解釈結果を通知する入力解釈プログラムにおいて、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと既に通知された解釈結果である前問題情報とを記憶する問題構造記憶ステップと、前記前問題情報と新規入力情報とを用いて前記問題構造テーブルを参照しながら新規入力情報の補完処理を実行する補完処理ステップと、この補完処理ステップで補完された新規入力情報から解釈結果を決定し通知のために出力すると共に、決定された解釈結果を前記前問題情報に反映させる通知ステップとを具備してなることを特徴とする。
【0013】本発明に係る対話システムは、利用者の入力を解析して入力解析結果を出力する入力解析装置と、この入力解析装置から出力される入力解析結果から利用者の意図を解釈し解釈結果を通知する入力解釈装置と、この入力解釈装置から通知される解釈結果に基づいて問題解決処理を実行する問題解決装置とを備えた対話システムにおいて、前記入力解釈装置は、解釈する対象となる問題を問題種類別に類別し各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと既に通知された解釈結果である前問題情報とを記憶する問題構造記憶部と、前記入力解析装置から供給された新規入力情報と前記前問題情報とを用いて前記問題構造テーブルを参照しながら前記新規入力情報の補完処理を実行する補完処理部と、この補完処理部で補完された新規入力情報から解釈結果を決定し前記問題解決装置に通知すると共に、決定された解釈結果を前記前問題情報に反映させる通知部とを備えたものであることを特徴とする。
【0014】本発明によれば、解釈する対象となる問題を問題種類別に類別し、各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと、既に通知された解釈結果である前問題情報とを記憶し、省略形の新規入力情報に対しては、その基本構造から問題構造テーブルを参照して問題種別間の依存関係を把握し、その結果をもとに前問題情報から補完すべき内容を特定することができる。問題構造テーブルは、問題種類毎の基本構造を示すものであり、しかも他の問題種類との依存関係を含むため、種々の新規入力情報に対して適用可能であり、前問題との関係把握も高い確率で可能になる。これにより、ドメインのデータベース検索を必要としない省略補完を実現することができる。また、問題構造テーブルは、問題種類の基本構造のみに依存するため、ドメインデータベースと比較して、遙かにその情報量は少なく、補完処理の高速化が図れる。更に、本発明によれば、ドメインデータベースの形式に依存せず、適用可能なシステムの範囲が広がる。
【0015】なお、問題構造記憶部に、補完処理に関して同種と取り扱い得る問題の集合を示す問題タイプ情報を更に記憶しておき、補完処理部が、この問題タイプ情報を参照しながら新規入力情報の補完処理を実行するようにすると、同様の意図を持ちながら、たまたま異なる意図名称が付された入力に対しても、前問題との関係を把握することができ、省略形に対して補完されないケースを少なくすることができる。
【0016】前問題情報は、時系列による優先順位を与えて記憶されていることが望ましい。この場合、補完処理部又は補完処理ステップは、例えば、■問題種類が前記新規入力情報と最優先とされた前問題情報とで同種のものである場合には、前記新規入力情報の値が付与されている属性で前記最優先とされた前問題の該当する属性を修正する第1の補完処理、■最優先とされた前問題情報の前記問題種類に前記新規入力情報の問題が依存し、且つ新規入力情報においてその問題に対応する属性に値がない場合には、前記最優先とされた前問題情報の対応する属性を新規入力情報のその属性として使用する第2の補完処理、■前記新規入力情報の問題種類が最優先とされた前問題に依存する問題種類であり、且つ新規入力情報には返答すべき属性の指定がなされていない場合には、前記最優先とされた前問題における新規入力情報の問題種類に対応する属性を新規入力情報の属性として使用する第3の補完処理、の少なくとも1つを実行する。
【0017】また、補完処理部又は補完処理ステップは、前記第1の補完処理において、更に依存する問題がある場合には、その依存する問題に対しても前記第1の補完処理を再帰的に実行するものでも良い。
【0018】なお、本発明に係る入力解釈方法が、コンピュータにインストールされて実行される場合には、前述した問題構造記憶ステップ、補完処理ステップ及び通知ステップを含む入力解釈プログラムを記憶してなる媒体を提供すればよい。
【0019】
【発明の実施の形態】以下、添付の図面を参照して本発明の好ましい実施の形態について説明する。図1は、本発明の一実施形態に係る入力解釈装置及び方法を適用した対話システムの構成を示すブロック図である。このシステムは、利用者の自然言語等による入力を解析する入力解析装置1と、この入力解析装置1での解析結果を入力して入力意図の補完を行うと共に利用者の入力意図を解釈する入力解釈装置2と、この入力解釈装置2の解釈結果に基づいて問題解決のための所定のアプリケーションを実行する問題解決装置としてのアプリケーション3とを備えて構成されている。
【0020】入力解析装置1は、利用者の入力を解析し、入力解釈装置2で利用可能な利用者の意図を表す表現(意図表現)に変換する。入力解析装置1に入力される情報は、自然言語形式の音声、テキスト或いはアプリケーション3に対するコマンド等、種々の形式が許容される。その解釈方法は、その種類に応じた既存の方法が使用できる。即ち、利用者の意図が、自然言語形式の音声、テキスト等によって、入力解析装置1に入力された場合、入力解析装置1は、この入力に対して、音声認識、文字認識等の処理を行って入力文字列を得、公知の構文解析手法によって発話文の品詞や句構造が反映された木構造を生成し、この木構造を辿りながら、例えば後述する意図表現の入力列を生成する。
【0021】例えば「ルート上のコンビニまでの距離」を知ることが利用者の意図であるとすると、入力解析装置1では、この意図を入力して図2に示すような意図表現を生成して入力解釈装置2に渡す。ここで文字列の先頭に位置する(101)の“Place”、(102)の“Section”を、「意図名称」と呼び、アプリケーション3における問題解決方法を指定する情報となる。「意図名称」に続く“()”内には、その問題解決におけるパラメータが指定される。“()”内の“,”で区切られた部分をスロットと呼び、個々のパラメータを指定するフィールドとなる。各スロットは“:”で区切られ、その左側の部分に属性名、右側の部分に属性値が格納される。属性名は指定するパラメータの種類であり、この例では、「ラベル」、「位置条件」、「終点」、「クラス」等がこれに当たる。属性値は、指定されたパラメータの値であり、この例では、「距離」、「ルート上」、「コンビニ」等がこれに当たる。省略形が入力されると、属性値は空の状態となる。また、属性値には別の意図表現が代入されることもある。この場合の意図表現で示される問題を副問題と呼ぶ。(102)は、それを示しており、属性名「終点」の属性値には、意図名称“Place”で始まる意図表現(副問題)が代入されている。なお、意図表現には(101),(102)で示すように、ラベルが指定されることがある。ラベルは、「意図名称で指定された問題解決方法の中で利用者が特に知りたい属性」を指定するパラメータとなる。
【0022】入力解釈装置2は、入力解析装置1からの入力解析結果を受け、この入力解析結果から利用者の意図を解釈し解釈結果をアプリケーション3に通知するもので、問題構造記憶部21、補完処理部22及び対話処理部23を備えて構成されている。問題構造記憶部21は、解釈の対象となる問題の省略補完のため、(i)問題タイプ情報、(ii)問題構造テーブルとしての意図名称構造テーブル、(iii)前問題情報の3種類の情報を記憶する。
【0023】(i)問題タイプ情報問題タイプ情報は、補完処理に関して同種と取り扱い得る問題の集合を示す情報であり、図3にその一例を示す。ここで「問題タイプ」とは、「同種の問題を表す意図名称の集合のID」を意味し、定義される問題タイプとそれに所属する意図名称列とを列挙したものである。この例では、問題タイプ「場所」に所属する意図名称として“Place,Location”等が定義され、問題タイプ「区間」に属する意図名称として“Section”等が定義されている。
【0024】(ii)意図名称構造テーブル図4は、意図名称構造テーブルの一例を示す図である。意図名称構造テーブルは、問題タイプ情報で定義された意図名称の各々に対して、その基本構造、即ちラベルスロット名、副問題スロット情報を定義したものである。ラベルスロット名は、その意図名称の中のラベルが指定されるスロットを定義する。副問題スロット情報は、その意図名称が依存している問題(副問題)が指定されるスロット(“:”の左側)と、依存している問題タイプ(“:”の右側)とを定義する。副問題が複数存在する場合には、複数の副問題スロットを持たせる。この例では、意図名称“Section”のラベルスロット名は、「ラベル」であり、副問題スロットの「終点」には、「場所」タイプの問題が挿入されると定義されている。
【0025】(iii)前問題情報図5は、前問題情報の一例を示す図である。前問題情報は、これまでに解決対象として採択された問題(前問題)と、その優先順位と、問題タイプとを組にした情報である。優先順位は、例えば時系列上で新しいものを優先するというように与えられる。この例では、異なるタイプについて最新の問題を2つだけ記憶するようにしている。
【0026】補完処理部22は、入力解析装置1から与えられる図2に示したような意図表現情報を、上述した問題構造記憶部21に記憶されている問題タイプ情報、意図名称構造テーブル及び前問題情報に基づいて補完処理し、補完された意図表現の入力列を対話処理部23に供給する。対話処理部23に供給される意図表現は1つとは限らず、意図表現候補として複数の意図表現を含むことがある。
【0027】対話処理部23は、補完処理部22から与えられた意図表現群から適切なものを選択し、それに対応する動作をアプリケーション3に通知すると共に、選択された意図表現を新たな前問題情報として問題構造記憶部21に通知する通知部を構成する。対話処理部23は、選択された意図表現に副問題が存在する場合には、その副問題を該当する問題タイプの前問題情報として別個登録する。また、対話処理部23は、必要ならば、アプリケーション3からの応答を元に利用者に対するフィードバックを実行する。
【0028】次に、入力解釈装置2の補完処理部22における補完処理の詳細について説明する。図6は、補完処理部22で実行される補完処理を示すフローチャートである。補完処理部22は、入力解析装置1から意図表現の入力があると、まず問題構造記憶部21の前問題情報から最優先の順位が与えられている前問題を取得する(S1)。次に今回入力された意図表現の問題タイプが、ステップS1で取得された前問題の問題タイプと一致するかどうかを判定する(S2)。ここで各意図表現の問題タイプは、問題構造記憶部21の問題タイプ情報を参照し、その意図名称が所属する問題タイプを検索することにより確認することができる。このように同一の意図名称かどうかではなく、同種の問題タイプかどうかを判断することにより、補完対象の幅を広げることができる。もし、問題タイプが一致する場合には第一の補完処理(S3)を実行し、一致しない場合には、次の判定ステップ(S4)に移る。
【0029】次の判定ステップ(S4)では、ステップS2で取得した前問題に今回入力された意図表現が依存しているかどうかを判定する。より具体的には入力された意図表現が前問題と同種タイプの副問題を持つかどうかを判定する。これは問題構造記憶部21の意図名称構造テーブルから判定することができる。例えば図4の例では、“Section”には副問題スロットが存在し、問題タイプ「場所」に依存していることが分かる。この場合、入力の意図名称が“Section”で、前問題の問題タイプが「場所」の場合は依存していると判断される。依存している場合には、第二の補完処理(S5)を実行し、依存していない場合には、次の判定ステップ(S6)に移る。
【0030】次の判定ステップ(S6)では、今回入力された意図表現にステップS1で取得した前問題が依存しているかどうかを判定する。より具体的には入力された意図表現の問題タイプと同種の副問題を前問題が持つかどうかを判定する。これも問題構造記憶部21の意図名称構造テーブルから判定することができる。図4の情報がある場合には、入力の問題タイプが「場所」で、前問題の意図名称が“Section”となったときにこれに該当する。依存している場合には、第三の補完処理(S7)を実行し、依存していない場合には、処理を終了する。
【0031】次に、各補完処理(S3,S5,S7)の詳細について説明する。図7は、第一の補完処理を示すフローチャートである。今回入力された意図表現の問題タイプが前問題の問題タイプと一致する場合に、この第一の補完処理が起動される。まず、入力された意図表現の問題タイプと同じタイプの前問題を問題構造記憶部21の前問題情報から取り出す(S11)。次に、入力された意図表現に副問題が存在するどうかを確認する(S12)。これは、具体的には、問題構造記憶部21の意図名称構造テーブルを参照し、副問題スロットに値が代入されているかどうかを確認すれば良い。副問題が存在しない場合には、ステップS11で取り出された前問題情報の中の副問題スロット以外の個々のスロットを、入力された意図表現のスロットの属性値で上書きする(S13)。入力された意図表現に属性値が代入されていないスロットに関しては、前問題情報の値をそのまま残す。この処理を終了すると図6の補完処理は終了する。
【0032】一方、ステップS12での判定の結果、副問題が存在すると判定された場合には、その入力の意図表現に存在する副問題を抽出する(S14)。続いて、抽出された副問題を対象とした第一の補完処理を実行する(S15)。抽出された副問題に更に副問題が存在する場合には、その副問題について第一の補完処理を実行する。このように第一の補完処理は、副問題に関して再帰的に繰り返される。副問題に関する補完が終了すると、入力された意図表現の中の該当する副問題スロットに補完結果を上書きし(S16)、副問題スロット以外の個々のスロットを、入力された意図表現のスロットの属性値で上書きする(S13)。この処理を終了すると図6の補完処理は終了する。
【0033】図8は、第二の補完処理を示すフローチャートである。この第二の補完処理は、今回入力された意図表現が前問題に依存している場合に起動される。まず、入力された意図表現の副問題スロットに値が代入されているかどうかを確認する(S21)。値が代入されている場合には補完の必要がないので処理を終了するが、値が代入されていない場合には、ステップS22に移る。ステップS22では、問題構造記憶部21の前問題情報から最優先の順位が与えられている前問題を取り出す。次に、取得した前問題の問題タイプが、ステップS21で値がないことを確認した副問題の問題タイプと一致するかどうかを確認する(S23)。一致しなければ、処理はそのまま終了するが、一致する場合には、次のステップS24に移る。ステップS24では、入力意図表現の値の代入されていない副問題スロットに、ステップS22で取得した前問題を代入する。代入終了後、図6の補完処理を終了する。
【0034】図9は、第三の補完処理を示すフローチャートである。この第三の補完処理は、入力された意図表現に前問題が依存している場合に起動される。まず、入力された意図表現のラベルが与えられているかどうかを確認する(S31)。具体的には、問題構造記憶部21の意図名称構造テーブルにあるラベルスロット情報を参照することにより、対象となるスロットを確認することができる。入力された意図表現にラベルが代入されている場合には、処理は終了するが、代入されていない場合には、次のステップS32に移る。ステップS32では、問題構造記憶部21の前問題情報から最優先の順位が与えられている前問題を取り出す。続いて、入力された意図表現の問題タイプにステップS32で取り出された前問題が依存しているかどうかを確認する(S33)。依存している場合には、ステップS34へ、依存していない場合には、処理を終了する。ステップS34では、ステップS32で取り出された前問題中のステップS33で依存していると確認された副問題スロットに入力された意図表現を代入し、図6の補完処理を終了する。
【0035】次に、自然言語入力を伴うカーナビゲーションシステム(以下、「カーナビ」と呼ぶ)を例にとり、上述した意図補完処理の具体例を説明する。ここでは、カーナビに入力される問題タイプの種類として、「場所」を問い合わせるものと、「区間」を問い合わせるものの2種類を想定し、本システムで扱う問題タイプを「場所」と、「区間」の2種類と定める。「場所」タイプの問題表現となる意図名称には、“Place”等が含まれ、「区間」タイプには“Section”等が含まれる。これらを考慮して、図3のような問題タイプ情報を設定することができる。更に、これらの問題の構造は、「区間を解決するためには、指定された場所を解決する必要がある」という区間問題が場所問題に依存するものとなっている。これを考慮して、図4のような意図名称構造テーブルを設定する。これら問題タイプ情報及び意図名称構造テーブルを問題構造記憶部21に予め登録しておく。なお、前問題情報は、初期段階において空であり、入力される毎に更新される。
【0036】●入力1:「近くのコンビニまでの距離は」この入力は、入力解析装置1によって解析され、対応する意図表現が補完処理部22に通知される。通知された情報は、例えば次のようになっているものとする。
【0037】
【数1】
Section(ラベル:距離,終点:Place(ラベル:_,位置条件:近く,クラス:コンビニ))…(1)【0038】初期段階では前問題情報が空なので補完は実行されない。補完処理部21は、対話処理部23に(1)を意図表現として通知する。対話処理部23では、(1)を入力意図表現として採択し、アプリケーション3(カーナビ)に(1)の表現に対応する命令を発行する。カーナビでは、「近くのコンビニまでの距離」を検索し、「近くのコンビニ」が「コンビニA」であり、そこまでの距離が3kmであることを得たとする。この結果を受けて利用者に「コンビニAが3km先にあります」と回答する。対話処理部23では、採択された意図表現(1)を問題構造記憶部21に通知し、前問題情報を次のように登録する。
【0039】
【数2】
[1,区間,Section(ラベル:距離,終点:Place(ラベル:_,位置条件:近く,クラス:コンビニ))]…(q1) [2,場所,Place(ラベル:_,位置条件:近く,クラス:コンビニ)]…(q2)【0040】なお、ここで“[]”で囲まれた部分が一つの前問題であり、“,”で区切られた3個のフィールドを左から優先順位、問題タイプ及び詳細意図表現として表記する。(1)には、副問題“Place”が含まれているので、その副問題も「場所」タイプの前問題として別途登録する。優先順位は、本体となる「区間」タイプの前問題が優先されるように与える。
【0041】●入力2:「ルート上のレストランはどこ」この入力は、入力解析部によって解析され、対応する意図表現が補完処理部22に通知される。通知された情報は、例えば次のようになっているものとする。
【0042】
【数3】
Place(ラベル:名称,位置条件:ルート上,クラス:レストラン)…(2)【0043】この場合、補完処理部22の動作は、次のようになる。まず、ステップS1で最優先の前問題を問題構造記憶部21から取り出す。優先順位1の「区間」タイプの前問題(q1)が選択される。次に、ステップS2の判定処理では、入力の問題タイプが「場所」、前問題の問題タイプが「区間」であり、この場合、問題タイプは一致しないことが分かるのでステップS4に進む。ステップS4では、問題構造記憶部21の意図名称構造テーブル(図4)から意図名称“Place”の意図表現には、副問題が存在しないことが分かるので、ステップS6に進む。ステップS6では、問題構造記憶部21の意図名称構造から前問題の意図名称“Section”の意図表現には、問題タイプ「場所」の副問題を持つスロットが存在することが分かる。このため、ステップS7の第三の補完処理に進む。
【0044】第三の補完処理では、ステップS31で、入力意図表現(2)のラベルスロットの名称を意図名称構造テーブル(図4)から取り出し、ラベルが代入されているかどうかを確認する。この場合、ラベルスロットには「名称」が代入されているので、第三の補完処理を終了する。この結果、補完は実行されなかったので、入力意図表現(2)がそのまま補完結果となり、補完処理は終了する。
【0045】補完処理部22は、対話処理部23に(2)を意図表現として通知する。対話処理部23では、(2)を入力意図表現として採択し、カーナビに(2)の表現に対応する命令を発行する。カーナビでは、「ルート上のレストランの名称」を検索し、「ルート上のレストラン」が「レストランB」であることを得たとする。この結果を受けて、カーナビは利用者に「レストランBです」と回答する。対話処理部23では、採択された意図表現(2)を問題構造記憶部21に通知し、時系列順に優先順位を与え直し、前問題情報を次のように登録する。但し、この例では、前問題を各問題タイプにつき1つと定めているものとする。
【0046】
【数4】
[1,場所,Place(ラベル:名称,位置条件:ルート上,クラス:レストラン)]…(q3) [2,区間,Section(ラベル:距離,終点:Place(ラベル:_,位置条件:近く,クラス:コンビニ))]…(q4)【0047】●入力3:「近くのは?」この入力は、入力解析装置1によって解析され、対応する意図表現が補完処理部22に通知される。通知された情報は、例えば次のようになっているものとする。
【0048】
【数5】
Place(ラベル:_,位置条件:近く,クラス:_)…(3)【0049】この場合、補完処理部22の動作は、次のようになる。まず、ステップS1で最優先の前問題を問題構造記憶部21から取り出す。優先順位1の「場所」タイプの前問題(q3)が選択される。次に、ステップS2の判定処理では、入力、前問題の問題タイプが共に「場所」で一致するのでステップS3の第一の補完処理に進む。第一の補完処理では、先ずステップS11で、入力された意図表現の問題タイプ「場所」に一致する前問題(q3)を前問題構造記憶部21の前問題情報から取り出す。次に、ステップS12において、意図名称構造テーブル(図4)より意図名称“Place”には副問題は存在しないことが分かるので、ステップS13に進む。ステップS13では、選択された前問題(q3)の詳細意図表現を、入力意図表現(3)に代入されている値で上書きする。この場合は、(3)に値が代入されている位置条件「近く」が(q3)の位置条件スロットに上書きされる。これにより、次のような意図表現が生成され、第一の補完処理を終了する。
【0050】
【数6】
Place(ラベル:名称,位置条件:近く,クラス:レストラン)…(4)【0051】これにより、補完処理が終了する。このように、補完結果が別途得られた場合、補完処理部22は、対話処理部23に(3),(4)を意図表現として通知するものとする。ここで、対話処理部23は、(4)を入力意図表現として採択し、カーナビに(4)の表現に対応する命令を発行する。カーナビでは、「近くのレストランの名称」を検索し、「近くのレストラン」が「レストランC」であることを得たとする。これにより、利用者に「レストランCです」と返答する。対話処理部23は、採択された意図表現(4)を問題構造記憶部21に通知し、次のように前問題情報を登録する。
【0052】
【数7】
[1,場所,Place(ラベル:名称,位置条件:近く,クラス:レストラン)]…(q5) [2,区間,Section(ラベル:距離,終点:Place(ラベル:_,位置条件:近く,クラス:コンビニ))]…(q4)【0053】●入力4:「時間は?」この入力は、入力解析装置1によって解析され、対応する意図表現が補完処理部22に通知される。通知された情報は、例えば次のようになっているものとする。
【0054】
【数8】Section(ラベル:時間,終点:_)…(5)【0055】この場合、補完処理部22の動作は、次のようになる。まず、ステップS1で最優先の前問題を問題構造記憶部21から取り出す。優先順位1の「場所」タイプの前問題(q5)が選択される。次に、ステップS2の判定処理では、入力の問題タイプが「区間」、前問題の問題タイプが「場所」であり、問題タイプは一致しないのでステップS4に進む。ステップS4では、“Section”の意図名称構造テーブルより、“Section”は、前問題と同一タイプの「場所」タイプの問題に依存していることが分かる。このため、ステップS5の第二の補完処理に進む。第二の補完処理では、先ずステップS21で、入力された意図表現の副問題スロットは、意図名称構造テーブルから「終点」であることが分かる。(5)の終点スロットには値が代入されていないと判定できる。このため、ステップS22に進む。ステップS22では、最優先の前問題(q5)を取得する。ステップS23で、意図名称構造テーブルを参照すると、(5)の副問題スロット「終点」に代入される問題タイプは「場所」であることが分かる。これは(q5)の問題タイプと一致するので、ステップS24に進む。ステップS24では、問題タイプが一致した副問題スロット「終点」に(q5)の詳細意図表現情報を代入する。これにより、次のような意図補完結果が生成され、第二の補完処理を終了する。
【0056】
【数9】
Sectin(ラベル:時間,終点:Place(ラベル:名称,位置条件:近く,クラス:レストラン))…(6)【0057】これにより、補完処理が終了する。補完処理部22は、対話処理部23に(5),(6)を意図表現として通知する。ここで、対話処理部23は、(6)を入力意図表現として採択し、カーナビに(6)の表現に対応する命令を発行する。カーナビでは、「近くのレストランまでの時間」を検索し、「近くのレストラン」が「レストランC」である情報と「レストランCまでの時間」が約5分であることを得たとする。これにより、カーナビは利用者に「レストランCまでの時間は約5分です」と返答する。対話処理部23は、採択された意図表現(6)を問題構造記憶部21に通知し、次のように前問題情報を登録する。
【0058】
【数10】
[1,区間,Section(ラベル:時間,終点:Place(ラベル:名称,位置条件:近く,クラス:レストラン))]…(q6) [2,場所,Place(ラベル:名称,位置条件:近く,クラス:レストラン)]…(q7)【0059】●入力5:「ルート上のレストランだと」この入力は、入力解析装置1によって解析され、対応する意図表現が補完処理部22に通知される。通知された情報は、例えば次のようになっているものとする。
【0060】
【数11】
Place(ラベル:_,位置条件:ルート上,クラス:レストラン)…(7)【0061】この場合、補完処理部22の動作は、次のようになる。まず、ステップS1で最優先の前問題を問題構造記憶部21から取り出す。優先順位1の「区間」タイプの前問題(q7)が選択される。次に、ステップS2の判定処理では、入力の問題タイプが「場所」、前問題の問題タイプが「区間」であり、問題タイプは一致しないのでステップS4に進む。ステップS4では、“Place”の意図名称構造テーブルより、“Place”には副問題が存在しないことが分かる。このため、ステップS6に進む。ステップS6では、“Section”の意図名称構造テーブルより“Section”は入力と同一タイプの「場所」タイプの問題に依存していることが分かる。このため、ステップS7の第三の補完処理に進む。第三の補完処理では、先ずステップS31で、入力意図表現(7)の意図名称構造テーブルから“Place”のラベルスロットが「ラベル」であることが分かる。これに値が代入されていないので、ステップS32に進む。ステップS32では、最優先の前問題(q6)を取得する。前問題(q6)の詳細意図表現の“Section”の意図名称構造テーブルから“Section”の副問題スロット「終点」は「場所」タイプであることが分かる。従って、ステップS34に進む。ステップS34では、前問題(q6)の詳細意図表現の「終点」スロットに入力意図表現(7)を代入する。これにより、次のような意図表現が生成され、第三の補完処理が終了する。
【0062】
【数12】
Section(ラベル:時間,終点:Place(ラベル:_,位置条件:ルート上,クラス:レストラン))…(8)【0063】これにより、補完処理が終了する。補完処理部22は、対話処理部23に(7),(8)を意図表現として通知する。ここで、対話処理部23は、(8)を入力意図表現として採択し、カーナビに(8)の表現に対応する命令を発行する。カーナビでは、「ルート上のレストランまでの時間」を検索し、「ルート上のレストラン」が「レストランB」である情報と「レストランBまでの時間」が約30分であることを得たとする。これにより、カーナビは利用者に「レストランBまでの時間は約30分です」と返答する。対話処理部23は、採択された意図表現(8)を問題構造記憶部21に通知し、次のように前問題情報を登録する。
【0064】
【数13】
[1,区間,Section(ラベル:時間,終点:Place(ラベル:_,位置条件:ルート上,クラス:レストラン))]…(q8) [2,場所,Place(ラベル:_,位置条件:ルート上,クラス:レストラン)]…(q9)【0065】●入力6:「最後のまでは?」この入力は、入力解析装置1によって解析され、対応する意図表現が補完処理部22に通知される。通知された情報は、例えば次のようになっているものとする。
【0066】
【数14】
Section(ラベル:_,終点:Place(ラベル:_,位置条件:ルート上最後,クラス:_))…(9)【0067】この場合、補完処理部22の動作は、次のようになる。まず、ステップS1で最優先の前問題を問題構造記憶部21から取り出す。優先順位1の「区間」タイプの前問題(q8)が選択される。次に、ステップS2の判定処理では、入力、前問題共に問題タイプが「区間」タイプの意図表現であるので、ステップS3の第一の補完処理に進む。第一の補完処理では、先ずステップS11で、入力された意図表現(9)の問題タイプ「区間」と一致する前問題(q8)を取得する。ステップS12では、入力された意図表現(9)には“Section”の意図名称構造テーブルから得られる副問題スロット「終点」に値が代入されていることが分かるので、ステップS14に進む。ステップS14では、意図表現(9)の「終点」スロットから次のような副問題の意図表現(10)を取り出す。
【0068】
【数15】
Place(ラベル:_,位置条件:ルート上最後,クラス:_)…(10)【0069】次に、ステップS15で意図表現(10)を入力とした第一の補完を行う。再度ステップS11に進む。ステップS11では、入力された意図表現(10)の問題タイプ「場所」と一致する前問題(q9)を取得する。ステップS12では、意図表現(10)の意図名称“Place”の意図名称構造テーブルから得られる副問題スロットが存在しないことが分かるので、ステップS13に進む。ステップS13では、前問題(q9)の詳細意図表現情報を意図表現(10)に代入されている値で上書きする。これにより、次のような意図表現が生成され、意図表現(10)を対象とした第一の補完処理が終了する。
【0070】
【数16】
Place(ラベル:_,位置条件:ルート上最後,クラス:レストラン)…(11)【0071】ステップS15では、副問題を対象とした補完処理結果(11)を得、これをステップS16で(9)の「場所」タイプの副問題スロット「終点」に代入して次のような意図表現を生成したのち、ステップS13に進む。
【0072】
【数17】
Section(ラベル:_,終点:Place(ラベル:_,位置条件:ルート上最後,クラス:レストラン))…(12)【0073】ステップS13では、「区間」タイプの前問題(q8)を副問題を補完された結果(12)の値で上書きする。これにより、次のような意図表現を取得し、第一の補完処理を終了する。
【0074】
【数18】
Section(ラベル:時間,終点:Place(ラベル:_,位置条件:ルート上最後,クラス:レストラン))…(13)【0075】以上により補完処理を終了する。補完処理部22は、対話処理部23に(9),(13)を意図表現として通知する。ここで、対話処理部23は、(13)を入力意図表現として採択し、カーナビに(13)の表現に対応する命令を発行する。カーナビでは、「ルート上最後のレストランまでの時間」を検索し、「ルート上最後のレストラン」が「レストランD」であること、「レストランDまでの時間」が約60分であることを得たとする。これにより、カーナビは利用者に「レストランDまでの時間は約60分です」と返答する。対話処理部23は、採択された意図表現(13)を問題構造記憶部21に通知し、次のように前問題情報を登録する。
【0076】
【数19】
[1,区間,Section(ラベル:時間,終点:Place(ラベル:_,位置条件:ルート上最後,クラス:レストラン))]…(q10) [2,場所,Place(ラベル:_,位置条件:ルート上最後,クラス:レストラン)]…(q11)【0077】このように、本実施形態に係る入力解釈装置及び方法によれば、対象とするタスクの問題解決構造を表すサイドテーブル(意図名称構造テーブル)を利用することで、省略補完を実行するためにドメインのデータベース検索を必要としない省略補完が実行可能となる。問題解決構造は対象とするタスク構造のみに依存し、一般にドメインデータべースと比較するとそのデータ量は少なくなるため、補完処理の高速化が可能である。更に、ドメインのデータベース形式を省略補完のために限定しなくとも省略補完が実行可能となる。
【0078】なお、本発明は上述した実施形態に限定されるものではない。例えば、対話処理部23は、補完結果に該当する命令をアプリケーションに与えるだけではなく、アプリケーションから問題解決結果を受け付け、利用者に応答を返すように構成することもできる。この場合は、前問題情報には入力した問題と共に、又は入力した問題に代えて、対応する回答の情報を付与することも可能である。
【0079】上記実施形態では、第一の補完処理が、副問題が存在する場合、再帰的に実行されるようになっているが、特定の回数で補完を終了してもよい。また上記実施形態では、第一の補完処理は同じ意図名称の意図表現同士で実行していたが、異なる意図名称の意図表現とでも補完処理を実行するようにしてもよい。この場合には、それぞれの意図名称における属性名の対応関係を記述したサイドテーブルを準備し、そのサイドテーブルに基づいて、対応するスロットを上書きする。更に、値が列挙できる属性名に対応するスロットでは、補完時に値を上書きするのではなく、値をリスト状に追加することも可能である。この場合は、意図名称構造テーブルにリスト状に追加可能な属性名情報を追加し、値の上書き時(ステップS13)にその情報を参照して追加できるスロットには上書きではなく値を追加する。
【0080】上記実施形態では、第三の補完処理は、前問題の副問題を発話の意図表現で入れ替えるだけであったが、前問題にある副問題と発話の意図表現とで第一の補完処理を実行するようにしてもよい。更に、直接の依存関係が無い場合(副問題の副問題が発話の意図表現の問題タイプになっている場合等)においても、該当する問題タイプの副問題まで検索を行い、そこで第三の補完処理を実行してもかまわない。
【0081】上記実施形態では、補完処理部22は、第一、第二及び第三の補完処理のうち、いずれかを実施するようになっているが、複数の条件に適合する場合には、適合した条件に対応する全ての補完処理を実行し、対話処理部23で適切な候補を選択してもよい。
【0082】上記実施形態では、前問題情報は各問題タイプに付き一つだけであるように記述していたが、複数持たせても構わない。その場合でも、時系列順に優先順位を付与し、同じ問題タイプの前問題情報の中では、優先順位が高いものを優先して使用することが望ましい。また、設定される前問題が副問題を有する場合には、その副問題も別途設定していたが、副問題については設定しなくても良く、補完時に前問題から別途副問題を取り出せば、同様の処理が可能である。更に、上記実施例では、前問題情報はリスト状にして保持しているが、入力の依存関係を表現する意味ネットワークの形式でも構わない。この場合も、時系列順の優先順位に基づき、前問題を設定し、その副問題についても補完を実行する場合は、選択された前問題の副問題を補完用の意図表現として採択する。これらの前問題情報は、時間や対話の進行状況に基づき無効化させても良い。
【0083】上記実施形態では、簡単化のために意図名称構造テーブルを意図名称をキーとして検索できるように記述したが、意図名称によらず、汎用な属性名を付与する場合には、意図名称をキーとせずに、属性名のみでラベルスロットや副問題スロットの指定をしても良く、これらを混在させても良い。また、上記実施形態では、簡単化のために入力から意図名称を一意に決定するように記述しているが、意図名称を一意に決定できない場合には、考え得る意図名称を列挙し、そのそれぞれの候補に関して補完処理を実行し、対話処理部23で適切な候補を選択するようにすれば、このような状況でも対応可能となる。
【0084】問題構造記憶部21には、特定の条件の場合に、補完処理を実行しないように設定するための条件を追加記述するようにしても良い。この場合には、より詳細な動作条件を記述することが可能になる。
【0085】上記実施形態では、カーナビゲーションシステムに本発明を適用した例について説明したが、本発明は、カーナビのみならず、観光案内システム、データベース検索システム、パソコンのアプリケーションプログラムに付随するヘルプ等のサポートシステム等にも適用可能である。
【0086】
【発明の効果】以上述べたようにこの発明によれば、解釈する対象となる問題を問題種類別に類別し、各問題種類毎に問題種類間の依存関係を含む基本構造を示す問題構造テーブルと、既に通知された解釈結果である前問題情報とを記憶し、省略形の新規入力情報に対しては、その基本構造から問題構造テーブルを参照して問題種別間の依存関係を把握し、その結果をもとに前問題情報から補完すべき内容を特定するようにしているので、ドメインのデータベース検索を必要としない省略補完を実現することができ、補完処理の高速化が図れる。また、本発明によれば、ドメインデータベースの形式に依存せず、適用可能なシステムの範囲を広げることができるという効果を奏する。
【出願人】 【識別番号】000003078
【氏名又は名称】株式会社東芝
【出願日】 平成12年9月26日(2000.9.26)
【代理人】 【識別番号】100092820
【弁理士】
【氏名又は名称】伊丹 勝
【公開番号】 特開2002−108614(P2002−108614A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−292762(P2000−292762)