JP2006004274A - 対話処理装置、対話処理方法及び対話処理プログラム - Google Patents
対話処理装置、対話処理方法及び対話処理プログラム Download PDFInfo
- Publication number
- JP2006004274A JP2006004274A JP2004181316A JP2004181316A JP2006004274A JP 2006004274 A JP2006004274 A JP 2006004274A JP 2004181316 A JP2004181316 A JP 2004181316A JP 2004181316 A JP2004181316 A JP 2004181316A JP 2006004274 A JP2006004274 A JP 2006004274A
- Authority
- JP
- Japan
- Prior art keywords
- database
- processing
- search
- access
- scenario
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 繁雑な処理を行うことなく、データベースのデータを必要とする場合と必要としない場合とが混在する対話処理を実現する。
【解決手段】 データベース100へのアクセスを仲介する仲介モジュール50を設ける。そして、入力情報に対応する応答内容を生成するシナリオ処理モジュール40が、この仲介モジュール100を介してデータベース100へアクセスすることにより、対話処理を実現する。すなわち、シナリオ処理モジュール40は、データベース100へのアクセスが必要となった際、検索に必要なパラメータである検索条件を仲介モジュール50に出力する。これに対し、仲介モジュール50は、受け取った検索条件をデータベース操作用言語の検索式に変換する。そして、この検索式はデータベース100に出力され、その検索結果が仲介モジュール50に返され、さらにシナリオ処理モジュール40に転送される。
【選択図】 図1
【解決手段】 データベース100へのアクセスを仲介する仲介モジュール50を設ける。そして、入力情報に対応する応答内容を生成するシナリオ処理モジュール40が、この仲介モジュール100を介してデータベース100へアクセスすることにより、対話処理を実現する。すなわち、シナリオ処理モジュール40は、データベース100へのアクセスが必要となった際、検索に必要なパラメータである検索条件を仲介モジュール50に出力する。これに対し、仲介モジュール50は、受け取った検索条件をデータベース操作用言語の検索式に変換する。そして、この検索式はデータベース100に出力され、その検索結果が仲介モジュール50に返され、さらにシナリオ処理モジュール40に転送される。
【選択図】 図1
Description
この発明は、入力情報に応じた対話処理を行う対話処理装置、対話処理方法及びその対話処理プログラムに関し、特に、対話処理に関し、データベースへのアクセスを必要とする対話処理装置、対話処理方法及び対話処理プログラムに関する。
音声対話を用いた各種の予約システム、情報検索システムを実現した対話処理装置として、例えば、特許文献1に示すものがある。
特許文献1に記載された対話処理装置は、音声対話処理を行う端末装置と、この端末装置と通信可能に接続され、音声対話処理を決定付けるプログラムを具備するデータ群(以下「シナリオドキュメント」と呼ぶ)を生成するセンタ側装置(サーバ)とによって構成される。
このセンタ側装置がシナリオドキュメントを生成する場合、まず、センタ側装置の情報検索部が、対話内容に応じた検索条件で、デー夕べ−ス(ユーザプロファイル、レストランDB、観光DB等)を検索する。次に、センタ側装置の音声対話プログラム生成部が、この検索結果を用い、端末装置での音声対話処理に必要なシナリオドキュメントを生成し、端末装置に送る。端末装置は、このシナリオドキュメントに従い、音声対話処理を行う。
特許文献1に記載された対話処理装置は、音声対話処理を行う端末装置と、この端末装置と通信可能に接続され、音声対話処理を決定付けるプログラムを具備するデータ群(以下「シナリオドキュメント」と呼ぶ)を生成するセンタ側装置(サーバ)とによって構成される。
このセンタ側装置がシナリオドキュメントを生成する場合、まず、センタ側装置の情報検索部が、対話内容に応じた検索条件で、デー夕べ−ス(ユーザプロファイル、レストランDB、観光DB等)を検索する。次に、センタ側装置の音声対話プログラム生成部が、この検索結果を用い、端末装置での音声対話処理に必要なシナリオドキュメントを生成し、端末装置に送る。端末装置は、このシナリオドキュメントに従い、音声対話処理を行う。
ここで、特許文献1記載の方法では、データベースからの検索結果からシナリオドキュメントに生成する処理にCGI(Common Gateway Interface)技術を用いている。このCGI技術を用いてシナリオドキュメントへの変換を行う場合、まず、音声対話プログラム生成部は、SQL(Structured Query Language)等のデータベース操作用言語で記述された検索式をデータベースに送り、その検索結果を取得する。次に、音声対話プログラム生成部は、受け取った検索結果を端末側で処理できる形式(以下「シナリオ記述用言語」という)の文書(例えば、VoiceXML(eXtensible Markup Language)文書等)に変換し、それを用いてシナリオ記述用言語のシナリオドキュメントを生成する。
このように特許文献1の方法では、データベースの情報を用いてシナリオドキュメントを生成しているが、対話処理にデータベースのデータを必要としない場合には、毎回新たなシナリオドキュメントを生成する必要はない。すなわち、この場合は、予め生成しておいたシナリオドキュメントをセンタ側装置に格納しておき、センタ側装置が端末装置から要求を受けるたびに、このシナリオドキュメントを端末装置に提供すればよい。
特開2003−167895号公報
しかし、従来方法では、データベースのデータを必要とする対話処理と、データベースのデータを必要としない対話処理とが混在する場合に、処理が繁雑になるという問題点がある。
例えば、前述の通り、対話処理にデータベースのデータを必要としない場合、対話処理に必要なシナリオドキュメントは、予めシナリオ記述用言語(VoiceXML文書等)で生成しておくことが可能である。そして、このような対話処理では、端末装置から要求があった際に、センタ側装置がこのシナリオドキュメントをこの端末装置に提供するだけで、対話処理を進行することができる。
例えば、前述の通り、対話処理にデータベースのデータを必要としない場合、対話処理に必要なシナリオドキュメントは、予めシナリオ記述用言語(VoiceXML文書等)で生成しておくことが可能である。そして、このような対話処理では、端末装置から要求があった際に、センタ側装置がこのシナリオドキュメントをこの端末装置に提供するだけで、対話処理を進行することができる。
これに対し、対話処理にデータベースのデータを必要とする場合、シナリオドキュメントの内容は、データベースから抽出したデータによって変化するため、センタ側装置は、このようなシナリオドキュメントを事前に記述しておくことはできない。そのため、従来のセンタ側装置は、端末装置からの要求が発生してから、SQL等のデータベースアクセス専門の問合せ用プログラミング言語を用いてデータベースプログラムにアクセスし、その場で動的にシナリオドキュメントを生成し、これを端末装置に提供していた。
このように従来方法の場合、データベースにアクセスするか否かで、シナリオドキュメントの取扱いを変化させなければならなかった。
このように従来方法の場合、データベースにアクセスするか否かで、シナリオドキュメントの取扱いを変化させなければならなかった。
また、従来、データベースのデータを必要とする対話処理と必要としない対話処理とに対応する対話処理装置を設計する場合、設計者は、シナリオドキュメントを記述するためのシナリオ記述用言語(VoiceXML文書等)と、データベースにアクセスするための問合せ言語(データベース操作用言語:SQL等)とを駆使してシステム設計を行わなければならなかった。そのため、例えば、両方の言語に精通した者でなければ、最適な対話処理装置を設計することが困難であったという問題点もある。
この発明は、以上の点を鑑みてなされたものであり、繁雑な処理を行うことなく、データベースのデータを必要とする場合と必要としない場合とが混在する対話処理を実現する技術を提供することを目的とする。
また、この発明の他の目的は、データベース操作用言語に関する専門的な知識を有しないものであっても、対話処理装置を設計することが可能な技術を提供することを目的とする。
この発明は、以上の点を鑑みてなされたものであり、繁雑な処理を行うことなく、データベースのデータを必要とする場合と必要としない場合とが混在する対話処理を実現する技術を提供することを目的とする。
また、この発明の他の目的は、データベース操作用言語に関する専門的な知識を有しないものであっても、対話処理装置を設計することが可能な技術を提供することを目的とする。
本発明では、以上の問題を解決するために、データベースへのアクセスを仲介する仲介モジュールを設ける。そして、入力情報に対応する応答内容を生成するシナリオ処理モジュールが、この仲介モジュールを介してデータベースへアクセスすることにより、対話処理を実現する。
すなわち、シナリオ処理モジュールは、データベースへのアクセスが必要となった際、検索に必要なパラメータである検索条件を仲介モジュールに出力する。これに対し、仲介モジュールは、受け取った検索条件をデータベース操作用言語の検索式に変換する。この検索式はデータベースに出力され、その検索結果が仲介モジュールに返される。そして、この検索結果はシナリオ処理モジュールに出力される。
すなわち、シナリオ処理モジュールは、データベースへのアクセスが必要となった際、検索に必要なパラメータである検索条件を仲介モジュールに出力する。これに対し、仲介モジュールは、受け取った検索条件をデータベース操作用言語の検索式に変換する。この検索式はデータベースに出力され、その検索結果が仲介モジュールに返される。そして、この検索結果はシナリオ処理モジュールに出力される。
ここで、シナリオ処理モジュールは、検索に必要なパラメータである検索条件を仲介モジュールに出力するだけで、その検索条件に合致したデータをデータベースから取得できる。すなわち、シナリオ処理モジュールは、対話処理にデータベースのデータが必要な場合であっても、データベース操作用言語を用いる必要はない。そのため、本発明のシナリオ処理モジュールは、データベースへのアクセスの有無に関わらず、シナリオ記述用言語のみを用いて処理を行えばよい。その結果、データベースへのアクセスの有無に関わらず、このシナリオ処理モジュールにおけるシナリオドキュメントの取扱いを統一化できる。
以上のように、本発明では、データベースへのアクセスの有無に関わらず、シナリオ処理モジュールにおけるシナリオドキュメントの取扱い・管理を統一化できるため、データベースのデータを必要とする対話処理と必要としない対話処理とが混在する場合であっても、繁雑な処理を行うことなく対話処理を実現できる。
また、本発明では、応答内容を生成する機能(シナリオ処理モジュール)と、データベースへアクセスする機能(仲介モジュール)とが独立している。そのため、仲介モジュールを流用することにより、データベース操作用言語に関する専門的な知識を有しない者であっても、対話処理装置を設計することができる。
また、本発明では、応答内容を生成する機能(シナリオ処理モジュール)と、データベースへアクセスする機能(仲介モジュール)とが独立している。そのため、仲介モジュールを流用することにより、データベース操作用言語に関する専門的な知識を有しない者であっても、対話処理装置を設計することができる。
以下、この発明の実施の形態を図面を参照して説明する。
〔概要〕
まず、本形態の概要について説明する。
図1は、本形態における対話処理装置1の概要を説明するための概念図である。
この例の対話処理装置1は、入力情報に対応する応答内容を生成するシナリオ処理モジュール40と、当該シナリオ処理モジュール40のデータベース100へのアクセスを仲介する仲介モジュール50とを有し、このデータベース100から取得した情報を用いて、入力情報に対する応答処理を行う。
〔概要〕
まず、本形態の概要について説明する。
図1は、本形態における対話処理装置1の概要を説明するための概念図である。
この例の対話処理装置1は、入力情報に対応する応答内容を生成するシナリオ処理モジュール40と、当該シナリオ処理モジュール40のデータベース100へのアクセスを仲介する仲介モジュール50とを有し、このデータベース100から取得した情報を用いて、入力情報に対する応答処理を行う。
シナリオ処理モジュール40の対話処理において、データベース100へのアクセスが必要となった際、シナリオ処理モジュール40の対話制御部43は、検索に必要なパラメータである検索条件を仲介モジュール50に出力する。
仲介モジュール50のDB(データベース)アクセス変換処理部51は、受け取った条件をデータベース操作用言語(この例ではSQL)の検索式に変換する。そして、アクセス部54において、この検索式をデータベース100に出力し、その検索結果であるデータテーブルを受け取る。DBアクセス結果取り込み処理部55は、この検索結果をシナリオ処理モジュール40に出力し、これを受け取ったシナリオ処理モジュール40は、メモリにこの検索結果を格納する。そして、シナリオ処理モジュール40は、この検索結果を利用して応答処理を行う。
仲介モジュール50のDB(データベース)アクセス変換処理部51は、受け取った条件をデータベース操作用言語(この例ではSQL)の検索式に変換する。そして、アクセス部54において、この検索式をデータベース100に出力し、その検索結果であるデータテーブルを受け取る。DBアクセス結果取り込み処理部55は、この検索結果をシナリオ処理モジュール40に出力し、これを受け取ったシナリオ処理モジュール40は、メモリにこの検索結果を格納する。そして、シナリオ処理モジュール40は、この検索結果を利用して応答処理を行う。
〔詳細〕
次に、本形態の詳細について説明する。
〔詳細構成〕
図2は、公知のコンピュータに所定のプログラム(対話処理プログラム)を実行させることにより構築される対話処理装置1の構成を例示したブロック図である。
図2に例示するように、この例の対話処理装置1は、音声認識部10、音声理解部20、スロット辞書メモリ30、シナリオ処理モジュール40、仲介モジュール50、及び音声応答出力部60を有しており、仲介モジュール50を通じて外部のデータベース100と通信可能に接続されている。
次に、本形態の詳細について説明する。
〔詳細構成〕
図2は、公知のコンピュータに所定のプログラム(対話処理プログラム)を実行させることにより構築される対話処理装置1の構成を例示したブロック図である。
図2に例示するように、この例の対話処理装置1は、音声認識部10、音声理解部20、スロット辞書メモリ30、シナリオ処理モジュール40、仲介モジュール50、及び音声応答出力部60を有しており、仲介モジュール50を通じて外部のデータベース100と通信可能に接続されている。
また、この例のシナリオ処理モジュール40は、対話理解部41、理解状態メモリ42、対話制御部43、シナリオメモリ44及びデータメモリ45を有している。さらに、この例の仲介モジュール50は、DBアクセス変換処理部51、対応表メモリ52、DB操作用言語辞書メモリ53、アクセス部54、DBアクセス結果取り込み処理部55及びデータ抽出機能メモリ56を有している。
<スロット辞書>
この例のスロット辞書メモリ30は、対話意図を示す属性名(例えば「目的地名」「ジャンル」等)と、その属性値(例えば「横須賀」「蕎麦屋」等)との対応表であるスロット辞書を格納しておくメモリである。
<スロット辞書>
この例のスロット辞書メモリ30は、対話意図を示す属性名(例えば「目的地名」「ジャンル」等)と、その属性値(例えば「横須賀」「蕎麦屋」等)との対応表であるスロット辞書を格納しておくメモリである。
<理解状態メモリ>
この例の理解状態メモリ42は、音声認識部10から入力された発話内容をもとに抽出された属性名と属性値との組の集合(以下「スロット構造」と呼ぶ。)を理解状態表42aとして格納するメモリである。
図3の(a)は、この理解状態メモリ42に格納された理解状態表42aの例示である。この例の場合、「目的地名」「ジャンル」「店舗名」「電話番号」という属性名と、「目的地名」に対応する「横須賀」という属性値及び「ジャンル」に対応する「蕎麦屋」という属性値と、が記録された理解状態表42aが格納されている。
この例の理解状態メモリ42は、音声認識部10から入力された発話内容をもとに抽出された属性名と属性値との組の集合(以下「スロット構造」と呼ぶ。)を理解状態表42aとして格納するメモリである。
図3の(a)は、この理解状態メモリ42に格納された理解状態表42aの例示である。この例の場合、「目的地名」「ジャンル」「店舗名」「電話番号」という属性名と、「目的地名」に対応する「横須賀」という属性値及び「ジャンル」に対応する「蕎麦屋」という属性値と、が記録された理解状態表42aが格納されている。
<シナリオメモリ>
この例のシナリオメモリ44は、シナリオ記述用言語(例えば、VoiceXML等)で記述されたシナリオドキュメント44aを格納するメモリである。なお、この例のシナリオドキュメント44aは、対話制御規則44b(入力された発話内容に対してどのような応答処理を行うかを示したプログラム)を具備するデータ群である。また、この対話制御規則44bは、検索クエリー44cを有している。
図3の(b)は、この検索クエリー44cの例示である。検索クエリー44cは、外部のデータベース100から取得するデータ(この例では、データベース100に格納された表から抽出する行)を指定するための情報であり、この例の場合、「検索条件」「データベース識別ID」「取り出し属性名」「絞込み指定子」「query result」の情報を有している。
この例のシナリオメモリ44は、シナリオ記述用言語(例えば、VoiceXML等)で記述されたシナリオドキュメント44aを格納するメモリである。なお、この例のシナリオドキュメント44aは、対話制御規則44b(入力された発話内容に対してどのような応答処理を行うかを示したプログラム)を具備するデータ群である。また、この対話制御規則44bは、検索クエリー44cを有している。
図3の(b)は、この検索クエリー44cの例示である。検索クエリー44cは、外部のデータベース100から取得するデータ(この例では、データベース100に格納された表から抽出する行)を指定するための情報であり、この例の場合、「検索条件」「データベース識別ID」「取り出し属性名」「絞込み指定子」「query result」の情報を有している。
ここで、この例の「検索条件」とは、外部のデータベース100の検索条件を示すパラメータである。この例の場合、入力情報の単語列から抽出した「属性値」及びこの属性値に対応する「属性名」を「検索条件」とする。また、「検索条件」を構成する「属性名」及び「属性値」は変数であり、対話制御規則44bに基づく処理に伴い、これらの変数に必要な値が代入される。なお、図3の(b)例では、1つ目の「属性名」に「目的地名」が代入され、それに対応する「属性値」に「横須賀」が代入され、2つ目の「属性名」に「ジャンル」が代入され、それに対応する「属性値」に「蕎麦屋」が代入されている。
また、この例の「データベース識別ID」とは、データを取得する外部のデータベース100を特定するための識別子であり、その値は変数となっている。そして、対話制御規則44bに基づく処理に伴い、この変数に必要な値が代入される。なお、図3の(b)の例では「Shop_all」という値が代入されている。
また、この例の「取り出し属性名」とは、検索結果として抽出されたデータエントリから、どの属性名のデータを抽出するかを指定するデータであり、その値は変数となっている。そして、対話制御規則44bに基づく処理に伴い、この変数に必要な値が代入される。なお、図3の(b)の例では、「取り出し属性名」がヌル値(指定なし)とされている。
また、この例の「取り出し属性名」とは、検索結果として抽出されたデータエントリから、どの属性名のデータを抽出するかを指定するデータであり、その値は変数となっている。そして、対話制御規則44bに基づく処理に伴い、この変数に必要な値が代入される。なお、図3の(b)の例では、「取り出し属性名」がヌル値(指定なし)とされている。
また、「絞込み指定子」とは、外部のデータベース100から抽出したデータエントリから、どのデータエントリを取得するかを指定する情報であり、その値は変数となっている。そして、対話制御規則44bに基づく処理に伴い、この変数に必要な値が代入される。この例の場合、「絞込み指定子」として以下の値が用意されている。なお、下記の"min","mins","max","maxs"の内容における「カラム(フィールド)の値」としては、例えば、価格、数量、広さ等の数値の大きさが指標となるデータを意味する。また、図3の(b)の例では、「all」が「絞込み指定子」に代入されている。
また、「query result」には、外部のデータベース100から取得したデータの保存先を示す値(「検索結果保存先変数名」)が代入される。この例では、データメモリ45のアドレスが代入される。
<対応表メモリ>
この例の対応表メモリ52は、シナリオ処理モジュール40で取り扱う属性名(「シナリオ処理モジュール内属性名」)と、データベース100のカラム(フィールド)名(「データベースカラム(フィールド)名」)と、の対応表を格納している。また、この例の場合、対応表メモリ52には、複数の対応表が格納されており、各対応表は、各データベース識別IDにそれぞれ対応付けられている。
図4の(a)は、データベース識別ID=“Shop_all”に対応する対応表52aのデータ構成の例示である。この図に例示するように、この例の対応表52aは、「シナリオ処理モジュール内属性名」である「目的地名」「ジャンル」「店舗名」「電話番号」が、それぞれ「データベースカラム(フィールド)」である「Area」「Genre」「Shop_name」「Tel_num」に対応付けられている。
この例の対応表メモリ52は、シナリオ処理モジュール40で取り扱う属性名(「シナリオ処理モジュール内属性名」)と、データベース100のカラム(フィールド)名(「データベースカラム(フィールド)名」)と、の対応表を格納している。また、この例の場合、対応表メモリ52には、複数の対応表が格納されており、各対応表は、各データベース識別IDにそれぞれ対応付けられている。
図4の(a)は、データベース識別ID=“Shop_all”に対応する対応表52aのデータ構成の例示である。この図に例示するように、この例の対応表52aは、「シナリオ処理モジュール内属性名」である「目的地名」「ジャンル」「店舗名」「電話番号」が、それぞれ「データベースカラム(フィールド)」である「Area」「Genre」「Shop_name」「Tel_num」に対応付けられている。
<DB操作用言語辞書メモリ>
この例のDB操作用言語辞書メモリは、検索に必要なパラメータである検索条件を、データベース操作用言語(例えば、SQL(Structured Query Language)等)の検索式に変換するための辞書を格納する。
<データ抽出機能メモリ>
この例のデータ抽出機能メモリ56には、表1に示した「絞込み指定子」と、それに対応する処理手順(表1の「内容」を実行する手順)と、が対応付けられて格納されている。
この例のDB操作用言語辞書メモリは、検索に必要なパラメータである検索条件を、データベース操作用言語(例えば、SQL(Structured Query Language)等)の検索式に変換するための辞書を格納する。
<データ抽出機能メモリ>
この例のデータ抽出機能メモリ56には、表1に示した「絞込み指定子」と、それに対応する処理手順(表1の「内容」を実行する手順)と、が対応付けられて格納されている。
<データベース>
この例のデータベース100は、各データを複数の項目の集合として格納したリレーショナルデータベースである。
図4の(b)は、データベース識別ID=“Shop_all”に対応するデータベース100のデータ構成を例示した図である。この図に例示するように、データベース100は、「Area」「Genre」「Shop_name」「Tel_num」という4つのカラム(フィールド)にそれぞれ対応する、
「横須賀」「蕎麦屋」「味久」「046-aaa-bbbb」という値をもつデータ101と、
「横須賀」「蕎麦屋」「一松」「046-ccc-dddd」という値をもつデータ102と、
「新宿」「うどん屋」「めん坊」「03-eeee-ffff」という値をもつデータ103と、
「横浜」「ラーメン屋」「よし村家」「045-ggg-hhhh」という値をもつデータ104と、の集合である。
そして、データベース操作用言語によって、何れかのカラムの値を特定することにより、その値を有するデータを抽出できる構成となっている。例えば、Area=「横須賀」かつGenre=「蕎麦屋」という検索条件であった場合、Area=「横須賀」であって、なおかつGenre=「蕎麦屋」であるデータ101、102が検索結果として抽出される。
この例のデータベース100は、各データを複数の項目の集合として格納したリレーショナルデータベースである。
図4の(b)は、データベース識別ID=“Shop_all”に対応するデータベース100のデータ構成を例示した図である。この図に例示するように、データベース100は、「Area」「Genre」「Shop_name」「Tel_num」という4つのカラム(フィールド)にそれぞれ対応する、
「横須賀」「蕎麦屋」「味久」「046-aaa-bbbb」という値をもつデータ101と、
「横須賀」「蕎麦屋」「一松」「046-ccc-dddd」という値をもつデータ102と、
「新宿」「うどん屋」「めん坊」「03-eeee-ffff」という値をもつデータ103と、
「横浜」「ラーメン屋」「よし村家」「045-ggg-hhhh」という値をもつデータ104と、の集合である。
そして、データベース操作用言語によって、何れかのカラムの値を特定することにより、その値を有するデータを抽出できる構成となっている。例えば、Area=「横須賀」かつGenre=「蕎麦屋」という検索条件であった場合、Area=「横須賀」であって、なおかつGenre=「蕎麦屋」であるデータ101、102が検索結果として抽出される。
〔処理の詳細〕
次に、本形態における対話処理装置1の処理について説明する。
図5及び図6は、本形態における対話処理装置1の処理を説明するためのフローチャートである。以下、このフローチャートに沿って説明を行っていく。なお、図5及び図6における矢印はデータの流れを示すものではない。
この例の対話処理装置1は、入力された発話内容に対する応答内容を音声出力する。まず利用者は、図示していないマイクロフォンに音声を入力し、マイクロフォンは、その音声を音声入力信号に変換して音声認識部10に送る。音声認識部10は、この音声入力信号(「入力情報」の例)を受け取って音声認識を行い、その認識結果である単語(列)を音声理解部20に出力する(ステップS1)。
次に、本形態における対話処理装置1の処理について説明する。
図5及び図6は、本形態における対話処理装置1の処理を説明するためのフローチャートである。以下、このフローチャートに沿って説明を行っていく。なお、図5及び図6における矢印はデータの流れを示すものではない。
この例の対話処理装置1は、入力された発話内容に対する応答内容を音声出力する。まず利用者は、図示していないマイクロフォンに音声を入力し、マイクロフォンは、その音声を音声入力信号に変換して音声認識部10に送る。音声認識部10は、この音声入力信号(「入力情報」の例)を受け取って音声認識を行い、その認識結果である単語(列)を音声理解部20に出力する(ステップS1)。
音声理解部20は、音声認識部10から出力された単語(列)を受け取り、入力発話の発話意図を示す属性の名称(属性名)と属性値の集合(スロット構造)を作成する(ステップS2)。具体的には、例えば、受け取った単語(或いは単語列から抽出した単語)をキーとしてスロット辞書メモリ30のスロット辞書を検索し、この単語に対応する属性値が存在するか否かを判断する。そして、一致する属性値が存在した場合、その属性値とそれに対応する属性名の組をスロット構造とする。例えば、音声理解部20が受け取った単語が「横須賀」であり、スロット辞書に、属性名「目的地名」と属性値「横須賀」とが対応付けられていた場合、属性名「目的地名」−属性値「横須賀」といったスロット構造が作成される。
このように音声理解部20が生成したスロット構造は、シナリオ処理モジュール40の対話理解部41に送られ、対話理解部41は、このスロット構造を理解状態メモリ42に格納されたデータに追加する(ステップS3)。なお、理解状態メモリ42は、対話処理の開始以降に対話理解部41が受け取ったスロット構造を順次保存していく。例えば、対話処理の開始以降に、対話理解部41が、属性名「目的地名」−属性値「横須賀」といったスロット構造、及び属性名「ジャンル」−属性値「蕎麦屋」といったスロット構造を受け取った場合、理解状態メモリ42の理解状態表42aには、図3の(a)に例示したようなデータ(属性名「目的地名」に属性値「横須賀」が対応付けられ、属性名「ジャンル」に属性値「蕎麦屋」が対応付けられたデータ)が格納される。このように理解状態メモリ42へのデータの格納状況を「理解状態(文脈)」と呼ぶ。
次に、この例の対話理解部41は、理解状態メモリ42に格納された「属性名」と「属性値」のデータ(対話理解結果)を対話制御部43に出力する。対話制御部43は、この対話理解結果の出力を受け取り、シナリオメモリ44から読み込んでいたシナリオドキュメント44aの対話制御規則44bに従い、この対話理解結果に応じた処理内容を決定する(ステップS4)。
ここで決定される処理内容は、データベース100へのアクセスを必要としない処理と、アクセスを必要とする処理とに分けられる。
ここで決定される処理内容は、データベース100へのアクセスを必要としない処理と、アクセスを必要とする処理とに分けられる。
<データベース100へのアクセスを必要としない処理>
データベース100へのアクセスを必要としない処理としては、例えば、店舗検索案内をタスクとする音声対話装置において、対話理解部41から出力された対話理解結果が、属性名「目的地名」に対応する属性値は埋まっているが、属性名「ジャンル」に対応する属性値が埋まっていないものであった場合の処理を例示できる。この場合、対話制御部43は、対話制御規則44bに従い、「属性名『ジャンル』に対応する属性値を入力するよう促すシステム発話を行う」という処理を選択する。
データベース100へのアクセスを必要としない処理としては、例えば、店舗検索案内をタスクとする音声対話装置において、対話理解部41から出力された対話理解結果が、属性名「目的地名」に対応する属性値は埋まっているが、属性名「ジャンル」に対応する属性値が埋まっていないものであった場合の処理を例示できる。この場合、対話制御部43は、対話制御規則44bに従い、「属性名『ジャンル』に対応する属性値を入力するよう促すシステム発話を行う」という処理を選択する。
なお、この仕組みでは、対話制御規則44bを取り替えることにより、対話理解部41の出力結果が同じでも異なるシステム発話内容を選択させることができる。例えば、上記と同じ状態(属性名「目的地名」に対応する属性値が埋まっており、属性名「ジャンル」に対応する属性値が埋まっていない状態)の場合であっても、対話制御規則44bを別の規則に取り替えれば、属性名「ジャンル」に対応する属性値の入力を促すのではなく、例えば、「すでに入力されている属性名『目的地名』に対応する属性値が正しいか否かを確認するよう促すシステム発話を行う」という処理を選択させることも可能である。
<データベース100へのアクセスを必要とする処理>
データベース100へのアクセスを必要とする処理としては、以下のような処理を例示できる。
(a)店舗検索タスクにおいて、属性名「目的地名」に対応する属性値と、属性名「ジャンル」に対応する属性値とが既に入力されている場合に、これらの属性名及び属性値を検索条件としてデータベース100にアクセスし、この検索条件に合致する店舗数を取得する。
(b)ここで、検索条件に合致した店舗数が0件であれば、「その検索条件では、合致する店舗がひとつもないので、検索条件を緩和するか変更することを促すシステム発話を行う」という処理を選択する。
(c)検索条件に合致した店舗数が1〜10程度であれば、「その検索条件による検索で合致した具体的な店舗名を読み上げて伝える」という処理を選択する。
(d)検索条件に合致した店舗数が11件以上であれば、「その検索条件による検索では合致する店舗数が多すぎるため、ジャンル名を変更するか、別の目的地の検索をするよう勧める」という処理を選択する。
データベース100へのアクセスを必要とする処理としては、以下のような処理を例示できる。
(a)店舗検索タスクにおいて、属性名「目的地名」に対応する属性値と、属性名「ジャンル」に対応する属性値とが既に入力されている場合に、これらの属性名及び属性値を検索条件としてデータベース100にアクセスし、この検索条件に合致する店舗数を取得する。
(b)ここで、検索条件に合致した店舗数が0件であれば、「その検索条件では、合致する店舗がひとつもないので、検索条件を緩和するか変更することを促すシステム発話を行う」という処理を選択する。
(c)検索条件に合致した店舗数が1〜10程度であれば、「その検索条件による検索で合致した具体的な店舗名を読み上げて伝える」という処理を選択する。
(d)検索条件に合致した店舗数が11件以上であれば、「その検索条件による検索では合致する店舗数が多すぎるため、ジャンル名を変更するか、別の目的地の検索をするよう勧める」という処理を選択する。
このような処理では、外部のデータベース100にアクセスし、そこから得た情報に応じて、次の応答内容を使い分ける。このような場合には、対話処理にデータベース100へのアクセスが必要となる(ステップS4で決定される処理内容の説明終わり)。
対話制御部43は、ステップS4で決定した処理が、データベース100へのアクセスを必要としない処理であるか、アクセスを必要とする処理であるかを判断し(ステップS5)、その判断に応じた処理を実行する。
対話制御部43は、ステップS4で決定した処理が、データベース100へのアクセスを必要としない処理であるか、アクセスを必要とする処理であるかを判断し(ステップS5)、その判断に応じた処理を実行する。
<データベース100へのアクセスを必要としない処理であると判断された場合>
ステップS5の判断において、ステップS4で決定した処理が「データベース100へのアクセスを必要としない処理である」と判断された場合、対話制御部43は、ステップS4で決定した処理を示す「応答内容」を音声応答出力部60に出力する(ステップS6)。
音声応答出力部60は、対話制御部43から出力された「応答内容」を受け取り、その応答内容を言語表現に変換し、さらに、実際に出力される音声出力に変換して出力する(ステップS7)。なお、その後、さらに音声対話を継続する場合にはステップS1に戻る。
例えば、音声応答出力部60が、「属性名『ジャンル』に対応する属性値を入力するよう促すシステム発話を行う」という処理を示す「応答内容」を受け取った場合、この音声応答出力部60は、この「応答内容」から具体的な言語表現、例えば、「まだジャンルを入力していないようです。ジャンルをおっしゃってください。」に変換する(ステップS6)。
さらに、音声合成を用いるシステムであれば、音声応答出力部60は、この言語表現から、出力すべき音声信号を合成して出力する(ステップS7)。また、録音編集方式により音声出力するシステムであれば、音声ファイルからこの言語表現に対応するファイルの組合せを選択し、それらを再生することにより、実際に音声を出力する(ステップS7)。その後、さらに音声対話を継続する場合にはステップS1に戻る。
ステップS5の判断において、ステップS4で決定した処理が「データベース100へのアクセスを必要としない処理である」と判断された場合、対話制御部43は、ステップS4で決定した処理を示す「応答内容」を音声応答出力部60に出力する(ステップS6)。
音声応答出力部60は、対話制御部43から出力された「応答内容」を受け取り、その応答内容を言語表現に変換し、さらに、実際に出力される音声出力に変換して出力する(ステップS7)。なお、その後、さらに音声対話を継続する場合にはステップS1に戻る。
例えば、音声応答出力部60が、「属性名『ジャンル』に対応する属性値を入力するよう促すシステム発話を行う」という処理を示す「応答内容」を受け取った場合、この音声応答出力部60は、この「応答内容」から具体的な言語表現、例えば、「まだジャンルを入力していないようです。ジャンルをおっしゃってください。」に変換する(ステップS6)。
さらに、音声合成を用いるシステムであれば、音声応答出力部60は、この言語表現から、出力すべき音声信号を合成して出力する(ステップS7)。また、録音編集方式により音声出力するシステムであれば、音声ファイルからこの言語表現に対応するファイルの組合せを選択し、それらを再生することにより、実際に音声を出力する(ステップS7)。その後、さらに音声対話を継続する場合にはステップS1に戻る。
<データベース100へのアクセスを必要とする処理であると判断された場合>
対話制御部43が、対話理解部41から送られた対話理解結果をもとに対話制御規則44bを解析し、デー夕ベース100への検索発行命令があることを見つけた場合、この対話制御部43は、対話制御規則44bに従い、送られた対話理解結果を用いて検索クエリー44cの「検索条件」を設定する。例えば、対話制御部43に送られた対話理解結果が、属性名「目的地名」−属性値「横須賀」及び属性名「ジャンル」−属性値「蕎麦屋」であった場合(図3の(a))、対話制御部43は、「目的地名=“横須賀”,ジャンル=“蕎麦屋”」という検索条件を設定する(図3の(b))。
対話制御部43が、対話理解部41から送られた対話理解結果をもとに対話制御規則44bを解析し、デー夕ベース100への検索発行命令があることを見つけた場合、この対話制御部43は、対話制御規則44bに従い、送られた対話理解結果を用いて検索クエリー44cの「検索条件」を設定する。例えば、対話制御部43に送られた対話理解結果が、属性名「目的地名」−属性値「横須賀」及び属性名「ジャンル」−属性値「蕎麦屋」であった場合(図3の(a))、対話制御部43は、「目的地名=“横須賀”,ジャンル=“蕎麦屋”」という検索条件を設定する(図3の(b))。
また、対話制御部43は、対話制御規則44bに従い、取得するデータが格納されたデータベース100の「データベース識別ID」、必要なデータに対する「取り出し属性名」及び「絞込み指定子」を設定する。この例では、「データベース識別ID」=“Shop_all”、「取り出し属性名」=“”、「絞込み指定子」=“all”に設定するものとする。この様な設定内容は、例えば、対話制御規則44bの検索クエリー44cに代入され、シナリオメモリ44に格納される。
次に、対話制御部43は、データベース識別IDと検索条件を、仲介モジュール50のDBアクセス変換処理部51に出力する(ステップS8)。これを受け取った仲介モジュール50は、その検索条件を、データベース操作用言語(この例ではSQL)の検索式に変換し(ステップS9)、その検索式の属性名を、データベース100のデータ構造に適合するカラム(フィールド)に置換変換する(ステップS10)。
次に、対話制御部43は、データベース識別IDと検索条件を、仲介モジュール50のDBアクセス変換処理部51に出力する(ステップS8)。これを受け取った仲介モジュール50は、その検索条件を、データベース操作用言語(この例ではSQL)の検索式に変換し(ステップS9)、その検索式の属性名を、データベース100のデータ構造に適合するカラム(フィールド)に置換変換する(ステップS10)。
図7は、このステップS9及びS10の処理を説明するための概念図である。
前述のように、仲介モジュール50のDB操作用言語辞書メモリ53は、検索に必要なパラメータである検索条件を、データベース操作用言語の検索式に翻訳するためのDB操作用言語辞書を有している。この例のDBアクセス変換処理部51は、このDB操作用言語辞書を用い、シナリオ処理モジュール40から送られた検索条件を、データベース操作用言語(この例ではSQL)の検索式に変換する(ステップS9)。
また、前述のように、仲介モジュール50は、各データベース識別IDに対応する対応表52a(図5の(a))を対応表メモリ52に格納しており、シナリオ処理モジュール40で用いられる属性名と、データベース100で用いられているカラム(フィールド)名との対応を事前に把握している。この例のDBアクセス変換処理部51は、対話制御部43から送られたデータベース識別IDに対応する対応表52aを参照し、上述の検索式(SQL等)の属性名(「検索条件の属性名」に対応)に対応するフィールド名を特定し、特定した当該フィールド名と属性値とを含む検索式(SQL等)を生成する(ステップS10)。
前述のように、仲介モジュール50のDB操作用言語辞書メモリ53は、検索に必要なパラメータである検索条件を、データベース操作用言語の検索式に翻訳するためのDB操作用言語辞書を有している。この例のDBアクセス変換処理部51は、このDB操作用言語辞書を用い、シナリオ処理モジュール40から送られた検索条件を、データベース操作用言語(この例ではSQL)の検索式に変換する(ステップS9)。
また、前述のように、仲介モジュール50は、各データベース識別IDに対応する対応表52a(図5の(a))を対応表メモリ52に格納しており、シナリオ処理モジュール40で用いられる属性名と、データベース100で用いられているカラム(フィールド)名との対応を事前に把握している。この例のDBアクセス変換処理部51は、対話制御部43から送られたデータベース識別IDに対応する対応表52aを参照し、上述の検索式(SQL等)の属性名(「検索条件の属性名」に対応)に対応するフィールド名を特定し、特定した当該フィールド名と属性値とを含む検索式(SQL等)を生成する(ステップS10)。
例えば、ステップS8で送られたデータベース識別IDが「Shop_all」であり、ステップS9で生成された検索式(SQL等)の属性名が「目的地名」であり、その属性値が「横須賀」であった場合、DBアクセス変換処理部51は、シナリオ処理モジュール内属性名「目的地名」に対応するデータベースカラム(フィールド名)「Area」と、属性値「横須賀」とを含む検索式(SQL等)を生成する。
なお、本形態では、ステップS9の処理を行った後、ステップS10の処理を行っているが、逆に、ステップS10の処理(属性名のカラム(フィールド)名への変換処理)を行ってからステップS9の処理(検索条件のデータベース操作用言語への変換処理)を行うこととしてもよい。
なお、本形態では、ステップS9の処理を行った後、ステップS10の処理を行っているが、逆に、ステップS10の処理(属性名のカラム(フィールド)名への変換処理)を行ってからステップS9の処理(検索条件のデータベース操作用言語への変換処理)を行うこととしてもよい。
生成された検索式は、アクセス部54に送られる。アクセス部54は、ステップS8で送られたデータベース識別IDに対応するデータベース100に対し、この検索式を出力し、このデータベース100のプログラムにアクセスする。このデータベース100へのアクセスに対し、データベース100のプログラムは、その検索結果であるデータテーブルを返す。例えば、データベース100に図5の(b)のデータが格納されており、送られた検索式がArea「横須賀」かつGenre「蕎麦屋」であった場合、データ101及びデータ102が検索結果として返される。そして、これを受け取ったアクセス部54は、このデータテーブルをDBアクセス結果取り込み処理部55に送る(ステップS11)。
次に、シナリオ処理モジュール40の対話制御部43は、シナリオメモリ44内の検索クエリー44cに設定しておいた「検索結果保存先変数名」
「絞込み指定子」「取り出し属性名」を抽出し、これらを仲介モジュール50に出力する(ステップS12)。
これらの情報を受け取った仲介モジュール50は、検索結果であるデータテーブルから、受け取った「絞込み指定子」「取り出し属性名」に合致するデータエントリのみを取り出し(ステップS13)、その要約情報を生成する(ステップS14)。
「絞込み指定子」「取り出し属性名」を抽出し、これらを仲介モジュール50に出力する(ステップS12)。
これらの情報を受け取った仲介モジュール50は、検索結果であるデータテーブルから、受け取った「絞込み指定子」「取り出し属性名」に合致するデータエントリのみを取り出し(ステップS13)、その要約情報を生成する(ステップS14)。
図8は、これらの処理を説明するための概念図である。
シナリオ処理モジュール40から送られた「絞込み指定子」「取り出し属性名」は、仲介モジュール50のDBアクセス変換部51に送られ、そこからDBアクセス結果取り込み処理部55に転送される。そして、このDBアクセス結果取り込み処理部55は、データ抽出機能メモリ56に格納された表(表1)を参照し、アクセス部54が受け取った検索結果から、この「絞込み指定子」が示す条件に合致するデータエントリを選択する。例えば、この例では、「絞込み指定子」=“all”であるため、DBアクセス結果取り込み処理部55は、「検索条件に合致したすべてのデータエントリを取得」という処理を行う。
シナリオ処理モジュール40から送られた「絞込み指定子」「取り出し属性名」は、仲介モジュール50のDBアクセス変換部51に送られ、そこからDBアクセス結果取り込み処理部55に転送される。そして、このDBアクセス結果取り込み処理部55は、データ抽出機能メモリ56に格納された表(表1)を参照し、アクセス部54が受け取った検索結果から、この「絞込み指定子」が示す条件に合致するデータエントリを選択する。例えば、この例では、「絞込み指定子」=“all”であるため、DBアクセス結果取り込み処理部55は、「検索条件に合致したすべてのデータエントリを取得」という処理を行う。
次にDBアクセス結果取り込み処理部55は、ここで選択されたデータエントリから、「取り出し属性名」が示す属性名に対応するカラム(フィールド)名のデータのみを抽出する。つまり、DBアクセス結果取り込み処理部55は、対応表メモリ52(受け取った「データベース識別ID」に対応する対応表)を参照し、「取り出し属性名」が示す属性名をカラム(フィールド)名に変換し、このカラム(フィールド)名のデータのみを抽出する。なお、この例では、「取り出し属性名」はヌル値であるため、カラム(フィールド)名によるデータの絞込みは行われない。
また、DBアクセス結果取り込み処理部55は、検索結果の要約情報をさらに生成する。ここで生成される要約条約としては、例えば、検索条件に合致したデータエントリがあったかなかったのか(boolean)、検索条件に合致したデータエントリの総数(NOR(Number Of Records))、検索条件に合致したデータエントリの種類数(異なり数:NODR(Number Of Distinct Records))等を例示できる。
DBアクセス結果取り込み処理部55は、以上のように抽出した検索結果値、生成した要約情報、及びデータメモリ45のアドレスを示した「検索結果保存先変数名」をシナリオ処理モジュール40の対話制御部43に出力する(ステップS15)。対話制御部43は、受け取った「検索結果保存先変数名」が示すデータメモリ45のアドレスに、受け取った検索結果値及び要約情報を格納する(ステップS16)。
DBアクセス結果取り込み処理部55は、以上のように抽出した検索結果値、生成した要約情報、及びデータメモリ45のアドレスを示した「検索結果保存先変数名」をシナリオ処理モジュール40の対話制御部43に出力する(ステップS15)。対話制御部43は、受け取った「検索結果保存先変数名」が示すデータメモリ45のアドレスに、受け取った検索結果値及び要約情報を格納する(ステップS16)。
以上の処理により、シナリオ処理モジュール40は、データベース操作用言語を用いることなく、外部のデータベース100中のデータを取り込むことができ、それ以降は、外部のデータベース100へのアクセスを行わない場合の処理と同様に、このデータを参照できる。そして、対話制御部43は対話制御規則44bに従い、このデータメモリ45内のデータ、対話理解部41から送られた対話理解結果を用いて「応答内容」を生成し、これを音声応答出力部60に出力する(ステップS6)。音声応答出力部60は、対話制御部43から出力された「応答内容」を受け取り、その応答内容を言語表現に変換し、さらに、実際に出力される音声出力に変換して出力する(ステップS7)。
<本形態の特徴>
以上説明した通り、本形態のシナリオ処理モジュール40は、データベース操作用言語を用いることなく、外部のデータベース100に存在する情報や知識を対話処理に活用することができる。そのため、対話処理にデータベース100へのアクセスを必要とするか否かに関わらず、シナリオ処理モジュール40におけるシナリオドキュメント44aの取扱い・管理を統一化できる。その結果、データベース100へのアクセスの有無に関わらず、シナリオドキュメント44aの管理及び対話処理を一元化できる。
以上説明した通り、本形態のシナリオ処理モジュール40は、データベース操作用言語を用いることなく、外部のデータベース100に存在する情報や知識を対話処理に活用することができる。そのため、対話処理にデータベース100へのアクセスを必要とするか否かに関わらず、シナリオ処理モジュール40におけるシナリオドキュメント44aの取扱い・管理を統一化できる。その結果、データベース100へのアクセスの有無に関わらず、シナリオドキュメント44aの管理及び対話処理を一元化できる。
また、仲介モジュール50の機能は、検索条件のデータベース操作用言語への変換、属性名のカラム名への変換という、すべての対話目的に共通する画一化可能な機能である。そのため、対話目的ごとに仲介モジュール50を設計し直す必要もない。
また、シナリオ処理モジュール40の機能と、仲介モジュール50の機能とは、相互に独立している。そのため、シナリオ記述用言語を用いるシナリオ処理モジュール40の設計と、データベース操作用言語を用いる仲介モジュールの設計50と、別個に行うことができる。その結果、データベース操作用言語に関する専門的な知識を有しない者であっても、データベース操作用言語に関する専門的な知識を有する者が設計した仲介モジュールを流用することにより、対話処理装置を設計できる。
また、シナリオ処理モジュール40の機能と、仲介モジュール50の機能とは、相互に独立している。そのため、シナリオ記述用言語を用いるシナリオ処理モジュール40の設計と、データベース操作用言語を用いる仲介モジュールの設計50と、別個に行うことができる。その結果、データベース操作用言語に関する専門的な知識を有しない者であっても、データベース操作用言語に関する専門的な知識を有する者が設計した仲介モジュールを流用することにより、対話処理装置を設計できる。
さらに、本形態では、データベース識別IDに対応する対応表52aを用い、シナリオ処理モジュール40が用いる「属性名」を、データベース100が用いる「カラム(フィールド)名」に変換することとした。そのため、データを取得するデータベースが変化する場合であっても、それに対応するデータベース識別IDを指定するだけで、各データベースの「カラム(フィールド)名」への変換が可能となる。
また、データベース100のデータ構成が変更され、属性名とカラム(フィールド)名との対応関係の修正が必要となった場合でも、検索クエリー44cの記述構成自体を変更する必要はなく、対応表52aの内容を書き換えるのみによって、この変更に対応できる。これにより、データベース100更新時における修正コストを低減できる。
また、データベース100のデータ構成が変更され、属性名とカラム(フィールド)名との対応関係の修正が必要となった場合でも、検索クエリー44cの記述構成自体を変更する必要はなく、対応表52aの内容を書き換えるのみによって、この変更に対応できる。これにより、データベース100更新時における修正コストを低減できる。
また、本形態では、DBアクセス結果取り込み処理部55において、取得したデータエントリに関する要約情報を生成し、シナリオ処理モジュール40に提供することとした。これにより、シナリオ処理モジュール40におけるデータベース100からの取得データの取扱いが容易になる。
さらに、本形態では、DBアクセス結果取り込み処理部55において、「絞込み指定子」「取り出し属性名」を用い、データベース100から取得したデータエントリの絞込みを行うこととした。これにより、シナリオ処理モジュール40は、データベース100から取得したデータエントリのうち必要なデータのみを取得することができる。
さらに、本形態では、DBアクセス結果取り込み処理部55において、「絞込み指定子」「取り出し属性名」を用い、データベース100から取得したデータエントリの絞込みを行うこととした。これにより、シナリオ処理モジュール40は、データベース100から取得したデータエントリのうち必要なデータのみを取得することができる。
なお、この発明は上述の実施の形態に限定されるものではない。
例えば、本形態では、データベース100を対話処理装置1の外部に設けることとしたが、データベース100が対話処理装置1の内部になる場合でも、同様に本形態の処理を適用できる。また、本形態では、1つのデータベース100のみを示したが、データベースの数は2以上でもよい。さらに、本形態では、シナリオ処理モジュール40から仲介モジュール50への「データベース名の識別ID及び検索条件の出力(ステップS8)」と「絞込み指定子/取り出し属性名の出力(ステップS12)」を別のタイミングで行っているが、ステップS8で絞込み指定子/取り出し属性名の出力を同時に行ってもよい。また、シナリオ処理モジュール40及び仲介モジュール50は、同一筐体内にあるとは限らない。さらに、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
例えば、本形態では、データベース100を対話処理装置1の外部に設けることとしたが、データベース100が対話処理装置1の内部になる場合でも、同様に本形態の処理を適用できる。また、本形態では、1つのデータベース100のみを示したが、データベースの数は2以上でもよい。さらに、本形態では、シナリオ処理モジュール40から仲介モジュール50への「データベース名の識別ID及び検索条件の出力(ステップS8)」と「絞込み指定子/取り出し属性名の出力(ステップS12)」を別のタイミングで行っているが、ステップS8で絞込み指定子/取り出し属性名の出力を同時に行ってもよい。また、シナリオ処理モジュール40及び仲介モジュール50は、同一筐体内にあるとは限らない。さらに、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、上述の各機能の処理内容はプログラム(対話処理プログラム)によって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明の産業上の利用形態としては、例えば、音声による目的地(店舗、ホテル等)の検索システム、音声によって指定された地域の天気予報提供システム等を挙げることができる。
1 対話処理装置
40 シナリオ処理モジュール
50 仲介モジュール
100 データベース
40 シナリオ処理モジュール
50 仲介モジュール
100 データベース
Claims (9)
- 入力情報に対する応答処理を行う対話処理装置であって、
上記入力情報に対応する応答内容を生成するシナリオ処理モジュールと、当該シナリオ処理モジュールのデータベースへのアクセスを仲介する仲介モジュールとを有し、
上記シナリオ処理モジュールは、
上記データベースへのアクセスが必要となった際、検索に必要なパラメータである検索条件を上記仲介モジュールに出力する対話制御部を有し、
上記仲介モジュールは、
上記検索条件をデータベース操作用言語の検索式に変換するデータベースアクセス変換処理部と、
上記検索式をデータベースに出力し、その検索結果を受け取るアクセス部と、
上記アクセス部が受け取った検索結果を上記シナリオ処理モジュールに出力するデータベースアクセス結果取り込み処理部と、を有する、
ことを特徴とする対話処理装置。 - 請求項1記載の対話処理装置であって、
上記対話制御部が出力する上記検索条件は、
上記入力情報から抽出した属性値及びこの属性値に対応する属性名を含むデータであり、
上記仲介モジュールは、
属性名と上記データベースのカラム名との対応表を格納した対応表メモリをさらに有し、
上記データベースアクセス変換処理部は、
上記対応表を参照し、上記検索条件の上記属性名に対応する上記カラム名を特定し、特定した当該カラム名と上記属性値とを含む上記検索式を生成する、
ことを特徴とする対話処理装置。 - 請求項2記載の対話処理装置であって、
上記対話制御部は、
データベース識別IDをさらに出力し、
上記対応表メモリは、
各データベース識別IDにそれぞれ対応する上記対応表を格納し、
上記データベースアクセス変換処理部は、
上記対話制御部から送られた上記データベース識別IDに対応する上記対応表を参照して上記検索式を生成し、
上記アクセス部は、
上記対話制御部から送られた上記データベース識別IDに対応する上記データベースに対し、上記検索式を出力する、
ことを特徴とする対話処理装置。 - 請求項2記載の対話処理装置であって、
上記対話制御部は、
取り出し属性名をさらに出力し、
上記データベースアクセス結果取り込み処理部は、
上記アクセス部が受け取った検索結果から、上記取り出し属性名が示す属性名に対応するカラム名のデータのみを抽出して上記シナリオ処理モジュールに出力する、
ことを特徴とする対話処理装置。 - 請求項1記載の対話処理装置であって、
上記対話制御部は、
絞込み指定子をさらに出力し、
上記データベースアクセス結果取り込み処理部は、
上記アクセス部が受け取った検索結果から、上記絞込み指定子が示す条件に合致するもののみを抽出して上記シナリオ処理モジュールに出力する、
ことを特徴とする対話処理装置。 - 請求項1記載の対話処理装置であって、
上記データベースアクセス結果取り込み処理部は、
上記アクセス部が受け取った検索結果の要約情報をさらに生成し、生成した当該要約情報を上記シナリオ処理モジュールに出力する、
ことを特徴とする対話処理装置。 - 入力情報に対する応答処理を行う対話処理方法であって、
シナリオ処理モジュールにおける応答処理においてデータベースへのアクセスが必要となった際、当該シナリオ処理モジュールの対話制御部が、検索に必要なパラメータである検索条件を仲介モジュールに出力し、
上記仲介モジュールのデータベースアクセス変換処理部が、上記検索条件をデータベース操作用言語の検索式に変換し、
上記仲介モジュールのアクセス部が、上記検索式を上記データベースに出力し、上記データベースから送られた検索結果を受け取り、
上記仲介モジュールのデータベースアクセス結果取り込み処理部が、上記アクセス部が受け取った検索結果を上記シナリオ処理モジュールに出力する、
ことを特徴とする対話処理方法。 - 入力情報に対する応答処理を行う対話処理方法であって、
シナリオ処理モジュールにおける応答処理においてデータベースへのアクセスが必要となった際、当該シナリオ処理モジュールが、検索に必要なパラメータである検索条件を仲介モジュールに出力し、
上記仲介モジュールが、上記検索条件をデータベース操作用言語の検索式に変換し、当該検索式を上記データベースに出力し、当該データベースから送られた検索結果を受け取り、当該検索結果を上記シナリオ処理モジュールに出力する、
ことを特徴とする対話処理方法。 - 請求項1記載の対話処理装置としてコンピュータを機能させるための対話処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004181316A JP2006004274A (ja) | 2004-06-18 | 2004-06-18 | 対話処理装置、対話処理方法及び対話処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004181316A JP2006004274A (ja) | 2004-06-18 | 2004-06-18 | 対話処理装置、対話処理方法及び対話処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006004274A true JP2006004274A (ja) | 2006-01-05 |
Family
ID=35772611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004181316A Pending JP2006004274A (ja) | 2004-06-18 | 2004-06-18 | 対話処理装置、対話処理方法及び対話処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006004274A (ja) |
Cited By (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193457A (ja) * | 2008-02-15 | 2009-08-27 | Oki Electric Ind Co Ltd | 情報検索装置、方法及びプログラム |
JP2009193533A (ja) * | 2008-02-18 | 2009-08-27 | Oki Electric Ind Co Ltd | 情報抽出装置、方法及びプログラム |
JP2009245282A (ja) * | 2008-03-31 | 2009-10-22 | Japan Research Institute Ltd | データ検索システム、データ検索方法、およびプログラム |
JP2009245283A (ja) * | 2008-03-31 | 2009-10-22 | Japan Research Institute Ltd | データ検索システム、データ検索方法、およびプログラム |
JP2014222512A (ja) * | 2010-01-18 | 2014-11-27 | アップル インコーポレイテッド | インテリジェント自動アシスタント |
KR101484702B1 (ko) * | 2013-03-26 | 2015-01-20 | (주) 다이퀘스트 | 사용자 다이알로그에 따른 서비스 제공 방법 및 다이알로그 에이전트 시스템 |
CN104391904A (zh) * | 2014-11-14 | 2015-03-04 | 北京中海纪元数字技术发展股份有限公司 | 面向住户调查的用户终端数据快速录入方法及系统 |
JP2015535999A (ja) * | 2012-10-02 | 2015-12-17 | オラクル・インターナショナル・コーポレイション | テーブルスキャンを加速するためのハードウェア |
US9668024B2 (en) | 2014-06-30 | 2017-05-30 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9865248B2 (en) | 2008-04-05 | 2018-01-09 | Apple Inc. | Intelligent text-to-speech conversion |
JP2018045694A (ja) * | 2017-10-06 | 2018-03-22 | ヤフー株式会社 | 地図検索装置、地図検索方法、および地図検索プログラム |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9966060B2 (en) | 2013-06-07 | 2018-05-08 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US9971774B2 (en) | 2012-09-19 | 2018-05-15 | Apple Inc. | Voice-based media searching |
US9986419B2 (en) | 2014-09-30 | 2018-05-29 | Apple Inc. | Social reminders |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10049675B2 (en) | 2010-02-25 | 2018-08-14 | Apple Inc. | User profiling for voice input processing |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
US10089072B2 (en) | 2016-06-11 | 2018-10-02 | Apple Inc. | Intelligent device arbitration and control |
JP2018533126A (ja) * | 2015-09-18 | 2018-11-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | データベースへの自然言語インタフェースのための方法、システム、およびコンピュータ・プログラム製品 |
US10169329B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Exemplar-based natural language processing |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10269345B2 (en) | 2016-06-11 | 2019-04-23 | Apple Inc. | Intelligent task discovery |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10283110B2 (en) | 2009-07-02 | 2019-05-07 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10297253B2 (en) | 2016-06-11 | 2019-05-21 | Apple Inc. | Application integration with a digital assistant |
US10318871B2 (en) | 2005-09-08 | 2019-06-11 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US10354011B2 (en) | 2016-06-09 | 2019-07-16 | Apple Inc. | Intelligent automated assistant in a home environment |
US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US10373617B2 (en) | 2014-05-30 | 2019-08-06 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10410637B2 (en) | 2017-05-12 | 2019-09-10 | Apple Inc. | User-specific acoustic models |
WO2019188981A1 (ja) * | 2018-03-29 | 2019-10-03 | 株式会社アドバンスト・メディア | 情報処理システム、情報処理装置、サーバ、情報処理方法及びプログラム |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
JP6598418B1 (ja) * | 2019-05-17 | 2019-10-30 | ソプラ株式会社 | 情報出力装置、情報出力方法、およびプログラム |
US10482874B2 (en) | 2017-05-15 | 2019-11-19 | Apple Inc. | Hierarchical belief states for digital assistants |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10521466B2 (en) | 2016-06-11 | 2019-12-31 | Apple Inc. | Data driven natural language event detection and classification |
JP2020009273A (ja) * | 2018-07-10 | 2020-01-16 | 株式会社医用工学研究所 | 検索システム |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US10795541B2 (en) | 2009-06-05 | 2020-10-06 | Apple Inc. | Intelligent organization of tasks items |
US10810274B2 (en) | 2017-05-15 | 2020-10-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
WO2021079597A1 (ja) * | 2019-10-23 | 2021-04-29 | ソプラ株式会社 | 情報出力装置、情報出力方法、及び情報出力プログラム |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
CN113012691A (zh) * | 2019-12-18 | 2021-06-22 | 丰田自动车株式会社 | 代理装置、代理系统以及计算机可读存储介质 |
US11080012B2 (en) | 2009-06-05 | 2021-08-03 | Apple Inc. | Interface for a virtual digital assistant |
JP2021152709A (ja) * | 2020-03-24 | 2021-09-30 | 株式会社日立製作所 | 検索支援システム、及び検索支援方法 |
US11217255B2 (en) | 2017-05-16 | 2022-01-04 | Apple Inc. | Far-field extension for digital assistant services |
JP7116971B1 (ja) | 2021-11-08 | 2022-08-12 | 株式会社アシスト | 自動音声応答システムおよびプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319757A (ja) * | 1996-05-29 | 1997-12-12 | N T T Data Tsushin Kk | 情報検索システム |
JP2002108915A (ja) * | 2000-09-28 | 2002-04-12 | Toshiba Corp | 自然言語対話システム及び自然言語処理方法 |
-
2004
- 2004-06-18 JP JP2004181316A patent/JP2006004274A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319757A (ja) * | 1996-05-29 | 1997-12-12 | N T T Data Tsushin Kk | 情報検索システム |
JP2002108915A (ja) * | 2000-09-28 | 2002-04-12 | Toshiba Corp | 自然言語対話システム及び自然言語処理方法 |
Non-Patent Citations (1)
Title |
---|
平沢 純一,外3名: "CTI向け自由発話対応音声対話システムRexDialog", 情報処理学会研究報告, vol. 第2003巻,第75号, JPN6009033184, 19 July 2003 (2003-07-19), JP, pages 35 - 40, ISSN: 0001361928 * |
Cited By (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10318871B2 (en) | 2005-09-08 | 2019-06-11 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
JP2009193457A (ja) * | 2008-02-15 | 2009-08-27 | Oki Electric Ind Co Ltd | 情報検索装置、方法及びプログラム |
JP2009193533A (ja) * | 2008-02-18 | 2009-08-27 | Oki Electric Ind Co Ltd | 情報抽出装置、方法及びプログラム |
JP2009245282A (ja) * | 2008-03-31 | 2009-10-22 | Japan Research Institute Ltd | データ検索システム、データ検索方法、およびプログラム |
JP2009245283A (ja) * | 2008-03-31 | 2009-10-22 | Japan Research Institute Ltd | データ検索システム、データ検索方法、およびプログラム |
US9865248B2 (en) | 2008-04-05 | 2018-01-09 | Apple Inc. | Intelligent text-to-speech conversion |
US10795541B2 (en) | 2009-06-05 | 2020-10-06 | Apple Inc. | Intelligent organization of tasks items |
US11080012B2 (en) | 2009-06-05 | 2021-08-03 | Apple Inc. | Interface for a virtual digital assistant |
US10283110B2 (en) | 2009-07-02 | 2019-05-07 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US9548050B2 (en) | 2010-01-18 | 2017-01-17 | Apple Inc. | Intelligent automated assistant |
JP2014222512A (ja) * | 2010-01-18 | 2014-11-27 | アップル インコーポレイテッド | インテリジェント自動アシスタント |
US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
US10706841B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Task flow identification based on user intent |
US10049675B2 (en) | 2010-02-25 | 2018-08-14 | Apple Inc. | User profiling for voice input processing |
US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
US9971774B2 (en) | 2012-09-19 | 2018-05-15 | Apple Inc. | Voice-based media searching |
JP2015535999A (ja) * | 2012-10-02 | 2015-12-17 | オラクル・インターナショナル・コーポレイション | テーブルスキャンを加速するためのハードウェア |
KR101484702B1 (ko) * | 2013-03-26 | 2015-01-20 | (주) 다이퀘스트 | 사용자 다이알로그에 따른 서비스 제공 방법 및 다이알로그 에이전트 시스템 |
US9966060B2 (en) | 2013-06-07 | 2018-05-08 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US10373617B2 (en) | 2014-05-30 | 2019-08-06 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10169329B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Exemplar-based natural language processing |
US9668024B2 (en) | 2014-06-30 | 2017-05-30 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10904611B2 (en) | 2014-06-30 | 2021-01-26 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9986419B2 (en) | 2014-09-30 | 2018-05-29 | Apple Inc. | Social reminders |
CN104391904A (zh) * | 2014-11-14 | 2015-03-04 | 北京中海纪元数字技术发展股份有限公司 | 面向住户调查的用户终端数据快速录入方法及系统 |
CN104391904B (zh) * | 2014-11-14 | 2018-10-12 | 北京中海纪元数字技术发展股份有限公司 | 面向住户调查的用户终端数据快速录入方法及系统 |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
JP2018533126A (ja) * | 2015-09-18 | 2018-11-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | データベースへの自然言語インタフェースのための方法、システム、およびコンピュータ・プログラム製品 |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
US10354011B2 (en) | 2016-06-09 | 2019-07-16 | Apple Inc. | Intelligent automated assistant in a home environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11037565B2 (en) | 2016-06-10 | 2021-06-15 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10521466B2 (en) | 2016-06-11 | 2019-12-31 | Apple Inc. | Data driven natural language event detection and classification |
US11152002B2 (en) | 2016-06-11 | 2021-10-19 | Apple Inc. | Application integration with a digital assistant |
US10269345B2 (en) | 2016-06-11 | 2019-04-23 | Apple Inc. | Intelligent task discovery |
US10297253B2 (en) | 2016-06-11 | 2019-05-21 | Apple Inc. | Application integration with a digital assistant |
US10089072B2 (en) | 2016-06-11 | 2018-10-02 | Apple Inc. | Intelligent device arbitration and control |
US10553215B2 (en) | 2016-09-23 | 2020-02-04 | Apple Inc. | Intelligent automated assistant |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US11405466B2 (en) | 2017-05-12 | 2022-08-02 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US10410637B2 (en) | 2017-05-12 | 2019-09-10 | Apple Inc. | User-specific acoustic models |
US10810274B2 (en) | 2017-05-15 | 2020-10-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US10482874B2 (en) | 2017-05-15 | 2019-11-19 | Apple Inc. | Hierarchical belief states for digital assistants |
US11217255B2 (en) | 2017-05-16 | 2022-01-04 | Apple Inc. | Far-field extension for digital assistant services |
JP2018045694A (ja) * | 2017-10-06 | 2018-03-22 | ヤフー株式会社 | 地図検索装置、地図検索方法、および地図検索プログラム |
JP2019175290A (ja) * | 2018-03-29 | 2019-10-10 | 株式会社アドバンスト・メディア | 情報処理システム、情報処理装置、サーバ、情報処理方法及びプログラム |
WO2019188981A1 (ja) * | 2018-03-29 | 2019-10-03 | 株式会社アドバンスト・メディア | 情報処理システム、情報処理装置、サーバ、情報処理方法及びプログラム |
JP7101946B2 (ja) | 2018-07-10 | 2022-07-19 | 株式会社医用工学研究所 | 検索システム |
JP2020009273A (ja) * | 2018-07-10 | 2020-01-16 | 株式会社医用工学研究所 | 検索システム |
JP6598418B1 (ja) * | 2019-05-17 | 2019-10-30 | ソプラ株式会社 | 情報出力装置、情報出力方法、およびプログラム |
WO2020234948A1 (ja) * | 2019-05-17 | 2020-11-26 | ソプラ株式会社 | 情報出力装置、情報出力方法、およびプログラム |
WO2021079597A1 (ja) * | 2019-10-23 | 2021-04-29 | ソプラ株式会社 | 情報出力装置、情報出力方法、及び情報出力プログラム |
CN114586021A (zh) * | 2019-10-23 | 2022-06-03 | 聪丰罗株式会社 | 信息输出装置、信息输出方法以及信息输出程序 |
JP2021068399A (ja) * | 2019-10-23 | 2021-04-30 | ソプラ株式会社 | 情報出力装置、情報出力方法、及び情報出力プログラム |
CN114586021B (zh) * | 2019-10-23 | 2022-12-09 | 聪丰罗株式会社 | 信息输出装置、信息输出方法以及记录介质 |
US11599536B2 (en) | 2019-10-23 | 2023-03-07 | Soppra Corporation | Information output device, information output method, and information output program |
JP2021096710A (ja) * | 2019-12-18 | 2021-06-24 | トヨタ自動車株式会社 | エージェント装置、エージェントシステム、及びエージェントプログラム |
CN113012691A (zh) * | 2019-12-18 | 2021-06-22 | 丰田自动车株式会社 | 代理装置、代理系统以及计算机可读存储介质 |
US11869488B2 (en) | 2019-12-18 | 2024-01-09 | Toyota Jidosha Kabushiki Kaisha | Agent device, agent system, and computer-readable storage medium |
JP2021152709A (ja) * | 2020-03-24 | 2021-09-30 | 株式会社日立製作所 | 検索支援システム、及び検索支援方法 |
JP7314089B2 (ja) | 2020-03-24 | 2023-07-25 | 株式会社日立製作所 | 検索支援システム、及び検索支援方法 |
JP7116971B1 (ja) | 2021-11-08 | 2022-08-12 | 株式会社アシスト | 自動音声応答システムおよびプログラム |
JP2023069902A (ja) * | 2021-11-08 | 2023-05-18 | 株式会社アシスト | 自動音声応答システムおよびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006004274A (ja) | 対話処理装置、対話処理方法及び対話処理プログラム | |
CN102549652B (zh) | 信息检索装置 | |
JP5002751B2 (ja) | データベースアクセスのための2段階データ検証およびマッピング | |
US7260567B2 (en) | Navigation in a hierarchical structured transaction processing system | |
US9201923B2 (en) | Method and apparatus for organizing and optimizing content in dialog systems | |
US7181387B2 (en) | Homonym processing in the context of voice-activated command systems | |
US7283959B2 (en) | Compact easily parseable binary format for a context-free grammar | |
US7725309B2 (en) | System, method, and technique for identifying a spoken utterance as a member of a list of known items allowing for variations in the form of the utterance | |
US8438024B2 (en) | Indexing method for quick search of voice recognition results | |
JP2005321730A (ja) | 対話システム、対話システム実行方法、及びコンピュータプログラム | |
JP3023943B2 (ja) | 文書検索装置 | |
JP2007334429A (ja) | キーワード生成方法、文書検索方法、話題範囲推定方法、話題境界推定方法、及びこれらの装置とそのプログラム、その記録媒体 | |
US8433729B2 (en) | Method and system for automatically generating a communication interface | |
US20040010410A1 (en) | System and method for processing voice command | |
US7475059B2 (en) | Adapting business objects for searches and searching adapted business objects | |
JP2002269146A (ja) | ワードスポッティング情報検索装置とワードスポッティング情報検索装置を実現するための方法及びプログラム | |
JPH07219587A (ja) | 音声処理装置および方法 | |
JP2001022756A (ja) | 音声対話型情報検索システムおよび記録媒体 | |
JPH05250416A (ja) | データベースの登録・検索装置 | |
US20050171975A1 (en) | Using limit variables in a computer system | |
KR102503586B1 (ko) | 음성을 텍스트로 변환한 음성 기록에서 유사 발음의 단어를 포함하여 검색하는 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체 | |
JP2005208825A (ja) | データ検索システム、データ検索方法及びプログラム | |
JP2655480B2 (ja) | 対象適応型自然言語インタフェース装置 | |
JP2005301138A (ja) | 対話処理装置及び対話処理プログラム | |
JPH0962700A (ja) | 辞書構築方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060726 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090707 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091208 |