JP6027476B2 - Dialog program, server, and method for inserting dynamic dialog node in dialog scenario - Google Patents

Dialog program, server, and method for inserting dynamic dialog node in dialog scenario Download PDF

Info

Publication number
JP6027476B2
JP6027476B2 JP2013068522A JP2013068522A JP6027476B2 JP 6027476 B2 JP6027476 B2 JP 6027476B2 JP 2013068522 A JP2013068522 A JP 2013068522A JP 2013068522 A JP2013068522 A JP 2013068522A JP 6027476 B2 JP6027476 B2 JP 6027476B2
Authority
JP
Japan
Prior art keywords
node
dialog
fixed
dynamic
dialogue
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
JP2013068522A
Other languages
Japanese (ja)
Other versions
JP2014191271A (en
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2013068522A priority Critical patent/JP6027476B2/en
Publication of JP2014191271A publication Critical patent/JP2014191271A/en
Application granted granted Critical
Publication of JP6027476B2 publication Critical patent/JP6027476B2/en
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

本発明は、対話シナリオを用いてユーザと対話する対話システムの技術に関する。   The present invention relates to a technology of a dialogue system that interacts with a user using a dialogue scenario.

人間に対して自然な対話を実現した対話システムが、特にスマートフォンやタブレット端末で一般的に普及しつつある。その中でも、対話シナリオに従ってユーザとの間で交互に対話プロセスを進めることによって、ユーザから必要な情報を取得する技術がある(例えば特許文献1参照)。この技術によれば、共通の対話シナリオを備える対話システム間で、対話プロセスの遷移を可能とし、現在進行中の対話プロセスを、遷移後の対話システムで継続することができる。あくまで、事前に設定された固定的な対話シナリオに従って実行される。   A dialogue system that realizes natural dialogue with human beings is becoming more popular, especially on smartphones and tablet terminals. Among them, there is a technique for acquiring necessary information from a user by alternately proceeding a dialogue process with the user according to a dialogue scenario (see, for example, Patent Document 1). According to this technology, a dialogue process can be transitioned between dialogue systems having a common dialogue scenario, and the dialogue process currently in progress can be continued in the dialogue system after the transition. It is executed according to a fixed dialogue scenario set in advance.

また、対話シナリオにおける予測範囲以外の任意の入力に対しても、適切に応答することができる技術もある(例えば特許文献2参照)。この技術によれば、対話ノードを大量に用意し、現在の対話ノードに対して遷移確率が最大となる対話ノードへ遷移することによって、自然な対話を進めることができる。遷移確率は、過去の判別結果も考慮されて更新されていく。そのために、システム管理者が固定的な対話シナリオを作成する手間が少なくなる。   There is also a technique that can appropriately respond to any input other than the prediction range in the dialogue scenario (see, for example, Patent Document 2). According to this technology, a natural dialogue can be promoted by preparing a large number of dialogue nodes and making a transition to a dialogue node having the maximum transition probability with respect to the current dialogue node. The transition probability is updated in consideration of past discrimination results. As a result, the system administrator has less time to create a fixed conversation scenario.

特開2004−212802号公報JP 2004-212802 A 特開2009−198614号公報JP 2009-198614 A

「ベクトル空間法による文書の類似度の算出」、[online]、[平成25年2月24日検索]、インターネット<URL:http://www.gifu-nct.ac.jp/elec/deguchi/sotsuron/hayashi/node20.html>"Calculation of similarity of documents by vector space method", [online], [Search February 24, 2013], Internet <URL: http://www.gifu-nct.ac.jp/elec/deguchi/ sotsuron / hayashi / node20.html>

しかしながら、特許文献1に記載された技術によれば、固定的な対話シナリオであるために、長期的に使用された場合、ユーザが飽きやすいという問題がある。そのような問題に対しては、対話システムの運用者が、対話シナリオの分岐やセリフのバリエーションを増やすことが必要となり、人手がかかることとなる。また、特許文献2に記載された技術によれば、対話シナリオの遷移の全てが、確率モデルに依存するために、対話シナリオの部分的な修正が難しいという問題もある。   However, according to the technique described in Patent Document 1, since it is a fixed dialogue scenario, there is a problem that the user is easily bored when used for a long time. To deal with such problems, it is necessary for the operator of the dialogue system to increase the number of dialogue scenario branches and dialogue variations, which requires manpower. Further, according to the technique described in Patent Document 2, there is also a problem that partial correction of the dialogue scenario is difficult because all of the transition of the dialogue scenario depends on the probability model.

これに対し、発明者らは、特許文献1に基づく固定的な対話ノードの進行の間に、特許文献2に基づく遷移確率が最大となる動的な対話ノードを挿入することも考えた。動的な対話ノードとしては、ユーザの情報を取得するべく、例えば、ユーザの趣味や嗜好などプロフィール情報を収集するための会話や、ユーザが興味ありそうな情報提供する会話を挿入する。これによって、固定的な対話シナリオが部分的に且つ自動的に修正され、対話のバリエーションを増やす手間も少なくなる。   On the other hand, the inventors also considered inserting a dynamic dialog node having the maximum transition probability based on Patent Document 2 during the progress of the fixed dialog node based on Patent Document 1. As a dynamic dialog node, in order to acquire user information, for example, a conversation for collecting profile information such as a user's hobbies and preferences and a conversation for providing information that the user is likely to be interested in are inserted. As a result, the fixed dialogue scenario is partially and automatically corrected, and the effort for increasing the variation of the dialogue is reduced.

しかしながら、固定的な第1の対話ノードから、遷移確率の高い動的な対話ノードへ、自然な感じでシナリオを進めることができたとしても、その動的な対話ノードから、固定的な第2の対話ノードへ戻る際に、急に、対話の自然性が落ちることが発生する。即ち、動的な対話ノードと、戻り先の固定的な第2の対話ノードとの間で、会話の関連性が無い又は少ないことが原因となっている。   However, even if the scenario can be advanced naturally from a fixed first dialog node to a dynamic dialog node having a high transition probability, from the dynamic dialog node, When returning to the dialog node, the natural nature of the dialog suddenly drops. That is, there is no or little conversational relevance between the dynamic dialog node and the fixed second dialog node as the return destination.

そこで、本発明は、できる限り自然な対話の中で、固定的な対話ノードの間に動的な対話ノードを挿入することができる対話プログラム、サーバ及び方法を提供することを目的とする。   Therefore, an object of the present invention is to provide a dialog program, a server, and a method capable of inserting a dynamic dialog node between fixed dialog nodes in a dialog as natural as possible.

本発明によれば、ユーザと対話的にシナリオを進行するようにコンピュータを機能させる対話プログラムであって、
ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積手段と、
対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、
動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、
第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段と
してコンピュータを機能させることを特徴とする。
According to the present invention, there is provided an interactive program for causing a computer to function to advance a scenario interactively with a user,
A dialogue scenario accumulating means for accumulating a plurality of fixed dialogue nodes associated with a sentence to be clearly shown to a user and connecting them as a scenario from the first fixed dialogue node to the second fixed dialogue node;
Dynamic dialog node storage means for storing a plurality of dynamic dialog nodes that can be inserted between dialog nodes;
From the dynamic dialogue node storage means, the transition probability P (A, Si) of the first fixed dialogue node from the sentence and the return probability P (Si, B) of the return to the second fixed dialogue node A dynamic dialog node selecting means for selecting a dynamic dialog node having a maximum combination under a predetermined condition;
The selected dynamic dialog node is inserted from the first fixed dialog node, and the computer is caused to function as a dialog scenario advancing means for progressing the scenario to the second fixed dialog node.

本発明の対話プログラムにおける他の実施形態によれば、
動的対話ノード選択手段は、
動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)が高い所定数の動的対話ノードを検索する動的対話ノード検索手段と、
検索された各動的対話ノードの文から第2の固定対話ノードへの戻りの遷移確率P(Si,B)を算出する戻り遷移確率算出手段と、
第1の固定対話ノードからの行きの遷移確率と、第2の固定対話ノードからの戻りの遷移確率との組み合わせが、所定条件下で最大となる動的対話ノードを決定する動的対話ノード決定手段と
を含むようにコンピュータを機能させることも好ましい。
According to another embodiment of the dialogue program of the present invention,
The dynamic dialog node selection means is:
Dynamic dialog node search means for searching a predetermined number of dynamic dialog nodes having a high transition probability P (A, Si) from the sentence of the first fixed dialog node from the dynamic dialog node storage means;
Return transition probability calculating means for calculating a return transition probability P (Si, B) from the sentence of each searched dynamic dialog node to the second fixed dialog node;
Dynamic dialog node determination in which a combination of a transition probability of going from the first fixed dialog node and a return transition probability from the second fixed dialog node is maximized under a predetermined condition It is also preferable to make the computer function to include the means.

