JP6710007B1 - 対話管理サーバ、対話管理方法、及びプログラム - Google Patents

対話管理サーバ、対話管理方法、及びプログラム Download PDF

Info

Publication number
JP6710007B1
JP6710007B1 JP2019180170A JP2019180170A JP6710007B1 JP 6710007 B1 JP6710007 B1 JP 6710007B1 JP 2019180170 A JP2019180170 A JP 2019180170A JP 2019180170 A JP2019180170 A JP 2019180170A JP 6710007 B1 JP6710007 B1 JP 6710007B1
Authority
JP
Japan
Prior art keywords
word
unit
answer
text data
information
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
JP2019180170A
Other languages
English (en)
Other versions
JP2020184294A (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.)
Arithmer Inc
Original Assignee
Arithmer Inc
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 Arithmer Inc filed Critical Arithmer Inc
Application granted granted Critical
Publication of JP6710007B1 publication Critical patent/JP6710007B1/ja
Publication of JP2020184294A publication Critical patent/JP2020184294A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)

Abstract

【課題】組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる対話管理サーバ、対話管理方法及びプログラムを提供する。【解決手段】対話管理システムにおいて、対話管理サーバ1は、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部11と、情報処理部10において、ユーザからの質問文のテキストデータを受け付ける受付部19と、受付部19により受け付けられた質問文のテキストデータと、記録部11に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部27と、を備える。【選択図】図17

Description

