JP2009223720A - 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム - Google Patents

自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム Download PDF

Info

Publication number
JP2009223720A
JP2009223720A JP2008068786A JP2008068786A JP2009223720A JP 2009223720 A JP2009223720 A JP 2009223720A JP 2008068786 A JP2008068786 A JP 2008068786A JP 2008068786 A JP2008068786 A JP 2008068786A JP 2009223720 A JP2009223720 A JP 2009223720A
Authority
JP
Japan
Prior art keywords
processing
script
class
relationship
conversation
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.)
Granted
Application number
JP2008068786A
Other languages
English (en)
Other versions
JP4881903B2 (ja
Inventor
Kiyoshi Nitta
清 新田
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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2008068786A priority Critical patent/JP4881903B2/ja
Publication of JP2009223720A publication Critical patent/JP2009223720A/ja
Application granted granted Critical
Publication of JP4881903B2 publication Critical patent/JP4881903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】自然言語による対話スクリプト作成支援方法を提供すること。
【解決手段】知識構造の集合に属する任意の状況と動作の関係を表現しうる拡張意味ネットワークを用いて、関係それ自体を修飾する動作等の関連付けを導入することにより、間接話法等を含む複雑な対話スクリプトを作成支援する。本発明の対話スクリプトは知識構造を構成するデータを用い、ユーザが動的にカスタマイズすることが容易であり、対話スクリプトを効率的に作成支援する。典型的な対話処理に必要な基本機能を予め準備することにより、対話スクリプト作成支援をさらに効率化する。これらに加えて、対話スクリプトが自身を変更することも容易である。クラスを用いて知識構造の要素間の関係を取り扱うことにより拡張性を確保し、実体が巨大なデータであってもスクリプト生成における動作を安全に維持する。
【選択図】図1

Description

本発明は、チャットボット等と呼ばれる、ユーザが入力したメッセージからキーワードを抽出し、データベース中のワードにマッチした応答を行うコンピュータ・プログラムにおいて、このプログラムの下で実行可能なスクリプトを作成支援する方法に関する。特に、自然言語対話エージェントの対話スクリプトを効率的に作成支援する方法に関する。
従来、ユーザによって入力された情報を状況特定データと照合して入力された情報に対応する状況特定データを判断し、入力された情報に対応する状況特定データに得点を加算して状況特定データが属する状況データの評価点数を集計し、評価点数の集計状況に応じて入力された情報に対して応答すべき状況データを判断して、応答出力生成手段により応答すべき状況データに関連付けられた出力形式に従って応答データを生成して出力処理するシステムが開示されている(特許文献1参照)。
また、従来の対話エージェント技術では、複雑な対話スクリプトについては、応答動作を個別にプログラムする必要があった。また、単純な対話スクリプトについては、人間の発話を機械の制御データに変換する等、データを準備するだけでよい枠組みが考えられてきた(特許文献2参照)。
特開2006−172280号公報 特開2003−116182号公報
しかし、従来技術又は従来技術と当業公知の技術の組合せにおいては、ユーザから入力されたメッセージに対応する応答を抽出する為に、条件と動作が対応付けられたデータベースの項目をひとつずつ当たって検索を行わなければならず、応答の抽出に時間を要した。従って、対話スクリプトの作成支援が効率的に行えないという課題があった。
また、従来技術においては、対話スクリプトを用いる対話応答を設計する場合に、意味又は記憶の構造を表すためのモデルである、既存の意味ネットワークが用いられてきた。このために、従来技術においては、意味ネットワーク自体の仕様に基づいて、複雑な対話スクリプトの作成支援に制約があるという課題があった。
さらに、従来技術においては、ユーザからの動的なカスタマイズ等のきめ細かい応答の作成に制約があり、応答を個別に設計しなければならないためにスクリプト自体の作成支援を効率化できないという課題があった。
本発明は、間接話法を含む複雑な対話スクリプトの作成を効率的に支援することを目的とする。
また、本発明は、対話スクリプトのカスタマイズを容易にする方法及び手段を提供することを目的とする。
発明者は、別途出願の自然言語対話エージェントを考案し、自動的な応答を作成するための条件とプログラム動作の関係を表現することを目的に、従来の意味ネットワークを拡張した拡張意味ネットワークを考案し、これを用いてユーザからのメッセージにコンピュータが応答することにより、迅速にユーザのメッセージに対応する応答を行うことが出来る装置、システム及びプログラムを作成したことにより、本発明を完成するに至った。
本発明では、以下のような解決手段を提供する。
(1) ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作、及びそれらの関係を示すコンピュータ上での処理動作をクラスを用いて記述するスクリプトを記憶する知識構造の記憶手段と、前記クラスに属する要素のうちの少なくとも二要素間の関係において、前記処理動作の流れを示す関係、前記処理動作に必要な関係を記憶する対話構造記憶手段と、前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別手段と、前記判別手段による判別の結果に応じて、前記対話構造記憶手段に記憶された前記二要素間の関係を変更する変更手段と、を備えることを特徴とする対話スクリプト作成支援装置。
本発明に係る対話スクリプトの作成支援方法は、コンピュータを用いて自動応答を実施するための対話プログラム等の作成支援に用いられる。
本発明に係る対話スクリプトの作成支援方法は、状況と動作の両者を要素とする言語の集合である知識構造を用意すること、及び、典型的には状況を始点とし動作を終点とする関係もまた前記知識構造の要素でありうることにおいて従来技術と共通点を有する。すなわち、公知のグラフ構造等を用いて、従来技術に係る始点と終点により関係を記述する手法は、本発明においても同様に用いることができる。ここに、グラフ構造を用いる知識構造の表現手法においては、始点及び終点は「頂点」又は「ノード」等と呼ばれ、始点から終点への関係は「辺」又は「エッジ」等と呼ばれる。
しかし、本発明に係る対話スクリプトの作成方法における知識構造に属する要素の関連付けは、頂点と辺を特に区別せずに要素を用意し、2の要素の組合せにおいて、始点及び終点が共に空要素である組合せを頂点として扱い、始点及び終端が共に空要素でない組合せを辺として扱う。すなわち、知識構造に属する2の要素を組合せることにより、当該組合せが頂点及び辺として取り扱われる。
拡張意味ネットワークは、このようにして2の要素を組合せることによりグラフ構造の頂点又は辺を表す手法である。
本発明に係る対話スクリプトの作成方法における知識構造においては、知識構造に属する2の要素を組合せれば頂点でも辺でもありうる。具体的には、終点は状況でもよく動作でもよく、あるいは状況と動作の関係でもよい。この点において、本発明に係る対話スクリプトの作成方法における知識構造に属する要素の関連付けは、従来技術にない特徴を有する。すなわち、状況と状況の関連付け、状況と動作の関連付け、動作と動作の関連付け、さらにこれらの関連付けを1の関係とする動作と1の関係の関連付け等を実施することが可能になる。従って、本発明に係る対話スクリプトの作成方法においては、従来の意味ネットワークに加えて、拡張意味ネットワークを提供することにより、知識構造に含まれる要素同士の関連付け及び要素と関係の関連付け等を柔軟に実施することが可能になる。
本発明に係る対話スクリプトの作成方法における知識構造をグラフ構造を用いて表現することにおいては、従来技術と同様の始点から終点への関連付けに加えて、関連付けを表す辺を修飾する辺を表現しうる。すなわち、辺の終点は辺でもありうる。このような、従来技術を拡張した拡張意味ネットワークを用いて、本発明に係る知識構造の構成方法は、意味又は記憶の構造を表すための知識構造を構成しうる。
また、本発明に係る対話スクリプトの作成方法は、状況及び動作及び関係のそれぞれにクラスを定義するステップを含み、クラスと関係との所属関係又は従属関係を要素として知識構造に記憶するステップを含む。これにより、クラスと関係との所属関係又は従属関係を知識構造の要素として対話スクリプトの作成のために用いることができ、応答生成等のためのスクリプトの拡張又は再利用を容易に行いうる。さらに、状況、動作、関係に係る個々の実体であるインスタンスに巨大な静的データが割り当てられても、プログラムのメモリ消費を抑えて動作を安全に維持しうる。
(2) 前記知識構造の記憶手段は、前記状況、前記動作及び前記関係に関するクラスの要素として、処理のクラス、データのクラス、変数のクラス、属性のクラスを含み、前記知識構造は会話の場、会話履歴、会話文脈を要素に有する集合である談話構造を含み、前記変数のクラスは前記会話の場を始点とする関連付けを有し、前記属性のクラスは修飾対象と同一の始点との関連付け及び終点としての修飾対象との関連付けを有し、前記処理のクラスは前記知識構造に属する要素を始点及び終点とする関連付けを有し、前記データのクラスは静的データとの関連付けを有する、ことを特徴とする(1)に記載の対話スクリプト作成支援装置。
処理のクラス、データのクラス、変数のクラス、属性のクラスはいずれも、グラフ構造における頂点として扱われる。
処理のクラスは、具体的な処理を実施するための処理頂点を含む。処理のクラスに属する処理頂点の実体、すなわち処理のインスタンスは、コンピュータ処理可能な文字情報に対する処理を適宜含む。
データのクラスは、静的にデータを格納するためのデータ頂点を含む。データのインスタンスは、コンピュータ処理可能な文字コードの集まり等を適宜含む。
変数のクラスは、動的データの参照先を示す変数頂点を含む。変数のインスタンスは、対話スクリプトの実行の諸段階における変数を適宜含む。
属性のクラスは、対話スクリプト要素に意味を与える属性頂点を適宜含む。属性のインスタンスは、対話スクリプト要素に含まれる文字情報等の上位概念等を適宜含む。具体的には、本発明に係る対話スクリプトの作成方法は、同一の用語「時計」に対する属性のインスタンスとして、「時間を計測するための道具」又は「装飾目的の贅沢品」等を適宜関連付けてもよく、それぞれの属性のインスタンスに基づいて、対話スクリプトにおける前記用語「時計」の意味を変化させうる。
また、処理の流れの関係、処理に必要な関係はいずれも、グラフ構造における辺として扱われる。
処理の流れの関係は、始点と終点とを関連付けるフロー辺を含む。フロー辺は終点を修飾するために用いられる。
処理に必要な関係は、処理に必要な情報を示す属性辺を含む。属性辺は、フロー辺に意味を与えるために用いられる。すなわち、属性辺はフロー辺を修飾するために用いられる。より具体的には、フロー辺を用いて示される関係に対して、属性辺を用いて前記関係の全体が特定の情報源からの伝聞であること、すなわち話者と情報源との関係を用いて前記関係を修飾してもよい。
本発明に係る対話スクリプトの作成方法は、グラフ構造における頂点及び辺を用い、これらの関係を修飾するステップを用いることにより、間接話法等の複雑な対話スクリプトを作成しうる。
談話構造は、特に、コンピュータ処理可能な文字コードを用いて表現される会話文脈を要素に有する集合を含む。
会話の場は、具体的には、パーソナルコンピュータ、携帯電話等のネットワーク端末を介して接続した複数のユーザが相互に文字情報又は音声情報等の交換を実質的にリアルタイムに実施しうる、チャットルームサービス、ネットワーク会議システム等のサービスを含む。
(3) ユーザ端末からの会話文のデータ入力を受け付ける会話文入力受付手段と、をさらに備え、前記判別手段は、前記受け付けられた会話文の内容に応じて、前記関連付けの有無の判別を行うことを特徴とする(1)又は(2)に記載の対話スクリプト作成支援装置。
会話文のデータ入力を受け付ける会話文入力受付手段は、ユーザ端末から受信した会話文を入力として受け付ける。この会話文は、文字コードの集まり、画像としての文字情報、デジタル化された音声等を適宜含む。文字コードの集まりは、ユーザ端末が備えるキーボード等を用いてユーザが入力して送信する文字コードを含む。画像としての文字情報から文字コードへの変換、又はデジタル化された音声から文字コードへの変換は、文字認識又は音声認識として適宜設計しうる。文字コードに変換された会話文に含まれる単語を抽出することにおいては、当技術分野の周知技術である形態素解析等を用いうる。
本発明に係る対話スクリプト作成支援装置は、会話文入力受付手段を備えることにより、後続の対話スクリプト作成に用いる文字コードとして、会話文を受け付けることができる。
ユーザによる用語の入力のための手段は、適宜、ネットワーク端末等を用いうるが、これに限らず、携帯電話、ネットワーク接続可能なデジタルカメラ等でもよい。
本発明に係る対話スクリプト作成支援装置が会話文入力受け付け手段を備えることにより、前記判別手段は、前記記憶した要素に加えて、前記受け付けられた会話文の内容に対して前記知識構造における関連付けの有無を判別する。すなわち、前記判別手段は、当該会話文の内容に含まれる単語を、前記知識構造記憶手段が記憶しうるクラスに属する要素として扱い、当該要素に対して前記知識構造における関連付けの有無を判別する。
これにより、本発明に係る対話スクリプト作成支援装置は、新たに会話文として受け付けたデータ入力を、知識構造における関連付けの有無の判別に用いることができる。すなわち、本発明に係る対話スクリプト作成支援装置は、知識構造に記憶した処理のクラスに属する応答モジュールを用いて、受信した会話文を処理できる。
処理のクラスに属する応答モジュールは、特定のキーワードにヒットすること、任意のキーワードにヒットすること、選択肢に分岐すること、ユーザが送信した文字情報を変数に保存すること等を適宜含む。
処理のクラスに属する応答モジュールを用いて受信した用語を処理することは、受信した用語を始点とし、この始点と関連付けうる終点として処理頂点を決定することを含む。具体的には、状況を特定するための用語を処理するための文字列処理関数等を実行することを含む。
前記処理の結果の成功又は失敗を判別することは、前記決定した処理頂点において前記受信した状況を特定するための用語が処理できないことを失敗と判別することを含む。これに限らず、文字列処理関数等を予め用意し、それぞれの文字列処理関数ごとに処理しうる文字情報を限定してもよい。具体的は、標準語を用いて応答する文字列処理関数及び方言を用いて応答する文字列処理関数等を予め用意する場合に、ユーザが方言を用いる発言を送信することに応答して、標準語の文字列処理関数を処理頂点として用語を処理することを失敗と判定してもよく、方言の文字列処理関数を処理頂点として用語を処理することを成功と判定してもよい。
本発明に係る対話スクリプトの作成支援装置は、受信した用語を処理するための応答モジュールを選択することにより、文字列処理のための機能を分類した応答モジュール等を用意し、効率的に対話スクリプトを作成することができる。さらに、処理結果を判別することにより、当該用語に対する処理の成功又は失敗を判別しうる。
本発明に係る対話スクリプト作成支援装置は、前記応答モジュールを決定することにおいては、ランダムな選択規則、最初又は最後に用いられた応答モジュールを選択する規則、最も以前又は最近に用いられた応答モジュールを選択する規則、前記談話構造と最も関連性の高い応答モジュールを選択する規則から選ばれる規則に基づいて選択するステップを用い、前記動作を特定するための用語を決定しうる。
状況を特定するための用語は、単語、文節、文等の、拡張意味ネットワークにおける頂点又は辺に格納されうる語句であればよい。
あるいは、本発明に係る拡張意味ネットワークは、前記用語の実体をインスタンスとして扱い、インスタンスとして扱うことのクラスを定義して当該クラスを頂点又は辺に格納してもよい。これにより、用語等の実体が巨大なデータであっても、拡張意味ネットワークにおける頂点又は辺は、クラス定義の語句又は記号を表すデータでありうる。従って、本発明に係る自動応答の作成方法は、応答を作成するためのコンピュータ・プログラムのメモリ消費量を抑えて動作を安全に維持しうる。
また、動作を特定するための用語の決定は、談話構造と最も関連性の高い要素を選択する規則を含み、所定の規則から適宜選択しうる。これにより、本発明に係る対話スクリプトの作成方法は、内容が的確な対話応答を作成しうると共に、非論理的応答を含む自動応答を作成することが可能になり、ユーザの立場から見た対話応答の単調さを避けうる。
(4) ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作、及びそれらの関係を示すコンピュータ上での処理動作をクラスを用いて記述するスクリプトを記憶する知識構造の記憶ステップと、前記クラスに属する要素のうちの少なくとも二要素間の関係において、前記処理動作の流れを示す関係、前記処理動作に必要な関係を記憶する対話構造記憶ステップと、前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別ステップと、前記判別ステップによる判別の結果に応じて、前記対話構造記憶ステップに記憶された前記二要素間の関係を変更する変更ステップと、を含むことを特徴とする対話スクリプト作成支援方法。
本発明に係る対話スクリプト作成支援方法は、上述の対話スクリプト作成支援装置が備える手段の機能のそれぞれを、処理の段階として連携させうる。これにより、本発明に係る対話スクリプト作成支援方法は、個別の装置の設置条件等の制約によらずに実施することができる。具体的には、本発明に係る対話スクリプト作成支援方法の実施手段は、サーバ装置でもよく、複数のサーバ装置とネットワーク端末を接続したコンピュータシステムでもよく、対話スクリプト作成支援方法の諸段階を記憶したLSI(大規模集積回路)を含む電子回路等でもよい。
(5) ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作、及びそれらの関係を示すコンピュータ上での処理動作をクラスを用いて記述するスクリプトを記憶する知識構造の記憶ステップと、前記クラスに属する要素のうちの少なくとも二要素間の関係において、前記処理動作の流れを示す関係、前記処理動作に必要な関係を記憶する対話構造記憶ステップと、前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別ステップと、前記判別ステップによる判別の結果に応じて、前記対話構造記憶ステップに記憶された前記二要素間の関係を変更する変更ステップと、をコンピュータに実行させる、対話スクリプト作成支援プログラム。
これにより、本発明に係る対話スクリプト作成支援方法を、コンピュータを用いて実施することが可能になる。当該対話スクリプト作成支援プログラムの記憶手段として電気的記憶媒体又は磁気媒体等を用いうることは、周知の設計事項である。
本発明によれば、従来の意味ネットワークにおける状況と動作の関係を示す知識構造の構築において、拡張意味ネットワークを用いて、関係それ自体を修飾する動作等の関連付けを導入することにより、従来技術では不可能であった複雑な対話スクリプトを作成しうるという効果がある。すなわち、本発明によれば、間接話法を含む複雑な自然言語に対応可能な対話スクリプトを作成しうるという効果がある。
また、本発明の対話スクリプトで使用するデータは知識構造を構成するデータとして表現されており、ユーザが動的にカスタマイズすることが容易であるという効果がある。
また、本発明によれば、ユーザからの動的なカスタマイズ等のきめ細かい応答を作成できることから、対話スクリプトを効率的に作成しうるという効果がある。
また、本発明によれば、典型的な対話処理に必要な基本機能が予め準備されていることにより、対話スクリプトの作成時に新規実装する機能が減り、さらに効率化しうるという効果がある。
さらに、本発明を用いることにより、上記に加えて、対話スクリプトが自身を変更することも容易であるという効果がある。
以下、本発明の実施形態について、図を用いて説明する。
[知識構造の要素及び要素間の関係を表現する手法]
図1は、本発明及び従来技術の一実施形態に係る、知識構造の基本構造における要素の関係を示す図である。
まず、意味又は記憶の構造を表すためのモデルに用いられる、公知の意味ネットワークの形式について説明する。
図1(b)は、意味ネットワークを表すグラフを示す図である。辺e(93)は、始点v(91)及び終点v(92)で定義され、始点から終点に向かう矢印で表される。意味ネットワークは次の数式1から数式3を用いて表される形式を有する。
Figure 2009223720
Figure 2009223720
Figure 2009223720
ここに、SN:意味ネットワーク(Semantic Network)
SN:意味ネットワークに含まれる頂点(Vertex)の集合
SN:意味ネットワークに含まれる辺(Edge)の集合
v:頂点の集合Vの要素
e:辺の集合Eの要素
:始点
:終点
である。
数式1は、意味ネットワークが頂点の集合VSN及び辺の集合ESNで構成されることを表す。
数式2は、頂点の集合VSN要素vを有することを表す。
数式3は、辺の集合ESNは辺の要素eを有し、辺の要素eは始点v及び終点vで定義され、始点v及び終点vは頂点の集合VSNに属することを表す。
次いで、本発明に係る拡張意味ネットワークの形式について説明する。
図1(a)は、拡張意味ネットワークを表すグラフを示す図である。辺e(83)は始点e(81)及び終点e(82)で定義され、始点から終点に向かう矢印で表される。辺e(85)は始点e(84)を有して終点は辺e(83)である。本発明に係る拡張意味ネットワークは次の形式を有する。
Figure 2009223720
ここに、ASN:拡張意味ネットワーク(Augmanted Semantic Network)
ASN:拡張意味ネットワークの集合
e:集合Eの要素である拡張組要素
:始点
:終点
null:空要素
である。
数式4は、二項の組を構成するe、eが要素集合EASNの要素か、あるいは空要素nullであることを表す。さらに、拡張意味ネットワークは、次の要素集合を有する。
Figure 2009223720
Figure 2009223720
Figure 2009223720
ここに、ASNVE:拡張意味ネットワークASNの構成要素
:拡張意味ネットワークにおける頂点の集合
:拡張意味ネットワークにおける辺の集合
である。
数式5は、本発明に係る拡張意味ネットワークが頂点の集合E及び辺の集合Eを構成要素とすることを表す。
数式6は、頂点の集合Eは拡張組要素e、eが両方とも空要素であるときの要素e(e,e)を含むことを表す。
数式7は、辺の集合Eは拡張組要素e、eが辺の集合Eに属するときの要素e(e,e)を含むことを表す。
数式6及び数式7は、共通して要素e(e,e)を用いて表現される。すなわち、本発明に係る拡張意味ネットワークにおいては、要素に含まれる辺の終点が終点eだけではなく辺e(e,e)でもありうることにおいて、公知の意味ネットワークとの相違点を有する。従って、本発明に係る拡張意味ネットワークにおいては、図1(a)に示したように、始点e(84)から始まる辺e(85)の終点を辺e(83)としうる。
上記拡張意味ネットワーク、及び公知の意味ネットワークにおいては、頂点が概念や事象を格納するために用いられ、頂点を結ぶ辺がそれらの関係の意味付けを格納するために用いられることは共通している。また、頂点や辺の具体的な意味は外部から与えることにおいても共通である。
上記拡張意味ネットワークにおいては、辺を辺の接続対象にできるという自由度を発生させることができる。これにより、本発明に係る対話スクリプト作成は、知識構造に属する複数の要素を用いて、従来よりも要素間の関連付けの拡張性を広範に確保し、要素間の関連付けを用いて従来よりも柔軟な応答を生成する対話スクリプトを作成しうる。
表1に、具体的な頂点及び辺のクラスを例示する。これらに限らず、本発明に係る対話スクリプト作成方法に用いうる、グラフ構造における頂点及び辺を定義しうる。
表1に示す頂点及び辺はいずれも頂点のクラス、辺のクラスとして取り扱い、それぞれの実体を個別に定義しうる。
処理のクラスは、具体的な処理を実施するための処理頂点を含む。処理のクラスに属する処理頂点の実体、すなわち処理のインスタンスは、コンピュータ処理可能な文字情報に対する処理を適宜含む。
データのクラスは、静的にデータを格納するためのデータ頂点を含む。データのインスタンスは、コンピュータ処理可能な文字コードの集まり等を適宜含む。
変数のクラスは、動的データの参照先を示す変数頂点を含む。変数のインスタンスは、対話スクリプトの実行の各段階における変数を適宜含む。
属性のクラスは、対話スクリプト要素に意味を与える属性頂点を適宜含む。属性のインスタンスは、対話スクリプト要素に含まれる文字情報等の上位概念等を適宜含む。具体的には、本発明に係る対話スクリプトの作成方法は、同一の用語「時計」に対する属性のインスタンスとして、「時間を計測するための道具」又は「装飾目的の贅沢品」等を適宜関連付けてもよく、それぞれの属性のインスタンスに基づいて、対話スクリプトにおける前記用語「時計」の意味を変化させる。
また、処理の流れの関係、処理に必要な関係はいずれも、グラフ構造における辺として扱われる。
処理の流れの関係は、始点と終点とを関連付けるフロー辺を含む。フロー辺は終点を修飾するために用いられる。
処理に必要な関係は、処理に必要な情報を示す属性辺を含む。属性辺は、フロー辺に意味を与えるために用いられる。すなわち、属性辺はフロー辺を修飾するために用いられる。より具体的には、フロー辺を用いて示される関係に対して、属性辺を用いて前記関係の全体が特定の情報源からの伝聞であること、すなわち話者と情報源との関係を用いて前記関係を修飾してもよい。
本発明に係る対話スクリプトの作成支援方法は、グラフ構造における頂点及び辺を用い、これらの関係を修飾するステップを用いることにより、間接話法等の複雑な対話スクリプトを作成する。
Figure 2009223720
[対話スクリプト作成支援システムの構成]
図2は、本発明の一実施形態に係る対話スクリプト作成支援システムの構成を示す図である。対話スクリプト作成支援システム構成20は、対話スクリプト作成支援装置10、知識データベース(知識DB)30、対話エージェント装置50、ユーザ端末60、ネットワーク38等を適宜含む。ネットワーク38はイントラネットでもよく、インターネット等でもよい。ユーザ端末60は、パーソナルコンピュータ、携帯電話端末等の、ネットワーク接続可能な端末を含む。対話エージェント装置50は、本発明に係る対話スクリプト作成支援装置10により作成されるスクリプトを実施し、ユーザに対して自動対話を行う。知識DB30は、知識構造を記憶するためのハードウェア資源でありうる。
知識DB30は、ユーザから送信された文言に含まれる任意の語句、対話スクリプト作成支援装置10が対話スクリプトの生成のために用いる知識及び語句、作成された応答に含まれる任意の語句、自然言語の分野における生成文法規則及び語句の頻度等の派生的な情報等を、適宜記憶する。
図2にはネットワーク38を介して相互に接続する複数機器を示したが、これに限らず、対話スクリプト作成支援装置10、対話エージェント装置50、知識DB30及びユーザインタフェース(図示せず)の機能を1台の機器に備えてもよい。
本発明の一実施形態に係る対話スクリプト作成支援システムを用いることにより、ユーザの入力に応答する対話スクリプトの生成を支援するシステムを提供しうる。
[対話スクリプト作成支援装置の構成]
図3は、本発明の好適な実施形態の一例に係る、対話スクリプト作成支援装置のハードウェア構成を示す図である。以下、対話スクリプト作成発装置をサーバとして説明するが、パーソナルコンピュータを対話スクリプト作成支援装置として用いる場合においても基本的には同様である。
対話スクリプト作成支援装置10は、制御部108を構成するCPU110(マルチプロセッサ構成ではCPU120等複数のCPUが追加されてもよい)、バスライン107、通信I/F140、メインメモリ150、BIOS(Basic Input Output System)160、USBポート190、I/Oコントローラ170、音声処理装置130、音声入出力装置132、並びにキーボード及びマウス180等の入力手段や表示装置122を備える。
音声処理装置130はパーソナルコンピュータ等が有する音声処理のための手段でもよく、A/D変換器、D/A変換器等を適宜備える。あるいは、音声処理装置130は音声信号処理のためのプロセッサを備えてもよい。音声入出力装置132は、好適にはマイクロホン及びヘッドホンを備える。音声入出力装置132が備えるマイクロホンから入力された音声は、音声認識プログラム等を用いてコンピュータ処理可能な文字コードに変換されうる。これと逆に、発話プログラム等を用いて、テキストデータ等に含まれるコンピュータ処理可能な文字コードを合成音声に変換し、音声入出力装置132が備えるヘッドホンから出力してもよい。
I/Oコントローラ170には、テープドライブ172、ハードディスク174、光ディスクドライブ176、半導体メモリ178、等の記憶部109を接続しうる。BIOS160は、サーバの起動時にCPU110が実行するブートプログラムや、サーバのハードウェアに依存するプログラム等を格納する。ハードディスク174は、サーバとして機能するための各種プログラム及び本発明の機能を実行するプログラムを記憶する。光ディスクドライブ176としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、DVD−RAMドライブ、CD−RAMドライブ等を使用しうる。この場合は各ドライブに対応した光ディスク177を使用する。光ディスク177から光ディスクドライブ176によりプログラム又はデータを読み取り、I/Oコントローラ170を介してメインメモリ150又はハードディスク174に提供しうる。また、同様にテープドライブ172に対応したテープメディア171を主としてバックアップのために使用しうる。
一実施形態において、対話スクリプト作成支援装置10は、チャットボット等の自動応答との連携が可能な、音声入出力手段、映像入出力手段、機構部品、力学センサー、磁気センサー、光学センサー等の周辺機器に対する制御手段を含む。例えば、本発明に係る対話スクリプト作成支援装置10は、擬人化ロボット、3次元映像を用いる人工の表情やジェスチャーの出力装置、ユーザの表情等を入力するためのテレビカメラ又は視線追跡装置、ユーザの動作等を入力するためのモーションセンサ等の周辺機器による入出力を利用する対話スクリプトを生成してもよい。これらの周辺機器の制御は、I/Oコントローラ170を介してもよく、通信インタフェース140を介してもよく、USBポート190等の双方向通信が可能なインタフェースを、制御のための情報の通信手段として使用してもよい。
サーバに提供されるプログラムは、ハードディスク174、光ディスク177、又はメモリカード等の記録媒体に格納されて提供される。このプログラムは、I/Oコントローラ170を介して、記録媒体から読み出され、又は通信I/F140を介してダウンロードされることによって、サーバにインストールされ実行されてもよい。
上述のプログラムは、内部又は外部の記憶媒体に格納されてもよい。ここで、記憶媒体としては、磁気記録媒体、光磁気記録媒体、光学記録媒体、電子媒体を含むが、これらに限定されない。前記磁気記録媒体には、磁気テープ、フロッピー(登録商標)ディスク、ハードディスク174、磁気ランダムアクセスメモリ(MRAM)等を含み、光磁気記録媒体には光磁気ディスク(MO及びMD)等を含み、光学記録媒体には追記型コンパクトディスク(CD)、追記型デジタル多目的ディスク(DVD)、追記型ブルーレイディスク、追記型ホログラフィック・ディスク等を含み、電子媒体には電気書き込み可能読み出し専用メモリ、ランダムアクセスメモリ、フラッシュメモリ、シリコン・ストレージ・ディスク等を含む。また、専用通信回線やインターネット等の通信回線に接続されたサーバシステムに設けたハードディスク174又は光ディスクライブラリ等の記憶装置を記録媒体として使用し、通信回線を介してプログラムをサーバに提供してもよい。
ここで、表示装置122は、サーバ管理者によるデータの入力を受け付ける画面を表示したり、演算処理結果の画面を表示したりするものであり、ブラウン管表示装置(CRT)、液晶表示装置(LCD)等のディスプレイ装置を含む。入力手段は、ユーザによる入力の受け付けを行うものであり、キーボード及びマウス180等により構成してもよい。通信I/F140は、サーバを専用ネットワーク又は公共ネットワークを介して端末と接続しうるようにするためのネットワーク・アダプタである。通信I/F140は、モデム、ケーブル・モデム及びイーサネット(登録商標)・アダプタを含んでよい。
以上の例は、対話スクリプト作成支援装置10のハードウェア構成について主に説明したが、コンピュータに、プログラムをインストールして、そのコンピュータを対話スクリプト作成支援装置10として動作させることにより上記で説明した機能を実現しうる。従って、本発明において一実施形態として説明した対話スクリプト作成支援装置10により実現される機能は、上述の方法を前記コンピュータにより実行することにより、あるいは、上述のプログラムを前記コンピュータに導入して実行することによっても実現可能である。
[知識DBデータ構造]
図4は、本発明の一実施形態に係る、知識データベース(知識DB)のデータ構造を表す図である。
知識DBデータ構造260は、識別子261により個別に識別されるデータの1つについて関連付けられる、始点262、終点264、ラベル266、ポインタ268等を含む。これらに限らず、知識DBデータ構造260に含まれ関連付けられる情報は適宜設計してもよい。
また、識別子261は、記憶されるデータを識別しうる形式であれば数字でも文字でもよく、適宜設計してもよい。
始点262及び終点264は、知識DBデータ構造260に記憶されるデータの他のデータとの修飾の関係を示す。1つの識別子を有するデータに対して始点262及び終点264の1つずつが定義されてもよく、複数が提起されてもよく、空白でもよい。始点262及び終点264がいずれも空白であることは、そのデータが拡張意味ネットワークにおける頂点であることを示すので、拡張意味ネットワークにおいて取り扱いうるデータに含まれる。
ラベル266は、識別子261により個別に識別されるデータの1つについて、予め拡張意味ネットワークにおいて予約されるか、又は、ユーザにより定義される領域である。前記予約は、より具体的には、拡張意味ネットワークにおいて取り扱われる要素にクラスを定義し、要素が追記される等の拡張意味ネットワークの動作において生成される要素同士の関係を予め定義するためのものである。
例えば、予約されるクラスの定義には次のものが用いられうる。
(クラス1)vroot:全知識要素の開始点
(クラス2)vusr:ユーザのクラス
(クラス3)vact:動作のクラス
(クラス4)vins:インスタンス化関係のクラス
rootは、全知識要素の開始点であり、他の任意の要素を定義するための始点でありうる。vusrは、次に説明する動作クラスを目的やユーザに応じて整理するためのクラスである。vactは、本発明の実施形態に係る自動対話応答生成システムが実施する対話応答等の動作を知識要素に含めるためのクラスである。vinsは、本発明の実施形態に係る自動対話応答生成システム等において、メモリ上に配置されたデータの集合等の実体を示すためのクラスである。例えば、基本的な応答動作をとりまとめる頂点ubrは、クラスvusrのインスタンスである枝u_iによってvrootから接続され定義される。基本的な動作であるkeyword、relation、message等は、それぞれクラスvartのインスタンスである枝によって頂点ubrから接続され定義される。頂点ubrや基本的な動作を表す頂点のラベル266には、ユーザ端末から送信された文字列等の知識DBを人が管理する際に認識しやすい説明文字が含まれる。
ポインタ268は、1つの識別子を有するデータであって、上述の始点262、終点264、又はラベル266以外の情報を含むデータを知識DB30に記憶し、取り扱うことができるようにするためのものである。例えば、当業に公知の文字列処理関数等は、ポインタ268に当該関数を関連付けることにより、知識DB30に取り込むことが可能になる。
本発明の実施形態に係る対話スクリプトの作成支援システム等は、知識DBデータ構造260を備えることにより、対話スクリプトの作成支援方法において取り扱いうるデータ、及び、対話スクリプト作成支援とは特に関連性のない一般的な文字列処理関数等を、いずれも知識DB30に取り込み、用いる。
[対話スクリプト作成支援システムと知識構造との関係]
図5は、本発明の一実施形態に係る、対話スクリプト作成支援システムと知識構造との関係を示す図である。
対話スクリプト作成支援システム200は、図2及び図3に示した対話スクリプト作成支援装置を用いて実行するコンピュータ・プログラムを備える。当該コンピュータ・プログラムは、例えば、図3におけるハードディスク174に記憶され、システムの起動時にメインメモリ150に作成される。
また、当該コンピュータ・プログラムは、システムの基本入出力等の動作に係るカーネル202、サーバを介してクライアントとクライアントが会話をする枠組みの名称であるインターネット・リレー・チャット(Internet Relay Chat、IRCと略称)のためのセッション管理204、IRCにおけるチャネル管理206、208を含む。
チャネル管理206、208は、1のユーザに1のチャネル管理を割り当ててもよく、1のユーザに複数のチャネル管理を割り当ててもよい。ユーザとチャネル管理との対応関係は特に問わない。チャネル管理206、208は、これらに限らず、任意の数のチャネル管理を設けてもよい。それぞれのチャネル管理により制御されうる応答等の数は適宜設計しうる。
また、当該コンピュータ・プログラムは、チャネル管理206により制御されうる基本応答210、発言制御応答212、ヘルプ応答214、時間応答216等を適宜含み、また、チャネル管理208により制御されうる基本応答218、発言制御応答220、時間応答222等を適宜含む。これらは個別に機能を有する応答モジュールであり、それぞれの応答モジュールの機能は適宜設計しうる。
基本応答210、218は対話応答におけるユーザからの入力に対する基本的な応答を生成することを含み、具体的には、対話の開始又は終了の時点における典型的な応答の生成等を含む。発言制御応答212、220は対話応答においてユーザに有限の選択肢を示す等の、制約を有する応答の生成を含む。ヘルプ応答214は、ユーザからの操作説明要求等に応じて適宜ヘルプ情報等の応答を生成することを含む。時間応答216、222は、対話の経過時間又はシステムの稼働時刻等に基づく応答の生成を含み、具体的には、終了時にユーザに対して「30分使用しました」等の経過時間を送信するために用意すること、又は、年始にユーザに対して「本年もよろしくお願いします」等の時候の挨拶等を送信するために用意すること等を含む。
さらに、当該コンピュータ・プログラムは、基本応答210、218、発言制御応答212、220等を用いて知識構造230にアクセスしうる。知識構造230は、図4に示したように、識別子261により識別されるデータを含む。
本発明の一実施形態に係る対話スクリプト作成支援システム200は、チャネル管理を介して知識構造230にアクセスすることにより、すでに知識構造230に記憶されたデータを用いて対話応答のためのデータを生成し、生成した対話応答を知識構造230に記憶しうる。
[対話エージェントの動作]
図6は、本発明の一実施形態に係る対話スクリプト作成支援システムが生成する、対話エージェントの動作を説明するためのフロー図である。
対話エージェントは、システムを初期化するステップ(S100)において、システムの内部変数等を初期化する。
次いで、対話エージェントは、メッセージ入力をチェックするステップ(S102)において、ユーザからのメッセージ入力の有無を調べ、検出できたことを判定するステップ(S104)において前記メッセージを検出できた場合はステップS108に分岐し、検出できない場合はステップS106に分岐する。
自発的な処理を実行するステップ(S106)においては、対話エージェントは、記憶媒体の空き容量計算等の、ユーザからのメッセージ入力等とは直接に関係のない処理を実行し、ステップS102に戻る。
応答処理を実行するステップ(S108)においては、対話エージェントは、ユーザからのメッセージ入力への応答処理を実行する。
終了指示が出たことを判定するステップ(S110)においては、対話エージェントは、ユーザからの終了指示の有無を判定する。具体的には、ユーザは対話応答サービス等の使用を終了することをコマンドの送信等により通知してもよい。又は、ユーザが「/終了」等のメッセージを対話応答サービス等に送信することにより、冒頭の「/」を対話エージェントが識別し、以後の文字情報を動作のための制御命令と解釈し、終了指示として扱ってもよい。終了指示のための情報の送受信は適宜設計しうる。終了指示が出た場合は終了し、終了指示が出ていない場合はステップS102に戻る。
対話エージェントは、上述のように動作することにより、ユーザからの終了指示が出るまでの期間に繰り返してステップS108を用い、応答処理を実行することができる。
[応答処理の動作]
図7は、本発明の一実施形態に係る対話スクリプト作成システムが生成する、応答処理の動作を説明するためのフロー図である。この応答処理は、図6の前述の対話エージェントの動作において、ステップS108として実行される。
応答処理は、ステップS120において、ユーザから送信されたメッセージをmとする時に、当該メッセージmが発言されたチャネルに対応するチャネル管理構造を取得する。このチャネル管理構造をcとする。具体的には、チャネル管理構造は、図5を用いて前述の、チャネル管理206、208等においてチャネルを相互に区別するための情報、基本応答等の応答モジュールの情報等を適宜含む。
次いで応答処理は、ステップS122において、前記チャネル管理構造cを取得できたかどうかを判定する。取得できた場合はステップS124に進み、できない場合は動作を終了する。
次いで応答処理は、ステップS124において、チャネル管理構造cに設定された応答モジュールの集合をRとし、ステップS126において集合Rが空集合であるかどうかを判定する。空集合である場合は動作を終了し、空集合でない場合はステップS128に進む。具体的には、応答モジュールの集合Rは、図5の基本応答210、発言制御応答212等を適宜含む。
次いで応答処理は、ステップS128において、応答モジュールの集合Rから応答モジュールを1つ取り出しrとする。さらに、ステップS130において、応答モジュールrを用いて前記メッセージmの処理を試みる。ステップS132において、この処理が成功したかどうかを判定し、成功した場合は応答処理を終了し、成功しない場合はステップS126に戻る。
本発明に係る応答処理は、上述のように動作することにより、メッセージmの受信を契機として応答モジュールを用いて対話応答を生成することができる。
[対話スクリプト応答モジュールの動作]
図8は、本発明の一実施形態に係る応答処理において、メッセージの処理のために実行される応答モジュールの動作を説明するためのフロー図である。応答モジュールは、図7の応答処理の動作に含まれるステップS130において実行される。
対話スクリプト応答モジュールは、ステップS140において、メッセージmが発言されたチャネルに対応するチャネル管理構造cを取得する。
次いで、対話スクリプト応答モジュールは、ステップS142において、現在の対話スクリプト位置をチャネル管理構造cから取得する。対話スクリプト位置は、具体的には、図4を用いて前述の、知識構造に含まれる識別子261を用いてもよく、それぞれのチャネル管理構造が独自に番号付け等を実施してもよく、適宜設計しうる。この対話スクリプト位置をctxとする。
次いで、対話スクリプト応答モジュールは、ステップS144において、前記対話スクリプト位置ctxが空要素(null)であるかどうかを判定し、空要素である場合はステップS146に進み、空要素でない場合はステップS128に進む。具体的には対話スクリプト位置が空要素であることは、当該対話スクリプトがまだ実行を開始していないこと、又は新規に対話スクリプトが生成されること等を意味する。
ステップS146において、対話スクリプト応答モジュールは前記対話スクリプト位置ctxに対話スクリプトのルールを設定する。具体的には、知識構造における始点でありうる要素を前記対話スクリプト位置ctxに関連付ける。この始点は、例えば、vrootでもよい。
次いで、対話スクリプト応答モジュールは、ステップS148において、前記対話スクリプト位置ctxを始点とし、この始点から出るフロー辺の先に、前記メッセージmにヒットする語のフロー辺の先の処理頂点を集合Rとする。具体的には、始点として用語「レストラン」が設定され、ユーザがメッセージとして「2人で金曜日の晩に食事したい」という文言を送信した場合に、この文言に含まれる「2人」「金曜日」等の用語をグラフ構造におけるフロー辺として扱い、このフロー辺の先の処理頂点として、具体的なレストランの名称等を応答すること、又は金曜日に訪問しやすい繁華街等の名称を応答すること、又は2人以上の予約に対する優待サービスの情報を応答すること等からなる処理頂点の集合を関連付ける。
次いで、対話スクリプト応答モジュールは、ステップS150において、前記処理頂点の集合が空集合であるかどうかを判定し、空集合である場合は応答モジュールを終了し、空集合でない場合はステップS152に進む。
次いで、対話スクリプト応答モジュールは、ステップS152において、前記処理頂点の集合から処理頂点を1つ取り出しrとする。処理頂点の集合Rから処理頂点rを1つ取り出すための規則は、ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、談話構造と最も関連性の高い要素を選択する規則から選ばれる規則に基づいて選択されうる。
次いで、対話スクリプト応答モジュールは、ステップS154において、前記処理頂点rに関連付けられる関数を実行する。この関連付けは、ポインタを介する関数の呼び出し等でもよい。具体的には、この処理頂点は、スクリプトの進捗状況を記憶することでもよく、ユーザへの応答を出力することでもよく、適宜設計しうる。ステップS154の後は、応答モジュールの実行は終了する。
本発明に係る対話スクリプト応答モジュールは、上述のように動作することにより、処理頂点rを用いて対話応答を生成するための関数を実行しうる。
本発明に係る対話スクリプト作成支援システムに用いうる、応答処理及び応答モジュールの例を以下に示す。
[処理のクラス]
表2に、応答モジュールとして選択しうる基本処理頂点を例示する。これらに限らず、予め用意する処理頂点は適宜設計しうる。
Figure 2009223720
一実施形態において、ユーザからの入力を反復出力し、選択肢に分岐する処理頂点「CFM」は以下のように動作しうる。
(CFM−1)処理中のCFMインスタンスから引数属性辺vをたどり、確認内容格納先cを得る。
(CFM−2)処理中のCFMインスタンスから引数属性辺smをたどり、処理頂点aの取得を試みる。
(CFM−3)処理頂点aが見つかった場合、実行する。
(CFM−4)処理中のCFMインスタンスから引数属性辺fmtをたどり、データ頂点dの取得を試みる。
(CFM−5)データ頂点dが見つかった場合、その文字列でcの内容を整形してユーザに応答する。
(CFM−6)システムが管理する現在のコンテキストを、処理中のCFMインスタンスに変更する。
一実施形態において、スクリプトの進捗状況を変数に保存する処理頂点「SVC」は以下のように動作しうる。
(SVC−1)処理中のSVCインスタンスから引数属性辺vをたどり、コンテキスト格納先cを得る。
(SVC−2)対話スクリプト内の進捗位置である現在のコンテキストをシステムから取得し、cに格納する。
(SVC−3)コンテキストが設定されていた場合、成功及び即時実行属性の付いたフロー辺が処理中のSVCインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
(SVC−4)コンテキストが設定されていなかった場合、失敗及び即時実行属性の付いたフロー辺が処理中のSVCインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
一実施形態において、ユーザの最終発言を変数に保存する処理頂点「SVT」は以下のように動作しうる。
(SVT−1)処理中のSVTインスタンスから引数属性辺vをたどり、ユーザ発言格納先tを得る。
(SVT−2)ユーザが最後に発言した文字列の先頭トークンをシステムから取得し、tに格納する。
(SVT−3)即時実行属性の付いたフロー辺が処理中のSVCインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
一実施形態において、何もしない処理頂点「NOP」は以下のように動作しうる。
(NOP−1)処理中のNOPインスタンスから引数属性辺smをたどり、処理頂点aの取得を試みる。
(NOP−2)処理頂点aが見つかった場合、実行する。通常は回答頂点が処理頂点として構成されるので、応答メッセージを出力する処理を行うことになる。
(NOP−3)システムが管理する現在のコンテキストを、処理中のNOPインスタンスに変更する。
(NOP−4)即時実行属性の付いたフロー辺が処理中のSVCインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
一実施形態において、スクリプトを終了する処理頂点「QUI」は以下のように動作しうる。
(QUI−1)処理中のQUIインスタンスから引数属性辺smをたどり、処理頂点aの取得を試みる。
(QUI−2)処理頂点aが見つかった場合、実行する。通常は回答頂点が処理頂点として構成されるので、応答メッセージを出力する処理を行うことになる。
(QUI−3)処理中のSVCインスタンスから引数属性辺vをたどり、コンテキスト参照先cの取得を試みる。
(QUI−4)コンテキスト参照先cが見つかった場合、システムが管理する現在のコンテキストを、cに変更する。
(QUI−5)コンテキスト参照先cが見つからなかった場合、システムが管理する現在のコンテキストをリセットする。
表3に、基本処理頂点以外の、固有処理頂点を例示する。
Figure 2009223720
一実施形態において、固有処理頂点CSMSは以下のように動作しうる。
(CSMS−1)処理中のCSMSインスタンスから引数属性辺vをたどり、コンテキスト参照先cを得る。
(CSMS−2)処理中のCSMSインスタンスから引数属性辺v2をたどり、処理対象選択メッセージ頂点格納先mを得る。
(CSMS−3)処理中のCSMSインスタンスから引数属性辺v3をたどり、選択メッセージ検索語参照先sを得る。
(CSMS−4)コンテキストcから選択メッセージ辺で到達可能な処理頂点の集合をSMとする。
(CSMS−5)集合SMから文字列データに検索語sを含む処理頂点smを検索する。
(CSMS−6)処理頂点smが見つかった場合、smをmに格納し、成功及び即時実行属性の付いたフロー辺が処理中のCSMSインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
(CSMS−7)処理頂点smが見つからなかった場合、失敗及び即時実行属性の付いたフロー辺が処理中のCSMSインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
一実施形態において、固有処理頂点CSMDは以下のように動作しうる。
(CSMD−1)処理中のCSMDインスタンスから引数属性辺vをたどり、処理対象選択メッセージ頂点参照先mを得る。
(CSMD−2)処理中のCSMDインスタンスから引数属性辺v2をたどり、コンテキスト参照先cを得る。
(CSMD−3)コンテキストcから選択メッセージ辺で到達可能な処理頂点の集合をSMとする。
(CSMD−4)集合SMの要素数が2以上である場合、処理対象選択メッセージ頂点mを削除する。
(CSMD−5)削除した場合、処理中のCSMSインスタンスから成功属性の付いた選択メッセージ辺が接続されていれば、そのたどり先の処理頂点を実行する。
(CSMD−6)削除しなかった場合、処理中のCSMSインスタンスから失敗属性の付いた選択メッセージ辺が接続されていれば、そのたどり先の処理頂点を実行する。
(CSMD−7)システムが管理する現在のコンテキストを、cに変更する。
一実施形態において、固有処理頂点CSMPは以下のように動作しうる。
(CSMP−1)処理中のCSMPインスタンスから引数属性辺vをたどり、処理対象選択メッセージ頂点参照先mを得る。
(CSMP−2)処理中のCSMPインスタンスから引数属性辺v2をたどり、新しい選択メッセージ文字列の参照先nを得る。
(CSMP−3)処理中のCSMPインスタンスから引数属性辺v3をたどり、コンテキスト参照先cを得る。
(CSMP−4)処理中のCSMPインスタンスから引数属性辺smをたどり、処理頂点aの取得を試みる。
(CSMP−5)処理頂点aが見つかった場合、実行する。
(CSMP−6)処理対象選択メッセージ頂点mの文字列データを新しい選択メッセージ文字列nで置き換える。
(CSMP−7)システムが管理する現在のコンテキストを、cに変更する。
[データのインスタンス]
データ頂点はそのインスタンスのラベル文字列に静的データを格納する。
変数頂点は変数毎にそれぞれ頂点を定義する。この頂点のインスタンス辺の終点に動的データを設定する。
表4に文字列データを、表5に変数頂点を例示する。これらに限らず、静的データは適宜設計しうる。
Figure 2009223720
Figure 2009223720
[辺修飾属性のクラス]
辺修飾属性インスタンスはフロー辺を修飾し、その意味を修飾する。
表6に、基本的な属性頂点を例示する。これらのインスタンスは辺であり、その終点に修飾対象を設定する。通常修飾対象は辺であり、その場合、これらインスタンス辺の始点は修飾対象辺の始点と同じに設定する。
属性頂点は、それぞれを小円内の1文字に略記して図示してもよい。例えば、処理フローを即座に移動する属性頂点IMMを小円内の1文字「i」で、処理が成功した場合にフローを移動する属性頂点SUCを小円内の1文字「s」で図示してもよい。
Figure 2009223720
[フロー辺のインスタンス]
フロー辺のインスタンスは処理を進めることを示す。このインスタンスは属性修飾を受けることができる。このインスタンスの始点と終点は処理頂点のインスタンスである。
[属性辺のクラス]
属性辺のインスタンスは処理頂点の処理実行に必要な情報を提供する。表7に、基本的な属性辺を例示する。これらのインスタンスは属性付与対象の頂点や辺を始点に、属性値を終点に設定する。
Figure 2009223720
[対話応答の例]
図9は、本発明の一実施形態に係る、対話応答のための知識構造の例を示す図である。
対話応答のための知識構造は、アプリオリオントロジーノード300、ユーザノード340、動作ノード350〜370、データノード380を含む。
アプリオリオントロジーノード300は、図4を用いて示した知識DBデータ構造における、予約されるクラスの定義に対応する。すなわち、本発明に係る拡張意味ネットワークに含まれるクラスの定義を含み、グラフ構造においては始点でありうる頂点である。アプリオリオントロジーノード300は、全知識要素の開始点を表すクラスroot301、ユーザ関係のクラスを表すuser310、動作関係のクラスを表すaction320、インスタンス関係のクラスを表すinstance330を含む。
ユーザノード340は、本発明に係る対話スクリプト作成支援装置又は対話スクリプト作成支援サービス等を用いるユーザによる対話スクリプトのための基本的なルールを表す。ユーザノード340は、root301を始点とする辺302の終点でありうる。
例えば、ユーザの発話により、本発明に係る対話スクリプト作成支援方法により作成された応答ルールを知識構造に格納した自動応答システムが動作を開始することは、root301を始点とする関連付けである辺302の終点として、ユーザノード340を発話がなされたチャンネルに結び付けられた応答モジュールが参照することを意味する。ここで、通常1つのチャンネルに結び付けられた応答モジュールは複数あり、辺302の始点としてのroot301及び終点としてのユーザノード340の関係は、それらの中にbasic replyという応答モジュールがあった場合に参照されることになる。
次いで、動作のクラスaction320に属する動作関係辺である、ユーザノード340を始点とする辺342、344、346を用いることにより、終点である動作ノード350、360、370に動作クラスを生成することができる。具体的には、ユーザからの発話等が予め用意したキーワードと一致するかどうかを調べるための動作クラスkeywordを格納する動作ノード(350)、ユーザからの発話又は予め用意した応答等のメッセージを送信するための動作のクラスmessage370を格納する動作ノード(370)、前記キーワードと前記メッセージとの関連の有無を判定するための動作のクラスrelationを格納する動作ノード(360)等を生成しうる。
さらに、インスタンス関係のクラスinstance330に属するインスタンス関係を用いて、動作ノード350、360、370を始点とする辺を生成することにより、データノード380に属する文字情報352、372に対話応答のための文字情報が格納されうる。例えば、処理のインスタンスkeywordを格納する動作ノード(350)を始点とする辺の終点に、文字情報352として「カレー」を格納しうる。ここで、データノード380に属する文字情報352及び372の間に、文字情報352を始点とし、文字情報372を終点とする関連付けが行われ、当該関連付けを動作のクラスrelationを格納する動作ノード(360)が辺362を用いて修飾することが定義される場合に、本発明に係る対話スクリプト作成支援方法の実施装置等は、文字情報352との関連付けを有する文字情報372として「食べたいですね」等の応答を生成しうる。
このようにして、知識構造に含まれるノード及びノードに属する処理頂点等の間に、予め関連付けを行うことにより、本発明に係る対話スクリプト作成支援方法の実施装置等は、ユーザによる発話又は文字情報の送信等を契機として、対話応答を生成しうる。
本発明に係る対話スクリプト作成方法の実施装置等が生成する対話応答は、予め定義したクラスに属する動作又はデータ等のインスタンスを適宜選択することにより、従来技術のように全ての用語を逐一検索することなく、対話応答を迅速に生成しうる。
ユーザのクラス310による動作の開始は、上述のような対話のための発話に限らず、知識構造にクラス又はインスタンスを追加するものであってもよい。すなわち、ユーザノード340に「edit reply」等の応答を編集する動作頂点を用意してユーザが呼び出し、キーワードのヒットの判定方法等を適宜編集してもよい。これにより、本発明に係る対話スクリプト作成方法においては、対話スクリプトは自身を変更しうる。
[対話応答スクリプト設計のためのデータの例]
図10は、本発明の一実施形態に係る、対話応答スクリプトを設計するためのデータを例示する図である。上述のように、図10に含まれる円形は拡張意味ネットワークにおける頂点を表し、矢印は修飾辺を表す。1文字「i」、「s」又は「f」を含む小円は、それぞれ「即時」、「成功」、「失敗」を表す属性頂点である。修飾辺の近傍における文字列「sm」、「v(又はv2等の数字の添え字を伴う)」又は「fmt」は、それぞれ、出力メッセージを伴う属性辺、処理の引数となる変数を伴う属性辺、所定の書式を伴う属性辺である。
図10に示す対話応答スクリプト設計のためのデータ400は、表2における基本処理頂点、表3における固有処理頂点、表4における静的データ、表5における変数頂点、表6における属性頂点、表7における属性辺を適宜含む。
また、図10に示す対話応答スクリプト設計のためのデータ400は、図9の対話応答のための知識構造における、データノード380でありうる。換言すれば、ユーザからの入力をキーワードとして受信することに応答して作成される対話応答は、図9に示した対話応答のための知識構造を用いて、データノード380として出力されうる。
図10(a)を用い、対話応答スクリプト設計のためのデータ400に含まれる、ユーザからの入力を受信することに応答して作成される対話応答の、初期の段階を例示する。
処理頂点410は、表2における、文脈が初期位置にあるときにキーワードを格納しうる処理頂点KWであり、文字列データkwを含む。具体的には、当該キーワードはユーザから受信した入力としての文字列等である。例えば、文字列データkwは「選択メッセージを変更」等の文字列である。
本発明に係る対話応答のための知識構造は、処理頂点KWと関連付けを有する処理頂点SVC(411)を用意する。処理頂点SVC(411)は、前記文字列データkwの受信に応答して開始した対話応答の進捗状況を適宜記憶する。
次いで、本発明に係る対話応答のための知識構造は、処理頂点411と関連付けを有する変数頂点<CTX>(412)、処理頂点QUI(413)、処理頂点NOP(414)を用意する。
変数頂点<CTX>(412)は、前記処理頂点SVC(411)における進捗状況の記憶のために用意される変数である。
処理頂点QUI(413)及び処理頂点NOP(414)は、前記処理頂点SVC(411)に応答して即時実行されうる。図中には、即時実行を文字「i」を含む小円で示す。
前記処理頂点SVC(411)の動作において、対話の進捗状況(コンテキスト)が未定義であった場合には処理頂点QUI(413)が選択され、定義されていた場合には処理頂点NOP(414)が選択される。図中には、前記失敗を文字「f」を含む小円で、前記成功を文字「s」を含む小円で示す。
前記処理頂点QUI(413)は、対話スクリプト追跡コンテキストから離脱する動作を実施し、静的データm(415)を関連させる。処理頂点QUI(413)から静的データm(415)への辺は、表7に示した属性辺SMに属するインスタンスsmであり、具体的には前記抽出された文字列を応答メッセージとして示す動作を行う。例えば、静的データm(415)は「選択肢に移動してください。」等のエラーメッセージである。
処理頂点NOP(414)は、後続の処理頂点等への関連付けのために用意される。さらに、処理頂点NOP(414)は静的データm(416)に関連付けられ、属性辺のインスタンスsmにより、静的データm(416)が応答メッセージとしてユーザに示される。例えば、静的データm(416)は「選択メッセージを指定してください。」等のメッセージである。
次いで、本発明に係る対話応答のための知識構造は、処理頂点417に属するキーワードのインスタンスwldに、ユーザからの入力を格納する。wldは、表2における任意のキーワードを格納する処理頂点クラスWLDのインスタンスである。さらに、本発明に係る対話応答のための知識構造は、処理頂点SVT(418)において前記ユーザからの入力を変数頂点<MSG>(424)に格納し、この変数頂点<MSG>(424)に格納された前記ユーザからの入力が、本対話スクリプトが開始されたコンテキストから選択メッセージを検索できたか否かを、処理頂点CSMS(423)において判定する。処理頂点CSMS(423)は、変数頂点<MSG>(424)から検索語を取得し、変数頂点<CTX>(425)に保存された本スクリプト開始時のコンテキストから検索語を含む選択メッセージを検索し、変数頂点<LRP>(426)に検索された選択メッセージの処理頂点を保存する。具体的には、この検索された選択メッセージの処理頂点は変更対象である対話スクリプトで選択肢到達時にメッセージを応答する等の処理であり、後続の処理頂点CFM(427)により参照される。
図10(a)に示す対話応答スクリプト設計のためのデータ400においては、ユーザの発言を変数に保存する処理頂点SVT(418)を含む処理頂点の関連付けには、処理頂点NOP(419)を介して前述の処理頂点NOP(414)に戻る関連付け、及び、処理頂点NOP(421)を介して前述の処理頂点NOP(414)に戻る関連付けを含む。
前者の、処理頂点NOP(419)を介して前述の処理頂点NOP(414)に戻る関連付けは、例えば、検索語を含む選択メッセージが<CTX>に接続されていないことに応答し、この入力を前記処理頂点CSMS(423)において即時に失敗「f」と判定して処理頂点NOP(419)と関連付け、静的データm(420)として「選択メッセージが見つかりませんでした」等のメッセージをユーザに送信し、静的データm(416)を再度ユーザに示す動作等を含む。
後者の、処理頂点NOP(421)を介して前述の処理頂点NOP(414)に戻る関連付けは、例えば、以下の段階を含む。ユーザの入力がコンテキスト<CTX>のいずれかの選択メッセージに含まれる場合に、この入力を前記処理頂点CSMS(423)において、即時に成功「s」と判定し、並びにコンテキスト<CTX>から最初に検索された選択メッセージの処理頂点を、変数頂点<LRP>(426)に保存する。後続の処理頂点CFM(427)は、静的データm(428)を用いてユーザに処理対象の選択メッセージを確認するメッセージを示し、確認を行ったこと(はい)を意味する選択肢を動作頂点sry(430)に関連付け、並びに、選択メッセージ検索をやり直すキーワード(いいえ)を動作頂点srn(429)に関連付ける。動作頂点srn(429)は、処理頂点CFM(427)の選択候補のキーワードの1つであり、ユーザがこれを選ぶことによって動作頂点srn(429)に対話スクリプト実行処理のコンテキストが移動する。動作頂点srn1(429)は処理頂点NOP(421)への関連付けを有し、静的データm(422)として「選択メッセージを指定しなおします」等のメッセージがユーザに送信され、静的データm(416)を再度ユーザに示す処理頂点NOP(416)の動作等を行う。
これらのように、本発明に係る対話応答スクリプト設計のためのデータ400には、ユーザの入力に応答して、処理頂点CSMS(423)等の成功又は失敗の判定に基づいて条件分岐し、処理段階を遡及する関連付けを含んでもよい。
図10(b)を用い、対話応答スクリプト設計のためのデータ400に含まれる、ユーザからの入力を受信することに応答して作成される対話応答の、ある一部分を例示する。
ユーザからの発言を保存する処理頂点SVT(450)は、変数頂点<MSG>(451)にユーザの発言を保存し、即時に後続の処理頂点CFM(452)を実行する。例えば、変数頂点<MSG>(451)には、新しい選択メッセージである「どこの場所にしましょうか?」が保存される。
選択肢に分岐する処理頂点CFM(452)は、変数頂点<MSG>(451)、本対話スクリプトを中断する選択肢(やめる)である(sra)(454)、「これでよいですか?」等のユーザへの確認を促すメッセージ応答に結び付けられた処理頂点m12(455)、応答等におけるユーザ入力文字列の成形に係る処理頂点str(456)、確認を行ったこと(はい)を意味する選択肢である処理頂点sry(457)、入力をやりなおすこと(いいえ)を意味する選択肢である処理頂点srn(458)等への関連付けを有する。具体的には、選択肢に分岐する処理頂点CFM(452)は、変数頂点<MSG>(451)をstr(456)で整形してm12(455)のメッセージと共に応答してユーザに確認を求め、ユーザの回答が「はい」であった場合にはsry(457)に分岐し、「いいえ」であった場合はsrn(458)へ分岐しメッセージ入力をやり直し、「やめる」であった場合は(sra)(454)へ分岐しこの選択メッセージ変更のための対話スクリプトを中断する。
処理頂点sry(457)は、後続の処理頂点CSMP(459)を実行するよう動作する。
処理頂点CSMP(459)は静的データm14(460)との関連付けを有する。具体的には、処理頂点CSMP(459)は、静的データm14(460)に結び付けられた「変更しました」等のメッセージを出力し、ユーザに送信する。
また、処理頂点CSMP(459)は、変更対象の既存の選択メッセージ処理頂点を保存するための変数頂点<LRP>(461)との関連付けを有する。例えば、当該選択メッセージ頂点は、カレー店の場所をユーザに確認する対話スクリプトの選択メッセージ「場所はどこですか?」等でもよい。
また、処理頂点CSMP(459)は、メッセージを出力する変数頂点<MSG>(462)との関連付けを有し、<LRP>(461)に指し示された選択メッセージ処理頂点に結びつける文字列を<MSG>(462)で指し示されたものに変更する。
さらに、処理頂点CSMP(459)は、スクリプトの進捗状況を保存する変数頂点<CTX>(463)との関連付けを有し、選択メッセージ変更の対話処理を開始した時点のコンテキスト状態に復帰し本対話スクリプトを終了する。
図10(c)及び表8に、自動対話の実行例であるダイアログが経過する処理頂点と、自動対話スクリプトの内部の動作を除く端末装置等に表示されうる文字列との対応の一例を示す。図10(a)及び(b)と重複する箇所は説明を省略する。
表8は、文脈の初期位置においてユーザによる入力を格納する処理頂点kw(410)に応答し、時間の経過と共に自動対話及びユーザの入力からなる対話が進行することを表す。
選択メッセージの削除を行うかどうか確認する処理頂点CFM(470)は、確認に対する回答の選択肢をメッセージと共に応答する動作を実行する。具体的には、「削除しますか?」というメッセージと共に、「はい」、「いいえ」、「やめる」の選択肢がユーザに応答される。
表8に示した処理頂点が順次動作することにより、ユーザの端末装置等には、ユーザの入力及び自動対話の出力が表示される。
これにより、本発明に係る自動対話をユーザは利用して、所望の出力を得られる。
Figure 2009223720
一実施形態において、前述の表8に示した一連の対話により、カレーに関する対話スクリプトが変更され、次回ユーザが「カレー食べたい」と発言した際に、本発明に係る対話スクリプト支援プログラム等による自動対話は、「どこの場所にしましょうか?(六本木/その他)」と応答しうる。このように、本発明に係る対話スクリプト支援プログラム等は、それ自身が対話スクリプト編集機能又は対話スクリプト編集機能の一部でありうる。
本発明に係る対話応答スクリプト設計のデータは、本発明に係る対話応答の知識構造に含まれ拡張意味ネットワークに属する頂点及び辺を組合せ、柔軟かつ幅広い拡張性をもって構成することができる。上述の例に限らず、本発明に係る対話応答スクリプト作成支援方法及びその実施装置等を用いることにより、複雑な対話スクリプトの作成を効率的に支援することが可能になる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
本発明及び従来技術の一実施形態に係る、知識構造の基本構造における要素の関係を示す図である。 本発明の一実施形態に係る対話スクリプト作成支援システムの構成を示す図である。 本発明の好適な実施形態の一例に係る、対話スクリプト作成支援装置のハードウェア構成を示す図である。 本発明の一実施形態に係る、知識データベース(知識DB)のデータ構造を表す図である。 本発明の一実施形態に係る、対話スクリプト作成支援システムと知識構造との関係を示す図である。 本発明の一実施形態に係る対話スクリプト作成支援システムが生成した対話スクリプトを実行する、対話エージェントの動作を説明するためのフロー図である。 本発明の一実施形態に係る対話スクリプト作成支援システムが生成した対話スクリプトを実行する、応答処理の動作を説明するためのフロー図である。 本発明の一実施形態に係る応答処理において、メッセージの処理のために実行される応答モジュールの動作を説明するためのフロー図である。 本発明の一実施形態に係る、対話応答のための知識構造の例を示す図である。 本発明の一実施形態に係る、対話応答スクリプトの初期段階のデータを例示する図である。 本発明の一実施形態に係る、ユーザからの入力に応答して作成される対話応答の一部分を例示する図である。 本発明の一実施形態に係る、自動対話の実行例であるダイアログが経過する処理頂点を例示する図である。
符号の説明

10 対話スクリプト作成支援装置
20 対話スクリプト作成支援システム構成
30 知識DB
38 ネットワーク
50 対話エージェント装置
60 ユーザ端末
81、84、91 始点
82、92 終点
83、85、93 辺
200 対話スクリプト作成支援システム
204 IRCセッション管理
206、208 チャネル管理
210、218 基本応答
212、220 発言制御応答
214 ヘルプ応答
216、222 時間応答
230 知識構造
260 知識DBデータ構造
261 識別子
262 始点
264 終点
266 ラベル
268 ポインタ
300 アプリオリオントロジーノード
340 ユーザノード
350、360、370 動作ノード
380 データノード
400 対話応答スクリプト設計のためのデータ

Claims (5)

  1. ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作、及びそれらの関係を示すコンピュータ上での処理動作をクラスを用いて記述するスクリプトを記憶する知識構造の記憶手段と、
    前記クラスに属する要素のうちの少なくとも二要素間の関係において、前記処理動作の流れを示す関係、前記処理動作に必要な関係を記憶する対話構造記憶手段と、
    前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別手段と、
    前記判別手段による判別の結果に応じて、前記対話構造記憶手段に記憶された前記二要素間の関係を変更する変更手段と、
    を備えることを特徴とする対話スクリプト作成支援装置。
  2. 前記知識構造の記憶手段は、
    前記状況、前記動作及び前記関係に関するクラスの要素として、処理のクラス、データのクラス、変数のクラス、属性のクラスを含み、
    前記知識構造は会話の場、会話履歴、会話文脈を要素に有する集合である談話構造を含み、
    前記変数のクラスは前記会話の場を始点とする関連付けを有し、
    前記属性のクラスは修飾対象と同一の始点との関連付け及び終点としての修飾対象との関連付けを有し、
    前記処理のクラスは前記知識構造に属する要素を始点及び終点とする関連付けを有し、
    前記データのクラスは静的データとの関連付けを有する、
    ことを特徴とする請求項1に記載の対話スクリプト作成支援装置。
  3. ユーザ端末からの会話文のデータ入力を受け付ける会話文入力受付手段と、
    をさらに備え、
    前記判別手段は、
    前記受け付けられた会話文の内容に応じて、前記関連付けの有無の判別を行うことを特徴とする請求項1又は2に記載の対話スクリプト作成支援装置。
  4. ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作、及びそれらの関係を示すコンピュータ上での処理動作をクラスを用いて記述するスクリプトを記憶する知識構造の記憶ステップと、
    前記クラスに属する要素のうちの少なくとも二要素間の関係において、前記処理動作の流れを示す関係、前記処理動作に必要な関係を記憶する対話構造記憶ステップと、
    前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別ステップと、
    前記判別ステップによる判別の結果に応じて、前記対話構造記憶ステップに記憶された前記二要素間の関係を変更する変更ステップと、
    を含むことを特徴とする対話スクリプト作成支援方法。
  5. ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作、及びそれらの関係を示すコンピュータ上での処理動作をクラスを用いて記述するスクリプトを記憶する知識構造の記憶ステップと、
    前記クラスに属する要素のうちの少なくとも二要素間の関係において、前記処理動作の流れを示す関係、前記処理動作に必要な関係を記憶する対話構造記憶ステップと、
    前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別ステップと、
    前記判別ステップによる判別の結果に応じて、前記対話構造記憶ステップに記憶された前記二要素間の関係を変更する変更ステップと、
    をコンピュータに実行させる、対話スクリプト作成支援プログラム。
JP2008068786A 2008-03-18 2008-03-18 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム Active JP4881903B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008068786A JP4881903B2 (ja) 2008-03-18 2008-03-18 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008068786A JP4881903B2 (ja) 2008-03-18 2008-03-18 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009223720A true JP2009223720A (ja) 2009-10-01
JP4881903B2 JP4881903B2 (ja) 2012-02-22

Family

ID=41240407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008068786A Active JP4881903B2 (ja) 2008-03-18 2008-03-18 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4881903B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012012A (ja) * 2011-06-29 2013-01-17 Yahoo Japan Corp 対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラム
JP2013012013A (ja) * 2011-06-29 2013-01-17 Yahoo Japan Corp 対話エージェント装置、対話方法及び対話プログラム
JP2018010610A (ja) * 2016-07-01 2018-01-18 パナソニックIpマネジメント株式会社 エージェント装置、対話システム、対話方法及びプログラム
WO2020240757A1 (ja) * 2019-05-29 2020-12-03 富士通株式会社 分析支援プログラム、分析支援方法および情報処理装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01161441A (ja) * 1987-12-17 1989-06-26 Hitachi Ltd 双方向推論の高速処理方式
JPH1091649A (ja) * 1996-08-12 1998-04-10 Ncr Internatl Inc 構造化情報空間での情報検索方法及び装置
JP2001357053A (ja) * 2000-06-12 2001-12-26 Matsushita Electric Ind Co Ltd 対話装置
JP2003116182A (ja) * 2001-10-05 2003-04-18 Ntt Comware Corp 電気機器遠隔制御システム、その方法、そのプログラム及びそのプログラムが記録された記録媒体
JP2003529137A (ja) * 1999-12-14 2003-09-30 デフィニエンス アクチエンゲゼルシャフト データ構造を処理する方法
JP2005267616A (ja) * 2004-02-03 2005-09-29 Sap Ag データベース管理システムおよびデータベース管理方法
JP2006172280A (ja) * 2004-12-17 2006-06-29 Keywalker Inc 自動対話その他の自動応答出力作成方法及び自動対話その他の自動応答出力作成装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01161441A (ja) * 1987-12-17 1989-06-26 Hitachi Ltd 双方向推論の高速処理方式
JPH1091649A (ja) * 1996-08-12 1998-04-10 Ncr Internatl Inc 構造化情報空間での情報検索方法及び装置
JP2003529137A (ja) * 1999-12-14 2003-09-30 デフィニエンス アクチエンゲゼルシャフト データ構造を処理する方法
JP2001357053A (ja) * 2000-06-12 2001-12-26 Matsushita Electric Ind Co Ltd 対話装置
JP2003116182A (ja) * 2001-10-05 2003-04-18 Ntt Comware Corp 電気機器遠隔制御システム、その方法、そのプログラム及びそのプログラムが記録された記録媒体
JP2005267616A (ja) * 2004-02-03 2005-09-29 Sap Ag データベース管理システムおよびデータベース管理方法
JP2006172280A (ja) * 2004-12-17 2006-06-29 Keywalker Inc 自動対話その他の自動応答出力作成方法及び自動対話その他の自動応答出力作成装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012012A (ja) * 2011-06-29 2013-01-17 Yahoo Japan Corp 対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラム
JP2013012013A (ja) * 2011-06-29 2013-01-17 Yahoo Japan Corp 対話エージェント装置、対話方法及び対話プログラム
JP2018010610A (ja) * 2016-07-01 2018-01-18 パナソニックIpマネジメント株式会社 エージェント装置、対話システム、対話方法及びプログラム
WO2020240757A1 (ja) * 2019-05-29 2020-12-03 富士通株式会社 分析支援プログラム、分析支援方法および情報処理装置
JPWO2020240757A1 (ja) * 2019-05-29 2021-11-18 富士通株式会社 分析支援プログラム、分析支援方法および情報処理装置
JP7272429B2 (ja) 2019-05-29 2023-05-12 富士通株式会社 分析支援プログラム、分析支援方法および情報処理装置

Also Published As

Publication number Publication date
JP4881903B2 (ja) 2012-02-22

Similar Documents

Publication Publication Date Title
CN112136124B (zh) 用于与计算机实现的自动助理进行人机对话会话的依赖图谈话建模
JP5368924B2 (ja) 自然言語ユーザインタフェースを漸進的に開発する装置及び方法
TWI684881B (zh) 基於機器翻譯的自動生成重述以產生一對話式代理人的方法、系統及非暫態機器可讀取媒體
US9805718B2 (en) Clarifying natural language input using targeted questions
US8935163B2 (en) Automatic conversation system and conversation scenario editing device
JP6819988B2 (ja) 音声対話装置、サーバ装置、音声対話方法、音声処理方法およびプログラム
KR20220100729A (ko) 서드 파티 에이전트를 사용하기 위한 호출 요청 생성 및 전송
US11295092B2 (en) Automatic post-editing model for neural machine translation
JP2019061662A (ja) 情報を抽出する方法及び装置
JP2004005530A (ja) 音声対話インターフェースを利用した情報提供装置及びその方法
US20200210505A1 (en) Electronic apparatus and controlling method thereof
JPH07140998A (ja) 音声認識インターフェース
US8509396B2 (en) Automatic creation of complex conversational natural language call routing system for call centers
KR102170088B1 (ko) 인공지능 기반 자동 응답 방법 및 시스템
JP7371135B2 (ja) 特定話者スピーチモデルを使用した話者認識
KR20200011483A (ko) 사용자 구성의 맞춤형 인터렉티브 대화 애플리케이션
JP4881903B2 (ja) 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム
JP7067546B2 (ja) データ構造化装置、データ構造化方法およびプログラム
US20060031853A1 (en) System and method for optimizing processing speed to run multiple dialogs between multiple users and a virtual agent
JP4824043B2 (ja) 自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法および自動応答作成装置
Gupta et al. Desktop Voice Assistant
Skorikov et al. Voice-controlled intelligent personal assistant
US20230140480A1 (en) Utterance generation apparatus, utterance generation method, and program
CN111104118A (zh) 一种基于aiml的自然语言指令执行方法及系统
WO2022249222A1 (ja) 対話装置、対話方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4881903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350