本発明の対話プログラムにおける他の実施形態によれば、
動的対話ノード検索手段及び戻り遷移確率算出手段における遷移確率は、固定対話ノードの文と、動的対話ノードの文との間のコサイン距離に基づくものであるようにコンピュータを機能させることも好ましい。
According to another embodiment of the dialogue program of the present invention,
It is also preferable to cause the computer to function so that the transition probability in the dynamic dialog node search means and the return transition probability calculation means is based on the cosine distance between the sentence of the fixed dialog node and the sentence of the dynamic dialog node. .

本発明の対話プログラムにおける他の実施形態によれば、
対話コーパスにおける出現頻度が高い重要語(名詞)を蓄積した重要語辞書を用いて、コサイン距離は、各文の中から抽出された重要語及びそのカテゴリに応じて算出されるようにコンピュータを機能させることも好ましい。
According to another embodiment of the dialogue program of the present invention,
Using a key word dictionary that stores key words (nouns) that frequently appear in the dialogue corpus, the computer functions so that the cosine distance is calculated according to the key words extracted from each sentence and their categories. It is also preferable that

本発明の対話プログラムにおける他の実施形態によれば、
第1の固定対話ノード毎に、そのノードに含まれる文の次に、動的対話ノードに基づく質問を挿入することの適否を表す質問適合度が付与されており、
第1の固定対話ノードの質問適合度が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する挿入判定手段を更に有し、
動的対話ノード検索手段は、挿入判定手段によって真と判定された場合にのみ機能する
ようにコンピュータを機能させることも好ましい。
According to another embodiment of the dialogue program of the present invention,
Each first fixed dialogue node is given a question suitability level indicating whether or not to insert a question based on a dynamic dialogue node after a sentence included in the node,
An insertion determining means for determining that a dynamic dialog node is inserted next to the first fixed dialog node only when the question fitness of the first fixed dialog node is equal to or greater than a predetermined threshold;
It is also preferable to cause the computer to function so that the dynamic dialog node search means functions only when it is determined to be true by the insertion determination means.

本発明の対話プログラムにおける他の実施形態によれば、
第1の固定対話ノードの文に対するユーザの回答の内容が、肯定的か又は否定的かを判定するするポジネガ判定手段を更に有し、
挿入判定手段は、質問適合度に、ポジ/ネガそれぞれに割り当てられた係数を乗算し、その乗算値が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する
ようにコンピュータを機能させることも好ましい。
According to another embodiment of the dialogue program of the present invention,
A positive / negative determining means for determining whether the content of the user's answer to the sentence of the first fixed dialog node is positive or negative;
The insertion determination means multiplies the question fitness by a coefficient assigned to each positive / negative, and inserts a dynamic dialog node next to the first fixed dialog node only when the multiplication value is equal to or greater than a predetermined threshold value. It is also preferable to make the computer function so as to make a determination.

本発明によれば、ユーザ操作に基づく端末との間で、対話的にシナリオを進行する対話サーバであって、
端末へ送信すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積手段と、
対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、
動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、
第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段と
を有することを特徴とする。
According to the present invention, there is provided a dialogue server that interactively advances a scenario with a terminal based on a user operation,
A dialogue scenario accumulating means for accumulating a plurality of fixed dialogue nodes associated with a sentence to be transmitted to a terminal, and associating the scenario from the first fixed dialogue node to the second fixed dialogue node;
Dynamic dialog node storage means for storing a plurality of dynamic dialog nodes that can be inserted between dialog nodes;
From the dynamic dialogue node storage means, the transition probability P (A, Si) of the first fixed dialogue node from the sentence and the return probability P (Si, B) of the return to the second fixed dialogue node A dynamic dialog node selecting means for selecting a dynamic dialog node having a maximum combination under a predetermined condition;
A dialog scenario advancing means for inserting the selected dynamic dialog node from the first fixed dialog node and progressing the scenario to the second fixed dialog node is provided.

本発明によれば、装置を用いて、ユーザと対話的にシナリオを進行する対話方法であって、
ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積部と、
対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積部と、
動的対話ノード蓄積部から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する第1のステップと、
第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する第2のステップと
を有することを特徴とする。
According to the present invention, there is provided an interactive method for interactively progressing a scenario with a user using an apparatus,
A dialogue scenario storage unit that accumulates a plurality of fixed dialogue nodes associated with sentences to be clearly shown to a user, and links them as a scenario from the first fixed dialogue node to the second fixed dialogue node;
A dynamic dialog node storage unit that stores a plurality of dynamic dialog nodes that can be inserted between dialog nodes;
From the dynamic dialogue node storage unit, the transition probability P (A, Si) of the first fixed dialogue node from the sentence and the return probability P (Si, B) of the return to the second fixed dialogue node A first step of selecting a dynamic interaction node whose combination is maximal under predetermined conditions;
A second step of inserting the selected dynamic dialog node from the first fixed dialog node and proceeding with the scenario to the second fixed dialog node.

本発明の対話プログラム、サーバ及び方法によれば、動的対話ノードから固定対話ノードへ戻る際の遷移確率を考慮することによって、できる限り自然な対話の中で、固定的な対話ノードの間に動的な対話ノードを挿入することができる。   According to the dialogue program, server, and method of the present invention, by considering the transition probability when returning from the dynamic dialogue node to the fixed dialogue node, the dialogue between the stationary dialogue nodes is as natural as possible. Dynamic dialog nodes can be inserted.

本発明における対話システムの構成図である。It is a block diagram of the dialogue system in this invention. 対話シナリオ蓄積部に記憶された複数の固定対話ノードを表す説明図である。It is explanatory drawing showing the some fixed dialogue node memorize | stored in the dialogue scenario storage part. 固定対話ノード間に挿入すべき動的対話ノードを検索する説明図である。It is explanatory drawing which searches the dynamic dialog node which should be inserted between fixed dialog nodes. 検索された各動的対話ノードについて、戻りの遷移確率を算出した説明図である。It is explanatory drawing which calculated the return transition probability about each searched dynamic dialog node. 動的対話ノードに対する遷移確率を総当たり的に算出した説明図である。It is explanatory drawing which calculated the transition probability with respect to a dynamic dialog node brute force. 図2の固定対話ノード間に、動的対話ノードが挿入された最終的な対話シナリオを表す説明図である。FIG. 3 is an explanatory diagram illustrating a final dialog scenario in which a dynamic dialog node is inserted between fixed dialog nodes in FIG. 2.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明における対話システムの構成図である。   FIG. 1 is a configuration diagram of a dialogue system according to the present invention.