本発明は、対話管理サーバ、対話管理方法、及びプログラムに関する。
従来、企業においては、事務担当者が、営業担当者から業務内容に関する質問を受け付けると、膨大な業務マニュアルの中から必要な情報を抽出し、一つ一つ回答していた。ここで、顧客からの問い合わせに対してオペレータが電話で対応するための通話システムが知られている。
例えば、特許文献1には、顧客及びオペレータの通話の内容を管理する通話システムが記載されている(特許文献1)。
国際公開第2012/120624号
しかしながら、特許文献1に記載の従来システムにおいては、顧客からの電話での問い合わせの件数が多いと、その対応を行う専属のオペレータの存在が必要となるので、組織内の業務の効率化が図れない。また、問い合わせの内容によっては、オペレータが即座に回答することができないので、顧客にとって利便性が高いサービスとはいえない。
また、顧客からの問い合わせに対応するために、顧客向けのマニュアルやQ&A集が用意されることがある。しかし、そのようなマニュアルは膨大な量に及ぶことがあるため、顧客はマニュアルのどこを見ればよいのか分からず、結局、電話で問い合わせをしてしまうことも多い。このように、マニュアル等が存在するにもかかわらず、それらが有効に活用されているともいえない。
そこで、本発明のいくつかの態様はかかる事情に鑑みてなされたものであり、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる対話管理サーバ、対話管理方法、及びプログラムを提供することを目的とする。
本発明の一態様に係る対話管理サーバは、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、ユーザからの質問文のテキストデータを受け付ける受付部と、受付部により受け付けられた質問文のテキストデータと、記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、を備える。
本発明の一態様に係る対話管理方法は、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録するステップと、ユーザからの質問文のテキストデータを受け付けるステップと、受け付けられた質問文のテキストデータと、記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成するステップと、を含む。
本発明の一態様に係るプログラムは、コンピュータを、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部、ユーザからの質問文のテキストデータを受け付ける受付部、受付部により受け付けられた質問文のテキストデータと、記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部、として機能させる。
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されても良い。
本発明によれば、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる。
第1実施形態に係る対話管理システムの概略構成図(システム構成図)である。 一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をOOXML(Office Open XML)等の構造化文書へ変換する処理の一例を示す概念図である。 OOXML等の構造化文書から、本実施形態に特有の特定形式の構造化文書へ変換する処理の一例を示す概念図である。 第1実施形態に係る対話管理処理の一例を示すフローチャートである。 第1実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第1実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第2実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第3実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第4実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第5実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第5実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第6実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第6実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第6実施形態に係るオペレータ端末装置の表示部の画面の一例を示す図である。 第7実施形態に係る対話管理システムの概略構成図(システム構成図)である。 第8実施形態に係る対話管理システムの概略構成図(システム構成図)である。 第9実施形態に係る対話管理システムの概略構成図(システム構成図)である。 第9実施形態に係る下位概念語辞書の一例を示す模式図である。 第9実施形態に係る対話管理処理の一例を示すフローチャートである。 第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態の変形例6に係るユーザ端末装置の表示部の画面の一例を示す図である。 第9実施形態の変形例6のアイコンの一例を示す図である。 第9実施形態の変形例6のアイコンの一例を示す図である。 第10実施形態に係る対話管理システムの概略構成図(システム構成図)である。 第10実施形態に係る重み決定装置の処理を説明するためのフローチャートである。 第10実施形態に係る重み決定装置の処理を説明するためのフローチャートである。 第10実施形態に係る重み決定装置の処理を説明するためのフローチャートである。 第10実施形態に係る初期値リストの一例を示す図である。 第10実施形態に係る重み候補リストの一例を示す図である。 第11実施形態に係る対話管理システムの概略構成図(システム構成図)である。 第11実施形態に係る妥当性判定装置の処理を説明するためのフローチャートである。 第12実施形態に係る対話管理システムの概略構成図(システム構成図)である。
以下、添付図面を参照しながら本発明の実施の形態について説明する。以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、様々な変形が可能である。さらに、各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
<第1実施形態>
図1は、本発明の実施形態に係る対話管理システムの概略構成図(システム構成図)である。図1に示すように、対話管理システム100は、例示的に、対話管理サーバ1(対話管理サーバ)、対話ログデータベース(DB)4、ユーザ端末装置6、及びオペレータ端末装置8を備えて構成されている。
対話管理サーバ1は、所定のネットワークN上における対話を管理するサーバ用コンピュータであり、そのサーバ用コンピュータにおいて所定のサーバ用プログラムが動作することにより、サーバ機能を発現するものである。「ネットワークN上における対話」とは、ネットワークNを介する、ユーザと対話管理サーバ1との間の対話、及び、ネットワークNを介する、オペレータと対話管理サーバ1との間の対話のことをいう。例えば、「ネットワークN上における対話」は、ネットワークNを介してユーザ端末装置6から対話管理サーバ1に入力された質問、当該質問に対応する、対話管理サーバ1により生成された回答、及び、当該回答に対するユーザの応答を含む。また、「ネットワークN上における対話」は、ネットワークNを介してオペレータ端末装置8から対話管理サーバ1に入力された質問、当該質問に対応する、対話管理サーバ1により生成された回答、及び、当該回答に対するオペレータの応答を含む。
対話ログDB4は、ユーザと対話管理サーバ1との間の対話、及び、オペレータと対話管理サーバ1との間の対話を記録するデータベースであり、例えば、ネットワークNを介してユーザ端末装置6から対話管理サーバ1に入力された質問、当該質問に対応する、対話管理サーバ1により生成された回答、及び、当該回答に対するユーザの応答を含む対話ログ(対話結果)を記録する。なお、対話ログDB4は、対話管理サーバ1に含まれてもよい。
ユーザ端末装置6及びオペレータ端末装置8は、対話の内容が出力される装置であり、例えば、ラップトップ又はノートブック型コンピュータ等の情報出力装置である。なお、ユーザ端末装置6及びオペレータ端末装置8は、例えばスマートフォンなどの携帯電話、タブレット端末等を含む情報出力装置であってもよい。
ネットワークNは、例えばインターネット等を含む情報処理に係る通信回線又は通信網であり、その具体的な構成は、対話管理サーバ1、対話ログDB4、ユーザ端末装置6及びオペレータ端末装置8の間でデータの送受信が可能なように構成されていれば特に制限されない。
対話管理サーバ1は、例示的に、所定のネットワークN上における対話を管理するための対話管理処理を実行する情報処理部10、対話管理処理に必要な情報及び対話管理処理によって生成された情報を記録する記録部11、文書が用いられる業界の専門用語が格納された専門用語辞書DB12、及び単語の同義語が格納された同義語辞書DB13を備えて構成される。
情報処理部10は、例えば、機能的に、取得部15、データ変換部17、受付部19、自然言語処理部21、重み付け設定部23、回答生成部27、対話結果管理部29、出力制御部31、音声認識処理部33、及び音声対話管理部35を含んで構成されている。
なお、情報処理部10の上記各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。また、対話管理サーバ1の各DB12及び13は、プロセッサが実行することにより実現することができる。
取得部15は、例えば、回答の対象となる文書を取得する。ここで、「文書」とは、例えば、業務で使用される業務マニュアルやQ&A集などのテキスト文書、ワードプロセッサ・ソフト等で作成した文書及びプレゼンテーション・ソフトで作成した文書等を意味する。
データ変換部17(変換部)は、文書の内容が編、章、節、項、小項目等の階層構造を有する文書のデータに基づいて、階層構造の末端に位置する項目に含まれるテキストデータのそれぞれを、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。所定の単位としては、例えば、階層構造の末端(最下層)に位置する項目としてもよい。その場合、階層構造の末端に位置する項目に含まれるテキストデータのそれぞれを、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。
図2及び3を用いて、業務マニュアルやQ&A集などの文書をもとに、本実施形態に特有の特定形式の構造化文書に変換する処理について説明する。ここでは、一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をOOXML(Office Open XML)等の構造化文書に変換した後、さらに、本実施形態の対話管理サーバ1で利用される特定形式の構造化文書に変換する例について説明する。しかしながら、業務マニュアル等の文書を本実施形態に特有の特定形式の構造化文書に変換する際に、必ずしもOOXMLを経由する必要は無く、種々の変換処理を採用し得る。
図2は、一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をOOXML(Office Open XML)等の構造化文書へ変換する処理の一例を示す概念図である。図2に示すように、データ変換部17は、ワードファイルの業務マニュアルデータを、OOXML(Office Open XML)で記述されているファイル集合体へ変換する。
図3は、OOXML(Office Open XML)等の構造化文書から、本実施形態に特有の特定形式の構造化文書へ変換する処理の一例を示す概念図である。図3に示すように、データ変換部17は、OOXMLで記述されているファイル集合体へ変換された業務マニュアルデータについて、特定のXML形式へ変換する。具体的に、データ変換部17は、階層構造を有する業務マニュアルデータを、文書の構成単位(編、章、節、項、小項目等)ごとに参照可能なように抽出し、階層構造の末端に位置する構成単位(項目)に含まれるテキストデータ(図3においては、「取引時には、…を行なう。」)のそれぞれを、抽出された構成単位ごとに、当該構成単位の階層に関する情報と、各階層の見出しに関する情報とを対応付けて構造化した形式の文書に変換し、当該文書を後述する文書情報BI(文字情報)として記録部11に記録する。
図1に戻り、受付部19は、ユーザからの質問の入力を受け付ける。また、受付部19は、ユーザから、質問への回答に対する応答の入力を受け付ける。
自然言語処理部21は、例えば、文書内の文字情報及び入力された質問に含まれる文字情報を読み込んで形態素解析して単語ごとに切り出す。「形態素解析」とは、コンピュータの自然言語処理の一つであり、文法的な情報の注記のない自然言語のテキストデータから、対象言語の文法や、単語の品詞等の情報に基づいて、形態素の単位に区切り、形態素毎に品詞等を判別する解析処理をいう。また、自然言語処理部21は、係り受け解析(構文解析)、つまり、品詞情報から文の修飾関係を調査することを実行してもよい。
重み付け設定部23は、文書内の文字情報及び入力された質問に含まれる文字情報に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。
回答生成部27は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出し、当該抽出された各項目に至る一又は複数の階層とその見出しとを含む回答を生成し、質問の回答としてユーザに返す。また、回答生成部27は、後述するように、対話ログデータベース4に格納された対話結果に基づいて、マッチングの重み付けを学習してもよい。
対話結果管理部29は、ユーザから入力された質問、当該質問に対応する回答及び当該回答に対するユーザからの応答を含む対話結果を対話ログデータベース4に格納する。対話結果管理部29は、例えば、後述する音声認識処理部33により認識された音声情報を、対話結果として対話ログデータベース4に格納する。
出力制御部31は、回答生成部27により生成された回答を出力するように制御する。出力制御部31は、生成された回答を、ユーザ端末装置6及びオペレータ端末装置8の表示部(不図示)において出力するように制御する。
音声認識処理部33は、ユーザとオペレータとの音声対話の音声情報を認識する。
音声対話管理部35は、あるユーザとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザとの間で音声対話が可能となるように管理する。
記録部11は、構造化された形式に変換された文書を文書情報BIとして記録する。また、記録部11は、ユーザから入力された質問、及び当該質問に対応する回答及び当該回答に対するユーザからの応答を含む対話結果情報TI(対話結果)を、ユーザごとに関連付けて記録する。さらに、記録部11は、ユーザがネットワークNを介して入力する情報であるスタンプ情報SIを記録してもよい。
「スタンプ」とは、ネットワークNを介して入力される、対話用の画像情報である。スタンプは、例えば感情や意思、伝えたいメッセージをイラストで表したものであり、テキストを含んでもよい。
(対話管理処理)
図4及び図5を用いて、本発明に実施形態に係る対話管理処理を説明する。図4は、本発明の実施形態に係る対話管理処理の一例を示すフローチャートである。
(ステップS1)
図1に示す取得部15は、業務マニュアルやQ&A集などの文書を取得する。
(ステップS3)
図1に示すデータ変換部17は、図3に示すように、文書の内容が階層構造を有する文書のデータに基づいて、例えば、階層構造の末端に位置する構成単位、すなわち最下層のノードに含まれるテキストデータのそれぞれを、当該各構成単位に至る一又は複数の階層を特定可能な情報及び当該各構成単位に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。
(ステップS5)
図1に示す記録部11は、構造化した形式に変換された文書を文書情報BIとして記録する。
(ステップS7)
図1に示す受付部19は、ユーザからの質問の入力を受け付ける。
図5は、本発明の実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。図5に示すように、図1に示すユーザ端末装置6の画面Gに表示されているとおり、受付部19は、ユーザUから入力された「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」という質問T1を受け付ける。
(ステップS9)
図1に示す回答生成部27は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出し、当該抽出された各項目に至る一又は複数の階層とその見出しとを含む回答出力情報を生成し、質問の回答としてユーザに返す。
図5に示すように、図1に示す回答生成部27は、質問T1が入力された場合、入力された当該質問T1にマッチングする回答出力情報に基づく回答T3を生成し、画面Gにおいて提示する。以下では、回答生成処理をより具体的に説明する。
まず、図1に示す自然言語処理部21は、例えば、質問T1「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」を読み込んで形態素解析して単語ごとに切り出す。自然言語処理部21は、例えば「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」等の少なくとも一以上の単語ごとに切り出す。この際に、自然言語処理部21は、必要に応じて、専門用語辞書DB12及び同義語辞書DB13を参照してもよい。また、自然言語処理部21は、形態素解析結果に基づく品詞情報を参照して、構文解析を実行する。
次に、重み付け設定部23は、質問T1に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。重み付け設定部23は、切り出された、「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」…等の重み付けを設定する。重み付け設定部23は、例えば、一つ又は複数の文書における、出現頻度の高い単語に対する重みをより大きく設定してもよい。また、重み付け設定部23は、一つ又は複数の文書において出現頻度が低い単語に対する重みをより大きく設定してもよい。さらに、重み付け設定部23は、より短い文書において出現回数が多い単語に対する重みをより大きく設定してもよい。なお、設定された単語ごとの重み付けを示す情報は、記録部11において、文書情報BIとして記録されてもよい。
回答生成部27は、入力された当該質問T1「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」に含まれる単語「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」等に対応する、重み付け設定部23により設定された重み付けに基づいて、入力された質問T1に対する回答として適合する文章を図1に示す文書情報BIから抽出する。回答生成部27は、例えば、文書情報BIに含まれる構成単位(編、章、節、項、小項目等)ごとに検索し、回答として適合する文章を抽出してもよい。
回答生成部27は、例えば、質問T1に含まれる単語ごとに設定された重みに基づいて、文書情報BIとして記録されている、文書データの階層構造の末端に位置する構成単位に含まれる各テキストデータのうち、より大きい重みが設定された一以上の単語をより多く含むテキストデータを、質問T1により適合するテキストデータとして抽出する。なお、マッチング処理は上記に限られず、種々のマッチング処理を採用し得る。
そして、回答生成部27は、文書情報BIから抽出した、質問T1により適合したテキストデータ、例えば、図5に示す「管理編1章…」、「為替編6章…」、及び「管理編5章…」等に、「上位候補を示します。どれを詳しく見ますか?」等のテンプレートを追加した回答T3を生成する。
この構成によれば、テンプレートを含む回答を生成することで、人間との会話に近い形式で自然な対話が可能となる。
図5に示すように、図1に示す出力制御部31は、入力された質問に対する回答が複数生成された場合、当該質問に対する回答としてより適合する回答を優先して出力するように制御する。出力制御部31は、例えば、当該質問T1に対する回答としてより適合する上位3つの回答、「管理編1章…」、「為替編6章…」、及び「管理編5章…」を、表示部の画面Gにおいて上から順に出力するように制御してもよい。
この構成によれば、ある質問に対する回答としてより適合する回答をユーザが容易に把握することができるので、ユーザの利便性がより向上する。
そして、図5の選択結果T5に示すように、画面Gにおいては、回答T3において「(1)管理編1章…」が選択されると、出力制御部31は、回答詳細T7に示すように、「(1)管理編1章…」の具体的内容を出力するように構成される。具体的には、出力制御部31は、選択された番号に基づいて、当該番号に対応する構成単位(編、章、節、項、小項目等)における小項目の説明文を、文書情報BIから抽出して、出力する。なお、回答T3における選択の態様に関しては、回答T3内の詳細を確認したい番号を画面G上におけるクリック動作によって選択してもよいし、詳細を確認したい番号を入力欄EBにおいてテキスト入力することで選択してもよい。
なお、回答生成部27は、ホットワード、つまり予め設定された特定の単語を、回答T3及び回答詳細T7の少なくとも一方において、他の単語とは異なる表示形態となるように回答を生成してもよい。図5に示すように、回答生成部27は、回答T3及び回答詳細T7の少なくとも一方において、予め設定された特定の単語(例えば、本人、書類、本人確認書類等)を赤字となるように、他の単語は黒字となるように回答を生成する。また、回答生成部27は、質問T1に含まれる単語を、回答T3及び回答詳細T7の少なくとも一方において、他の単語とは異なる表示形態となるように回答を生成してもよい。
この構成によれば、ユーザが、特定の単語が回答においてどの部分で用いられているかを容易に把握することができる。
また、回答生成部27は、回答に、質問に含まれる単語の同義語が含まれる場合、生成される回答において、同義語をユーザが識別できるように回答を生成する。例えば、回答生成部27は、回答T3又は回答詳細T7において、質問T1に含まれる単語(住所)の同義語が含まれる場合、生成される回答において、同義語(住居)を「住居」と強調表示した上で回答を生成する。
この構成によれば、ユーザが回答において、質問に含まれる単語の同義語を容易に識別することができる。
また、図1に示す対話結果管理部29は、質問と、質問に対する回答と、当該回答に対する応答とを含む対話結果を対話ログデータベース4に格納する。そして、回答生成部27は、対話ログデータベース4に格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。
図6は、ユーザが回答(1)を選択した後に回答(2)を選択し直した場合のユーザ端末装置6の表示部の画面の一例を示す図である。図6に示すように、回答T9のテキスト情報が入力された後に、お気に入りボタンHIが選択されると、対話結果管理部29は、対話の開始から終了まで、つまり、図6に示すT1〜T9のテキスト情報を対話結果として対話ログデータベース4に格納する。ここで、ユーザUにとって、最後の回答(2)(回答T9)は、質問T1により適合した回答である。したがって、対話結果管理部29は、質問T1から最初の回答(1)及び最後の回答である回答T9までを纏めて管理し、回答生成部27は、お気に入りボタンHIが選択されたことによって対話ログデータベース4に格納された対話結果は、ユーザUにとって、質問T1には、回答(2)がより適合する回答であることを学習する。このように、回答生成部27は、対話ごとに管理された対話結果に基づいて繰り返し学習することで、入力される質問と回答とのマッチングの重み付けを学習する。
この構成によれば、質問と回答とのマッチングの重み付けを学習することができるので、回答の精度を向上させることができる。
以上、本発明の第1実施形態によれば、回答生成部27は、質問が入力された場合、入力された当該質問に含まれる単語に対応する設定された重み付けに基づいて、入力された当該質問に対する回答を生成する。よって、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる。
(変形例)
なお、上記説明では、回答生成部27は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出するとしたが、回答生成部27の処理はこれに限定されるものではない。回答生成部27は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータ及び見出しとをマッチングして、質問に関連する項目を複数抽出するものでもよい。
さらに、この場合、重み付け設定部23が、見出しとマッチングして抽出した質問に関連する項目と、記録された文書情報の各項目に含まれるテキストデータとマッチングして抽出した質問に関連する項目との重要度を変えてもよい。例えば、重み付け設定部23は、見出しに基づいて抽出された項目の重要度を、階層構造の末端に位置する構成単位のテキストデータに基づいて抽出された項目の重要度よりも高くなるように設定するものでもよい。
補足すると、質問に対する回答として、詳細な説明よりも簡易な説明の方がユーザの利便性に資することがある。それゆえ、質問によっては、各項目に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合がある。変形例の回答生成部27では、テキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することができる。
<第2実施形態>
図7は、入力された質問の内容が不明確である場合の、ユーザ端末装置6の表示部の画面の一例を示す図である。図7に示すように、図1に示す回答生成部27は、入力された質問T11「口座」の内容が不明確である場合、例えば、口座の開設について質問したいのか、口座の解約について質問したいのか等が判然とせず不明確である場合、入力された当該質問に対して、より具体的な質問を促すように、予め定められた回答T13「質問の詳細を教えてください。」を生成してもよい。具体的に、回答生成部27は、入力された質問の文字数、当該質問に対する検索スコア、及び当該質問に対して抽出される文書数などを総合的に評価することで、入力された質問の内容が不明確であるか否かを判断する。
このように、ユーザUがより具体的な質問をするように促された結果、追加で質問T15「口座開設」と入力されたことで、出力制御部31は、回答T17に示すように、文書情報BIに含まれる構成単位のうち、「口座開設」により適合する、複数の「章」を画面Gにおいて提示し、提示された複数の「章」の中で、より適合する一以上の「節」を提示する。そして、出力制御部31は、最終的に、この「節」の中から抽出された、より適合する文章を画面Gにおいて提示するように構成されてもよい。
この構成によれば、ユーザが文書情報BIの検索箇所をより具体的に絞り込めるため、抽出精度が向上できる。
以上、本発明の第2実施形態によれば、回答生成部27は、入力された質問の内容が不明確である場合、入力された当該質問に対して、予め定められた回答を生成する。よって、ユーザに対して、より具体的な質問を促すことができるので、質問の曖昧性を回避することができ、質問に対する回答の精度を向上させることができる。
<第3実施形態>
図8は、質問及び当該質問に対する回答が所定の回数繰り返された場合の、端末装置の表示部の画面の一例を示す図である。図8に示すように、図1に示す音声対話管理部35は、あるユーザUとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザUとの間で音声対話が可能となるように管理する。例えば、音声対話管理部35は、図8のテキストT21〜T24に示すように、ユーザUとの間で質問及び回答が例えば2回実行された場合、図1に示すオペレータと電話を介して対話可能となるように電話回線にアクセスできるように管理する。なお、所定の回数は、2回に限定されない。1回であってもよいし、3回以上であってもよい。
ユーザUとの間で質問及び回答が例えば2回実行された場合であって、ユーザUから電話のリクエストT25「電話をお願いします。」があったとき、図1に示す出力制御部31は、電話を許容するためのメッセージT26を画面Gにおいて表示するように構成されてもよい。
電話による対話は、図1に示すユーザ端末装置6とオペレータのオペレータ端末装置8との間で実行もよいし、ユーザ端末装置6やオペレータ端末装置8とは異なる他の通話機器を介して実行されてもよい。ユーザとオペレータの音声情報は、ユーザ端末装置6、オペレータ端末装置8、当該他の通話機器が収集し、対話管理サーバ1に送信する。なお、画面Gは、ユーザ端末装置6の表示部とオペレータ端末装置8の表示部で共通して表示されてもよい。オペレータは、電話による対話までの画面G上での対話を踏まえて、電話による応答が可能となる。
ここで、図1に示す、対話管理サーバ1の音声認識処理部33は、ユーザとオペレータとの音声対話の音声情報を認識し、対話結果管理部29は、対話結果としてユーザごとに、認識された音声情報の登録又は更新を管理してもよい。
以上、本発明の第3実施形態によれば、音声対話管理部35は、あるユーザとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザとの間で音声対話が可能となるように管理する。よって、ユーザが簡単にオペレータに対して電話することを防ぐことでオペレータに対する電話の回数が減少するので、組織内の業務の効率化が図れる。
ただし、音声対話管理部35の動作はこれに限定されるものではなく、対話開始前からユーザの電話を受け付けるものでもよいし、電話による音声対話と文字入力による質問との両方を受け付けるものでもよい。
<第4実施形態>
図9は、入力された質問に対する回答として一以上の関連キーワードを提示する場合の、ユーザ端末装置6の表示部の画面の一例を示す図である。図9に示すように、図1に示す回答生成部27は、入力された質問T31「口座開設」に対する回答として、例えば、記録部11において、あらかじめ、「口座開設」という単語に関連づけて記録された、一以上の関連キーワード「手続き」、「必要書類」、「代理」及び「未成年」を含む回答T33を生成する。ここで、ある単語の関連キーワードは、当該単語の共起情報を取得し、当該共起情報に重みづけを行うことで生成される。具体的に、「口座開設」の関連キーワードとしての「手続き」、「必要書類」、「代理」及び「未成年」等は、「口座開設」の共起情報に重みづけを行うことで生成されたものである。そして、「口座開設」という単語を含む質問、並びに、当該質問に対する、「手続き」、「必要書類」、「代理」及び「未成年」等を含む回答を含む対話結果を管理することで、関連キーワードの生成の精度を向上させることができるので、質問に対する回答の精度を向上させることができる。なお、一の単語と他の単語との共起情報は、構造化した形式の文書の全テキストデータから求められる。
以上、本発明の第4実施形態によれば、質問に含まれる単語にあらかじめ関連づけられたキーワードを提示し、ユーザに選択させることで、質問の曖昧性を回避することができ、質問に対する回答の精度を向上させることができる。
<第5実施形態>
第5実施形態においては、ユーザから入力された質問の内容が不明確である場合に、より具体的な質問を促すように、例えば編、章、節、項、小項目等からなる階層構造を有する文書データに基づいて、段階的に回答を出力する。例えば、第5実施形態における対話管理システムにおいては、入力された当該質問に対して編階層(第1階層)における項目に基づいて回答出力情報を生成し、質問の第1回答としてユーザUに返す。その後、さらに入力された質問に対して編階層よりも下位の階層である章、節、項、又は小項目等の階層(第2階層)における項目に基づいて回答出力情報を生成し、当該質問の第2回答としてユーザUに返す。
第5実施形態を図10及び図11を参照して説明する。図10及び図11は、入力された質問の内容が不明確である場合の、ユーザ端末装置6の表示部の画面Gの一例を示す図である。図10に示すように、図1に示す回答生成部27は、入力された質問T41「口座を統一する」の文字数、当該質問に対する検索スコア、及び当該質問に対して抽出される文書数などを総合的に評価することで、入力された質問T41「口座を統一する」の内容が不明確であるか否かを判定する。回答生成部27は、どのような内容の口座の統一について質問したいのか等が判然とせず不明確である場合、入力された当該質問に対して、より具体的な質問を促すように、入力された当該質問に対して編階層における、「預金編」、「共通編」…等に基づいて回答出力情報を生成し、質問の回答T43としてユーザUに返す。なお、回答生成部27は、例えば、回答T43の出力の際に、予め定められた回答T42「『〇〇〇〇』はどの編に該当しますか?もう少し詳しく教えてください。」を生成し返答してもよい。
回答生成部27は、その後、さらに入力された質問T44に対して前編よりも下位の階層である節階層における、「基本事項」、「取扱手続」…等に基づいて回答出力情報を生成し、当該質問の回答T46としてユーザUに返す。なお、回答生成部27は、例えば、回答T46の出力の際に、予め定められた回答T45「『〇〇〇〇』について複数の候補があります。次のうちどの項目に近いですか?」を生成し返答してもよい。
図11に示すように、回答生成部27は、さらに入力された質問T47に対して、編、章、節、項の各階層における各項目に基づいて回答出力情報を生成し、当該質問の回答T49としてユーザに返す。ここで、回答生成部27は、例えば、図10に示す質問T41及びT44、並びにT47に対する最終的な回答としてより適合する上位3つの回答を画面Gにおいて上から順に出力可能な回答出力情報を生成してもよい。なお、回答生成部27は、例えば、回答T49の出力の際に、最初に入力された、図10における質問T41「口座を統一する」を生成し返答してもよい。
以上、本発明の第5実施形態によれば、ユーザからの質問内容に応じて段階的に回答を提示する。よって、回答候補を効率的に絞り込むことができるので、回答の精度を向上させることができ、且つ、迅速に所望の回答を画面上において提示することができる。
<第6実施形態>
第6実施形態は、ユーザからの質問と、質問に対する回答と、回答に対する評価とを対話結果として関連付けて格納し、格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。第6実施形態を図12から図14を参照して説明する。
図12は、ユーザ端末装置6の表示部における、ユーザUの質問と回答とを含む対話の一例を示す画面例である。図12に示すように、回答生成部27は、入力された質問T51に対して、編、章、節、項の各階層における各項目に基づいて回答出力情報を生成し、当該質問の回答T53としてユーザUに返す。また、回答T53の出力の際に、予め定められた回答T52「『〇〇〇〇』についてこの中に答えはありますか?」を生成し返答してもよい。
図13は、図12に示す画面Gにおける回答T53において、ユーザUが一番目の回答「(1):計算編…」を選択した後に続く対話の一例を示す画面例である。なお、図12における回答T53における選択の態様に関しては、回答T53内の詳細を確認したい番号を画面G上におけるクリック動作によって選択してもよいし、詳細を確認したい番号を、不図示のユーザ入力欄においてテキスト入力することで選択してもよい。
図13に示すように、図12に示す画面Gにおける回答T53において、ユーザUが一番目の回答「(1):計算編…」を選択すると、回答生成部27は、回答詳細T55に示すように、「(1):計算編…」の具体的内容を出力可能なように回答出力情報を生成する。具体的には、回答生成部27は、選択された番号に基づいて、当該番号に対応する構成単位(編、章、節、項、小項目等)における小項目の説明文を、図1に示す文書情報BIから抽出して、回答出力情報を生成する。なお、回答生成部27は、ホットワード、つまり予め設定された特定の単語を、回答詳細T55において、他の単語とは異なる表示形態となるように回答出力情報を生成してもよい。図13に示すように、回答生成部27は、図12に示す質問T51に含まれる単語(例えば、裁判費用立替口、及び、開設)を、回答詳細T55において、他の単語とは異なる表示形態となるように回答を生成してもよい。また、回答生成部27は、予め設定された特定の単語(例えば、裁判費用立替口、及び、開設)を赤字となるように、他の単語は黒字となるように回答出力情報を生成してもよい。
また、回答生成部27は、例えば、回答詳細T55の後に、ユーザUから入力された質問に対する回答について評価を促すための回答T56(評価要求)を出力する。回答T56は、例えば、「回答の評価はいかがでしょうか?」のテキストともに、「Good」(良い)という特定の意味に対応づけられたスタンプST1、及び、「Bad」(悪い)という特定の意味に対応づけられたスタンプST2を含んで構成される。
「スタンプ」とは、ネットワークNを介して入力される、対話用の画像情報である。スタンプは、例えばユーザの感情、意図や意思、伝えたいメッセージをイラストで表したものであり、画像情報の他、テキストを含んでもよい。図1に示す記録部11は、スタンプと特定の意味とを対応づけて記録する。例えば、スタンプは、「Good」(良い)、及び、「Bad」(悪い)という特定の意味に対応づけられて記録される。また、スタンプは、イラストと、回答の精度を示す得点、例えば100点、75点等を示すテキスト情報と、関連づけて含むものであってもよい。なお、評価は、スタンプを選択することには限られない。例えば、回答T56において選択可能なように「Good」ボタン又は「Bad」ボタンが含まれる場合、ユーザは、いずれかのボタンを選択することで評価入力を実行してもよい。また、ユーザは、回答詳細T55が出力された後に、不図示のテキスト入力欄から、「Good」又は「Bad」のテキスト情報を入力することによって評価入力を実行してもよい。なお、評価は、「Good」(良い)、又は、「Bad」(悪い)の2パターンだけではなく、とても良い、良い、普通、悪い、とても悪いというように3つ以上のパターンを含んでもよい。
次に、図1に示す対話結果管理部29は、ユーザUからの質問と、当該質問に対する回答と、入力されたスタンプ(評価)と、を含む対話結果を対話ログデータベース4に格納する。以下、対話結果管理部29の処理を具体的に説明する。
図13に示すように、ユーザUにより、回答に対する良好な評価を示す「Good」を含むスタンプST1が選択された場合、またはスタンプST1が選択された後に不図示の対話終了ボタンが選択された場合、対話結果管理部29は、対話の開始から終了まで、つまり、図12及び図13に示すT51〜T56のテキスト情報及びスタンプST1を対話結果として対話ログデータベース4に格納する。このように、対話結果管理部29は、対話の開始から終了まで纏めて(関連づけて)管理することで、対話管理サーバ1が入力された質問に対してより適合した回答であると評価して提示された回答、及び、実際にユーザが選択した(ユーザが所望する)回答を纏めて管理する。
図14は、本発明の実施形態に係るオペレータ端末装置8の表示部における対話ログ管理画面の一例を示す図である。例えば、対話ログ管理画面LGに表示される情報は、対話結果管理部29が対話ログデータベース4に格納する情報に対応している。図14に示すように、対話ログデータベース4には、対話ログIDと、ユーザIDと、対話ログが格納された日時と、当該対話において最初に入力された質問と、当該質問に関する最終的な回答と、当該回答の番号(例えば、図12における回答T53の番号(1)、(2)(3))と、当該回答に対する評価と、が関連付けて記録されている。なお、対話ログデータベース4には、ユーザからの最初の質問に対する回答のみならず、ユーザから入力された質問ごとの一又は複数の回答が格納されてよく、対話ログ管理画面LGは、ユーザから入力された質問ごとの一又は複数の回答が出力されてもよい。
対話結果管理部29は、スタンプを含む対話結果を格納し、回答に対する評価に基づいて当該対話結果に関する検索スコアを調整する。つまり、対話結果管理部29は、入力された回答の評価を反映したスタンプとともに対話結果を繰り返し記録し、複数の対話結果(質問及び回答のセット)を回答の評価に応じて、質問に対する検索スコアを上昇させる。例えば、図14において、現在、対話ログID「7350」である対話結果、つまり、質問「新規口座開設について」及び回答「カード編1章…」のセットが上から2つ目にランクされているが、別の機会に、例えば、ユーザが「新規口座開設」に関する質問を入力し、上記と同様の回答「カード編1章…」に対して「Good」の評価を入力すると、対話ログ管理画面LGにおいて、上記セットの表示位置が上位になるように制御される(ここでは、最上位になるように制御される)。他方で、ある質問及び回答のセットに対して「Bad」と評価されると、対話ログ管理画面LGにおいて、当該セットが非表示制御されたり、当該セットの表示位置が下位になるように制御されたりする。
回答生成部27は、対話結果として対話ログデータベース4に格納されたスタンプに対応づけられた評価に基づいて、入力された質問と、当該質問に対する回答とのマッチングの重み付けを学習する。
例えば、回答生成部27は、ユーザUにとって、図12に示す質問T51には、回答T53に含まれる複数の回答のうち、一番目の回答「(1):計算編…」がより適合する回答であることを分析し、回答「(1):計算編…」の重み付けが他の回答に比べて上がるように制御する。例えば、回答生成部27は、回答「(1):計算編…」の重み付けをあげるとともに、回答T53に含まれる他の回答「(2)計算編…」「(3)計算編…」等の重み付けを下げてもよい。このように、回答生成部27は、対話ごとに管理された対話結果に基づいて繰り返し学習することで、入力される質問と回答とのマッチングの重み付けを学習する。
以上、本発明の第6実施形態によれば、ユーザからの質問と、質問に対する回答と、回答に対する評価とを対話結果として関連付けて格納し、格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。よって、質問と回答とのマッチングの重み付けを学習することができるので、回答の精度を向上させることができる。
<第7実施形態>
図15を参照して、第7実施形態に係る対話管理システムを説明する。図15は、第7実施形態に係る対話管理システムの概略構成図(システム構成図)である。第7実施形態においては、図15に示すように、対話管理サーバ1が除外用語辞書DB14をさらに備える。除外用語辞書DB14は、入力された質問と、記録部11に記録された文書情報の各項目に含まれるテキストデータとのマッチングの際に影響が除外される「除外用語」を記憶するデータベースである。具体的には、除外用語としては、助詞、接続詞、所定の修飾語、所定の頻出語などが挙げられる。ここで、所定の修飾語とは、「いろいろな」「様々な」などの実質的に就職する単語の意味を制限しない用語が該当する。また、所定の頻出語とは、特定形式の構造化文書で用いられる全用語のうち頻出する用語のことであり、数万ワードの日本語の文書においては上位10個ぐらいの用語がこれに該当する。例えば、「確認」などの用語が頻出語として挙げられることが多い。
回答生成部27は、入力された質問と記録された文書情報の各項目に含まれるテキストデータとのマッチングの際に、除外用語の影響が除外された回答出力情報を生成する。
第7実施形態に係る対話管理サーバ1は、上述した構成を具備しているので、質問に対する回答の妥当性を高めることができる。補足すると、一般的に、記録された文書情報の各項目に含まれるテキストデータが、入力された質問に頻出する用語を多く含んでいる場合、質問の回答として妥当である可能性が高い。しかしながら、文書情報の全用語のうち他の用語に比して突出して頻出する用語等は、任意の文章で使用されている可能性があり、却って回答としての妥当性を低下させることがある。そこで、マッチングの際に、これらの用語の影響を除外することで、質問に対する回答の妥当性を高めることができる場合がある。
<第8実施形態>
第8実施形態においては、第1実施形態から第7実施形態に係る構造化した形式の文書が、階層構造の末端に位置する項目に含まれるテキストデータと、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しとを対応付けたものを「単位情報」とするものである。具体的には、図3に示すようなデータが一つの単位情報として定義され、これらの集合が上述した特定形式の構造化文書として定義される。
図16を参照して、第8実施形態に係る対話管理システムを説明する。図16は、第8実施形態に係る対話管理システムの概略構成図(システム構成図)である。第8実施形態に係る対話管理サーバ1は、逆文書頻度DB24をさらに備える。逆文書頻度DB24は、構造化した形式の文書で使用される単語の逆文書頻度を記憶するデータベースである。ここで、「逆文書頻度」とは、文書全体における単語の珍しさを示す指標であり、構造化した形式の文書における全単位情報の総数maxDを、当該単語が含まれる単位情報の数DFreqsで除した値のことである。
重み付け設定部23は、単位情報内の文字情報に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。さらに、重み付け設定部23は、逆文書頻度に基づいて重み付けを補正する。
回答生成部27は、入力された質問に含まれる単語を所定の個数以上含む単位情報を候補回答として抽出し、当該候補回答に基づいて回答出力情報を生成する。ここで、回答生成部27は、重み付け設定部23により設定される重み付けに基づいて候補回答と質問との類似度を算出する。そして、回答生成部27は、類似度の高い候補回答を回答出力情報として生成する。なお、類似度の算出には、TFIDFSimilarityやBM25Similarityのアルゴリズムを用いることができる。
上記構成により、第8実施形態に係る対話管理サーバ1では、質問に含まれる単語が多い回答を生成するので、妥当性の高い回答を提供することができる。
また、第8実施形態に係る対話管理サーバ1は、逆文書頻度に基づいて単語の重みを補正してから類似度を算出することができる。これにより、文書全体における当該単語の珍しさを反映させることができる。ここで、文書全体における単語の珍しさは、当該単語が特徴的であることを示す傾向が高く、テキストデータの検索においては正解を示す可能性が高いものである。したがって、回答生成部27は、逆文書頻度で補正された類似度を用いることで、入力された質問に対して妥当な回答出力情報を生成する。
なお、第8実施形態に係る対話管理サーバ1に、図15に示す除外用語辞書DB14を組み合わせた場合には、候補回答の抽出の際に、当該除外用語に関しては単位情報の個数がカウントされなくなる。
<第9実施形態>
第9実施形態においては、第1実施形態から第7実施形態に係る構造化した形式の文書に関して、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けたものを「単位情報」としてもよい。例えば、図3に示すようなデータ(「特定のXML形式で抽出」で囲まれる部分)が一つの単位情報として定義され、複数の単位情報を含む集合が上述した特定形式の構造化文書として定義される。回答生成部27は、受付部19により受け付けられた質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答候補(回答出力情報)を生成する。質問によっては、文書の構成単位(項目)(例えば、編、章、節、項、小項目等)に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合があるので、第9実施形態に係る対話管理サーバ1では、各項目のテキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することを可能とする。
図17から図27を参照して、第9実施形態に係る対話管理システムを具体的に説明する。図17は、第9実施形態に係る対話管理システムの概略構成図である。対話管理サーバ1の回答生成部27は、例えば、単語の出現頻度を示すTF(Term Frequency)、又は、逆文書頻度を示すIDF(Inverse Document Frequency)等の指標を用いて、検索スコアを算出する。TFとは、例えば、各構造化文書において特定の単語がどの程度出現したかを示す。つまり、TFとは、構造化文書における単語の出現頻度を、構造化文書における全単語の出現頻度の和で除した値のことである。具体的には、回答生成部27は、TFを用いる手法として、各単位情報における抽出された単語の出現頻度(TF)に基づいて検索スコアを算出し、算出した検索スコアを用いて回答出力情報を生成する。
また、IDFとは、例えば、第8実施形態において説明したとおり、文書全体における単語の珍しさを示す指標であり、構造化文書における全単位情報の総数を、当該単語が含まれる単位情報の数で除した値のことである。回答生成部27は、TF−IDFを用いる手法として、各単位情報における抽出された単語の出現頻度(TF)と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合(IDF)とに基づいて検索スコアを算出する。例えば、回答生成部27は、TFとIDFとを乗算することによって、検索スコアを算出する。回答生成部27は、算出した検索スコアを用いて回答出力情報を生成する。
図17に示すように、第9実施形態に係る対話管理サーバ1は、第1合成語辞書DB12Aと、第2合成語辞書DB12Bと、下位概念語辞書DB44と、ショートトークDB46と、をさらに備える。なお、第1合成語辞書DB12A、及び、第2合成語辞書DB12Bは、図1、15及び16に示す専門用語辞書DB12の一態様である。
第1合成語辞書DB12Aは、所定の名詞の単語に他の単語を合成した第1合成語が登録されたデータベースである。第1合成語辞書DB12Aには、例えば、「取引時」(所定の名詞の単語)に「確認」(他の単語)を合成した、又は、「確認」(所定の名詞の単語)に「取引時」(他の単語)を合成した、「取引時確認」(第1合成語)が登録されている。なお、第1合成語辞書DB12Aにおいては、「取引時確認」は、「取引時」又は「確認」とは関連付けられていない。
第1合成語辞書DB12Aを用いる場合の回答出力情報の生成手法の一例を説明する。例えば、回答生成部27は、質問文(例えば、「取引時確認について調べたい」)から抽出された単語(例えば、「取引時確認」、「取引時」及び「確認」等)のうち合成語「取引時確認」が第1合成語辞書DB12Aに登録されていると判定した場合、各単位情報における、質問文から抽出された各単語の出現頻度に基づいて第1検索スコアを算出するとともに、各単位情報における、合成語(例えば、「取引時確認」)の出現頻度に基づいて第2検索スコアを算出する。そして、回答生成部27は、両検索スコアを用いて回答出力情報を生成する。
第2合成語辞書DB12Bは、所定の名詞の単語と、その単語に他の単語を合成した第2合成語とが関連付けて登録されたデータベースである。第2合成語辞書DB12Bは、例えば、第1合成語辞書DB12Aとは異なり、「取引時確認」は、「取引時」及び「確認」のそれぞれと関連付けられて登録される。
第2合成語辞書DB12Bを用いる場合の回答出力情報の生成手法の一例を説明する。例えば、回答生成部27は、質問文(例えば、「取引時確認について調べたい」)から抽出された単語(例えば、「取引時」)が第2合成語辞書DB12Bに登録されていると判定した場合、質問文から抽出された単語(例えば、「取引時」)、名詞の単語に合成した他の単語(例えば、「確認」)、及び合成語(例えば、「取引時確認」)のそれぞれに対する、各単位情報における出現頻度に基づいて検索スコアを算出する。そして、回答生成部27は、算出された検索スコアを用いて回答出力情報を生成する。
下位概念語辞書DB44は、所定の単語と、その単語の下位概念である「下位概念語」とが関連付けて登録されたデータベースである。図18は、下位概念語の一例を示す図である。図18に示すように、下位概念語辞書DB44には、例えば、キーとなるキー単語「口座」、「確認」、「処理」、「取引」及び「定期」等のそれぞれと、各キー単語の下位概念語と、が関連付けて登録されている。
ショートトークDB46は、ユーザと対話管理サーバ1との間でショートトークを実現するための単語及び文章が登録されたデータベースであり、例えば、所定の単語と所定の単語を含む所定の回答文とが関連付けて登録されている。ショートトークDB46は、後述する図20(B)で説明するとおり、例えば、「カレー」という単語と、「カレー」を含む「カレーが好きです。」という回答文とが関連付けて登録されている。また、ショートトークDB46には、例えば、「△△△」という単語が入力されると、「△△△はいいですよね。」という回答文が生成されるような文章テンプレート(例えば、「…はいいですよね。」)が登録されてもよい。さらに、ショートトークDB46は、所定の単語と、対話用の画像情報である所定のスタンプとが関連付けて登録されてもよい。
また、ショートトークDB46は、ショートトーク用に準備された複数の単位情報が登録されたデータベースであってもよい。この場合、入力された単語の出現頻度等に基づいて単位情報が抽出され、抽出された単位情報に基づいて回答文が生成される。
図19は、第9実施形態に係る対話管理処理の一例を示すフローチャートである。第9実施形態に係る対話管理処理の一例を図19とともに図20から図27を参照して説明する。図20から図27は、ユーザ端末装置6の表示部の画面の一例を示す図である。図19に示すように、まず、対話管理サーバ1は、ユーザからの質問文の入力を受け付ける(ステップS10)。次に、ステップS12において、対話管理サーバ1は、受け付けられた質問文のテキストデータと、文書情報BI内の各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する文書を探索する。例えば、対話管理サーバ1は、質問文から抽出された単語と各文書内の単語とをマッチングして、マッチングする文書がある場合(Noの場合)、ステップS20に進む。他方で、対話管理サーバ1は、マッチングする文書がない場合(Yesの場合)、ステップS14に進む。
ステップS14において、対話管理サーバ1は、例えば質問文の少なくとも一部に含まれる単語がショートトークDB46に登録されているか否か判定する。例えば、図20(A)に示すように、質問文T61が「ああああ」の場合に、対話管理サーバ1が、「ああああ」がショートトークDB46に登録されていないと判定すると(ステップS14においてNo)、「ごめんね。分からないよ。」という所定の回答T62を生成する。他方で、図20(B)に示すように、質問文T64が「カレー」の場合に、対話管理サーバ1が、「カレー」がショートトークDB46に登録されていると判定すると(ステップS14においてYes)、「『カレー』が好きです。」という所定の回答T65を生成する。このように、例えば質問文の少なくとも一部に含まれる単語がショートトークDB46に登録されている場合、ユーザと対話管理サーバ1との間でショートトークが実施される。よって、業務マニュアルに関する質問以外の質問がユーザからあった場合であっても、比較的違和感を生じさせることなく、ユーザと対話管理サーバ1との間の対話を継続させることができる。
ステップS20において、対話管理サーバ1は、例えば、複数算出された検索スコアのうち最大検索スコアが所定スコア(例えば、検索スコアが0〜10の範囲で設定されている場合、検索スコアが8や9等の比較的高いスコア)以上、かつ、マッチングする文書の数が所定数(例えば、数ファイル〜数十ファイル等)以下であるか否かを判定する。例えば、対話管理サーバ1は、最大検索スコアが高いスコアであり、かつ、マッチングする文書の数が少ない場合(Yesの場合)は、ステップS22に進む。つまり、最大検索スコアが高く、マッチングする文書の数が少ない場合は、対話管理サーバ1は、質問文に対する回答の精度が比較的高いと判定し、回答候補を表示する(ステップS22)。図21(A)に示すように、対話管理サーバ1は、質問文T67「ダブルストライプ口座について」に対する回答候補の精度が比較的高いと判定すると、質問文T67に対応する回答候補T68を生成し出力する。
他方で、対話管理サーバ1は、最大検索スコアが比較的低いスコアの場合、又は、マッチングする文書の数が多い場合(Noの場合)は、ステップS24に進む。つまり、回答候補としてマッチングした文書のマッチング精度(検索スコア)が比較的低いものが多数ある場合は、対話管理サーバ1は、さらに他の条件で回答候補としての文書を絞り込む必要があるためである。
ステップS24において、対話管理サーバ1は、質問文に対してマッチングした複数の文書のうち、例えば、マッチング精度の高い文書の上位十ファイルにおいて文書の構成単位「〇〇編」が同一であり、かつ、聞き返し回数(例えば、後述するステップS36又はステップS38の処理が実行された後、ステップS10「質問文を入力」に戻った回数)が例えば一回以上であるかを判定する。ステップS24においてYesの場合は、ステップS42に進む。図21(B)に示すように、対話管理サーバ1は、例えば、質問文T70「『基本口座を開設したい場合の処理方法は』について教えて」が入力されると、文書の構成単位の一つである「編」を絞り込むため、他の確からしい編を構成単位として含む文書を提案する。対話管理サーバ1は、例えば「(1)融資支援システム編」を提案するような回答候補T71を生成する。なお、上記形態では、文書の構成単位の一つである「編」に基づいて回答候補の絞り込みを実施しているが、これに限られず、他の文書の構成単位である、「章」、「節」、「項」、又は「小項目」等で回答候補の絞り込みを実施してもよいし、構成単位の二以上の構成単位を組み合わせて回答候補の組み合わせを実施してもよい。
他方で、ステップS24においてNoの場合は、ステップS26に進む。ステップS26において、対話管理サーバ1は、質問文に対してマッチングした複数の文書のうち、例えば、最大検索スコアが所定スコア以上であるか否かを判定する。ステップS24における「所定スコア」は、ステップS20における「所定スコア」と同一であってもよいし、ステップS20における「所定スコア」よりも高いスコアであってもよいし、低いスコアであってもよい。ステップS26においてYesの場合、対話管理サーバ1は、ステップS40に進み、例えば、質問文に対してマッチングした複数の文書のうち、検索スコアが高い文書を優先して回答候補として表示する。
他方で、ステップS26においてNoの場合は、ステップS28に進む。ステップS28において、対話管理サーバ1は、聞き返し回数が、例えば三回以上であるか否かを判定する。聞き返し回数が三回以上である場合(Yesの場合)、対話管理サーバ1は、ステップS40に進み、回答候補を表示する。他方で、聞き返し回数が三回を下回る場合(Noの場合)、対話管理サーバ1は、ステップS32に進む。なお、聞き返し回数に関する設定回数「三回」はあくまで例示であって、設定回数は、他の回数であってもよい。
ステップS32において、対話管理サーバ1は、例えば、質問文から自然言語処理によって抽出された1又は複数の単語のそれぞれが、図17に示す下位概念語辞書DB44に登録されているか否かを判定する。対話管理サーバ1は、Yesの場合は、ステップS38に進み、Noの場合は、ステップS34に進む。ステップS34において、対話管理サーバ1は、過去の聞き返しで同じ質問文に対して提案(例えば、回答候補の表示)を実施したか否かを判定する。Yesの場合は、ステップS40に進み、Noの場合は、ステップS36に進む。
ステップS36において、対話管理サーバ1は、各見出しに含まれるテキストデータにおける質問文から抽出された単語の出現頻度に基づいてスコアを算出し、算出したスコアを用いた回答出力情報を生成する。例えば、対話管理サーバ1は、TF又はTF−IDF等の手法を用いて、提案語を算出する。「提案語」とは、例えば、質問文のテキストデータを形態素解析して抽出された単語を含む単位情報における各見出しに含まれるテキストデータから抽出された単語のことをいう。より具体的には、対話管理サーバ1は、まず、例えば、図22(A)に示す質問文T73を形態素解析して抽出した単語を含む文書の文書IDを取得する。文書IDは全説明文を構成する全文書を一意に特定する識別番号である。そして、対話管理サーバ1は、図22(B)に示すような「見出し語リスト」を参照し文書IDに基づいて、当該文書の見出しに使用される各単語を特定し、特定した各単語に対してTF又はTF−IDFを算出する。次に、対話管理サーバ1は、TF又はTF−IDFに基づくスコア順に単語を並び替え、質問文に含まれている単語を除外した後、例えば上位15語を提案語として出力する。そして、対話管理サーバ1は、図22(A)に示すように、出力した提案語を含む回答候補T74を生成する。なお、提案語が存在しない場合、ステップS40に進む。
図22(A)に示すように、回答候補T74に含まれる「関係しそうなものがない」という選択肢S1が選択される場合、ステップS10に戻り、今回の質問文T73と同一の質問文が入力された状態となる。つまり、ステップS36から戻ったステップS10において再度、質問文T73と同一の質問文が入力された状態となる。なお、この場合、聞き返し回数は一回増加する。
ステップS38において、対話管理サーバ1は、質問文のテキストデータを形態素解析して抽出された1又は複数の単語に関連付けられた下位概念語を含む回答出力情報を生成する。対話管理サーバ1は、例えば、図23に示す質問文T76のテキストデータを形態素解析して抽出された単語(例えば、「口座」)に関して、図18に示す下位概念語辞書DB44を参照して、「口座」という単語に関連付けられた下位概念語(例えば、「預金口座」、「総合口座」等)を含む回答出力情報を生成する。
図23に示すように、回答候補T77に含まれる「候補にない」という選択肢S3が選択される場合、ステップS10に戻り、新たな質問文が入力された状態となる。その後、対話管理サーバ1は、質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、回答候補を生成する際に、過去に生成された回答候補内に含まれた単語(例えば、「預金口座」、「総合口座」等)に対応する文書を除外した上で回答候補を生成する。この場合、聞き返し回数は一回増加する。また、回答候補T77に含まれる「わからない」という選択肢S5が選択される場合、ステップS10に戻り、今回の質問文T76と同一の質問文が入力された状態となる。つまり、ステップS38から戻ったステップS10において再度、質問文T76と同一の質問文を入力された状態となる。なお、この場合、聞き返し回数は一回増加する。また、通常はステップS34を経て、ステップS40に進む。
(特徴)
以上説明したように、本発明の第9実施形態に係る対話管理サーバ1は、記録部11と受付部19と回答生成部27とを備える。記録部11は、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータ(文書情報BI)を記録する。受付部19は、ユーザからの質問文のテキストデータを受け付ける。回答生成部27は、受付部19により受け付けられた質問文のテキストデータと、記録部11に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する。
ここで、対話管理サーバ1は、回答生成部27が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度に基づいてスコアを算出する。そして、回答生成部27が、算出したスコアを用いて回答出力情報を生成する。したがって、質問文に関連する可能性が高い説明文を出力するものとなっている。さらに詳しくは、対話管理サーバ1は、回答生成部27が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合とに基づいてスコアを算出する。したがって、質問文に含まれる単語が特徴的なものである場合、これに関連する可能性が高い説明文を出力するものとなっている。
したがって、単位情報のコンテンツにマニュアル等を反映させることで、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できる。また、単位情報に基づいて回答出力情報が生成されるので、当該業務マニュアルの活用を促進できる。
第9実施形態に係る対話管理サーバ1は、第1合成語辞書DB12A及び/又は第2合成語辞書DB12Bを備えるものである。したがって、ユーザが予め合成語を登録することで、登録された合成語に対する検索スコアを高くするように構成することができる。換言すると、業務効率化を誘導するように合成語を登録しておくことで可能である。
本実施形態に係る対話管理サーバ1は、下位概念語辞書DB44を備える。したがって、上述したように、質問文に含まれる上位概念の単語から下位概念の情報へと絞りこんでいくことができ、業務効率化を誘導することができる。
第9実施形態に係る対話管理サーバ1は、回答生成部27が、各見出しに含まれるテキストデータにおける質問文から抽出された単語を含む回答出力情報を生成する機能を有する。具体的には、回答生成部27は、質問文のテキストデータを形態素解析して抽出された単語が下位概念語辞書に登録されていないと判定した場合、形態素解析して抽出された単語であって、各見出しに含まれるテキストデータにおける質問文から抽出された単語を含む回答出力情報を生成する。このような機能により、ユーザの利便性に資する対話を実現できる。
第9実施形態に係る対話管理サーバ1は、質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文を含む回答候補(回答出力情報)を生成する。ここで、質問によっては、文書の構成単位に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合がある。よって、対話管理サーバ1は、各項目のテキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することができる。
なお、第9実施形態に係る対話管理サーバ1は、単語の出現頻度を示すTF(Term Frequency)、又は、逆文書頻度を示すIDF(Inverse Document Frequency)に加えて、単位情報の長さ等の指標を用いて検索スコアを算出するものでもよい。換言すると、本実施形態に係る回答生成部27が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合と、単位情報の長さとに基づいてスコアを算出し、算出したスコアを用いて回答出力情報を生成するものでもよい。すなわち、本実施形態のスコア算出方法はBM25Similarityなどを含むものである。
(変形例1)
本実施形態においては、図17に示すユーザ端末装置6の表示部に表示する画面Gは様々な表示形態を採り得る。
例えば、図24に示すように、ユーザがユーザ端末装置6の不図示の入力装置(例えば、マウス)を操作することによって、複数の回答候補の一つのタイトル「(404.86)管理編…1項:対象取引 冒頭」部分にカーソルCを合わせた後、クリック操作(例えば、右クリック)を実行する。その場合、カーソルCを合わせたときに、当該タイトル「(404.86)管理編…1項:対象取引 冒頭」に関連する文書のうち、例えば、当該タイトルの「編」、「章」及び「節」までが一致する他の文書のリストLを画面G上に表示するように構成してもよい。リストLの内容はこれに限定されず、リストLは、例えば、当該タイトルの「編」及び「章」までが一致する他の文書のリストLを画面G上に表示してもよい。
また、ユーザが、リストL内の複数の項目Iのうち、例えば、項目「1項:対象取引 2.保険等」を、マウスを用いてクリック操作(例えば、左クリック)を実行して選択すると、タイトル「管理編 24章:CRS制度 2節:CRS新規顧客確認の概要 1項:対象取引 2.保険等」に対応する文書(例えば、業務マニュアルのpdfファイル等)を確認できるように構成してもよい。なお、画面Gにおいて回答候補に画像を含む場合、図24に示すように、他の回答候補の表示内容を視認するための障害にならないように、当該画像は、例えば所定サイズのサムネイル画像TJの形式で表示されてもよい。
また、例えば、図25(A)及び(B)に示すように、ユーザが、ユーザ端末装置6と接続されているマウスを操作することによって、回答候補の一つのタイトル「管理編…1項:概要 冒頭」部分にカーソルCを合わせた後、マウスを用いてクリック操作(例えば、左クリック)を実行して選択すると、タイトル「管理編…1項:概要 冒頭」に関連付けて、当該タイトルに対応する文書内容DCが画面G上に表示されるように構成してもよい。この構成によれば、ユーザは、特定のタイトルに対応する文書の内容を容易に把握することが可能である。
また、例えば、図26に示すように、ユーザが、ユーザ端末装置6と接続されているマウスを操作することによって、複数の回答候補の一つのタイトル「(621.04)預金編…3節:入金 1.受付」部分にカーソルCを合わせると(いわゆるマウスオーバーを実施すると)、当該タイトル「(621.04)預金編…3節:入金 1.受付」に対応する文書の内容の少なくとも一部分を含むスニペット画像SPが画面G上に表示するように構成してもよい。この構成によれば、ユーザは、特定のタイトルに対応する文書の内容の少なくとも一部を容易に把握することが可能である。
(変形例2)
図27に示すように、ユーザ端末装置6の表示部は、図1、15、16及び17に示す各辞書の内容を変更可能な画面Gを表示可能である。図27に示すように、ユーザは、まず、例えば、辞書検索欄S5において変更を希望する辞書の名称を入力し検索する。そして、空欄S1に追加したい単語を漢字表記等で入力し、空欄S3に追加したい単語の読み(例えば、カタカナ表記)を入力した後、追加ボタンB1が押下されると、辞書検索欄S5で検索された辞書に新たな単語が追加される。他方で、ユーザが、例えばユーザ端末装置6と接続されているマウスを操作することによって、削除ボタンB3を押下すると、削除ボタンB3に対応する、予め登録されている単語が辞書から削除される。また、ユーザにより変更ボタンB5が押下されると、変更ボタンB5に対応する、予め登録されている単語の内容を変更することが可能である。
ユーザ端末装置6の表示部に表示される画面Gは、各辞書の内容を変更可能な画面に限られず、構造化文書の内容を変更可能な画面を含む。例えば、構造化文書の内容を変更可能な画面においては、図3に示すように、構造化文書の特定のXML形式データに関して、文書の構成単位(編、章、節、項、小項目等)ごとに内容を変更可能である。
(変形例3)
また、対話管理サーバ1は、質問文に対する回答候補(回答出力情報)をユーザ端末装置6の表示部に表示する際のタイミングを、質問文のテキストデータと、各単位情報に含まれるテキストデータとのマッチングの精度(検索スコア)に応じて変更するように構成してもよい。例えば、対話管理サーバ1の回答生成部27は、所定の範囲内の検索スコアが算出された1又は複数の単位情報を抽出し、出力制御部31は、抽出された単位情報の数に応じて、回答出力候補の出力時間を調整する。出力制御部31は、検索スコアの類似度が近しい説明文が比較的多くマッチングした場合は、マッチングする文書の数が少ない場合に比べて、マッチングした説明文に対応する回答候補の表示のタイミング(質問に対する応答タイミング)を遅らせる。応答タイミングは例えば以下の数式(0)で表現される。
(数0)
応答タイミング=1[秒]+0.2[秒]×(検索スコアの類似度が近しい単位情報の数)
応答タイミングは、例えば、質問文が入力されてから最長で2.5[秒]とする。また、応答タイミングが2.0〜2.5[秒]の場合は、出力制御部31は、回答候補を画面G上に表示する前に、フィラー表現(例えば、「えーと」「うーん」等)を表示してもよい。
この構成によれば、対話管理サーバ1は、質問文に対する回答候補をユーザ端末装置6の表示部に表示する際のタイミングを、質問文のテキストデータと、各単位情報に含まれるテキストデータとのマッチングの精度(検索スコア)に応じて変更する。よって、ユーザと対話管理サーバ1との対話がより自然に実行される。換言すると、対話管理サーバ1による出力を人間の反応に近づけることができる。また、出力制御部31は、回答候補を画面G上に表示する前に、フィラー表現を表示することによって、回答候補の表示の遅れが、本実施形態における対話管理システムの異常によるものでないことを報知することが可能である。
(変形例4)
また、対話管理サーバ1は、図1、15、16及び17に示す各辞書の他、ストップワード辞書を更に備えるように構成してもよい。ストップワードとは、自然言語処理を実行する際に処理対象外とする単語のことをいい、例えば、助詞や接続詞の他、「いろいろ」や「ある程度」というような単語を含む。対話管理サーバ1は、ストップワード辞書を参照することにより、特定の単語を自然言語処理から除外することで、質問文に対して、マッチング精度の高い回答候補を生成することが可能になる。
(変形例5)
また、対話管理サーバ1の回答生成部27は、画面Gにおいて質問者に対応するアイコン画像又は回答者(対話管理サーバ1)に対応するアイコン画像の少なくとも一方の表示形態を、質問文に対する回答候補のための文書のマッチング精度に応じて変更するように構成してもよい。例えば、回答生成部27は、検索スコアが比較的上位の一又は複数の単位情報の第1平均スコアと、一又は複数の単位情報の第1平均スコアより下位の第2平均スコアとの差分に応じて、回答候補に対応付けられた回答者に対応するアイコン画像の表示形態を変更する。具体的には、回答生成部27は、検索スコアが高い順に上位10件の単位情報に基づいて回答候補を生成する場合、1位〜5位の単位情報のスコアの平均を第1平均スコアとして算出し、6位〜10位の単位情報のスコアの平均を第2平均スコアとして算出し、それらの差分に応じてアイコン画像の表示態様を変更する。
また、回答者に対応するアイコン画像が顔画像である場合、回答生成部27は、質問及び回答を含む対話を継続して質問の質が向上するにつれて、表示を変化させるようにしてもよい。例えば、図28に示す例では、キャラクターのアイコンKが、無表情の顔画像(図29参照)から笑顔の顔画像(図30参照)に変化する。また、顔画像の変化に代えて、もしくは組み合わせて、カラースケールなどを用いて質問文に対する質の向上度合いを表現してもよい。
(変形例6)
また、対話管理サーバ1の回答生成部27は、質問文のテキストデータに含まれる合成語であって、例えば、第1合成語辞書DB12A又は第2合成語辞書DB12Bに登録されている合成語の数に応じて、回答候補に対応付けられた回答者に対応するアイコン画像の表示形態を変更するように構成してもよい。予め合成語辞書DB12A及び12Bに登録されている合成語を含む質問文が入力されるということは、質問の質が向上していることの裏付けである。よって、上記と同様に、例えば、回答者に対応するアイコン画像が顔画像である場合、回答生成部27は、質問及び回答を含む対話を継続して質問の質が向上するにつれて、表示を変化させるようにしてもよい。前述同様、図28に示すように、キャラクターのアイコンKが、無表情の顔画像(図29参照)から笑顔の顔画像(図30参照)に変化するようにしてもよい。また、顔画像の変化に代えて、もしくは組み合わせて、カラースケールなどを用いて質問文に対する質の向上度合いを表現してもよい。
(変形例7)
また、第9実施形態に係る対話管理サーバ1は、例えばTF−IDFを用いる手法により単位情報の検索スコアを算出するが、検索スコアの算出に際し、項目毎に算出したスコアの合計値を用いてもよいし、項目毎に算出したスコアに重みに乗じて求めた合計値を用いてもよい。また、項目毎のスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。さらに、項目毎に算出したスコアに重みに乗じて求めたスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。例えば、対話管理サーバ9は、説明文から算出されたスコアと、一の見出しから算出されたスコアとのうちの大きい方のスコアを用いて回答出力情報を生成するものでもよい。
(変形例8)
また、第9実施形態に係る対話管理サーバ1は、説明文が複数の文章から構成される場合、以下のような手法により検索スコアを補正してもよい。なお、これらの手法による補正は情報処理部10において実行される。
(A)単語間距離を用いたスコア補正
まず、入力された質問文を形態素解析して単語を抽出する。続いて、抽出した単語と説明文を構成する各文章の単語とのマッチングを行う。抽出した単語の全てがマッチした場合、マッチした単語間距離を計測する。そして、単語間距離を用いて「単語間補正係数ha」を算出し、この単語間補正係数haを乗算することで単位情報の検索スコアを補正する。
例えば、抽出した単語がA,B,Cの3単語である場合、各文章を単語分割し、単語Aと単語Bの出現位置を求める。そして、単語Aの出現位置と単語Bの出現位置との絶対値の最小値を求める。単語Bと単語C、単語Cと単語Aに関しても同様の処理を行う。次に、これらの最小値の平均値を「単語間距離」として算出する。そして、単語間距離を用いて「単語間補正係数ha」を算出する。単語間補正係数haは、例えば下数式(1)で算出される。
(数1)
単語間補正係数ha=(11−単語間距離)×0.01×a+1
そして、単語間距離に基づいて単位情報の検索スコアを補正する。なお、ここでは、単語間距離は11以上増加しないものとする。例えば単語間距離が12となった場合は11に置換して単語間補正係数が算出される。また、定数aは適宜調整可能な数値である。
例えば、抽出した単語A,B,Cの3単語に対して、単語間距離が3で定数a=1の場合、単語間補正係数haは1.08となる。そこで、単語間補正係数ha=1.08を乗算し、単位情報の検索スコアを補正する。
(B)各文章での単語出現回数を用いたスコア補正
まず、入力された質問文を形態素解析して単語を抽出する。続いて、抽出した単語と説明文を構成する各文章の単語とのマッチングを行う。ここでは、一の単位情報内の説明文に含まれる単語とマッチした単語数の最大値を「単語出現回数」と設定し、その最大値を持つ文章の数を「最大文章数」とする。そして、単語出現回数及び最大文章数を用いて「出現回数補正係数hb」を算出し、この出現回数補正係数hbを乗算することで単位情報の検索スコアを補正する。なお、出現回数補正係数hbは、次の数式(2)で算出される。ここで、定数b1、b2は適宜調整可能な数値である。
(数2)
出現回数補正係数hb=(単語出現回数×0.01×定数b1)+((最大文章数−1)×0.01×定数b2)+1
(C)各文章との類似度を用いたスコア補正
(C1)事前処理
まず、事前処理について説明する。各説明文を構成する各文章に文章IDを設定する。次に、各文章を形態素解析して単語を抽出する。そして、所定のニューラルネットワークを用いて、各文章ID及び各単語の固定長ベクトルを獲得する。
ここでのニューラルネットワークは、例えば、文章ID=uの文章(u番目の文章)に含まれる連続する単語w(t−2),w(t−1)から次に続く単語w(t)を推測するものである。
詳しくは、入力層に、d(u),w(t−2),w(t−1)の情報が入力される。d(u)は、文章ID=uの文章をone-hotベクトルで表現したものであり、(U+1)次元を有する。w(t)は、t番目の単語のone-hotベクトルで表現したものであり、(N+1)次元を有する。なお、全文章数はU,全単語数はN,ベクトル化次元数はSとする。
次に、中間層に、入力層から送られてきた情報が、次数式(3)を用いてS次元ベクトルの情報に変換される。
(数3)
h=average(d(u)D+w(t−2)W+w(t−1)W)
ここで「average」は平均を意味する。また記号Dは文章重み行列を表しており、(U+1)行S列の要素を有するものである。また記号Wは単語重み行列を表しており、(N+1)行S列の要素を有するものである。
続いて、出力層に、中間層から送られてきた情報が、次数式(4)を用いて(N+1)次元ベクトルの情報に変換される。
(数4)
h=softmax(hW’)
ここで「softmax」はソフトマックス関数を意味する。また記号W’は単語重み行列Wの転置行列である。
そして、出力層から出力された情報と、推測する単語w(t)とを比較し、両者の差分を減らすように、文章重み行列D,単語重み行列Wの要素を更新する。全ての文章及び単語について同様の処理を行ない、文章重み行列D,単語重み行列Wの更新を繰り返す。この結果、文章重み行列Dのu行目が文章ID=uの文章の固定長ベクトルに対応することになる。また、単語重み行列Wのt行目がt番目の単語の固定長ベクトルに対応することになる。
(C2)推論処理
次に、推論処理について説明する。質問文が入力されると、入力された質問文を形態素解析して単語を抽出する。次に、事前処理で用いたのと同じニューラルネットワークを用いて、質問文の固定長ベクトルを獲得する。ここでは、質問文に含まれる連続する単語w(t−2),w(t−1)から次に続く単語w(t)を推測するタスクを行なう。入力層には、d(U+1),w(t−2),w(t−1)の情報が入力される。d(U+1)は、入力される文章(=質問文)をone-hotベクトルで表現したものであり、(U+1)次元を有する。w(t)は、t番目の単語のone-hotベクトルで表現したものであり、(N+1)次元を有する。質問文に、未知の単語が含まれている場合は、w(N+1)に情報が格納される。また、中間層には、入力層から送られてきた情報が、次数式(5)を用いてS次元ベクトルの情報に変換される。
(数5)
h=average(d(U+1)D+w(t−2)W+w(t−1)W)
続いて、出力層に、中間層から送られてきた情報が入力され、次数式(6)を用いて(N+1)次元ベクトルの情報に変換される。
(数6)
h=softmax(hW’)
出力層から出力された情報と、単語w(t)とを比較し、両者の差分を減らすように、文章重み行列Dの要素を更新する。質問文に存在する全ての文章及び単語について同様の処理を行なう。そして、文章重み行列Dの最終行を、入力された質問文に対応する固定長ベクトルとする。
次に、入力された質問文の固定長ベクトルと各文章IDに対応する固定長ベクトルとのコサイン類似度を算出する。そして、一の単位情報における説明文内でのコサイン類似度の最大値を最大類似度として算出する。続いて、最大類似度から「類似度補正係数hc」を算出し、この類似度補正係数を乗算することで単位情報の検索スコアを補正する。なお、類似度補正係数hcは、次の数式(7)で算出される。なお、定数cは適宜調整可能な数値である。
(数7)
類似度補正係数hc=(最大類似度×定数c)+1
例えば、最大類似度ms=0.8で定数c=0.1の場合、類似度補正係数hc=1.08となる。
上記説明において、質問文の固定長ベクトルを獲得するのに、上述したニューラルネットワークを用いたが、文章の固定ベクトルが生成できるものであれば、任意の文章モデルを採用することができる。
なお、本発明者らによれば、一例として、単位情報の説明文の数が500程度、説明文を構成する文章の総数Uが5000程度、それらに用いられる単語数Nが100000語で5000種程度のときに、ベクトル化次元数Sを100〜500程度とした場合には、質問文の固定長ベクトルに有意な情報を持たせることができることが確認された。
<第10実施形態>
第10実施形態では、第9実施形態に係る対話管理サーバ1において、見出しが複数存在し、各見出し及び説明文との優先順位を設定した上で検索スコアを算出するものである。すなわち、第10実施形態に係る対話管理サーバ1では、単位情報に含まれる見出し(階層)は複数あり、記録部11が階層毎に重みを有し、回答生成部27が重みを用いてスコアを算出する。第10実施形態の他の構成は第9実施形態と同様である。第10実施形態に係る対話管理サーバ1では、TF−IDFなどの手法により検索スコアを算出するが、各階層に応じた項目毎に算出したスコアの合計値を検索スコアとしてもよいし、項目毎に算出したスコアに重みに乗じて求めた合計値を検索スコアとしてもよい。また、項目毎のスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。さらに、項目毎に算出したスコアに重みに乗じて求めたスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。
また、第10実施形態に係る対話管理サーバ1は、重み決定装置150により各階層に応じた項目毎の重みが自動的に決定されるものでもよい。なお、重み決定装置150は対話管理サーバ1と同一の装置に組み込まれてもよいし、図31に示すように、ネットワークNを介して接続されるものでもよい。具体的には、重み決定装置150は、図32,33,34に示すような処理を実行する。なお、重み決定装置150はコンピュータにより構成されており、その情報処理部155により各種処理が実行される。
(A)重み候補リストの作成
まず、重み決定装置150は、複数の階層から任意のn番目の階層を「第1階層」として選択する(ステップST11)。ここでは、階層は9つあるとする。また、一例として、第1番目の階層(n=1)が第1階層として選択されるものとする。次に、第1階層の重み(ここでは、p(1))を、初期値リストの中から選択する(ステップST12)。初期値リストには、階層毎にとり得る重みの候補値が格納されている。具体的には、初期値リストには、図35に示すように、100から10000までの数値が100の間隔で並んで格納されている。ここでは、第1階層の重みとして、第1番目の重みp(1)=100が選択されるものとする。
続いて、情報処理部155により、第1階層以外の階層の重みp(i≠n)、すなわち重みp(2)〜p(9)が、下数式(8)で定義される第1重み演算式から算出される(ステップST13)。なお、iは階層の番号を意味している。また、ここでは、「重みの初期最大値」は10000に設定される。
そして、ステップST11により選択された第1階層の重みp(1)とステップST13により算出された第1階層以外の階層の重みp(2)〜p(9)とを含む第1重みセットを用いて、サンプル質問文Qに対応するサンプル回答Aに一致する説明文の検索スコアの順位を算出する(ステップST14)。すなわち、重み決定装置150は、対話管理サーバ1に重みセットp(1)〜p(9)を設定して、サンプル質問文Qを入力する(ステップST14a〜14c)。そして、検索スコア順に回答を抽出する(ステップST14d,ST14e)。出力される回答に、サンプル回答Aと一致するものがあるか否かを判定し、一致する場合、その順位を抽出する(ステップST14f−Yes,14g)。ここで、サンプル質問文Qとサンプル回答Aとは一対一に対応しており、複数のサンプル質問文とサンプル回答との組が対話管理サーバ1に順次入力される。すなわち、複数のサンプル質問文及びサンプル回答の組に対して、複数の順位が個別に抽出される(ステップST14h,ST14i)。
続いて、情報処理部155は、ステップST14により算出された順位と下数式(9)及び(10)で表されるポイント演算式とに基づいて第1重みセットに対するポイントを算出する(ステップST15)。
なお、Sはサンプル質問文の総数である。また、g(s)はステップST14により算出された順位の値が11以上の場合は0以下の任意の数値(例えば−10)となる。例えば、サンプル質問文が7つあり、各サンプル質問文に対応するサンプル回答に一致する回答の検索順位がそれぞれ3,1,1,2,1,13,4の場合、ポイントは小数点2桁目を四捨五入して62.9と算出される。
次に、ステップST12に戻り、第1階層に対して他の重み(p(1)=100以外)を選択し、ステップST13、ステップST14及びステップST15を、第1階層がとり得る全ての重みが選択されるまで繰り返し実行する(ステップST16)。
続いて、ステップST15で得られたポイントの最大値を抽出し、このポイントの最大値に基づいてステップST11で選択した第1階層に対するポイントの閾値を算出する(ステップST17)。具体的には、ポイントの最大値に所定の定数(0.9など)を乗算することで得られた値を閾値と設定する。
次に、ステップST15により算出されたポイントがステップST17により算出された閾値以上であるときの第1階層の重みを特定し、それ以外の重みを除いたものに初期値リストを更新する(ステップST18)。
そして、ステップST11に戻り、第1階層として他の全ての階層が選択されるまで、ステップST12〜ST18を繰り返し実行する(ステップST19)。これにより、初期値リストが更新される。
次に、複数の階層から任意のm番目の階層を「第2階層」として選択する(ステップST21)。ここでは、第5番目の階層(m=5)が第2階層として選択されるものとする。続いて、第2階層以外の階層の重みp(1)〜p(4),p(6)〜p(9)の最小値の合計値から第2階層の重みp(5)の最大値を算出する(ステップST22)。
そして、ステップST21で、第2階層として他の階層(ここでは第5番目以外の階層)を選択し、ステップST22を繰り返し実行する(ステップST23)。そして、全ての階層の選択が終了するまで同様の処理を実行して、初期値リストから図36に示すような「重み候補リスト」を生成する(ステップST24)。換言すると、ステップST22で、第2階層の重みp(m)の最大値より大きい重みを初期値リストから除外することで重み候補リストを生成する。
(B)重みの設定
まず、重み決定装置150の情報処理部155が、複数の階層から任意のo番目の一階層を「第3階層」として選択する(ステップST31)。ここでは、第9番目の階層が選択されるものとする。次に、情報処理部155は、選択された階層以外の重みp(1)〜p(8)を、重み候補リストからランダムに抽出する(ステップST32)。次に、情報処理部155は、ステップST32により抽出された重みp(1)〜p(8)を用いて下記の重み演算数式(11)から、ステップST31により選択された階層の重みp(9)を算出する(ステップST33)。
なお、右辺第2項は第3階層以外の階層の総和を表している。また、ここでは、「重みの初期最大値」は10000に設定される(図35参照)。
ここで、算出した第3階層の重みp(9)が重み候補リストに存在しない場合は、算出結果を破棄し、ステップST32に戻る(ステップST34)。
次に、情報処理部155は、ステップST33により算出された重みp(9)とステップST32により抽出された重みp(1)〜p(8)とを含む重みセットを用いて、サンプル質問文Qに対応するサンプル回答Aに一致する説明文のスコアの順位を算出する(ステップST35)。すなわち、重み決定装置150は、対話管理サーバ1に重みセットp(1)〜p(9)を設定して、サンプル質問文Qを入力する。そして、検索スコア順に回答を出力する。出力される回答に、サンプル回答Aと一致するものがあるか否かを判定し、一致する場合、その順位を出力する。なお、サンプル質問文Qとサンプル回答Aとは一対一に対応している。複数のサンプル質問文とサンプル回答との組が対話管理サーバ1に順次入力される。すなわち、複数のサンプル質問文及びサンプル回答の組に対して、複数の順位が個別に算出される。なお、ステップST35の処理は前述したステップST14と同様である(図33参照)。
次に、情報処理部155は、算出された順位と上述した数式(9),(10)とに基づいて重みセットに対するポイントを算出する(ステップST36)。そして、ステップST32〜ステップST36までを所定回数実行する(ステップST37)。ここでは、10万回繰り返し処理を実行する。そして、10万回実行した後のポイントに基づいて各階層の重みを決定する(ST38)。具体的には、ポイントを10万回算出したうち、ポイントの値が最大値を有するときの重みセットを各階層の重みとして決定する。
<第11実施形態>
第11実施形態では、第9実施形態に係る対話管理サーバ1において、第1合成語辞書DB12A又は第2合成語辞書DB12Bに登録された合成語の妥当性を判定する。以下、便宜上、第1合成語辞書DB12Aに登録された合成語の妥当性を判定するものについて説明するが、第2合成語辞書12Bに登録された合成語の妥当性についても同様の処理で判定できる。
具体的には、第9実施形態に係る対話管理サーバ1は、妥当性判定装置200により第1合成語辞書DB12Aの妥当性が判定される。なお、妥当性判定装置200は対話管理サーバ1と同一の装置に組み込まれてもよいし、図37に示すように、ネットワークNを介して接続されるものでもよい。
妥当性判定装置200は、図38に示すような処理を実行する。妥当性判定装置200はコンピュータにより構成されており、その情報処理部205により各種処理が実行される。
まず、妥当性判定装置200の情報処理部205が、第1合成語辞書DB12Aの内容を複製した「複製辞書」を生成する(ステップST51)。次に、情報処理部205は、対話管理サーバ1の第1合成語辞書DB12Aを初期化する(ステップST52)。なお、以下に示す処理を中断する場合は、複製辞書で上書きすることで第1合成語辞書DB12Aを元の状態に戻す。
ステップST52の後で初期化された第1合成語辞書DB12Aを用いて、サンプル質問文Qに対応するサンプル回答Aに一致する説明文のスコアの順位を算出する(ステップST53)。具体的には、サンプル質問文Qを入力する。そして、検索スコア順に回答を出力する。出力される回答に、サンプル回答Aと一致するものがあるか否かを判定し、一致する場合、その順位を出力する。なお、サンプル質問文Qとサンプル回答Aとは一対一に対応している。また、複数のサンプル質問文とサンプル回答との組が対話管理サーバ1に順次入力される。すなわち、複数のサンプル質問文及びサンプル回答の組に対して、複数の順位が個別に算出される。なお、このようなステップST53の処理は前述したステップST14と同様である(図33参照)。
そして、情報処理部205は、ステップST53により算出された順位と下数式(12)及び(13)で表される所定のポイント演算式とに基づいてポイントを算出する(ステップST54)。
次に、情報処理部205は、複製辞書に登録された合成語から任意の合成語を抽出して、初期化された後の第1合成語辞書12Aに登録する(ステップST55)。
続いて、情報処理部205は、ステップST55の登録後の第1合成語辞書DB12Aを用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出する(ステップST56)。
続いて、情報処理部205は、ステップST56により算出された順位と所定のポイント演算式とに基づいて、ステップST55により抽出された合成語に対するポイントを算出する(ステップST57)。
そして、情報処理部205は、ステップST54により算出されたポイントと、ステップST57により算出されたポイントとの比較から、合成語の妥当性を判定する(ステップST58)。ここでは、ポイントが上昇していれば、ステップST55で登録された合成語の妥当性は高いと判定される。一方、ポイントが下降していれば、ステップST55で登録された合成語の妥当性は低いと判定される。妥当性が低いと判定された単語は、削除候補単語として記録される。
この後は、複製辞書に登録されている合成語を一語ずつ登録し、全ての合成語が登録されるまで同様の処理を繰り返す(ステップST59)。ただし、情報処理部205は、ステップ58において、ステップST54により算出されたポイントとステップST57により算出されたポイントとの比較に替えて、ステップST57により算出されたポイントと前回(新たな合成語が登録される前)のステップST57により算出されたポイントとの比較から、合成語の妥当性を判定する。
以上説明したように、本実施形態に係る妥当性判定装置200は、初期化ステップ後の第1合成辞書に、複製辞書に登録されている合成語を登録し、その登録の前後のポイントを比較する。これにより、第1合成語辞書DB12Aに登録された合成語が妥当であるか否かを判定できる。なお、第2合成語辞書DB12Bに登録された合成語についても同様の処理を実行することで妥当性を判定できる。
<第12実施形態>
図39は本発明の第12実施形態に係る対話管理システムの構成を示す模式図である。第12実施形態に係る対話管理サーバ1は、単語分散表現データベース(DB)201をさらに備える。
単語分散表現DB201は、任意の単語の分散表現を記憶するデータベースである。ここで「単語の分散表現」とは、各単語の特徴が格納された固定長ベクトルであり、一単語に対してベクトル形式の数値表現が一対一で対応するものである。
また、本実施形態に係る回答生成部27は、以下のように動作する。まず、回答生成部27は、質問文のテキストデータを形態素解析して抽出された単語から、所定のルールで単語を選択する。ここでは、形態素解析により複数の単語が抽出された場合、一番長い単語が選択される。続いて、回答生成部27は、選択された単語に関し、分散表現において一定距離以内にある単語を「関連語」として単語分散表現DB201から抽出する
次に、回答生成部27は、質問文のテキストデータを解析して抽出された単語及び関連語の、各単位情報における出現頻度に基づいてスコアを算出する。そして、回答生成部27は、算出したスコアを用いて回答出力情報を生成する。
例えば、回答生成部27は、「ETCカードの清算」などの表現が質問文に含まれている場合、当該表現を「ETCカード」「清算」の2単語に形態素解析する。ここでは、前提として「ETCカード」が第1合成語辞書DB12A又は第2合成語辞書DB12Bに登録されているものとする。次に、回答生成部27は、「ETCカード」と「清算」の2単語のうち、文字数の長い単語である「ETCカード」を選択する。続いて、回答生成部27は、単語分散表現で「ETCカード」と一定距離以内にある単語を関連語として抽出する。ここでは、例えば、関連語として「車」「クレジットカード」などを単語が関連語として抽出される。そして、回答生成部27は、これらの関連語も含めて検索スコアを算出し、検索スコアの高い順に単位情報から回答出力情報を生成する。
なお、関連語が抽出されない場合は、形態素解析された単語に基づいて回答出力情報が生成される。
上述したように、本実施形態に係る対話管理サーバ1では、関連語も含めて文書情報BIを検索するので、ユーザに必要な情報を提示する確率を高めることができる。
なお、上記各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するものではない。本発明はその趣旨を逸脱することなく、変更/改良され得るとともに、本発明にはその等価物も含まれる。また、本発明は、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の開示を形成できるものである。例えば、実施形態に示される全構成要素から幾つかの構成要素は削除してもよいものである。さらに、異なる実施形態に構成要素を適宜組み合わせてもよいものである。
また、フローチャートの各ステップは、必ずしも上記したステップとおりに実行される必要はない。例えば、図4に示すステップS1、S3及びS5は、ステップS7の後に実行されてもよい。
1…対話管理サーバ、4…対話ログDB、6…ユーザ端末装置、8…オペレータ端末装置、10…情報処理部、11…記録部、12…専門用語辞書DB、12A…第1合成語辞書DB、12B…第2合成語辞書DB、13…同義語辞書DB、14…除外用語辞書DB、15…取得部、17…データ変換部、19…受付部、21…自然言語処理部、23…重み付け設定部、24…、逆文書頻度DB、27…回答生成部、29…対話結果管理部、31…出力制御部、33…音声認識処理部、35…音声対話管理部、44…下位概念語辞書DB、46…ショートトークDB、100…対話管理システム、150…重み決定装置、155…情報処理部、200…妥当性判定装置、201…単語分散表現DB、205…情報処理部

