JP4824043B2 - 自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法および自動応答作成装置 - Google Patents

自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法および自動応答作成装置 Download PDF

Info

Publication number
JP4824043B2
JP4824043B2 JP2008009458A JP2008009458A JP4824043B2 JP 4824043 B2 JP4824043 B2 JP 4824043B2 JP 2008009458 A JP2008009458 A JP 2008009458A JP 2008009458 A JP2008009458 A JP 2008009458A JP 4824043 B2 JP4824043 B2 JP 4824043B2
Authority
JP
Japan
Prior art keywords
response
knowledge structure
term
relationship
knowledge
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.)
Active
Application number
JP2008009458A
Other languages
English (en)
Other versions
JP2009169840A (ja
Inventor
清 新田
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 JP2008009458A priority Critical patent/JP4824043B2/ja
Publication of JP2009169840A publication Critical patent/JP2009169840A/ja
Application granted granted Critical
Publication of JP4824043B2 publication Critical patent/JP4824043B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ユーザのメッセージに対応して応答するプログラムに関する。特に、ユーザが入力したメッセージからキーワードを抽出して迅速に応答するプログラムに関する。
従来、利用者が入力したテキスト等に対応して自然言語の対話を行うチャットボットと言われるプログラムが存在する。これらは、ユーザが入力したメッセージからキーワードを抽出し、データベース中のワードにマッチした応答を行うプログラムである。ユーザによって入力された情報を状況特定データと照合して入力された情報に対応する状況特定データを判断し、入力された情報に対応する状況特定データに得点を加算して状況特定データが属する状況データの評価点数を集計し、評価点数の集計状況に応じて入力された情報に対して応答すべき状況データを判断して、応答出力生成手段により応答すべき状況データに関連付けられた出力形式に従って応答データを生成して出力処理するシステムが開示されている(特許文献1参照)。
また、自然言語処理に係る技術分野において、自然言語データに含まれる構成要素のデータ構造又は自然言語処理アルゴリズムの関係を取り扱うためにグラフ理論が用いられ、辺(エッジ)と頂点(ノード)を用いるグラフ構造により自然言語データの構成要素の関係を示す手法が知られている(非特許文献1参照)。
特開2006−172280号公報 ウィキペディア・フリー百科事典、「グラフ理論」[online]、平成19(2007)年10月25日(木)16時05分最終更新、[平成19(2007)年12月18日検索]、インターネット、<URL: http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96>
しかし、従来技術又は従来技術と当業公知の技術の組合せにおいては、ユーザから入力されたメッセージに対応する応答を抽出する為に、状況と動作とが対応付けられたデータベースの項目をひとつずつ当たって検索を行わなければならず、応答のための情報の抽出に時間を要するという課題があった。
本発明は、上記課題を解決するために、システムの活動によってその構成要素を外部から取り込む等の手法を有する、自己創出性を備えた知識構造を提供し、これにより自然言語対話におけるユーザへの応答を迅速にすることを目的とする。
さらに、本発明は、対話エージェントの知識構造に前記自己創出性を備えるために、意味ネットワークを拡張した拡張意味ネットワークという知識構造を提供することを目的とする。拡張意味ネットワークは、辺と頂点からなる公知のグラフ理論に加えて、辺を修飾する辺を表現する特徴を備えることにより、柔軟性と拡張性に優れた、対話エージェントの知識構造を実装することを目的とする。
本発明では、以下のような解決手段を提供する。
(1) コンピュータ処理可能な言語に含まれる状況と動作との関係を含む集合である知識構造を記憶部に作成する知識構造の構成方法であって、前記関係は始点、終点を要素に含む集合であり、前記状況を特定するための用語及び前記動作を特定するための用語を前記記憶部に記憶するステップと、前記状況及び前記動作及び前記関係のそれぞれにクラスを定義するステップと、前記状況を特定するための用語及び前記動作を特定するための用語のお互いの関係を前記要素として前記知識構造に含めて記憶するステップと、前記クラスと前記関係との所属関係又は従属関係を要素として前記知識構造に記憶するステップと、を含み、ここに前記関係は前記始点及び前記終点を共に空要素とする関係であるか、又は前記始点及び前記終点を共に前記知識構造の要素とする関係であるかのいずれかである、知識構造の構成方法。
本発明に係る知識構造の構成方法は、コンピュータを用いて自動応答を実施するための対話プログラム等に用いられる。
本発明に係る知識構造を作成する記憶部は、コンピュータ資源に含まれ主記憶又は仮想記憶として用いうる半導体メモリ等の電気的記憶手段、磁気ディスク等の磁気的記憶手段、光磁気ディスク等の光学的記憶手段等を適宜含む。
本発明に係る知識構造の構成方法は、状況と動作の両者を要素とする言語の集合である知識構造を用意すること、及び、典型的には状況を始点とし動作を終点とする関係もまた前記知識構造の要素でありうることにおいて従来技術と共通点を有する。すなわち、公知のグラフ構造等を用いて、従来技術に係る始点と終点により関係を記述する手法は、本発明においても同様に用いることができる。ここに、グラフ構造を用いる知識構造の表現手法においては、始点及び終点は「頂点」又は「ノード」等と呼ばれ、始点から終点への関係は「辺」又は「エッジ」等と呼ばれる。
従来技術に係るグラフ理論においては、始点又は終点の集合を用意し、始点及び終点の組合せを用いて辺の集合を用意する。すなわち、辺は始点から終点に向かって定義される。
これに対して、本発明に係る知識構造に属する要素の関連付けは、頂点と辺を特に区別せずに要素を用意し、2の要素の組合せにおいて、始点及び終点が共に空要素である組合せを頂点として扱い、始点及び終端が共に空要素でない組合せを辺として扱う。すなわち、知識構造に属する2の要素を組合せることにより、当該組合せが頂点及び辺として取り扱われる。
拡張意味ネットワークは、このようにして2の要素を組合せることによりグラフ構造の頂点又は辺を表す手法である。
本発明に係る知識構造においては、知識構造に属する2の要素を組合せれば頂点でも辺でもありうる。具体的には、終点は状況でもよく動作でもよく、あるいは状況と動作の関係でもよい。この点において、本発明に係る知識構造に属する要素の関連付けは従来技術にない特徴を有する。すなわち、状況と状況の関連付け、状況と動作の関連付け、動作と動作の関連付け、さらにこれらの関連付けを1の関係とする動作と1の関係の関連付け等を実施することが可能になる。従って、本発明に係る知識構造の構成方法においては、従来の意味ネットワークに加えて、拡張意味ネットワークを提供することにより、知識構造に含まれる要素同士の関連付け及び要素と関係の関連付け等を柔軟に実施することが可能になる。
本発明に係る知識構造をグラフ構造を用いて表現することにおいては、従来技術と同様の始点から終点への関連付けに加えて、関連付けを表す辺を修飾する辺を表現しうる。すなわち、辺の終点は辺でもありうる。このような、従来技術を拡張した拡張意味ネットワークを用いて、本発明に係る知識構造の構成方法は、意味又は記憶の構造を表すための知識構造を構成しうる。
(2) 前記状況及び前記動作及び前記関係のそれぞれにクラスを定義するステップにおいて、クラスを定義するために以下の数式を用いる、(1)に記載の知識構造の構成方法。
Figure 0004824043
ここに、ASNは拡張意味ネットワーク(Augmanted Semantic Network)であり、EASNは拡張意味ネットワークの集合であり、eは集合Eの要素である二項組要素であり、eはEASNの要素である始点(301)等であり、eはEASNの要素である終点(302)等であり、nullは空要素であり、さらに、拡張意味ネットワークは次の要素集合を有し、
Figure 0004824043
Figure 0004824043
Figure 0004824043
ここに、ASNVEは拡張意味ネットワークASNの構成要素であり、Eは拡張意味ネットワークにおける頂点の集合であり、Eは拡張意味ネットワークにおける辺の集合である。
数式1は、二項組を構成するe、eは要素集合EASNの要素か、あるいは空要素nullであることを表す。
数式2は、本発明に係る拡張意味ネットワークが頂点の集合E及び辺の集合Eを構成要素とすることを表す。
数式3は、頂点の集合Eは二項組要素e、eが両方とも空要素であるときの要素e(e,e)を含むことを表す。
数式4は、辺の集合Eは二項組要素e、eが辺の集合Eに属するときの要素e(e,e)を含むことを表す。
数式3及び数式4は、共通して要素e(e,e)を用いて表現される。すなわち、本発明に係る拡張意味ネットワークにおいては、要素に含まれる辺の終点が終点eだけではなく辺e(e,e)でもありうることにおいて、公知の意味ネットワークとの相違点を有する。従って、本発明に係る拡張意味ネットワークにおいては、始点e(304)から始まる辺e(305)の終点を辺e(303)としうる。
(3) 前記状況を特定するための用語又は前記動作を特定するための用語を受信するステップと、受信した前記状況を特定するための用語又は前記動作を特定するための用語を選別して記憶するステップと、をさらに含む、(1)又は(2)に記載の知識構造の構成方法。
受信の手段は、ユーザがキーボード等を用いて入力してもよく、適宜通話解析プログラム等を用いて通話をコンピュータ処理可能な文字情報に変換して入力してもよく、詳細は問わない。
選別する手段は、予め定義したキーワード等に基づいて特定の用語を排除する等の公知の手段等でもよく、記憶する手段はコンピュータ可読媒体等でもよく、選別して記憶するための手段は適宜設計しうる。
これにより、本発明に係る知識構造の構成方法は、外部から送信された用語、語句等を受信し、選別して記憶することにより、用語等を本発明に係る知識構造に追加することが可能になる。
(4) 会話の場、会話履歴、会話文脈を要素に有する集合である談話構造を生成するステップと、前記会話の場をひとつの要素として前記知識構造に記憶するステップと、会話の発生を要素とする全順序つき集合を前記知識構造に記憶するステップと、前記会話の発生及び前記会話の発生の順序隣接関係を前記知識構造に記憶するステップと、をさらに含む、(1)から(3)のいずれかに記載の知識構造の構成方法。
談話構造は、特に、コンピュータ処理可能な文字コードを用いて表現される会話文脈を要素に有する集合を含む。
会話の場は、具体的には、パーソナルコンピュータ、携帯電話等のネットワーク端末を介して接続した複数のユーザが相互に文字情報又は音声情報等の交換を実質的にリアルタイムに実施しうる、チャットルームサービス、ネットワーク会議システム等のサービスを含む。
全順序付き集合は、具体的には、会話の発生ごとに会話の時間的順序を数字の大小と関連付けて規則的に記憶する手段を要素に有する集合を含む。
これにより、本発明に係る知識構造の構成方法は、会話の発生を検出すると、時間的順序を規則的に記憶する手段を用いてそれぞれの会話の発生を識別して本発明に係る知識構造に追加し、文字コードを用いて表現される会話文脈を知識構造に取り込むことが可能になる。
(5) 関係クラス、方向、到達先を要素に含む集合であるたどり構造を生成するステップと、前記知識構造に含まれる要素のうちで始点及び終点が設定されている要素を抽出するステップと、前記抽出された始点に対してそれ自身のクラス、順方向の関連付けを示すフラグ、終点の組合せをたどり構造に追加するステップと、前記抽出された終点に対してそれ自身のクラス、逆方向の関連付けを示すフラグ、始点の組合せをたどり構造に追加するステップと、をさらに含む、(1)から(4)のいずれかに記載の知識構造の構成方法。
たどり構造を生成するステップは、すでに記憶された知識構造の要素に基づいて、新たな要素を生成するステップである。
関係クラスは、本発明に係る知識構造に含まれる要素である、状況又は動作の関係が属するクラスである。具体的には、このクラスは、当該関係が動作から動作への関係であるのか、1の状況を表すのか等を示しうる。クラスを用いてたどり構造を生成することにより、例えば同じユーザのクラスを定義しうる複数の関係を新たに生成しうる。これにより、過去に相互に関連付けのなかった要素に対して、クラスを通じてユーザが共有する手段を提供しうる。
たどり構造を生成し、順方向又は逆方向の関連付け、及び始点又は終点の組合せをたどり構造に追加することにより、本発明に係る知識構造はすでに記憶された知識構造の要素から新たな要素を生成しうる。
これにより、本発明に係る知識構造は、拡張意味ネットワークにより知識構造を柔軟に構成しうることに加えて、再帰的にたどり構造を生成することで、知識構造の構成方法に拡張性、自己改変性、共有性を備えうる。
(6) (1)から(5)のいずれかに記載の前記知識構造の構成方法を用い、前記状況を特定するための用語を受信することに応答して、前記たどり構造の集合から、動作関係のクラス及び順方向の関連付けを示すフラグの組合せが存在する知識構造の要素を抽出するステップと、前記抽出された少なくとも1つの要素から、ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、談話構造と最も関連性の高い要素を選択する規則から選ばれる規則に基づいて要素を選択するステップと、を用いて前記動作を特定するための用語を決定する、自動応答の作成方法。
状況を特定するための用語は、単語、文節、文等の、拡張意味ネットワークにおける頂点又は辺に格納されうる語句であればよい。
あるいは、本発明に係る拡張意味ネットワークは、前記用語の実体をインスタンスとして扱い、インスタンスとして扱うことのクラスを定義して当該クラスを頂点又は辺に格納してもよい。これにより、用語等の実体が巨大なデータであっても、拡張意味ネットワークにおける頂点又は辺は、クラス定義の語句又は記号を表すデータでありうる。従って、本発明に係る自動応答の作成方法は、応答を作成するためのコンピュータ・プログラムのメモリ消費量を抑えて動作を安全に維持しうる。
たどり構造の集合に属する要素は、(5)において前述のように、順方向又は逆方向の関連付けを有する。状況から動作を特定するための用語を決定することにおいては、たどり構造に含まれる順方向の関連付けを用いる。これにより、全ての知識構造に属する要素をひとつひとつ調べて応答を作成する手順は不要であり、順方向の関連付けを示すフラグに基づいて応答を作成すればよく、自動応答の作成は迅速化されうる。
また、動作を特定するための用語の決定は、談話構造と最も関連性の高い要素を選択する規則を含み、所定の規則から適宜選択しうる。これにより、内容が的確な自動応答を作成しうると共に、非論理的応答を含む自動応答を作成することが可能になり、ユーザの立場から見た自動応答の単調さを避けうる。
(7) (1)から(6)のいずれかの各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
これにより、本発明に係る知識構造の構成方法及び自動応答の作成方法を、コンピュータを用いて実施することが可能になる。
(8) (1)から(6)のいずれかに記載の前記知識構造の構成方法を用いる自動応答の作成装置であって、前記状況を特定するための用語及び前記動作を特定するための用語を記憶する手段と、ユーザが前記状況を特定するための用語を入力することに応答して、前記たどり構造の集合から、動作関係のクラス及び順方向の関連付けを示すフラグの組合せが存在する知識構造の要素を抽出する手段と、前記抽出された少なくとも1つの要素から、ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、談話構造と最も関連性の高い要素を選択する規則から選ばれる規則に基づいて前記動作を特定するための用語を選択する手段と、前記選択した用語を前記ユーザに送信する手段と、を備える、自動応答の作成装置。
ユーザによる用語の入力のための手段は、適宜、ネットワーク端末等を用いうるが、これに限らない。
これにより、本発明に係る知識構造の構成方法の一実施形態として、(5)において前述の自動応答の作成方法を実施するための装置を提供しうる。
(9) (1)から(6)のいずれかに記載の知識構造を記憶するコンピュータ可読媒体。
これにより、本発明に係る知識構造の構成方法において、要素が追加され又は参照される知識構造をコンピュータ可読媒体として利用することができる。コンピュータ可読媒体は計算機から取り外し可能でもよい。これにより、本発明に係る知識構造はコンピュータ可読媒体として取り扱いうる。
本発明によれば、自動的な応答を作成するために、状況と動作の関係を表現しうる拡張意味ネットワークの知識構造を用いて、ユーザからのメッセージにコンピュータが応答することにより、迅速にユーザのメッセージに対応する応答を行うことが出来るという効果がある。
また、本発明によれば、知識構造に含まれる頂点だけでなく辺をも修飾する辺を表現しうる拡張意味ネットワークを備えて対話エージェントが動作することにより、柔軟性と拡張性に優れた、対話エージェントの知識構造を実装することが出来るという効果がある。
また、本発明によれば、知識構造の中に談話構造を構成して自然言語に基づく会話を取り扱いうるという効果がある。また、知識構造の中にたどり構造を構成することにより、すでに記憶された知識構造の要素から新たな要素を生成しうるという効果がある。
さらに、本発明によれば、知識構造に含まれる要素にクラスを定義し、クラスを用いて要素の相互の関係を取り扱うことにより、要素の拡張を容易にすると共に、要素の実体であるインスタンスが巨大なデータであっても応答生成等のプログラムのメモリ消費を抑えて動作を安全に維持しうるという効果がある。
以下、本発明の実施形態について図を参照しながら説明する。なお、本発明に係る知識構造はコンピュータ機器が有する記憶部に作成される。前記記憶部はコンピュータ資源に含まれ主記憶又は仮想記憶として用いうる半導体メモリ等の電気的記憶手段、磁気ディスク等の磁気的記憶手段、光磁気ディスク等の光学的記憶手段等を適宜含む。
[拡張意味ネットワークの構造]
図1は、本発明及び従来技術の一実施形態に係る、知識構造の基本構造における要素の関係を示す図である。
まず、意味又は記憶の構造を表すためのモデルに用いられる、公知の意味ネットワークの形式について説明する。
図1(b)は、意味ネットワークを表すグラフ構造を示す図である。辺e(312)は、始点v(310)及び終点v(311)で定義され、始点から終点に向かう矢印で表される。意味ネットワークは次の数式5から数式7を用いて表される形式を有する。
Figure 0004824043
Figure 0004824043
Figure 0004824043
ここに、SN:意味ネットワーク(Semantic Network)
SN:意味ネットワークに含まれる頂点(Vertex)の集合
SN:意味ネットワークに含まれる辺(Edge)の集合
v:頂点の集合Vの要素
e:辺の集合Eの要素
:始点(310)等、VSNの要素
:終点(311)等、VSNの要素
である。
数式5は、意味ネットワークが頂点の集合VSN及び辺の集合ESNで構成されることを表す。
数式6は、頂点の集合VSN要素vを有することを表す。
数式7は、辺の集合ESNは辺の要素eを有し、辺の要素eは始点v及び終点vで定義され、始点v及び終点vは頂点の集合VSNに属することを表す。
次いで、本発明に係る拡張意味ネットワークの形式について説明する。
図1(a)は、拡張意味ネットワークを表すグラフを示す図である。辺e(303)は始点e(301)及び終点e(302)で定義され、始点から終点に向かう矢印で表される。辺e(305)は始点e(304)を有して終点は辺e(303)である。本発明に係る拡張意味ネットワークは次の形式を有する。
Figure 0004824043
ここに、ASN:拡張意味ネットワーク(Augmanted Semantic Network)
ASN:拡張意味ネットワークの集合
e:集合Eの要素である二項組要素
:始点(301)等、EASNの要素
:終点(302)等、EASNの要素
null:空要素
である。
数式8は、二項組を構成するe、eは要素集合EASNの要素か、あるいは空要素nullであることを表す。さらに、拡張意味ネットワークは、次の要素集合を有する。
Figure 0004824043
Figure 0004824043
Figure 0004824043
ここに、ASNVE:拡張意味ネットワークASNの構成要素
:拡張意味ネットワークにおける頂点の集合
:拡張意味ネットワークにおける辺の集合
である。
数式9は、本発明に係る拡張意味ネットワークが頂点の集合E及び辺の集合Eを構成要素とすることを表す。
数式10は、頂点の集合Eは二項組要素e、eが両方とも空要素であるときの要素e(e,e)を含むことを表す。
数式11は、辺の集合Eは二項組要素e、eが辺の集合Eに属するときの要素e(e,e)を含むことを表す。
数式10及び数式11は、共通して要素e(e,e)を用いて表現される。すなわち、本発明に係る拡張意味ネットワークにおいては、要素に含まれる辺の終点が終点eだけではなく辺e(e,e)でもありうることにおいて、公知の意味ネットワークとの相違点を有する。従って、本発明に係る拡張意味ネットワークにおいては、図1(a)に示したように、始点e(304)から始まる辺e(305)の終点を辺e(303)としうる。
本発明に係る拡張意味ネットワーク、及び公知の意味ネットワークにおいて、頂点が概念や事象を格納するために用いられ、頂点を結ぶ辺がそれらの関係の意味付けを格納するために用いられることは共通している。また、頂点や辺の具体的な意味は外部から与えることにおいても共通である。
本発明に係る拡張意味ネットワークにおいては、辺を辺の接続対象にできるという自由度を発生させることができる。
[知識の格納の例]
図2は、本発明及び従来技術の一実施形態に係る拡張意味ネットワークを用いて格納される知識の例を示す図である。
一例として、ユーザから、「車」を意味する英単語「car」、自然言語のひとつの文を構成する他の文言「is a」、及び前記「車」の上位概念である「乗り物」を意味する英単語「vehicle」が与えられた場合を示す。
図2(a)は、本発明の一実施形態に係る拡張意味ネットワークを用いて格納される知識の例を示す図である。英単語「car」は要素321に、文言「is a」は要素323に、英単語「vehicle」は要素322に、それぞれ格納される。要素321及び要素322は、それぞれ辺325の始点及び終点でありうる。要素323及び辺325は、それぞれ辺324の始点及び終点でありうる。
図2(b)は、従来技術に係る意味ネットワークを用いて格納される知識の例を示す図である。英単語「car]は始点331に、文言「is a」は辺333に、英単語「vehicle」は終点332に、それぞれ格納される。
本発明に係る拡張意味ネットワークにおいては、従来技術に係る意味ネットワークとは異なり、辺を修飾する文言を要素として扱いうる。すなわち、辺を修飾する要素を、始点又は終点になりうる要素と同様に、他の要素を修飾する又は他の要素から修飾されるオブジェクトとして扱いうる。これにより、従来技術よりも柔軟で拡張性に優れる知識構造を提供しうる。
[自動応答出力作成システムの構成]
図3は、本発明の一実施形態に係る自動応答出力作成システムの構成を示す図である。自動応答出力作成システム20は、自動応答出力作成装置10、知識データベース(知識DB)30、ユーザ端末60、ネットワーク38等を適宜含む。ネットワーク38はイントラネットでもよく、インターネット等でもよい。ユーザ端末60は、パーソナルコンピュータ、携帯電話端末等の、ネットワーク接続可能な端末を含む。知識DB30は、ユーザから送信された文言に含まれる任意の語句、自動応答作成装置10が応答のために用いる知識及び語句、作成された応答に含まれる任意の語句、自然言語の分野における生成文法規則及び語句の頻度等の派生的な情報等を、適宜記憶する。
図3にはネットワーク38を介して相互に接続する複数機器を示したが、これに限らず、自動応答作成装置10及び知識DB30及びユーザインタフェース(図示せず)の機能を1台の機器に備えてもよい。
本発明の一実施形態に係る自動応答出力作成システムを用いることにより、ユーザの入力に対する応答を自動的に生成するシステムを提供しうる。
[知識DBデータ構造]
図4は、本発明の一実施形態に係る、知識データベース(知識DB)のデータ構造を表す図である。
知識DBデータ構造80は、識別子82により個別に識別されるデータの1つについて関連付けられる、始点84、終点85、ラベル86、ポインタ88等を含む。これらに限らず、知識DBデータ構造80に含まれ関連付けられる情報は適宜設計しうる。
識別子82は、記憶されるデータを識別しうる形式であれば数字でも文字でもよく、適宜設計しうる。
始点84及び終点85は、知識DBデータ構造80に記憶されるデータの他のデータとの修飾の関係を示す。1つの識別子を有するデータに対して始点84及び終点85の1つずつが定義されてもよく、複数が定義されてもよく、空白でもよい。始点84及び終点85がいずれも空白であることは、そのデータが拡張意味ネットワークにおける頂点であることを示すので、拡張意味ネットワークにおいて取り扱いうるデータに含まれる。
ラベル86は、識別子82により個別に識別されるデータの1つについて、予め拡張意味ネットワークにおいて予約されるか、又は、ユーザにより定義される領域である。前記予約は、より具体的には、拡張意味ネットワークにおいて取り扱われる要素にクラスを定義し、要素が追記される等の拡張意味ネットワークの動作において生成される要素同士の関係を予め定義するためのものである。
例えば、予約されるクラスの定義には次のものが用いられうる。
(クラス1)vroot:全知識要素の開始点
(クラス2)vusr:ユーザのクラス
(クラス3)vact:動作のクラス
(クラス4)vins:インスタンス化関係のクラス
rootは、全知識要素の開始点であり、他の任意の要素を定義するための始点でありうる。vusrは、次に説明する動作クラスを目的やユーザに応じて整理するためのクラスである。vactは、本発明の実施形態に係る自動対話応答生成システムが実施する対話応答等の動作を知識要素に含めるためのクラスである。vinsは、本発明の実施形態に係る自動対話応答生成システム等において、メモリ上に配置されたデータの集合等の実体を示すためのクラスである。例えば、基本的な応答動作をとりまとめる頂点ubrは、クラスvusrのインスタンスである枝uによってvrootから接続され定義される。基本的な動作であるkeyword、relation、message等は、それぞれクラスvactのインスタンスである枝によって頂点ubrから接続され定義されうる。頂点ubrや基本的な動作を表す頂点のラベル86には、知識DB30を人が管理する際に便利な説明文字が含まれうる。
ポインタ88は、1つの識別子を有するデータであって、上述の始点84、終点85、又はラベル86以外の情報を含むデータを知識DB30に記憶し、取り扱うことができるようにするためのものである。例えば、当業に公知の文字列処理関数等は、ポインタ88に当該関数を関連付けることにより、知識DB30に取り込むことが可能になる。
本発明の実施形態に係る自動対話生成システム等は、知識DBデータ構造80を備えることにより、拡張意味ネットワークにおいて取り扱いうるデータ、及び、拡張意味ネットワークとは特に関連性のない一般的な文字列処理関数等を、いずれも知識DB30に取り込み、用いうる。
[知識構造の要素]
図5は、本発明の一実施形態に係る、拡張意味ネットワークの要素が含まれる連結グラフを示す図である。
拡張意味ネットワークの要素は知識構造を構成することに用いられる。それぞれの要素は、前述の全知識要素の開始点であるvrootとの関係を有する。この関係は、例えば、次式のように定義する連結グラフを用いて表しうる。
Figure 0004824043
ここで、Ecg(e):要素eからの連結グラフ
である。
本発明に係る知識構造の要素は、vrootを始点とする連結グラフに含まれる。
数式12の右辺に{}を用いて囲まれた4個の集合は、それぞれ、要素eの集合、始点e’及び終点e’’を有する辺e(e,e’’)の集合、辺e(e’,e)の終点である要素eの集合、辺e(e,e’)の始点である要素eの集合を表し、これらを連結グラフとして取り扱う。
図5に、これらの連結グラフの例を示す。連結グラフ340は、要素e、e、e及び、要素eから要素eへの辺、要素eから要素eへの辺を含む。
連結グラフ350についても同様である。数式12の右辺第3項に含まれる終点である要素eは、数式11を用いて前述のように、辺により修飾される辺であってもよい。例えば、連結グラフ350に、要素eを始点とし、要素eから要素e10への辺を終点とする辺を含むことができる。
本発明の一実施形態に係る知識構造の構成方法において、拡張意味ネットワークの要素を含む連結グラフを用いることにより、辺を修飾する辺等を知識構造の要素に含めることが可能になる。
ユーザのクラスvusrは、知識構造のユーザ関係をインスタンスとする。ユーザ関係は必ずルートvrootを開始点とする。
ユーザ関係は頂点としての到達点uを含む。知識構造は、この到達点uにより分割される。すなわち、u、u、…、u等により表される複数の到達点がある場合に、vrootを始点とする知識構造は、それぞれの到達点u、u、…、uから先の関連付けにおいては、到達点uの数に分割される。換言すれば、知識構造を分割しうる頂点uはユーザである。
動作のクラスvactは、知識構造の動作関係をインスタンスとする。動作関係は必ずユーザuを開始点とする。
動作関係は頂点としての到達点aを含む。この到達点aは対話エージェント等の動作を意味する。換言すれば、ユーザuを開始点とする到達点aは動作である。
対話エージェントの動作はプログラミング言語により実装されうる。動作はプログラミング言語でコーディングされた関数等のポインタと関連付けられうる。動作は実際のデータに対してはクラスである。そのデータインスタンスがアクセスされたときに対話エージェントとしての動作を実行する。実行する動作の種類としては、発話、システム資源の操作、知識構造の変更等がある。
インスタンス化関係のクラスvinsは、知識構造のインスタンス関係をインスタンスとする。インスタンス関係は必ず頂点cを開始点とする。
インスタンス関係の到達点は任意の要素iであり、頂点cが意味するクラスに所属することを意味する。要素iを頂点cのインスタンスと呼び、頂点cを要素iのクラスと呼ぶ。インスタンスは複数のクラスに所属してもよい。ほとんど全ての要素は少なくともひとつのクラスのインスタンスである。
[自動応答出力作成装置の構成]
図6は、本発明の一実施形態に係る、自動応答出力作成装置のハードウェア構成を示す図である。以下、自動応答出力作成装置をサーバとして説明するが、パーソナルコンピュータを自動応答出力作成装置として用いる場合においても基本的には同様である。
自動応答出力作成装置10は、制御部108を構成するCPU110(マルチプロセッサ構成ではCPU120等複数のCPUが追加されてもよい)、バスライン107、通信I/F140、メインメモリ150、BIOS(Basic Input Output System)160、USBポート190、I/Oコントローラ170、並びにキーボード及びマウス180等の入力手段や表示装置122を備える。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を主としてバックアップのために使用しうる。
サーバに提供されるプログラムは、ハードディスク174、光ディスク177、又はメモリカード等の記録媒体に格納されて提供される。このプログラムは、I/Oコントローラ170を介して、記録媒体から読み出され、又は通信I/F140を介してダウンロードされることによって、サーバにインストールされ実行されてもよい。
上述のプログラムは、内部又は外部の記憶媒体に格納されてもよい。ここで、記憶媒体としては、磁気記録媒体、光磁気記録媒体、光学記録媒体、電子媒体を含むが、これらに限定されない。前記磁気記録媒体には、磁気テープ、フロッピー(登録商標)ディスク、ハードディスク174、磁気ランダムアクセスメモリ(MRAM)等を含み、光磁気記録媒体には光磁気ディスク(MO及びMD)等を含み、光学記録媒体には追記型コンパクトディスク(CD)、追記型デジタル多目的ディスク(DVD)、追記型ブルーレイディスク、追記型ホログラフィック・ディスク等を含み、電子媒体には電気書き込み可能読み出し専用メモリ、ランダムアクセスメモリ、フラッシュメモリ、シリコン・ストレージ・ディスク等を含む。また、専用通信回線やインターネット等の通信回線に接続されたサーバシステムに設けたハードディスク174又は光ディスクライブラリ等の記憶装置を記録媒体として使用し、通信回線を介してプログラムをサーバに提供してもよい。
ここで、表示装置122は、サーバ管理者によるデータの入力を受け付ける画面を表示したり、演算処理結果の画面を表示したりするものであり、ブラウン管表示装置(CRT)、液晶表示装置(LCD)等のディスプレイ装置を含む。入力手段は、ユーザによる入力の受け付けを行うものであり、キーボード及びマウス180等により構成してもよい。通信I/F140は、サーバを専用ネットワーク又は公共ネットワークを介して端末と接続しうるようにするためのネットワーク・アダプタである。通信I/F140は、モデム、ケーブル・モデム及びイーサネット(登録商標)・アダプタを含んでよい。
本発明の一実施形態に係る自動応答出力作成装置10のための知識構造を記憶する手段は、上記のメインメモリ150でもよく、ハードディスク174又はメモリディスク等の記憶媒体をメインメモリの一部として用いる仮想記憶でよく、メモリとして利用しうるものであれば詳細は問わない。あるいは知識構造を内蔵記憶媒体又はネットワークアクセス可能な記憶媒体等に記憶してもよい。知識構造を記憶するためのハードウェア資源は、コンピュータ処理可能な文字情報を記憶しうる手段であれば何でもよい。
以上の例は、自動応答出力作成装置10のハードウェア構成について主に説明したが、コンピュータに、プログラムをインストールして、そのコンピュータを自動応答出力作成装置10として動作させることにより上記で説明した機能を実現しうる。従って、本発明において一実施形態として説明した自動応答出力作成装置10により実現される機能は、上述の方法を前記コンピュータにより実行することにより、あるいは、上述のプログラムを前記コンピュータに導入して実行することによっても実現可能である。
[知識構造の動作、及び談話構造]
図7は、本発明の一実施形態に係る、知識構造の動作の例を示す図である。
全ての知識構造の動作は、前述の全知識要素の開始点Vroot(360)を始点とする拡張意味ネットワークを用いて記述されうる。
また、本発明に係る知識構造の要素である動作は、ユーザを開始点とする。すなわち、図7においては、ユーザu(361)はVroot(360)を始点とする辺との関連付けを有し、動作a(362)、a(363)…a(364)に対しては始点でありうる。さらに、ユーザu(361)と関連付けられうる動作a(362)、a(363)…a(364)は、それぞれの動作に関連付けられる関数ポインタf(365)、f(366)…f(367)を適宜含む。
具体的には、ユーザが発話の開始等の入力を始めることに応答して、本発明に係る知識構造の構成方法の実施手段は動作を開始しうる。例えば、本発明に係る知識構造の構成方法の実施手段は、ユーザが送信した「こんにちは」という文字情報を受信することを契機として、当該状況との関連付けを有する動作の中から、所定の規則に基づいて動作を選択し、選択された動作に含まれる会話の文脈である「お元気ですか」等の応答を生成してユーザに送信しうる。これにより、ユーザからのメッセージに対して応答を生成する動作を、コンピュータを用いて実施するための手順として作成することができる。
ここで、所定の規則には、ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、談話構造と最も関連性の高い要素を選択する規則を含む。これにより、内容が的確な自動応答を作成しうると共に、非論理的応答を含む自動応答を作成することが可能になり、ユーザの立場から見た自動応答の単調さを避けうる。
前述の知識構造の動作において、動作a(362)、a(363)…a(364)に、会話の場、会話履歴、会話文脈を要素に含む集合である談話構造を含めてもよい。
談話構造は、特に、コンピュータ処理可能な文字コードを用いて表現される会話文脈を要素に有する集合を含む。
ユーザu(361)は、動作a…aのそれぞれにおいて談話構造として表しうる会話の文脈を発話しうる。
会話の場は、具体的にはパーソナルコンピュータ、携帯電話等のネットワーク端末を介して接続した複数のユーザが相互に文字情報又は音声情報等の交換を実質的にリアルタイムに実施しうる、チャットルームサービス、ネットワーク会議システム等のサービスを含む。会話の場は、ひとつの要素として知識構造に記憶されうる。
それぞれの動作a…aにおいて、会話の発生を要素とする全順序つき集合を知識構造に記憶してもよい。全順序付き集合は、例えば、会話の発生ごとに会話の時間的順序を数字の大小と関連付けて規則的に記憶する手段を要素に有する集合を含む。また、会話の発生及び前記会話の発生の順序隣接関係を知識構造の要素として記憶してもよい。
これにより、本発明に係る知識構造の構成方法は、会話の発生を検出すると、時間的順序を規則的に記憶する手段を用いてそれぞれの会話の発生を識別して本発明に係る知識構造に追加し、文字コードを用いて表現される会話文脈を知識構造に取り込むことが可能になる。
[対話応答の例]
本発明の一実施形態に係る自動応答の作成方法として、キーワード応答を例示する。キーワード応答は、ユーザの発話中に予め定義したキーワードが出現した場合に、そのキーワードに関連付けた応答を実施する機能である。この機能を実現するために、キーワードと応答を関連付けたルールを、以下に示すように知識構造に格納する。
まず、ルールを格納する準備として、ユーザ定義キーワードへの応答を表す要素ukrを格納する。要素ukrは知識構造内のキーワード応答ルールにおける開始点である。本発明に係る知識構造においては、要素ukrを含むキーワード応答ルールの開始点は次式で表される。
Figure 0004824043
ここに、eur1:ユーザ関係を表す辺
:eur1がユーザ関係であることを表す辺
:iがインスタンス関係であることを表す辺
である。ユーザ関係を示す辺eur1はルートvrootから頂点ukrを結ぶ。辺eur1はユーザクラスvusrのインスタンスである。辺iは辺eur1がユーザ関係であることを示し、辺iは辺iがインスタンス関係であることを示す。辺iもインスタンス関係を意味するが、これを説明する辺は無限ネストを避けるために省略される。
次いで、動作キーワード、メッセージ、関係をそれぞれ表す要素akw、amsg、arelを格納する。要素akwは応答ルールのキーワード動作のクラスを、amsgは応答メッセージ動作のクラスを、arelはキーワードから応答メッセージ間への対応関係動作のクラスを、それぞれ意味する。本発明に係る知識構造においては、これらの要素は次式で表される。
Figure 0004824043
ここに、ear1、ear2、ear3は動作関係を示す辺である。
動作関係を示す辺ear1、ear2、ear3はユーザukrからそれぞれ頂点akw、amsg、arelを結ぶ。辺ear1、ear2、ear3は動作クラスvactのインスタンスである。辺i、i、iはそれぞれ辺ear1、ear2、ear3が動作関係であることを示し、辺i、i、iはそれぞれ辺i、i、iがインスタンス関係であることを示す。辺i、i、iもインスタンス関係を意味するが、これを説明する辺は無限ネストを避けるために省略される。
これらのルールを格納する準備の後に、ルールデータを格納する。
一例として、「カレー」というキーワードに対して、「おいしいですね!」という応答を行うルールを示す。キーワードインスタンスを意味する要素をk、応答メッセージインスタンスを意味する要素をmとする場合に、「カレー」というキーワードで「おいしいですね!」という応答を行うルールは、本発明に係る知識構造において、次式で表される。
Figure 0004824043
データ要素k、m、rはそれぞれ動作akw、amsg、arelのインスタンスである。辺i10、i12、i14はそれぞれ辺i、i11、i13がインスタンス関係であることを示す。辺i10、i12、i14もインスタンス関係を意味するが、これを説明する辺は無限ネストを避けるために省略される。
このように知識構造に格納されたデータを用いることにより、本発明に係る自動応答の生成方法の実施手段は、例えば、次の(R1)〜(R9)のような応答を生成して送信する動作を行いうる。
(R1)ユーザの発話「今日は暑いけどカレーは欠かせない。」を受信する。
(R2)ルートvrootからユーザ関係をたどり、ユーザukrを特定する。
(R3)動作関係をたどり、キーワード動作クラスakwを特定する。
(R4)クラスakwのインスタンスデータ要素を順に調べ、その要素に関連付けられる文字列がユーザ発話に出現したかどうかを調べる。
(R5)要素kに関連付けられる文字列「カレー」が出現したことを検出する。
(R6)要素kから関係動作クラスarelのインスタンス辺rをたどって要素mに到達し、実行を試みる。
(R7)要素mのクラスがamsgであることを検出する。
(R8)動作クラスamsgはそのインスタンスデータ要素に結び付けられた文字列を応答メッセージとして出力する関数のポインタと関連付いている。この関数を起動する。
(R9)要素mに結び付けられた文字列「おいしいですね!」を応答として送信する。
動作クラスの関数ポインタは未定義であってもよく、具体的な動作の対象となりうる動作クラスのインスタンスデータを示さずに、他の動作から参照される属性情報等を提供してもよい。要素kには複数のarelインスタンスが接続していてもよい。その接続先に具体的な動作の対象となりうる要素が複数ある場合は、そのうちのひとつをランダムに選
んで実行してもよく、複数の要素から具体的な動作を選択する規則は適宜設計しうる。
本発明に係る知識構造の構成方法を用いて対話構造を構成することにより、要素の関連付けをたどる手順を用いてキーワード応答等の自動対話を生成しうる。すなわち、本発明においては、知識構造に含まれる全ての要素を逐一調べる必要はなく、迅速な応答の生成を実現しうる。
[対話スクリプト追跡及びたどり構造の例]
図8を用いて、本発明の一実施形態に係る対話スクリプト追跡及びたどり構造をグラフ 構造として表す例を示す。
ここでたどり構造とは、本発明に係る拡張意味ネットワークの知識構造を用いて図示しうる、要素間の関係を含む集合である。具体的には、たどり構造は、関係クラス、方向、到達先を要素に含む集合でありうる。
図8は、本発明の一実施形態に係る、知識構造の構成方法におけるスクリプト追跡のためのデータを示す図である。
知識構造内の対話スクリプトにおける開始点である要素udst(390)、及び、対話チャネルにおいて知識構造内のスクリプトポインタ等にアクセスする際の開始点である要素uca(392)は、いずれもユーザのクラスvusr(381)により全知識要素の開始点vroot(380)と関連付けられる。
ここで動作のクラスvact(382)に属する動作により、ユーザのクラスvusr(381)は選択(asel)(410)、選択メッセージ(asm)(412)、選択ルール(asr)(414)と関連付けられる。同様に、対話チャネルのアクセスはコンテキスト(a)(420)、最終選択(als)(422)、最終応答(alr)(424)と関連付けられ、さらに、インスタンスのクラス(384)により、対話チャネルのアクセスは対話動作と関連付けられる要素(430、432、434)と関連付けられる。
このように、本発明の一実施形態に係る対話スクリプトは、本発明に係るグラフ構造として表すことができる。すなわち、本発明の一実施形態に係る対話スクリプトは、本発明に係るグラフ構造を用いて追跡しうる。
対話スクリプト追跡機能は、予め定義したスクリプトに従って対話を行う機能である。スクリプトは分岐があってもよい。この機能はポインタを保持し、これによりスクリプトのどの場所まで対話が進んだかを記憶する。
まず、スクリプト追跡を表すユーザの要素であるudstと、スクリプトを動作させるチャネルの番号を表すucaを格納する。要素udstは知識構造内の対話スクリプトにおける開始点である。要素ucaは、対話チャネルにおいて、知識構造内のスクリプトポインタ等にアクセスする際の開始点である。本発明に係る知識構造においては、要素udstを含むスクリプトの開始点は次式で表される。
Figure 0004824043
各要素の詳細説明はキーワード応答と同様であり省略する。
数式16は、図8を用いて説明したグラフ構造の、vroot(380)、vusr(381)、udst(390)、及びuca(392)を含む。さらに、数式16はインスタンスのクラスvins(384)が式中の関連付けに含まれうることも表す。
次いで、スクリプトの動作の集合に次の要素が含まれると仮定する。すなわち要素として、選択(asel)、選択メッセージ(asm)、選択ルール(asr)のそれぞれを、ユーザudstに関連付けて格納する。
さらに、スクリプトの動作の集合に次の要素が含まれると仮定する。すなわち要素として、コンテキスト(a)、最終選択(als)、最終応答(alr)のそれぞれの初期値を、ユーザucaに関連付けて格納する。
要素aselはスクリプト内選択肢動作のクラスを、asmは選択肢メッセージ動作のクラスを、asrはスクリプト構造の開始点を、aは文脈ポインタ動作のクラスを、alsは最終選択肢ポインタ動作のクラスを、alrは最終応答ポインタ動作のクラスを、それぞれ表す。
これらのスクリプトの動作に含まれる要素は、次式で表される。
Figure 0004824043
次いで、ポインタのインスタンスを表す要素を格納する。例えば、文脈ポインタ動作のインスタンス(pi)、最終選択肢ポインタ動作のインスタンス(pils)、及び最終応答ポインタ動作のインスタンス(pilr)を用いる。これらのインスタンスと他の要素との関係は次式で表される。
Figure 0004824043
数式17及び数式18は、図8にグラフ構造として示した要素と要素の関連付けを含む。これにより、スクリプトに含まれるユーザのクラス、動作のクラス、インスタンスのクラス、ポインタのインスタンスを表す要素を、本発明に係る知識構造の構成方法に格納し、スクリプトの動作を追跡しうる。
数式17は本発明に係る知識構造の要素を表し、また、関係クラス、方向、到達先を要素に含む集合であるたどり構造を含む。例えば、数式17において、辺要素i20は終点に辺要素i19を含み、辺要素i19は終点に要素ear4を含むことから、これらの要素間に、関係クラスが所属であり、方向が逆であり、i20からの到達先はi19である等のたどり構造を構成しうる。すなわち、たどり構造は、すでに記憶された知識構造の要素に基づいて、新たな要素を生成し、集合であるたどり構造に含めうる。
また、たどり構造は要素に関係クラスを含み、クラスを用いてたどり構造を生成することにより、例えば同じユーザのクラスを定義しうる複数の関係を新たに生成しうる。これにより、過去に相互に関連付けのなかった要素に対して、クラスを通じてユーザが共有する手段を提供しうる。
たどり構造を生成し、順方向又は逆方向の関連付け、及び始点又は終点の組合せをたどり構造に追加することにより、本発明に係る知識構造はすでに記憶された知識構造の要素から新たな要素を生成しうる。
これにより、本発明に係る知識構造は、拡張意味ネットワークにより知識構造を柔軟に構成しうることに加えて、再帰的にたどり構造を生成することで、知識構造の構成方法に拡張性、自己改変性、共有性を備えうる。
また、たどり構造を利用することによって、グラフ更新操作に制約を加えることなく、グラフの到達先を効率的に取得することができる。たどり構造を利用しない場合はグラフの規模に比例した計算時間が必要であるが、たどり構造を利用する場合は一定の計算時間で済む。
<実施例1>
一例として、「カレー」というキーワードに対して、カレーのタイプ、レストランのエリアを質問し、レストラン名を提案するスクリプトを示す。
図9に、本発明に係る対話スクリプト追跡における知識構造の要素間の関係の例を示し、図9に含まれる各要素について、まず表を用いて説明する。
表1に、対話スクリプト追跡例データの文字列対応の例を示す。
Figure 0004824043
まず、本発明に係る知識構造に、選択キーワードインスタンスを意味する要素sr(k=1、2、…、n、以下同様)、選択肢インスタンスを意味する要素s、応答メッセージインスタンスを意味する要素m、スクリプト順序関係インスタンスを意味する要素r、選択肢メッセージインスタンスを意味する要素sm、を格納する。
表1に示すように、要素srは文字列データと結び付いているとする。ここで、要素mの「×××」には具体的なレストランの名称等が入る。簡便のため、選択ルールasrのインスタンスsr、…、sr、及び、選択aselのインスタンスs、s、s、メッセージamsgのインスタンスm、…、mは省略する。
次に辺要素の具体例を、インスタンスに関する辺を省略して、次式で示す。
Figure 0004824043
Figure 0004824043
Figure 0004824043
図9に、数式19、数式20、数式21を用いて示した、レストラン名を提案するスクリプトにおける各辺要素の関係をグラフ構造として示す。
選択ルールasl(440)は選択ルールのインスタンスsr(442)と関連付けられ、選択sにより次の選択ルールのインスタンスsr(446)及びメッセージm(460)と関連付けられる。これ以降についても同様であり、本発明に係る知識構造の構成方法に、スクリプトに含まれる選択ルール、選択、メッセージを格納することができる。
<実施例2>
前述のように知識構造に格納されたデータを用いて、本発明に係る自動応答の作成方法の実施手段が行いうる動作の例を、次の(K1)〜(K11)に示す。以下、行頭の「U」はユーザの行動を、「A」は本発明に係る自動応答の作成方法の実施手段の動作を、それぞれ示す。
(K1)(U)「今日は暑いけどカレーが食べたい。」と発話する。
(K2)(A)始点vrootからユーザ関係をたどり、ユーザudstを発見し、さらに動作関係をたどり、スクリプト構造の開始点asrを発見する。また、始点vrootからユーザ関係をたどり、ユーザucaを発見し、さらに動作関係をたどり、クラスaを経由して文脈ポインタpiを発見する。要素piと同様に、クラスalsを経由して最終選択肢ポインタpilsを、クラスalrを経由して最終応答ポインタpilrを発見する。
(K3)(A)要素piの関係先がnullであることを確認する。要素asrからarel関係でたどった先の要素に順にアクセスし、その要素に結び付けられた文字列がユーザ発話に出現したかどうかを調べ、要素srに結び付けられた文字列「カレー」が出現したことを検知する。
(K4)(A)要素srからarel関係でたどった先の要素sの実行を試みる。要素sのクラスaselは選択肢動作を実行する関数のポインタと関連付いている。要素sからasm関係でたどった先の要素mに結び付けられた文字列「カレーのタイプは?」を応答し、要素sからarel関係でたどった先の要素sr、srにそれぞれ結び付けられた文字列「インド」、「南インド」を選択肢候補として応答する。文脈ポインタpiの関係先にsを、最終選択肢ポインタpilsの関係先にsrを、最終応答ポインタpilrの関係先にmを設定する。
(K5)(U)「インド」と発話する。
(K6)(A)要素piの関係先sからarel関係でたどった先の要素に結び付けられた文字列を調べ、要素srに結び付けられた文字列「インド」が出現したことを検知する。
(K7)(A)要素srからarel関係でたどった先の要素sのクラスも選択肢動作aselであり、要素sからasm関係でたどった先の要素mに結び付けられた文字列「エリアは?」を応答し、要素sからarel関係でたどった先の要素sr、sr、srにそれぞれ結び付けられた文字列「六本木」、「銀座」、「お茶の水」を選択肢候補として応答する。文脈ポインタpiの関係先にsを、最終選択肢ポインタpilsの関係先にsrを、最終応答ポインタpilrの関係先にmを設定する。
(K8)(U)「六本木」と発話する。
(K9)(A)要素piの関係先sからarel関係でたどった先の要素に結び付けられた文字列を調べ、要素srに結び付けられた文字列「インド」が出現したことを検知する。
(K10)(A)要素srからarel関係のたどり先で実行可能な要素はm、mと複数あるため、ランダム選択を行い、mの実行を試みる。
(K11)(A)要素mのクラスは応答メッセージを行うamsgであり、mに結び付けられた文字列「×××がお勧めです。」を応答する。文脈ポインタpiの関係先は変更せず、最終選択肢ポインタpilsの関係先にsrを、最終応答ポインタpilrの関係先にmを設定する。
表2に、上述の本発明に係る自動応答の作成方法の実施手段の動作を含む対話であるダイアログを、プログラムの内部の動作を除く端末装置等に表示されうる文字列として例示する。
Figure 0004824043
このように、本発明に係る自動応答の作成方法を用いることにより、自然言語を含むユーザからのメッセージに対して、迅速に柔軟な応答を自動的に作成しうる。
また、自動応答により作成されるメッセージも本発明に係る知識構造の要素でありうる。従って、本発明に係る自動応答の作成方法の実施手段は、自動応答の動作を繰り返すことにより、関連付けを有する選択ルール、応答メッセージ等を次々に知識構造に追加し、より多くの関連付けを記憶して知識構造を自ら構築しうる。これにより、本発明に係る知識構造は、自己創出性を備えることが可能である。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
本発明及び従来技術の一実施形態に係る、知識構造の基本構造における要素の関係を示す図である。 本発明及び従来技術の一実施形態に係る意味ネットワークを用いて格納される知識の例を示す図である。 本発明の一実施形態に係る、自動応答出力作成システムの構成を示す図である。 本発明の一実施形態に係る、知識DBのデータ構造を表す図である。 本発明の一実施形態に係る、拡張意味ネットワークの要素が含まれる連結グラフを示す図である。 本発明の一実施形態に係る、自動応答出力作成装置のハードウェア構成を示す図である。 本発明の一実施形態に係る、知識構造の動作の例を示す図である。 本発明の一実施形態に係る、対話スクリプトをグラフ構造として表す図である。 本発明の一実施形態に係る、対話スクリプト追跡における知識構造の要素間の関係の例を示す図である。
符号の説明
10 自動応答出力作成装置
20 自動応答出力作成システム
30 知識DB
38 ネットワーク
60 ユーザ端末
80 知識DBデータ構造
82 識別子
84 始点
85 終点
86 ラベル
88 ポインタ
301、302、304、321、322、323 要素
303、305、312、324、325、333 辺
310、331 始点
311、332 終点
340、350 連結グラフ
361 ユーザ
362、363、364 動作
365、366、367 関数ポインタ
360、380 全知識構造の始点
381 ユーザのクラス
382 行動のクラス
384 インスタンスのクラス
390、392、ユーザ
410 選択
412 選択メッセージ
414 選択ルール
420 コンテキスト
422 最終選択
424 最終応答
440 選択ルール
442、446、447、450、452、454、456、458 選択ルールのインスタンス
460、462、464、466,468、470、472、474 メッセージのインスタンス
444、448、449 選択