図1によれば、対話サーバモジュールプログラム1と、端末モジュールプログラム2とから構成されている。例えば、対話サーバモジュールプログラム1は、ユーザと対話的にシナリオを進行するものであって、例えばサーバによって実行される。一方で、端末モジュールプログラム2は、スマートフォンやタブレット端末によって実行されるものであって、ネットワークを介してサーバと通信する。対話サーバモジュールプログラム1は、端末2を通じて、ユーザと対話する。尚、両モジュールプログラム1及び2が、単体装置の1つのコンピュータによって一体的に実行されるものであってもよい。本発明によれば、サーバモジュールプログラムと端末モジュールプログラムとそれぞれが実行されるべき対象装置が、特定されるものではない。   According to FIG. 1, the dialogue server module program 1 and the terminal module program 2 are configured. For example, the dialogue server module program 1 is a program that advances a scenario interactively with a user, and is executed by a server, for example. On the other hand, the terminal module program 2 is executed by a smartphone or a tablet terminal, and communicates with a server via a network. The dialogue server module program 1 interacts with the user through the terminal 2. Note that both the module programs 1 and 2 may be executed integrally by a single computer of a single device. According to the present invention, the target device on which the server module program and the terminal module program are to be executed is not specified.

端末モジュールプログラム2は、ユーザに対する入力デバイス及び出力デバイスを有する。入力デバイスがマイクである場合、入力音声処理部は、マイクによって取得された音声信号を回答文に変換し、その回答文を対話サーバモジュールプログラム1へ送信する。また、出力デバイスがスピーカである場合、対話サーバモジュールプログラム1から受信した回答文を音声信号に変換し、その音声信号がスピーカから出力される。   The terminal module program 2 has an input device and an output device for the user. When the input device is a microphone, the input voice processing unit converts the voice signal acquired by the microphone into an answer sentence, and transmits the answer sentence to the dialogue server module program 1. When the output device is a speaker, the answer sentence received from the dialog server module program 1 is converted into an audio signal, and the audio signal is output from the speaker.

図1によれば、対話サーバモジュールプログラム1は、対話シナリオ蓄積部10と、動的対話ノード蓄積部11と、動的対話ノード選択部12と、対話シナリオ進行部13と、質問文送信部14と、回答文受信部15と、ポジネガ判定部16と、挿入判定部17とを有する。尚、質問文送信部14は、対話シナリオ進行部13に基づくユーザへの質問文を、端末モジュールプログラム2へ送信する。また、回答文受信部15は、端末モジュールプログラム2から、ユーザからの回答文を受信する。   According to FIG. 1, the dialog server module program 1 includes a dialog scenario storage unit 10, a dynamic dialog node storage unit 11, a dynamic dialog node selection unit 12, a dialog scenario progression unit 13, and a question sentence transmission unit 14. An answer sentence receiving unit 15, a positive / negative determining unit 16, and an insertion determining unit 17. The question message transmitting unit 14 transmits a question message to the user based on the dialogue scenario advancing unit 13 to the terminal module program 2. In addition, the answer message receiving unit 15 receives an answer message from the user from the terminal module program 2.

[対話シナリオ蓄積部10]
対話シナリオ蓄積部10は、ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けている。「対話シナリオ」とは、質問及び回答からなる対話ノードをツリー状に構成したものである。
[Dialogue scenario storage unit 10]
The dialogue scenario storage unit 10 accumulates a plurality of fixed dialogue nodes associated with sentences to be clearly shown to the user, and links them as a scenario from the first fixed dialogue node to the second fixed dialogue node. The “dialog scenario” is a dialog node composed of questions and answers configured in a tree shape.

図2は、対話シナリオ蓄積部に記憶された複数の固定対話ノードを表す説明図である。   FIG. 2 is an explanatory diagram showing a plurality of fixed dialog nodes stored in the dialog scenario storage unit.

図2によれば、各固定対話ノードの結び付きによって、以下のようにシナリオが進んでいる。
(システム)「予定を入れてください」
(ユーザ) 「土曜日8時に軽井沢でゴルフをする」
(システム)「プレー開始2時間前にアラームを設定しますか?」
(ユーザ) 「はい」
例えば、システムにおける「予定を入れてください」の質問に対して、ユーザが何も返答しなければ、このシナリオは終了することなる。このような対話シナリオは、固定対話ノードの結び付きによって、対話シナリオ蓄積部10に予め蓄積されている。
According to FIG. 2, the scenario progresses as follows by the connection of each fixed dialog node.
(System) “Please schedule”
(User) "Play golf in Karuizawa at 8:00 on Saturday"
(System) "Do you want to set an alarm 2 hours before the start of play?"
(User) "Yes"
For example, if the user does not respond to the “please schedule” question in the system, the scenario ends. Such a dialog scenario is stored in advance in the dialog scenario storage unit 10 by connecting fixed dialog nodes.

[動的対話ノード蓄積部11]
動的対話ノード蓄積部11は、対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する。動的対話ノードも、固定対話ノードと構造としては同じであるが、対話ノード同士が予め結び付いているものではない。
[Dynamic dialog node storage unit 11]
The dynamic dialog node storage unit 11 stores a plurality of dynamic dialog nodes that can be inserted between dialog nodes. The dynamic dialog node has the same structure as that of the fixed dialog node, but the dialog nodes are not linked in advance.

尚、固定対話ノード及び動的対話ノードの各々は、ユーザへの質問に対する複数の回答によって短い対話シナリオを構成している。従って、1つのノードの中でも、質問と回答とがツリー状に対話シナリオとして構成されている。   Note that each of the fixed dialog node and the dynamic dialog node constitutes a short dialog scenario by a plurality of answers to the question to the user. Accordingly, among one node, questions and answers are configured as a dialogue scenario in a tree shape.

ここで、オプション的に、ポジネガ判定部16及び挿入判定部17を更に備えるものであってもよい。ポジネガ判定部16及び挿入判定部17は、固定対話ノードの間に、動的対話ノードを挿入してよいか否かを判定する。即ち、ユーザの対話の反応によっては、動的対話ノードを挿入すべきでない場合もあるからである。例えば、ユーザがネガティブな反応をする場合、あえて、動的対話ノードを挿入することによって、ユーザに更なる質問をすることは好ましくない。以下では、2つの判定方法について説明する。   Here, as an option, a positive / negative determination unit 16 and an insertion determination unit 17 may be further provided. The positive / negative determining unit 16 and the insertion determining unit 17 determine whether or not a dynamic dialog node may be inserted between fixed dialog nodes. That is, there is a case where a dynamic dialog node should not be inserted depending on the reaction of the user's dialog. For example, if the user reacts negatively, it is not desirable to ask the user further questions by inserting a dynamic interaction node. Hereinafter, two determination methods will be described.