Claims (24)

  1. 説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
    ユーザからの質問文のテキストデータを受け付ける受付部と、
    前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、
    を備え
    所定の単語と、前記単語の下位概念である下位概念語とを関連付けて登録された下位概念語辞書を記憶する下位概念語辞書記憶部をさらに備え、
    前記回答生成部は、
    前記質問文のテキストデータを形態素解析して抽出された単語が前記下位概念語辞書に登録されていると判定した場合、前記単語に関連付けられた前記下位概念語を含む回答出力情報を生成する、
    対話管理サーバ。
  2. 前記回答生成部は、
    前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度に基づいて、各単位情報のスコアを算出し、
    算出したスコアを用いて回答出力情報を生成する、
    請求項1に記載の対話管理サーバ。
  3. 前記回答生成部は、
    前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合とに基づいて、各単位情報のスコアを算出し、
    算出したスコアを用いて回答出力情報を生成する、
    請求項1又は2に記載の対話管理サーバ。
  4. 所定の名詞の単語に他の単語を合成した合成語が登録された第1合成語辞書を記憶する第1合成語辞書記憶部をさらに備え、
    前記回答生成部は、
    前記質問文のテキストデータを形態素解析して抽出された単語が前記第1合成語辞書に登録されていると判定した場合、前記抽出された単語の、各単位情報における出現頻度に基づいて第1スコアを算出するとともに、各単位情報における、前記合成語の出現頻度に基づいて第2スコアを算出し、
    前記第1スコア及び前記第2スコアを用いて回答出力情報を生成する、
    請求項1から3のいずれか一項に記載の対話管理サーバ。
  5. 所定の名詞の単語と、前記単語に他の単語を合成した合成語とが関連付けて登録された第2合成語辞書を記憶する第2合成語辞書記憶部をさらに備え、
    前記回答生成部は、
    前記質問文のテキストデータを形態素解析して抽出された単語が前記第2合成語辞書に登録されていると判定した場合、前記抽出された単語、前記名詞の単語に合成した他の単語、及び前記合成語のそれぞれに対する、各単位情報における出現頻度に基づいてスコアを算出し、前記スコアを用いて回答出力情報を生成する、
    請求項1から3のいずれか一項記載の対話管理サーバ。
  6. 前記回答生成部は、前記質問文のテキストデータを形態素解析して抽出された単語を含む単位情報の各見出しに含まれるテキストデータに基づいて回答出力情報を生成する、
    請求項1からに記載の対話管理サーバ。
  7. 前記回答生成部は、前記質問文に関連する単位情報を抽出できなかった場合、前記質問文を形態素解析して抽出された単語に基づく所定の回答文に対応する回答出力情報を生成する、
    請求項1からのいずれか一項に記載の対話管理サーバ。
  8. 前記回答生成部は、
    前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合と、前記単位情報の長さとに基づいて各単位情報のスコアを算出し、
    算出したスコアを用いて回答出力情報を生成する、
    請求項1からのいずれか一項に記載の対話管理サーバ。
  9. 前記説明文は一以上の文章を含んでおり、
    前記回答生成部は、
    前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
    前記形態素解析をして抽出した単語と、前記説明文に含まれる文章を構成する単語とを比較し、互いに異なる第1単語及び第2単語を特定した場合、前記第1単語の出現位置と前記第2単語の出現位置との単語間距離に基づいて前記単位情報のスコアを補正し、
    前記スコアを用いて回答出力情報を生成する、
    請求項1からのいずれか一項に記載の対話管理サーバ。
  10. 前記回答生成部は、
    前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
    前記形態素解析をして抽出した単語と、前記説明文に含まれる文章を構成する単語とを比較し、一文章内で合致した単語の種類の数に基づいて前記単位情報のスコアを補正し、
    前記スコアを用いて回答出力情報を生成する、
    請求項1からのいずれか一項に記載の対話管理サーバ。
  11. 前記回答生成部は、
    前記合致した単語の種類の数が所定値以上の文章の数に基づいて前記スコアを補正する、
    請求項10に記載の対話管理サーバ。
  12. 前記回答生成部は、
    前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
    前記説明文に含まれる文章を個別の固定長ベクトルに変換する文章モデルを用いて、前記質問文から固定長ベクトルを算出し、
    前記質問文の固定長ベクトルと、前記説明文に含まれる文章の固定長ベクトルとの類似度に基づいて前記スコアを補正し、
    前記スコアを用いて回答出力情報を生成する、
    請求項1から11のいずれか一項に記載の対話管理サーバ。
  13. 前記階層は複数存在し、
    前記記部は、前記階層毎に重みを有し、
    前記回答生成部は、
    前記質問文のテキストデータの形態素解析及び前記重みに基づいて、前記質問文に関連する単位情報のスコアを算出し、
    前記スコアを用いて回答出力情報を生成する、
    請求項1から12のいずれか1項に記載の対話管理サーバ。
  14. 請求項13に記載の対話管理サーバにおける重みを決定する重み決定装置であって、
    複数の前記階層から任意の階層を選択する選択ステップと、
    前記選択ステップにより選択された階層以外の重みを、所定の重み候補リストからランダムに抽出する抽出ステップと、
    前記抽出ステップにより抽出された重みを用いて所定の重み演算式から、前記選択ステップにより選択された階層の重みを算出する重み算出ステップと、
    前記重み算出ステップにより算出された重みと前記抽出ステップにより抽出された重みとを含む重みセットを用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
    前記スコア順位算出ステップにより算出された前記順位と所定のポイント演算式とに基づいて前記重みセットに対するポイントを算出するポイント算出ステップと、
    前記抽出ステップと、前記重み算出ステップと、前記スコア順位算出ステップと、前記ポイント算出ステップとを所定回数実行した後のポイントに基づいて前記各階層の重みを決定する決定ステップと
    を実行する、重み決定装置。
  15. 複数の前記階層から任意の階層を第1階層として選択する第1階層選択ステップと、
    前記第1階層の重みを、初期値リストの中から選択する第1重み選択ステップと、
    前記第1階層以外の階層の重みを、所定の第1重み演算式から算出する第1重み算出ステップと、
    前記第1重み選択ステップにより選択された第1階層の重みと前記第1重み算出ステップにより算出された前記第1階層以外の階層の重みとを含む第1重みセットを用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出する第1スコア順位算出ステップと、
    前記第1スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記第1重みセットに対するポイントを算出する第1ポイント算出ステップと、
    前記第1ポイント算出ステップにより算出されたポイントが所定値未満である場合、前記第1階層の重みを前記初期値リストから削除する削除ステップと、
    前記第1重み選択ステップで、他の重みを選択し、前記第1重み算出ステップ、前記第1スコア順位算出ステップ、前記第1ポイント算出ステップ、及び前記削除ステップを繰り返し実行して前記初期値リストを更新する第1更新ステップと、
    前記第1階層選択ステップで、他の階層を選択し、前記第1重み選択ステップ、前記第1重み算出ステップ、前記第1スコア順位算出ステップ、前記第1ポイント算出ステップ、前記削除ステップ、及び前記第1更新ステップを繰り返し実行して前記初期値リストを更新する第2更新ステップと、
    複数の前記階層から任意の階層を第2階層として選択する第2階層選択ステップと、
    前記第2階層以外の階層の重みの最小値の合計値から前記第2階層の重みを算出する第2重み算出ステップと、
    前記第2階層選択ステップで、他の階層を選択し、前記第2重み算出ステップを繰り返し実行して、前記初期値リストから重み候補リストを作成する重み候補リスト作成ステップと、
    を実行する、請求項14に記載の重み決定装置。
  16. 請求項4に記載の第1合成語辞書に登録された合成語の妥当性を判定する妥当性判定装置であって、
    前記第1合成語辞書の内容を複製した複製辞書を生成する複製辞書生成ステップと、
    前記第1合成語辞書を初期化する初期化ステップと、
    前記複製辞書に登録された合成語から任意の合成語を抽出して、初期化ステップ後の第1合成語辞書に登録する登録ステップと、
    前記登録ステップ後の第1合成語辞書を用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
    前記スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記登録ステップにより抽出された合成語に対するポイントを算出するポイント算出ステップと、
    前記登録ステップ、前記スコア順位算出ステップ、及び前記ポイント算出ステップを繰り返し、前記初期化ステップ後の第1合成語辞書に前記合成語が登録される前後のポイントの比較から、登録された合成語の妥当性を判定する妥当性判定ステップと、
    を実行する、妥当性判定装置。
  17. 請求項5に記載の第2合成語辞書に登録された合成語の妥当性を判定する妥当性判定装置であって、
    前記第2合成語辞書の内容を複製した複製辞書を生成する複製辞書生成ステップと、
    前記第2合成語辞書を初期化する初期化ステップと、
    前記複製辞書に登録された合成語から任意の合成語を抽出して、初期化ステップ後の第2合成語辞書に登録する登録ステップと、
    前記登録ステップ後の第2合成語辞書を用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
    前記スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記登録ステップにより抽出された合成語に対するポイントを算出するポイント算出ステップと、
    前記登録ステップ、前記スコア順位算出ステップ、及び前記ポイント算出ステップを繰り返し、前記初期化ステップ後の第2合成語辞書に前記合成語が登録される前後のポイントの比較から、登録された合成語の妥当性を判定する妥当性判定ステップと、
    を実行する、妥当性判定装置。
  18. 任意の単語の分散表現を記憶する単語分散表現記憶部をさらに備え、
    前記回答生成部は、
    前記質問文のテキストデータを形態素解析して抽出された単語から所定のルールで単語を選択し、
    前記選択された単語に関し、前記分散表現において一定距離以内にある単語を関連語として抽出し、
    前記質問文のテキストデータを解析して抽出された単語及び前記関連語の、各単位情報における出現頻度に基づいてスコアを算出し、
    前記スコアを用いて回答出力情報を生成する、
    請求項1から13のいずれか一項に記載の対話管理サーバ。
  19. 説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
    ユーザからの質問文のテキストデータを受け付ける受付部と、
    前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、を備え、
    前記回答生成部は、前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する前記単位情報のスコアを算出し、所定の範囲内のスコアが算出された前記単位情報の数に応じて、前記回答出力情報の出力時間を調整する出力制御部を更に備える、
    対話管理サーバ。
  20. 説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
    ユーザからの質問文のテキストデータを受け付ける受付部と、
    前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、を備え、
    前記回答生成部は、
    前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する前記単位情報のスコアを算出し、
    スコアが上位の一又は複数の単位情報の第1平均スコアと、前記第1平均スコアより下位の一又は複数の単位情報の第2平均スコアとの差分に応じて、前記回答出力情報に対応付けられたユーザを示すユーザ画像の表示形態を変更する、
    対話管理サーバ。
  21. 説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
    ユーザからの質問文のテキストデータを受け付ける受付部と、
    前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、
    所定の名詞の単語に他の単語を合成した合成語が登録された合成語辞書を記憶する合成語辞書記憶部と、を備え、
    前記回答生成部は、前記質問文のテキストデータに含まれる前記合成語の数に応じて、前記回答出力情報に対応付けられたユーザを示すユーザ画像の表示形態を変更する、
    対話管理サーバ。
  22. 説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
    ユーザからの質問文のテキストデータを受け付ける受付部と、
    前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、
    任意の単語の分散表現を記憶する単語分散表現記憶部と、を備え、
    前記回答生成部は、
    前記質問文のテキストデータを形態素解析して抽出された単語から所定のルールで単語を選択し、
    前記選択された単語に関し、前記分散表現において一定距離以内にある単語を関連語として抽出し、
    前記質問文のテキストデータを解析して抽出された単語及び前記関連語の、各単位情報における出現頻度に基づいてスコアを算出し、
    前記スコアを用いて回答出力情報を生成する、
    対話管理サーバ。
  23. 説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録するステップと、
    ユーザからの質問文のテキストデータを受け付けるステップと、
    受け付けられた質問文のテキストデータと、記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成するステップと、
    所定の単語と、前記単語の下位概念である下位概念語とを関連付けて登録された下位概念語辞書を記憶するステップと、を含み、
    前記生成するステップは、
    前記質問文のテキストデータを形態素解析して抽出された単語が前記下位概念語辞書に登録されていると判定した場合、前記単語に関連付けられた前記下位概念語を含む回答出力情報を生成する、
    対話管理方法。
  24. コンピュータを、
    説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部、
    ユーザからの質問文のテキストデータを受け付ける受付部、
    前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部、
    所定の単語と、前記単語の下位概念である下位概念語とを関連付けて登録された下位概念語辞書を記憶する下位概念語辞書記憶部、
    として機能させ
    前記回答生成部が、
    前記質問文のテキストデータを形態素解析して抽出された単語が前記下位概念語辞書に登録されていると判定した場合、前記単語に関連付けられた前記下位概念語を含む回答出力情報を生成する、
    プログラム。