Claims (9)

  1. コンピュータがユーザ端末からのメッセージに対応して、記憶部に記憶した入力応答との関係を要素として含む集合である知識構造を用いて応答する自動応答方法であって、前記コンピュータが、
    ユーザ入力及び応答の関係を、グラフ構造の始点の要素及び終点の要素が共にnullとなる空要素である場合に当該グラフ構造の頂点の要素として扱い、当該始点の要素及び当該終点の要素が共にnull以外である場合に当該グラフ構造の辺の要素として扱うグラフ構造で示す一の知識構造を記憶する知識構造記憶ステップと、
    前記入力を特定するための用語及び前記応答を特定するための用語を前記記憶部に記憶する用語記憶ステップと、
    前記入力を特定するための用語及び前記応答を特定するための用語のお互いの関係を前記要素として前記知識構造に含めて前記記憶部に記憶する用語関係記憶ステップと、
    前記関係の一を示す知識構造の要素の終点を前記関係の他の一を示す知識構造の要素とすることにより、前記他の一を示す知識構造の要素が前記一を示す知識構造の要素に所属あるいは従属の関係にあることを示す関係クラスを、前記知識構造に含めて前記記憶部に記憶する所属関係記憶ステップと、
    前記ユーザ端末から、前記入力を特定するための用語をメッセージとして受信したことに応じて、前記用語関係記憶ステップにおいて記憶した用語の関係について、前記所属関係記憶ステップにおいて記憶した関係クラスに基づいて、前記一の知識構造をたどることにより前記ユーザ端末のユーザを特定し、特定した当該ユーザに係る知識構造を分割してたどることにより前記入力を特定するための用語を検出するとともに前記応答を特定するための用語を検出し、前記ユーザ端末に当該検出した前記応答を特定するための用語をメッセージとして送信するステップと、
    を実行する自動応答方法。
  2. 前記知識構造記憶ステップにおいて記憶した前記知識構造の、前記入力及び前記応答及び前記関係のそれぞれについて、当該要素の属性を表すクラスを前記記憶部に記憶する要素クラス記憶ステップを更に含む、請求項1に記載の自動応答方法。
  3. 前記知識構造記憶ステップ、前記用語記憶ステップ、前記用語関係記憶ステップ、前記所属関係記憶ステップおよび前記要素クラス記憶ステップにおいて、前記コンピュータは、前記入力及び前記応答及び前記関係のそれぞれ、以下の数式で示される前記知識構造の各要素として記憶する、請求項に記載の自動応答方法
    Figure 0004824043
    ここに、ASNは拡張意味ネットワーク(Augmanted Semantic Network)であり、EASNは拡張意味ネットワークの集合であり、eは集合Eの要素である二項組要素であり、eはEASNの要素である始点等であり、eはEASNの要素である終点等であり、nullは空要素であり、さらに、拡張意味ネットワークは次の要素集合を有し、
    Figure 0004824043
    Figure 0004824043
    Figure 0004824043
    ここに、ASNVEは拡張意味ネットワークASNの構成要素であり、Eは拡張意味ネットワークにおける頂点の集合であり、Eは拡張意味ネットワークにおける辺の集合である。
  4. 前記入力を特定するための用語又は前記応答を特定するための用語を前記ユーザ端末から受信するステップと、
    受信した前記入力を特定するための用語又は前記応答を特定するための用語を前記要素として前記知識構造に含めて前記記憶部に記憶するステップと、
    をさらに含む、請求項1から請求項3のいずれかに記載の知識構造の自動応答方法。
  5. 会話の場、会話履歴、会話の時間的順序を要素として有する集合である談話構造を前記要素として前記知識構造に含めて前記記憶部に記憶するステップと、
    前記会話の場をひとつの要素として前記知識構造に含めて前記記憶部に記憶するステップと、
    会話の発生を要素として記憶し、前記会話の発生ごとに前記会話の時間的順序を数字の大小と関連付けて要素として記憶する全順序つき集合を、前記知識構造に含めて前記記憶部に記憶するステップと、
    前記会話の発生及び前記会話の発生の時間的順序を前記要素として前記知識構造に含めて前記記憶部に記憶するステップと、
    をさらに含む、請求項1から請求項のいずれかに記載の自動応答方法。
  6. 入力又は応答の関係が属するクラスである関係クラス、方向、到達先を要素に含む集合であるたどり構造を前記要素として前記知識構造に含めて前記記憶部に記憶するステップと、
    前記知識構造に含まれる要素のうちで始点あるいは終点として記憶されている要素を抽出するステップと、
    前記抽出された始点として記憶されている要素に対して、それ自身のクラス、前記グラフ構造の始点から終点に向かう方向を示す順方向の関連付けを示すフラグ、終点の組合せを、前記たどり構造の要素として追加するステップと、
    前記抽出された終点として記憶されている要素に対して、それ自身のクラス、前記グラフ構造の終点から始点に向かう方向を示す逆方向の関連付けを示すフラグ、始点の組合せを、前記たどり構造の要素として追加するステップと、
    をさらに含む、
    請求項に記載の自動応答方法。
  7. 請求項に記載の自動応答方法であって、
    前記ユーザ端末から、前記入力を特定するための用語をメッセージとして受信したことに応じて、前記送信するステップの前に、
    前記たどり構造から、前記応答の関係が属するクラス及び前記順方向の関連付けを示すフラグの組合せを含む前記知識構造の要素を抽出するステップと、
    ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、前記談話構造の前記会話の場、前記会話履歴あるいは前記会話の時間的順序のいずれかの要素が示す関連性が最も高い要素を選択する規則の何れかの規則に基づいて、前記抽出された要素を選択するステップと、
    を更に実行して前記応答を特定するための用語を決定する自動応答方法。
  8. コンピュータに、ユーザ端末からのメッセージに対応して、記憶部に記憶した入力応答との関係を要素として含む集合である知識構造を用いて応答させるコンピュータ・プログラムであって、前記コンピュータに、
    ユーザ入力及び応答の関係を、グラフ構造の始点の要素及び終点の要素が共にnullとなる空要素である場合に当該グラフ構造の頂点の要素として扱い、当該始点の要素及び当該終点の要素が共にnull以外である場合に当該グラフ構造の辺の要素として扱うグラフ構造で示す一の知識構造を記憶する知識構造記憶ステップと、
    前記入力を特定するための用語及び前記応答を特定するための用語を前記記憶部に記憶する用語記憶ステップと、
    前記入力を特定するための用語及び前記応答を特定するための用語のお互いの関係を前記要素として前記知識構造に含めて前記記憶部に記憶する用語関係記憶ステップと、
    前記関係の一を示す知識構造の要素の終点を前記関係の他の一を示す知識構造の要素とすることにより、前記他の一を示す知識構造の要素が前記一を示す知識構造の要素に所属あるいは従属の関係にあることを示す関係クラスを、前記知識構造に含めて前記記憶部に記憶する所属関係記憶ステップと、
    前記ユーザ端末から、前記入力を特定するための用語をメッセージとして受信したことに応じて、前記用語関係記憶ステップにおいて記憶した用語の関係について、前記所属関係記憶ステップにおいて記憶した関係クラスに基づいて、前記一の知識構造をたどることにより前記ユーザ端末のユーザを特定し、特定した当該ユーザに係る知識構造を分割してたどることにより前記入力を特定するための用語を検出するとともに前記応答を特定するための用語を検出し、前記ユーザ端末に当該検出した前記応答を特定するための用語をメッセージとして送信するステップと、
    を実行させるためのコンピュータ・プログラム。
  9. ユーザ端末からのメッセージに対応して、記憶部に記憶した入力応答との関係を要素として含む集合である知識構造を用いて応答する自動応答装置であって、
    ユーザ入力及び応答の関係を、グラフ構造の始点の要素及び終点の要素が共にnullとなる空要素である場合に当該グラフ構造の頂点の要素として扱い、当該始点の要素及び当該終点の要素が共にnull以外である場合に当該グラフ構造の辺の要素として扱うグラフ構造で示す一の知識構造を記憶する知識構造記憶手段と、
    前記入力を特定するための用語及び前記応答を特定するための用語を前記記憶部に記憶する用語記憶手段と、
    前記入力を特定するための用語及び前記応答を特定するための用語のお互いの関係を前記要素として前記知識構造に含めて前記記憶部に記憶する用語関係記憶手段と、
    前記関係の一を示す知識構造の要素の終点を前記関係の他の一を示す知識構造の要素とすることにより、前記他の一を示す知識構造の要素が前記一を示す知識構造の要素に所属あるいは従属の関係にあることを示す関係クラスを、前記知識構造に含めて前記記憶部に記憶する所属関係記憶手段と、
    前記ユーザ端末から、前記入力を特定するための用語をメッセージとして受信したことに応じて、前記用語関係記憶手段が記憶した用語の関係について、前記所属関係記憶手段が記憶した関係クラスに基づいて、前記一の知識構造をたどることにより前記ユーザ端末のユーザを特定し、特定した当該ユーザに係る知識構造を分割してたどることにより前記入力を特定するための用語を検出するとともに前記応答を特定するための用語を検出し、前記ユーザ端末に当該検出した前記応答を特定するための用語をメッセージとして送信する手段と、
    を備える自動応答装置。