<挿入判定部17のみ>
第1の固定対話ノード毎に、そのノードに含まれる文の次に、動的対話ノードに基づく質問を挿入することの適否を表す質問適合度が付与されている。例えば、以下のように、質問適合度が付与されている。
(固定対話ノード) (質問適用度)
「予定を入れてください」: 1
「具合が悪いのですか」 : 0.5
「ゴルフは好きですか」 : 2
質問適用度とは、その固定対話ノードの対話の後に、ユーザに対して更なる質問をすることが適切である場合ほど、高い値となる。例えば「ゴルフは好きですか」のような固定対話ノードが実行される場合には、ユーザに比較的余裕がある状態であって、質問適用度は高い値となる。一方で、その固定対話ノードの対話の後に、更なる質問をすることが適切でない場合ほど、低い値となる。例えば「具合が悪いのですか」のような固定対話ノードが実行される場合には、ユーザに比較的余裕がない状態であって、質問適用度は低い値となる。
<Only insertion determination unit 17>
For each first fixed dialog node, a question suitability level indicating whether or not to insert a question based on a dynamic dialog node is given after a sentence included in the node. For example, the question suitability is given as follows.
(Fixed conversation node) (Question applicability)
"Please schedule": 1
“Is it bad?”: 0.5
“Do you like golf?”: 2
The question application level becomes a higher value when it is appropriate to ask the user further questions after the conversation of the fixed dialog node. For example, when a fixed dialogue node such as “Do you like golf” is executed, the user has a relatively large margin and the question application level is a high value. On the other hand, the lower the value, the more appropriate it is not to ask further questions after the dialog of the fixed dialog node. For example, when a fixed dialogue node such as “Is it bad?” Is executed, the user has relatively little room and the question application level is a low value.

ここで、挿入判定部17は、第1の固定対話ノードの質問適合度が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する。所定閾値は、例えば「0.8」であってもよい。その場合、「具合が悪いのですか」の質問の後に、動的対話ノードが挿入されることはない。   Here, the insertion determination unit 17 determines to insert the dynamic dialog node next to the first fixed dialog node only when the question suitability of the first fixed dialog node is equal to or greater than a predetermined threshold. The predetermined threshold may be “0.8”, for example. In that case, no dynamic dialog node is inserted after the question “Is it bad”?

最終的に、挿入判定部17によって、真と判定された場合にのみ、動的対話ノード選択部12が実行される。   Finally, the dynamic dialog node selection unit 12 is executed only when the insertion determination unit 17 determines true.

<ポジネガ判定部16+挿入判定部17>
ポジネガ判定部16は、第1の固定対話ノードの文に対するユーザの回答の内容が、肯定的か又は否定的かを判定する。ポジネガ判定部16は、評価語に、ポジティブ(肯定的)/ネガティブ(否定的)の意味属性が対応付けられた評価極性辞書を有する。例えば以下のようなものである。
(評価語) (意味属性)
いじめる ネガティブ
結婚 ポジティブ
貧乏 ネガティブ
よろこぶ ポジティブ
また、意味属性には、以下のような係数が対応付けられている。
ポジティブ(肯定的)=2
ネガティブ(否定的)=0.5
<Positive negative determination unit 16 + insertion determination unit 17>
The positive / negative determination unit 16 determines whether the content of the user's answer to the sentence of the first fixed dialog node is positive or negative. The positive / negative determination unit 16 has an evaluation polarity dictionary in which positive (positive) / negative (negative) semantic attributes are associated with evaluation words. For example:
(Evaluation word) (Semantic attribute)
Bullying Negative Marriage Positive Poor Negative Negative Pleasure Positive In addition, the following coefficients are associated with semantic attributes.
Positive = 2
Negative (negative) = 0.5

次に、挿入判定部17によれば、前述と同様に、第1の固定対話ノード毎に、そのノードに含まれる文の次に、動的対話ノードに基づく質問を挿入することの適否を表す質問適合度が付与されている。そして、挿入判定部17は、その質問適合度に、ポジ/ネガそれぞれに割り当てられた係数を乗算する。
(対話例1)
「予定を入れてください」:質問適用度=1
「日曜日に結婚式がある」:ポジティブ=2
質問適用度=1×2=2
(対話例2)
「具合が悪いのですか」 :質問適用度=0.5
「いじめられた」 :ネガティブ=0.5
質問適用度=0.5×0.5=0.25
(対話例3)
「ゴルフは好きですか」 :質問適用度=2
「貧乏だからできない」 :ネガティブ=0.5
質問適用度=2×0.5=1
ここで、挿入判定部17は、第1の固定対話ノードの質問適合度が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する。所定閾値は、例えば「0.8」であってもよい。その場合、「いじめられた」の回答の後に、動的対話ノードが挿入されることはない。一方で、「日曜日に結婚式がある」「貧乏だからできない」の後には、動的対話ノードが挿入されることとなる。
Next, according to the insertion determination unit 17, as described above, for each first fixed dialog node, the suitability of inserting a question based on the dynamic dialog node after the sentence included in the node is expressed. Question suitability is given. Then, the insertion determination unit 17 multiplies the question suitability by a coefficient assigned to each positive / negative.
(Dialogue example 1)
"Please enter a schedule": Question application level = 1
“We have a wedding on Sunday”: Positive = 2
Question applicability = 1 × 2 = 2
(Dialogue example 2)
"Isn't it bad?": Question application level = 0.5
"I was bullied": Negative = 0.5
Question applicability = 0.5 × 0.5 = 0.25
(Dialogue example 3)
"Do you like golf?"
“I cannot do it because it is poor”: Negative = 0.5
Question applicability = 2 × 0.5 = 1
Here, the insertion determination unit 17 determines to insert the dynamic dialog node next to the first fixed dialog node only when the question suitability of the first fixed dialog node is equal to or greater than a predetermined threshold. The predetermined threshold may be “0.8”, for example. In that case, no dynamic dialog node is inserted after the “bullyed” answer. On the other hand, a dynamic dialog node is inserted after “There is a wedding on Sunday” and “I cannot do it because it is poor”.

最終的に、挿入判定部17によって、真と判定された場合にのみ、動的対話ノード選択部12が実行される。   Finally, the dynamic dialog node selection unit 12 is executed only when the insertion determination unit 17 determines true.

[動的対話ノード選択部12]
動的対話ノード選択部12は、動的対話ノード検索部121と、戻り遷移確率算出部122と、動的対話ノード決定部123とを有する。
[Dynamic dialog node selection unit 12]
The dynamic dialog node selection unit 12 includes a dynamic dialog node search unit 121, a return transition probability calculation unit 122, and a dynamic dialog node determination unit 123.

<動的対話ノード検索部121>
動的対話ノード検索部121は、動的対話ノード蓄積部11から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)が高い所定数の動的対話ノードを検索する。
<Dynamic dialog node search unit 121>
The dynamic dialog node search unit 121 searches the dynamic dialog node storage unit 11 for a predetermined number of dynamic dialog nodes having a high transition probability P (A, Si) from the sentence of the first fixed dialog node. .

図3は、固定対話ノード間に挿入すべき動的対話ノードを検索する説明図である。   FIG. 3 is an explanatory diagram for searching for a dynamic dialog node to be inserted between fixed dialog nodes.

図3によれば、7つの動的対話ノードが、動的対話ノード蓄積部11に蓄積されているとする。[]は、名詞に属するカテゴリを表す。
(S1)ゴルフ[スポーツ]は趣味ですか?
(S2)軽井沢[場所]で働いていますか?
(S3)よく軽井沢[場所]でスポーツ[スポーツ]をしますか?
(S4)***[人名]は友達ですか?
(S5)毎日[時間]電車[物]に乗る時、アラーム[時間]を設定しますか?
(S6)どこか具合が悪いですか?
(S7)いつも休日[時間]に早起き[目覚まし]でゴルフ[スポーツ]をしますか?
According to FIG. 3, it is assumed that seven dynamic dialog nodes are stored in the dynamic dialog node storage unit 11. [] Represents a category belonging to a noun.
(S1) Is golf [sports] a hobby?
(S2) Do you work at Karuizawa [Place]?
(S3) Do you often play sports in Karuizawa [place]?
(S4) Is *** [person name] a friend?
(S5) Do you set alarm [time] every day when you get on [time] train [things]?
(S6) Is something wrong?
(S7) Do you always play golf [sports] on the wake-up [alarm] on holiday [time]?