JP2019180170A 2019-04-26 2019-09-30 対話管理サーバ、対話管理方法、及びプログラム Active JP6710007B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019086893 2019-04-26
JP2019086893 2019-04-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020088881A Division JP2020184342A (ja) 2019-04-26 2020-05-21 対話管理サーバ、対話管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6710007B1 true JP6710007B1 (ja) 2020-06-17
JP2020184294A JP2020184294A (ja) 2020-11-12

Family

ID=71079279

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019180170A Active JP6710007B1 (ja) 2019-04-26 2019-09-30 対話管理サーバ、対話管理方法、及びプログラム
JP2020088881A Pending JP2020184342A (ja) 2019-04-26 2020-05-21 対話管理サーバ、対話管理方法、及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020088881A Pending JP2020184342A (ja) 2019-04-26 2020-05-21 対話管理サーバ、対話管理方法、及びプログラム

Country Status (1)

Country Link
JP (2) JP6710007B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535911A (zh) * 2020-12-03 2021-10-22 腾讯科技(深圳)有限公司 奖励模型处理方法、电子设备、介质和计算机程序产品
US11687583B2 (en) 2021-05-24 2023-06-27 Samsung Eleotronicc Co., Ltd Information retrieval system and method of information retrieval

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024014383A1 (ja) * 2022-07-13 2024-01-18 ソニーグループ株式会社 情報処理装置、情報処理方法、端末装置および端末プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0740267B2 (ja) * 1987-10-17 1995-05-01 株式会社日立製作所 文書作成装置
US5331554A (en) * 1992-12-10 1994-07-19 Ricoh Corporation Method and apparatus for semantic pattern matching for text retrieval
JP3583631B2 (ja) * 1998-12-03 2004-11-04 三菱電機株式会社 情報マイニング方法、情報マイニング装置、および情報マイニングプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006195667A (ja) * 2005-01-12 2006-07-27 Toshiba Corp 構造化文書検索装置、構造化文書検索方法、及び構造化文書検索プログラム
JP4439497B2 (ja) * 2006-07-18 2010-03-24 株式会社東芝 検索処理装置及びプログラム
US8909654B2 (en) * 2007-11-19 2014-12-09 Nippon Telegraph And Telephone Corporation Information search method, apparatus, program and computer readable recording medium
JP5260123B2 (ja) * 2008-04-09 2013-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索システム、索引作成装置、検索エンジン、索引作成方法、検索方法およびプログラム
JP5377430B2 (ja) * 2009-07-08 2013-12-25 本田技研工業株式会社 質問応答データベース拡張装置および質問応答データベース拡張方法
JP2013120534A (ja) * 2011-12-08 2013-06-17 Mitsubishi Electric Corp 関連語分類装置及びコンピュータプログラム及び関連語分類方法
JP5417471B2 (ja) * 2012-03-14 2014-02-12 株式会社東芝 構造化文書管理装置、構造化文書検索方法
JP6093200B2 (ja) * 2013-02-05 2017-03-08 日本放送協会 情報検索装置及び情報検索プログラム
JP5718405B2 (ja) * 2013-05-09 2015-05-13 日本電信電話株式会社 発話選択装置、方法、及びプログラム、対話装置及び方法
JP5464295B1 (ja) * 2013-08-05 2014-04-09 富士ゼロックス株式会社 応答装置及び応答プログラム
JP6787101B2 (ja) * 2016-12-13 2020-11-18 富士通株式会社 検索プログラム、検索装置、および検索方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535911A (zh) * 2020-12-03 2021-10-22 腾讯科技(深圳)有限公司 奖励模型处理方法、电子设备、介质和计算机程序产品
CN113535911B (zh) * 2020-12-03 2024-04-12 腾讯科技(深圳)有限公司 奖励模型处理方法、电子设备、介质和计算机程序产品
US11687583B2 (en) 2021-05-24 2023-06-27 Samsung Eleotronicc Co., Ltd Information retrieval system and method of information retrieval