JP2008009458A 2008-01-18 2008-01-18 自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法および自動応答作成装置 Active JP4824043B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008009458A JP4824043B2 (ja) 2008-01-18 2008-01-18 自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法および自動応答作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008009458A JP4824043B2 (ja) 2008-01-18 2008-01-18 自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法および自動応答作成装置

Publications (2)

Publication Number Publication Date
JP2009169840A JP2009169840A (ja) 2009-07-30
JP4824043B2 true JP4824043B2 (ja) 2011-11-24

Family

ID=40970906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008009458A Active JP4824043B2 (ja) 2008-01-18 2008-01-18 自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法および自動応答作成装置

Country Status (1)

Country Link
JP (1) JP4824043B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5368924B2 (ja) * 2009-09-18 2013-12-18 ヤフー株式会社 自然言語ユーザインタフェースを漸進的に開発する装置及び方法
JP5619930B2 (ja) * 2013-02-15 2014-11-05 ヤフー株式会社 対話スクリプト操作命令実行装置、対話スクリプト操作命令実行方法、およびプログラム
CN103995847B (zh) 2014-05-06 2017-08-18 百度在线网络技术(北京)有限公司 信息搜索方法及其装置
CN109213867A (zh) * 2018-10-26 2019-01-15 湖北大学 一种面向大数据精准预测的海量知识库构建方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554067A (ja) * 1991-08-23 1993-03-05 Nec Corp 意味解析方式
JP3765202B2 (ja) * 1999-07-09 2006-04-12 日産自動車株式会社 対話型情報検索装置、コンピュータを用いた対話型情報検索方法及び対話型情報検索処理を行うプログラムを記録したコンピュータ読取り可能な媒体