各文は、形態素に区分された後、対話コーパスにおける出現頻度が高い重要語(名詞)を蓄積した重要語辞書を用いて、重要語が検出される。勿論、あえて重要語として検出することなく、形態素の名詞を全て、コサイン距離を算出するための要素としてもよい。コサイン距離は、各文の中から抽出された重要語及びその名詞種別に応じて算出される。例えば以下のような概念式で算出される。
固定対話ノードの文の重要語の特徴ベクトル:D
動的対話ノードの文の重要語の特徴ベクトル:E
2つの文の類似度:sim(D,E)
sim(D,E)=cosθ=(D・E)/(|D||E|)
コサイン距離は、同じ単語同士である場合には類似度重みを1とし、同じカテゴリ同士である場合にも類似度重みを1とする。勿論、同じ単語カテゴリの類似度重みは、0〜1の間の値で設定可能である。
After each sentence is classified into morphemes, an important word is detected using an important word dictionary in which important words (nouns) having a high appearance frequency in the dialogue corpus are accumulated. Of course, all morpheme nouns may be used as elements for calculating the cosine distance without being detected as important words. The cosine distance is calculated according to an important word extracted from each sentence and its noun type. For example, it is calculated by the following conceptual formula.
Feature vector of key words of fixed dialogue node sentence: D
Feature vector of key words of dynamic dialogue node sentence: E
Similarity between two sentences: sim (D, E)
sim (D, E) = cos θ = (D · E) / (| D || E |)
For the cosine distance, the similarity weight is set to 1 when the words are the same, and the similarity weight is set to 1 when the words are the same category. Of course, the similarity weight of the same word category can be set to a value between 0 and 1.

ここで、動的対話ノード検索部121は、固定対話ノードの回答文「土曜日8時に軽井沢でゴルフをする」と、各動的対話ノードの質問文との間のコサイン距離を算出する。休日[時間]と土曜日[時間]との場合、同じカテゴリ同士であるので、類似度重みは1とする。   Here, the dynamic dialog node search unit 121 calculates a cosine distance between the answer text of the fixed dialog node “go golf in Karuizawa at 8:00 on Saturday” and the question text of each dynamic dialog node. Since holidays [time] and Saturday [time] are in the same category, the similarity weight is 1.

例えば「予定を入れてください」及び「土曜日8時に軽井沢でゴルフをする」について、以下の重要語が検出される。
「土曜日」:[時間]
「軽井沢」:[場所]
「ゴルフ」:[スポーツ]
「予定」 :[予定]
For example, the following important words are detected for “please schedule” and “go golfing at Karuizawa at 8:00 on Saturday”.
“Saturday”: [Time]
“Karuizawa”: [Place]
"Golf": [Sports]
"Schedule": [Schedule]

ここで、「予定を入れてください」及び「土曜日8時に軽井沢でゴルフをする」に対する、各動的対話ノードのコサイン距離を算出する。
(S1)ゴルフ[スポーツ]は趣味ですか?
=「ゴルフ」:コサイン距離=0.50
(S2)軽井沢[場所]で働いていますか?
=「軽井沢」:コサイン距離=0.50
(S3)よく軽井沢でスポーツをしますか?
=「軽井沢」「スポーツ」:コサイン距離=0.71
(S4)***[人名]は友達ですか?
=***:コサイン距離=0.0
(S5)毎日[時間]電車[乗物]に乗る時、アラーム[時間]を設定しますか?
=「毎日」「電車」「アラーム」:コサイン距離=0.29
(S6)どこか具合が悪いですか?
=コサイン距離=0.0
(S7)いつも休日[時間]に早起き[目覚まし]でゴルフ[スポーツ]をしますか?
=「休日」「早起き」「ゴルフ」:コサイン距離=0.58
Here, the cosine distance of each dynamic dialogue node with respect to “please schedule” and “play golf in Karuizawa at 8:00 on Saturday” is calculated.
(S1) Is golf [sports] a hobby?
= "Golf": Cosine distance = 0.50
(S2) Do you work at Karuizawa [Place]?
= "Karuizawa": Cosine distance = 0.50
(S3) Do you often play sports in Karuizawa?
= "Karuizawa""Sports": Cosine distance = 0.71
(S4) Is *** [person name] a friend?
= ***: Cosine distance = 0.0
(S5) Do you set alarm [time] every day when you get on [time] train [vehicle]?
= "Everyday""Train""Alarm": Cosine distance = 0.29
(S6) Is something wrong?
= Cosine distance = 0.0
(S7) Do you always play golf [sports] on the wake-up [alarm] on holiday [time]?
= "Holiday""Wake up early""Golf": Cosine distance = 0.58

図3によれば、例えば、検索されるコサイン距離の閾値「0.5」が設定されているとする。この場合、S1、S2、S3及びS7が、動的対話ノードの候補として検索される。尚、文の間のコサイン距離の算出方法としては、ベクトル空間法を用いた類似度の算出方法がある(例えば非特許文献1参照)。   According to FIG. 3, for example, it is assumed that the threshold value “0.5” of the cosine distance to be searched is set. In this case, S1, S2, S3, and S7 are searched as dynamic dialog node candidates. As a method for calculating a cosine distance between sentences, there is a method for calculating a similarity using a vector space method (see, for example, Non-Patent Document 1).

<戻り遷移確率算出部122>
戻り遷移確率算出部122は、検索された各動的対話ノードの文から第2の固定対話ノードへの戻りの遷移確率P(Si,B)を算出する。戻り遷移確率算出部122も、動的対話ノード検索部121と同様に、遷移確率は、固定対話ノードの文と、動的対話ノードの文との間のコサイン距離に基づくものである。
<Return Transition Probability Calculation Unit 122>
The return transition probability calculation unit 122 calculates a return transition probability P (Si, B) from the retrieved sentence of each dynamic dialog node to the second fixed dialog node. Similarly to the dynamic dialog node search unit 121, the return transition probability calculation unit 122 is based on the cosine distance between the sentence of the fixed dialog node and the sentence of the dynamic dialog node.

図4は、検索された各動的対話ノードについて、戻りの遷移確率を算出した説明図である。   FIG. 4 is an explanatory diagram in which a return transition probability is calculated for each searched dynamic dialog node.

ここで、戻り遷移確率算出部122は、各動的対話ノードの質問文と、戻り(第2)の固定対話ノードの質問文「プレー開始2時間前にアラームを設定しますか?」との間のコサイン距離を算出する。例えば以下のように算出される。
「プレー開始2時間前にアラームを設定しますか?」=「プレー」「時間」「アラーム」
(S1)ゴルフ[スポーツ]は趣味ですか?
=「ゴルフ」:コサイン距離=0.58
(S2)軽井沢[場所]で働いていますか?
=「軽井沢」:コサイン距離=0.0
(S3)よく軽井沢[場所]でスポーツ[スポーツ]をしますか?
=「軽井沢」「スポーツ」:コサイン距離=0.41
(S7)いつも休日[時間]に早起き[目覚まし]でゴルフ[スポーツ]をしますか?
=「休日」「早起き」「ゴルフ」:コサイン距離=1.0
Here, the return transition probability calculation unit 122 includes a question sentence of each dynamic dialogue node and a question sentence of the return (second) fixed dialogue node “Do you want to set an alarm 2 hours before the start of play?”. Calculate the cosine distance between them. For example, it is calculated as follows.
“Do you want to set an alarm 2 hours before the start of play?” = “Play” “Time” “Alarm”
(S1) Is golf [sports] a hobby?
= "Golf": Cosine distance = 0.58
(S2) Do you work at Karuizawa [Place]?
= "Karuizawa": Cosine distance = 0.0
(S3) Do you often play sports in Karuizawa [place]?
= "Karuizawa""Sports": Cosine distance = 0.41
(S7) Do you always play golf [sports] on the wake-up [alarm] on holiday [time]?
= "Holiday""Wake up early""Golf": Cosine distance = 1.0