Also Published As

Publication number Publication date
JP2020184294A (ja) 2020-11-12
JP2020184342A (ja) 2020-11-12

Similar Documents

Publication Publication Date Title
JP6783483B2 (ja) 表示装置
US11894140B2 (en) Interface for patient-provider conversation and auto-generation of note or summary
US20220391083A1 (en) Method and System for Generating Transcripts of Patient-Healthcare Provider Conversations
US7580835B2 (en) Question-answering method, system, and program for answering question input by speech
US6484136B1 (en) Language model adaptation via network of similar users
JP6710007B1 (ja) 対話管理サーバ、対話管理方法、及びプログラム
US7567906B1 (en) Systems and methods for generating an annotation guide
CN105408890A (zh) 基于声音输入执行与列表数据有关的操作
JP7297458B2 (ja) 対話コンテンツ作成支援方法
US11023503B2 (en) Suggesting text in an electronic document
JP6550628B1 (ja) 対話管理サーバ、対話管理方法、及びプログラム
US7383171B2 (en) Semantic stenography using short note input data
Saoudi et al. Trends and challenges of Arabic Chatbots: Literature review
JP2020204971A (ja) 対話管理サーバ、対話管理方法、及びプログラム
US7580570B2 (en) Accuracy model for recognition signal processing engines
KR20210009266A (ko) 음성 인식 기반의 세일즈 대화 분석 방법 및 장치
US20090024382A1 (en) Language information system
WO2010103916A1 (ja) 文書の特徴語提示装置及び特徴語の優先度付与プログラム
JP2022161375A (ja) 回答生成装置、回答生成方法、及びプログラム
JP2019144755A (ja) 対話管理サーバ、対話管理方法、及びプログラム
US11487798B1 (en) Method for identifying a data segment in a data set
US11914844B2 (en) Automated processing and dynamic filtering of content for display
US11790678B1 (en) Method for identifying entity data in a data set
US11651256B1 (en) Method for training a natural language processing model
US11983489B1 (en) Extractive summary generation by abstractive trained model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191008

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200521

R150 Certificate of patent or registration of utility model

Ref document number: 6710007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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