Also Published As

Publication number Publication date
JP2009169840A (ja) 2009-07-30

Similar Documents

Publication Publication Date Title
KR102297394B1 (ko) 적절한 에이전트의 자동화된 어시스턴트 호출
US11586689B2 (en) Electronic apparatus and controlling method thereof
US20130144619A1 (en) Enhanced voice conferencing
US20120136646A1 (en) Data Security System
US9697198B2 (en) Guiding a conversation based on cognitive analytics
JP5368924B2 (ja) 自然言語ユーザインタフェースを漸進的に開発する装置及び方法
US10326863B2 (en) Speed and accuracy of computers when resolving client queries by using graph database model
JP2014515853A (ja) 会話ダイアログ学習および会話ダイアログ訂正
TW200900966A (en) Client input method
US11095601B1 (en) Connection tier structure defining for control of multi-tier propagation of social network content
KR20220000046A (ko) 대화형 지능 서비스 제공 챗봇 제작 시스템 및 방법
WO2020191828A1 (zh) 基于图的上下文关联回复生成方法、计算机及介质
US11683283B2 (en) Method for electronic messaging
US11449683B2 (en) Disentanglement of chat utterances
JP2016015026A (ja) 作業対象確定プログラム、作業対象確定装置及び作業対象確定方法
JP2019139574A (ja) 情報提供装置、情報提供方法、およびプログラム
JP4824043B2 (ja) 自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法および自動応答作成装置
Windiatmoko et al. Developing FB chatbot based on deep learning using RASA framework for university enquiries
Inupakutika et al. Integration of NLP and Speech-to-text Applications with Chatbots
JP2020154491A (ja) コミュニケーション支援システム及びプログラム
US11165725B1 (en) Messaging in a real-time chat discourse based on emotive cues
KR20190131355A (ko) 대화용 애플리케이션의 운영 방법
JP2021108095A (ja) スピーチ理解における解析異常の情報を出力するための方法
JP4881903B2 (ja) 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム
CN117314139A (zh) 业务流程的建模方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110801

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: 20110823

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: 20110907

R150 Certificate of patent or registration of utility model

Ref document number: 4824043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140916

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

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

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250