ここでは、「ゴルフ」と「プレー」とは、[スポーツ]という同一のカテゴリに属する。また、「2時間」と「休日」とは、[時間]という同一のカテゴリに属する。「早起き」と「アラーム」とは、「目覚まし」という同一のカテゴリに属する。同一カテゴリの単語同士は、コサイン距離が短くなる。そうすると、結果的に、「いつも休日にゴルフをしますか?」と、「プレー開始2時間前にアラームを設定しますか?」との文同士の間のコサイン距離が、最も短く(高い値)となる。   Here, “golf” and “play” belong to the same category of [sports]. Further, “2 hours” and “holiday” belong to the same category of [time]. “Wake up early” and “alarm” belong to the same category of “alarm”. The cosine distance between words in the same category is shortened. As a result, the cosine distance between the sentences “Do you always play golf on holidays?” And “Do you want to set an alarm 2 hours before the start of play?” Is the shortest (highest value). )

<動的対話ノード決定部123>
動的対話ノード決定部123は、第1の固定対話ノードからの行きの遷移確率P(A,Si)と、第2の固定対話ノードからの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する。例えば、所定条件を乗算値として、行きの遷移確率P(A,Si)と戻りの遷移確率P(Si,B)との乗算値が、最大となる動的対話ノードを選択するものであってもよい。
P(A,Si)×P(Si,B)
(S1)ゴルフは趣味ですか? =0.50×0.58=0.29
(S2)軽井沢で働いていますか? =0.50×0=0
(S3)よく軽井沢でスポーツをしますか? =0.71×0.41=0.29
★(S7)いつも休日に早起きでゴルフをしますか?=0.58×1.00=0.58
最終的に、S7の動的対話ノードに決定される。
<Dynamic dialog node determination unit 123>
The dynamic dialog node determination unit 123 combines the transition probability P (A, Si) going from the first fixed dialog node and the return transition probability P (Si, B) from the second fixed dialog node. Selects the dynamic interaction node that is maximal under the given conditions. For example, with a predetermined condition as a multiplication value, the dynamic interaction node that selects the maximum value of the multiplication value of the going transition probability P (A, Si) and the returning transition probability P (Si, B) is selected. Also good.
P (A, Si) x P (Si, B)
(S1) Is golf a hobby? = 0.50 x 0.58 = 0.29
(S2) Do you work at Karuizawa? = 0.50 × 0 = 0
(S3) Do you often play sports in Karuizawa? = 0.71 x 0.41 = 0.29
★ (S7) Do you always get up early and play golf on holidays? = 0.58 x 1.00 = 0.58
Finally, it is determined as the dynamic dialog node of S7.

また、行きの遷移確率P(A,Si)に重み付けて、戻り遷移確率P(Si,B)との乗算値であってもよい。更に、行きの遷移確率P(A,Si)と戻り遷移確率P(Si,B)との加算値であってもよい。ここでの「所定条件下で最大となる」とは、様々な算出方法を採用することができる。   Alternatively, the value may be a product of the return transition probability P (Si, B) by weighting the outgoing transition probability P (A, Si). Further, it may be an added value of the outgoing transition probability P (A, Si) and the return transition probability P (Si, B). Here, “maximum under a predetermined condition” can employ various calculation methods.

<動的対話ノード選択部12の上位概念的な算出方法>
前述した動的対話ノード選択部12は、3つのステップを実行するものとして説明したが、上位概念的に、最初から、行きの遷移確率と戻りの遷移確率とを組み合わせて、動的対話ノードを選択するものであってよい。即ち、動的対話ノード選択部12は、動的対話ノード蓄積部11から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する。
<Higher-level conceptual calculation method of the dynamic dialog node selection unit 12>
The above-described dynamic dialog node selection unit 12 has been described as executing three steps. However, from the beginning, the dynamic dialog node is determined by combining the outgoing transition probability and the return transition probability from the beginning. It may be a choice. That is, the dynamic dialogue node selection unit 12 sends the transition probability P (A, Si) from the sentence of the first fixed dialogue node to the second fixed dialogue node from the dynamic dialogue node storage unit 11. A dynamic dialog node whose combination with the return transition probability P (Si, B) is maximized under a predetermined condition is selected.

図5は、動的対話ノードに対する遷移確率を総当たり的に算出した説明図である。   FIG. 5 is an explanatory diagram in which the transition probabilities for the dynamic dialogue nodes are calculated brute force.

図5によれば、動的対話ノード選択部12は、固定対話ノードの回答文「土曜日8時に軽井沢でゴルフをする」と、全ての動的対話ノードの質問文との間のコサイン距離を算出する。また、動的対話ノード選択部12は、全ての動的対話ノードの質問文と、戻り(第2)の固定対話ノードの質問文「プレー開始2時間前にアラームを設定しますか?」との間のコサイン距離を算出する。そして、各動的対話ノードについて、例えば2つのコサイン距離の乗算値(加算値や所定条件)を算出する。そして、例えば乗算値が最大となる動的対話ノードが選択される。   According to FIG. 5, the dynamic dialogue node selection unit 12 calculates the cosine distance between the answer sentence of the fixed dialogue node “Golf golf in Karuizawa at 8:00 on Saturday” and the question sentences of all the dynamic dialogue nodes. To do. Also, the dynamic dialogue node selection unit 12 asks the questions of all the dynamic dialogue nodes and the question of the return (second) fixed dialogue node “Do you want to set an alarm 2 hours before the start of play?”. The cosine distance between is calculated. Then, for each dynamic dialogue node, for example, a multiplication value (addition value or predetermined condition) of two cosine distances is calculated. Then, for example, the dynamic dialog node having the maximum multiplication value is selected.

[対話シナリオ進行部13]
対話シナリオ進行部13は、第1の固定対話ノードから、選択された動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する。
[Dialogue scenario progression unit 13]
The dialogue scenario progression unit 13 inserts the selected dynamic dialogue node from the first fixed dialogue node, and advances the scenario to the second fixed dialogue node.

図6は、図2の固定対話ノード間に、動的対話ノードが挿入された最終的な対話シナリオを表す説明図である。   FIG. 6 is an explanatory diagram showing a final dialog scenario in which a dynamic dialog node is inserted between the fixed dialog nodes in FIG.

図6によれば、以下のように対話シナリオが進行している。
(システム)「予定を入れてください」(固定対話ノード)
(ユーザ) 「土曜日8時に軽井沢でゴルフをする」
(システム)「いつも休日に早起きでゴルフをしますか?」(動的対話ノード)
(ユーザ) 「いつもは平日だなあ」
(システム)「プレー開始2時間前にアラームを設定しますか?」(固定対話ノード)
(ユーザ) 「はい」
ここで、対話システムは、動的対話ノードによって、当該ユーザは「ゴルフを普段平日にしている」という情報(ユーザの趣味や嗜好などプロフィール情報)を収集することができる。
According to FIG. 6, the dialogue scenario proceeds as follows.
(System) “Please schedule” (fixed dialog node)
(User) "Play golf in Karuizawa at 8:00 on Saturday"
(System) “Do you always get up early on the weekend to play golf?” (Dynamic Dialogue Node)
(User) "It's always a weekday"
(System) “Do you want to set an alarm 2 hours before the start of play?” (Fixed dialogue node)
(User) "Yes"
Here, the dialogue system can collect information (profile information such as user's hobbies and preferences) that the user is “going golf on weekdays” by the dynamic dialogue node.

以上、詳細に説明したように、本発明の対話プログラム、サーバ及び方法によれば、動的対話ノードから固定対話ノードへ戻る際の遷移確率を考慮することによって、できる限り自然な対話の中で、固定的な対話ノードの間に動的な対話ノードを挿入することができる。   As described above in detail, according to the dialogue program, server, and method of the present invention, the transition probability when returning from the dynamic dialogue node to the fixed dialogue node is taken into consideration in the natural dialogue as much as possible. , Dynamic dialog nodes can be inserted between fixed dialog nodes.

尚、本発明は、ユーザ操作に基づく端末のディスプレイに「キャラクタ・エージェント」を表示し、ユーザとエージェントとが音声による対話を進める、音声対話システムに適する。勿論、本発明は、音声対話に限定されるものではなく、テキスト対話であってもよい。   The present invention is suitable for a voice dialogue system in which a “character agent” is displayed on a display of a terminal based on a user operation, and a dialogue between the user and the agent advances by voice. Of course, the present invention is not limited to a voice dialogue, but may be a text dialogue.

前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。   Various changes, modifications, and omissions of the above-described various embodiments of the present invention can be easily made by those skilled in the art. The above description is merely an example, and is not intended to be restrictive. The invention is limited only as defined in the following claims and the equivalents thereto.

1 対話サーバモジュールプログラム
10 対話シナリオ蓄積部
11 動的対話ノード蓄積部
12 動的対話ノード選択部
121 動的対話ノード検索部
122 戻り遷移確率算出部
123 動的対話ノード決定部
13 対話シナリオ進行部
14 質問文送信部
15 回答文受信部
16 ポジネガ判定部
17 挿入判定部
2 端末モジュールプログラム
DESCRIPTION OF SYMBOLS 1 Dialog server module program 10 Dialog scenario storage part 11 Dynamic dialog node storage part 12 Dynamic dialog node selection part 121 Dynamic dialog node search part 122 Return transition probability calculation part 123 Dynamic dialog node determination part 13 Dialog scenario progress part 14 Question sentence sending part 15 Answer sentence receiving part 16 Positive / negative judgment part 17 Insertion judgment part 2 Terminal module program

Claims (8)

ユーザと対話的にシナリオを進行するようにコンピュータを機能させる対話プログラムであって、
ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積手段と、
前記対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、
前記動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、
第1の固定対話ノードから、選択された前記動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段と
してコンピュータを機能させることを特徴とする対話プログラム。
An interactive program that causes a computer to function to proceed with a scenario interactively with a user,
A dialogue scenario accumulating means for accumulating a plurality of fixed dialogue nodes associated with a sentence to be clearly shown to a user and connecting them as a scenario from the first fixed dialogue node to the second fixed dialogue node;
Dynamic dialog node storage means for storing a plurality of dynamic dialog nodes that can be inserted between the dialog nodes;
From the dynamic dialog node storage means, the transition probability P (A, Si) of the return from the sentence of the first fixed dialog node, and the transition probability P (Si, B) of the return to the second fixed dialog node, A dynamic dialog node selection means for selecting a dynamic dialog node that has a maximum combination under a predetermined condition;
An interactive program that inserts the selected dynamic interactive node from a first fixed interactive node and causes the computer to function as an interactive scenario proceeding unit that advances the scenario to the second fixed interactive node.
前記動的対話ノード選択手段は、
前記動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)が高い所定数の動的対話ノードを検索する動的対話ノード検索手段と、
検索された各動的対話ノードの文から第2の固定対話ノードへの戻りの遷移確率P(Si,B)を算出する戻り遷移確率算出手段と、
第1の固定対話ノードからの行きの遷移確率と、第2の固定対話ノードからの戻りの遷移確率との組み合わせが、所定条件下で最大となる動的対話ノードを決定する動的対話ノード決定手段と
を含むようにコンピュータを機能させることを特徴とする請求項1に記載の対話プログラム。
The dynamic dialog node selection means includes:
Dynamic dialog node search means for searching a predetermined number of dynamic dialog nodes having a high transition probability P (A, Si) from the sentence of the first fixed dialog node from the dynamic dialog node storage means;
Return transition probability calculating means for calculating a return transition probability P (Si, B) from the sentence of each searched dynamic dialog node to the second fixed dialog node;
Dynamic dialog node determination in which a combination of a transition probability of going from the first fixed dialog node and a return transition probability from the second fixed dialog node is maximized under a predetermined condition The interactive program according to claim 1, wherein the computer functions so as to include a means.
前記動的対話ノード検索手段及び前記戻り遷移確率算出手段における遷移確率は、固定対話ノードの文と、動的対話ノードの文との間のコサイン距離に基づくものであるようにコンピュータを機能させることを特徴とする請求項2に記載の対話プログラム。   Causing the computer to function such that transition probabilities in the dynamic dialog node search means and the return transition probability calculation means are based on a cosine distance between a sentence of a fixed dialog node and a sentence of the dynamic dialog node. The dialogue program according to claim 2, wherein: 対話コーパスにおける出現頻度が高い重要語(名詞)を蓄積した重要語辞書を用いて、前記コサイン距離は、各文の中から抽出された重要語及びそのカテゴリに応じて算出されるようにコンピュータを機能させることを特徴とする請求項3に記載の対話プログラム。   Using a key word dictionary storing key words (nouns) having a high appearance frequency in the dialogue corpus, the cosine distance is calculated according to the key words extracted from each sentence and their categories. 4. The interactive program according to claim 3, wherein the interactive program is made to function. 第1の固定対話ノード毎に、そのノードに含まれる文の次に、動的対話ノードに基づく質問を挿入することの適否を表す質問適合度が付与されており、
第1の固定対話ノードの前記質問適合度が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する挿入判定手段を更に有し、
前記動的対話ノード検索手段は、前記挿入判定手段によって真と判定された場合にのみ機能する
ようにコンピュータを機能させることを特徴とする請求項から4のいずれか1項に記載の対話プログラム。
Each first fixed dialogue node is given a question suitability level indicating whether or not to insert a question based on a dynamic dialogue node after a sentence included in the node,
An insertion determining unit that determines to insert a dynamic dialog node next to the first fixed dialog node only when the question suitability of the first fixed dialog node is equal to or greater than a predetermined threshold;
5. The interactive program according to claim 2, wherein the dynamic interactive node search unit causes a computer to function only when it is determined to be true by the insertion determining unit. 6. .
第1の固定対話ノードの文に対するユーザの回答の内容が、肯定的か又は否定的かを判定するするポジネガ判定手段を更に有し、
前記挿入判定手段は、前記質問適合度に、ポジ/ネガそれぞれに割り当てられた係数を乗算し、その乗算値が所定閾値以上の場合にのみ、第1の固定対話ノードの次に動的対話ノードを挿入すると判定する
ようにコンピュータを機能させることを特徴とする請求項5に記載の対話プログラム。
A positive / negative determining means for determining whether the content of the user's answer to the sentence of the first fixed dialog node is positive or negative;
The insertion determination means multiplies the question fitness by a coefficient assigned to each positive / negative, and only when the multiplied value is equal to or greater than a predetermined threshold value, the dynamic dialog node follows the first fixed dialog node. The interactive program according to claim 5, wherein the computer is caused to function so as to determine that the character is inserted.
ユーザ操作に基づく端末との間で、対話的にシナリオを進行する対話サーバであって、
前記端末へ送信すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積手段と、
前記対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積手段と、
前記動的対話ノード蓄積手段から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する動的対話ノード選択手段と、
第1の固定対話ノードから、選択された前記動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する対話シナリオ進行手段と
を有することを特徴とする対話サーバ。
A dialogue server that interactively advances a scenario with a terminal based on a user operation,
A dialogue scenario accumulating means for accumulating a plurality of fixed dialogue nodes associated with a sentence to be transmitted to the terminal, and associating them as a scenario from the first fixed dialogue node to the second fixed dialogue node;
Dynamic dialog node storage means for storing a plurality of dynamic dialog nodes that can be inserted between the dialog nodes;
From the dynamic dialog node storage means, the transition probability P (A, Si) of the return from the sentence of the first fixed dialog node, and the transition probability P (Si, B) of the return to the second fixed dialog node, A dynamic dialog node selection means for selecting a dynamic dialog node that has a maximum combination under a predetermined condition;
A dialog server, comprising: a dialog scenario advancing means for inserting the selected dynamic dialog node from a first fixed dialog node and progressing a scenario to a second fixed dialog node.
装置を用いて、ユーザと対話的にシナリオを進行する対話方法であって、
ユーザへ明示すべき文を対応付けた複数の固定対話ノードを蓄積し、第1の固定対話ノードから第2の固定対話ノードへシナリオとして結び付けた対話シナリオ蓄積部と、
前記対話ノード同士の間に挿入可能な複数の動的対話ノードを蓄積する動的対話ノード蓄積部と、
前記動的対話ノード蓄積部から、第1の固定対話ノードの文からの行きの遷移確率P(A,Si)と、第2の固定対話ノードへの戻りの遷移確率P(Si,B)との組み合わせが、所定条件下で最大となる動的対話ノードを選択する第1のステップと、
第1の固定対話ノードから、選択された前記動的対話ノードを挿入し、第2の固定対話ノードへ、シナリオを進行する第2のステップと
を有することを特徴とする対話方法。
A dialogue method in which a scenario is progressed interactively with a user using a device,
A dialogue scenario storage unit that accumulates a plurality of fixed dialogue nodes associated with sentences to be clearly shown to a user, and links them as a scenario from the first fixed dialogue node to the second fixed dialogue node;
A dynamic dialog node storage unit that stores a plurality of dynamic dialog nodes that can be inserted between the dialog nodes;
From the dynamic dialog node accumulating unit, the transition probability P (A, Si) of the return from the sentence of the first fixed dialog node, and the transition probability P (Si, B) of the return to the second fixed dialog node, A first step of selecting a dynamic interaction node whose combination is maximal under predetermined conditions;
A dialog method comprising: a second step of inserting the selected dynamic dialog node from a first fixed dialog node and advancing a scenario to a second fixed dialog node.
JP2013068522A 2013-03-28 2013-03-28 Dialog program, server, and method for inserting dynamic dialog node in dialog scenario Active JP6027476B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013068522A JP6027476B2 (en) 2013-03-28 2013-03-28 Dialog program, server, and method for inserting dynamic dialog node in dialog scenario

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013068522A JP6027476B2 (en) 2013-03-28 2013-03-28 Dialog program, server, and method for inserting dynamic dialog node in dialog scenario

Publications (2)

Publication Number Publication Date
JP2014191271A JP2014191271A (en) 2014-10-06
JP6027476B2 true JP6027476B2 (en) 2016-11-16

Family

ID=51837539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013068522A Active JP6027476B2 (en) 2013-03-28 2013-03-28 Dialog program, server, and method for inserting dynamic dialog node in dialog scenario

Country Status (1)

Country Link
JP (1) JP6027476B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6604542B2 (en) * 2015-04-02 2019-11-13 パナソニックIpマネジメント株式会社 Dialogue method, dialogue program and dialogue system
CN107945796B (en) * 2017-11-13 2021-05-25 百度在线网络技术(北京)有限公司 Speech recognition method, device, equipment and computer readable medium
JP6729942B2 (en) * 2018-03-29 2020-07-29 株式会社アドバンスト・メディア Information processing system, information processing device, server, information processing method, and program
CN110442701B (en) * 2019-08-15 2022-08-05 思必驰科技股份有限公司 Voice conversation processing method and device
CN111611368B (en) * 2020-05-22 2023-07-04 北京百度网讯科技有限公司 Method and device for backtracking public scene dialogue in multiple rounds of dialogue
CN114415909B (en) * 2021-12-27 2023-12-26 宝宝巴士股份有限公司 Node interaction method and device based on cocos2dx

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224305B2 (en) * 2003-01-07 2009-02-12 富士通株式会社 Dialog information processing system
JP2007225682A (en) * 2006-02-21 2007-09-06 Murata Mach Ltd Voice dialog apparatus, dialog method and dialog program
JP5045486B2 (en) * 2008-02-19 2012-10-10 トヨタ自動車株式会社 Dialogue device and program

Also Published As

Publication number Publication date
JP2014191271A (en) 2014-10-06

Similar Documents

Publication Publication Date Title
CN107797984B (en) Intelligent interaction method, equipment and storage medium
JP6027476B2 (en) Dialog program, server, and method for inserting dynamic dialog node in dialog scenario
CN107609101B (en) Intelligent interaction method, equipment and storage medium
US11159462B2 (en) Communication system and communication control method
CN111414462B (en) Dialogue statement determination method, device, computer equipment and medium
JP6651973B2 (en) Interactive processing program, interactive processing method, and information processing apparatus
US10671665B2 (en) Personalized audio introduction and summary of result sets for users
JP2008191748A (en) Inter-user communication method, inter-user communication program and inter-user communication device
JP2014524076A (en) Inferring topics from communication in social networking systems
JP5992516B2 (en) Inferring Topics from Social Networking System Communication Using Social Context
JP6362861B2 (en) Dialog program, server and method for controlling insertion behavior of dynamic dialog node for dialog scenario
CN113314119B (en) Voice recognition intelligent household control method and device
JP2015219583A (en) Topic determination device, utterance device, method, and program
US11595331B2 (en) Communication system and communication control method
US9720982B2 (en) Method and apparatus for natural language search for variables
US10770068B2 (en) Dialog agent, reply sentence generation method, and non-transitory computer-readable recording medium
JP2016024636A (en) Control apparatus, control method, and control program
JP6224528B2 (en) Dialog search program, apparatus, and method for narrowing down and searching information elements to which attribute values are assigned
CN111427444B (en) Control method and device of intelligent device
JP2013072887A (en) Interactive device
JP6482703B1 (en) Estimation apparatus, estimation method, and estimation program
JP6898064B2 (en) Dialogue decision system, dialogue decision method, dialogue decision program, and terminal device
JP6147836B2 (en) Dialogue device
CN112836127B (en) Method and device for recommending social users, storage medium and electronic equipment
JP2019159878A (en) Answering device, answering method, answering program and answering system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160902

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161014

R150 Certificate of patent or registration of utility model

Ref document number: 6027476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150