(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-01
(45)【発行日】2022-11-10
(54)【発明の名称】質問回答システム、質問回答処理方法、及び質問回答統合システム
(51)【国際特許分類】
G06F 16/90 20190101AFI20221102BHJP
G06F 16/903 20190101ALI20221102BHJP
【FI】
G06F16/90 100
G06F16/903
(21)【出願番号】P 2018160416
(22)【出願日】2018-08-29
【審査請求日】2021-07-15
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】特許業務法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】唐澤 俊太
(72)【発明者】
【氏名】末藤 守
(72)【発明者】
【氏名】小杉 秀則
【審査官】早川 学
(56)【参考文献】
【文献】特開2017-151629(JP,A)
【文献】特開2002-297651(JP,A)
【文献】米国特許出願公開第2016/0140958(US,A1)
【文献】米国特許出願公開第2017/0032273(US,A1)
【文献】太田竜男ほか,質問応答システムの構築-情報共有/再利用の技術- Development of Q&A System-Technology for Information Sharing and Reuse-,FUJITSU,1994年12月31日,VOL.45,NO.5,pp.436-442
【文献】大塚淳史ほか,質問の意図を特定するニューラル質問生成モデル,第10回データ工学と情報マネジメントに関するフォーラム (第16回日本データベース学会年次大会) [Online],電子情報通信学会データ工学研究専門委員会 日本データベース学会 情報処理学会データベースシステム研究会,2018年04月02日,pp.1-8,[検索日:2018.04.17], Internet<URL:http://db-event.jpn.org/deim2018/data/papers/289.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
入力された入力質問に対応する回答を提示するための質問回答システムであって、
前記入力質問を受け付ける受付部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、学習済モデルを用いずに生成する第2質問情報生成部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により生成された質問情報を用いて、前記質問情報に対応する回答を検索する回答検索処理部と、
検索して得られた前記回答を提示する提示部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により質問情報が生成された場合に、前記入力質問を入力したユーザから、生成された質問情報が適切であるか否かの確認を受け付ける確認部と、を有し、
前記回答検索処理部は、前記確認部により適切であるとの確認を受け付けた前記質問情報を用いて回答を検索し、
前記第1質問情報生成部は、前記第2質問情報生成部よりも前に前記質問情報を生成し、
前記第2質問情報生成部は、前記第1質問情報生成部により生成された質問情報が前記確認部により適切でないとの確認を受け付けた場合に、前記質問情報を生成する
質問回答システム。
【請求項2】
入力された入力質問に対応する回答を提示するための質問回答システムであって、
前記入力質問を受け付ける受付部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、学習済モデルを用いずに生成する第2質問情報生成部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により生成された質問情報を用いて、前記質問情報に対応する回答を検索する回答検索処理部と、
検索して得られた前記回答を提示する提示部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により質問情報が生成された場合に、前記入力質問を入力したユーザから、生成された質問情報が適切であるか否かの確認を受け付ける確認部と、を有し、
前記回答検索処理部は、前記確認部により適切であるとの確認を受け付けた前記質問情報を用いて回答を検索し、
前記第1質問情報生成部は、前記第2質問情報生成部よりも前に前記質問情報を生成し、
前記第1質問情報生成部により生成された前記質問情報に対する前記学習済モデルによる推論での自信度が所定の値以下である場合には、前記確認部は、前記第2質問情報生成部により生成された質問情報を前記第1質問情報生成部に生成された質問情報よりも先に、適切であるか否かを確認させ、
前記質問情報が適切でないとの確認を受け付けた場合には、前記確認部は、前記第1質問情報生成部により生成された質問情報が適切であるか否かを確認させる
質問回答システム。
【請求項3】
入力された入力質問に対応する回答を提示するための質問回答システムであって、
前記入力質問を受け付ける受付部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、学習済モデルを用いずに生成する第2質問情報生成部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により生成された質問情報を用いて、前記質問情報に対応する回答を検索する回答検索処理部と、
検索して得られた前記回答を提示する提示部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により質問情報が生成された場合に、前記入力質問を入力したユーザから、生成された質問情報が適切であるか否かの確認を受け付ける確認部と、
前記入力質問と、前記確認部により適切であるとの確認が受け付けられた前記質問情報とを対応付けたログを記憶するログ記憶部と、
前記ログ記憶部に記憶された前記ログを用いて、前記学習済モデルの学習を行う機械学習処理部と、
を有する
質問回答システム。
【請求項4】
入力された入力質問に対応する回答を提示するための質問回答システムであって、
前記入力質問を受け付ける受付部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、学習済モデルを用いずに生成する第2質問情報生成部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により生成された質問情報を用いて、前記質問情報に対応する回答を検索する回答検索処理部と、
検索して得られた前記回答を提示する提示部と、
前記学習済モデルによる所定の学習データに対する正解率を測定するとともに、前記学習済モデルに対して新たな学習を行って作成された新学習済モデルによる前記所定の学習データに対する正解率を測定し、前記新学習済モデルによる正解率が前記学習済モデルによる正解率よりも低くなったか否かを判定する学習状態判定部と、
を有し、
前記学習状態判定部により、前記新学習済モデルによる正解率が前記学習済モデルによる正解率よりも低くなったと判定された場合に、前記第1質問情報生成部は、前記学習済モデルをそのまま使用し、前記新学習済モデルによる正解率が前記学習済モデルによる正解率よりも低くなったと判定されなかった場合に、前記第1質問情報生成部は、前記新学習済モデルを使用す
る
質問回答システム。
【請求項5】
入力された入力質問に対応する回答を提示するための質問回答システムであって、
前記入力質問を受け付ける受付部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、学習済モデルを用いずに生成する第2質問情報生成部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により生成された質問情報を用いて、前記質問情報に対応する回答を検索する回答検索処理部と、
検索して得られた前記回答を提示する提示部と、
前記入力質問に対応する適切な質問情報を生成できなかった場合に、前記入力質問を所定の検索システムに送信し、前記検索システムからの検索結果を受け取って、提示する検索処理仲介部と
、を有する
質問回答システム。
【請求項6】
入力された入力質問に対応する回答を提示するための質問回答システムであって、
前記入力質問を受け付ける受付部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、学習済モデルを用いずに生成する第2質問情報生成部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により生成された質問情報を用いて、前記質問情報に対応する回答を検索する回答検索処理部と、
検索して得られた前記回答を提示する提示部と、
前記入力質問と、前記第1質問情報生成部及び前記第2質問情報生成部により生成された前記質問情報とを対応付けたログを記憶するログ記憶部と、
前記入力質問に対応する適切な質問情報を生成できなかった場合に、前記ログ記憶部に記憶された前記入力質問に対応するログを有人対応用システムに送信する引き継ぎ部と
、を有する
質問回答システム。
【請求項7】
入力された入力質問に対応する回答を提示するための質問回答システムであって、
前記入力質問を受け付ける受付部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、
受け付けた前記入力質問に対応する要約文である検索用の質問情報を、学習済モデルを用いずに生成する第2質問情報生成部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により生成された質問情報を用いて、前記質問情報に対応する回答を検索する回答検索処理部と、
検索して得られた前記回答を提示する提示部と、
前記入力質問の種類を受け付ける種類受付部と、
前記種類受付部により受け付けられた前記種類が、前記第1質問情報生成部により前記入力質問に対応する前記質問情報を生成する処理に適しているか否かを判定する種類判定部と、
前記種類が、前記入力質問に対応する前記質問情報を生成する処理に適していないと判定した場合に、前記第1質問情報生成部による前記質問情報の生成を行わずに、前記第2質問情報生成部により前記質問情報を生成させる生成制御部と、
を
有する
質問回答システム。
【請求項8】
前記第2質問情報生成部は、予め用意した質問情報の候補となる質問候補の中から前記入力質問
の単語のベクトルと同一又は類似する単語
のベクトルを有する質問候補を特定し、特定した前記質問候補を質問情報として生成するベクトル比較質問情報生成部、または、質問情報の候補となる質問候補の中から、前記入力質問の所定の構成要素の表現と同一又は類似する表現を含む質問候補を特定し、特定した質問候補を前記質問情報として生成する構成要素比較質問情報生成部の少なくとも一方を含む
請求項1
から請求項7のいずれか一項に記載の質問回答システム。
【請求項9】
入力された入力質問に対応する回答を提示するための質問回答システムによる質問回答処理方法であって、
前記入力質問を受け付け、
受け付けた前記入力質問に対応する
要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成
し、
前記入力質問を入力したユーザから、生成された質問情報が適切であるか否かの確認を受け付け、
生成された質問情報が適切でないとの確認を受け付けた場合に、受け付けた前記入力質問に対応する要約文である検索用の質問情報を、学習済モデルを用いずに生成し、
生成された質問情報を用いて、前記質問情報に対応する回答を検索し、
検索して得られた前記回答を提示する
質問回答処理方法。
【請求項10】
入力された入力質問に対応する回答を提示するための質問回答システムを複数備える質問回答統合システムあって、
前記質問回答システムは、
前記入力質問を受け付ける受付部と、
受け付けた前記入力質問に対応する
要約文である検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、
受け付けた前記入力質問に対応する
要約文である検索用の質問情報を
、学習済モデルを用いずに生成する第2質問情報生成部と、
前記第1質問情報生成部または前記第2質問情報生成部の少なくとも一方により質問情報が生成された場合に、前記入力質問を入力したユーザから、生成された質問情報が適切であるか否かの確認を受け付ける確認部と、
前記確認部により適切であるとの確認が受け付けられた前記質問情報を用いて、前記質問
情報に対応する回答を検索する回答検索処理部と、
検索して得られた回答を提示する提示部と、
を備え、
前記質問回答統合システムは、
いずれかの前記質問回答システムにおいて前記入力質問に対応する適切な質問情報が生成できなかった場合に、他の質問回答システムに対して、前記入力質問を出力する要求先切替部を備える
質問回答統合システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザから質問の入力を受け付け、質問の回答を提示する質問回答システム等に関する。
【背景技術】
【0002】
近年、利用者がシステムに対して、質問文を入力すること等により質問を行い、システムがその質問に対する回答を行う質問回答システムが利用されている。
【0003】
例えば、特許文献1には、レキシカルアンサータイプ(LAT)を決定して回答候補を検索し、検索結果に対してLATを使って解析する質問回答システムが示されている。
【0004】
例えば、“富士山の高さを教えてほしい?“のように質問文が単文の場合は、従来の技術を用いても質問回答システムを構築することができる。しかしながら、例えば、見積システム操作に対する質問回答システムを構築する場合には、“案件検索機能について質問したい。X月から所属が変更になって案件検索ができない。どうすればよいでしょうか?”のような質問が入力されるため、複数文の全体の文脈を解析して質問の意図を抽出することが必要になり、従来の技術では、質問回答システムを構築できない。
【0005】
近年、質問と質問の要約とを含むデータ(学習データ)を複数準備して機械学習を行い、機械学習の結果に対して質問文を入力し、質問の要約を出力することが実現可能になっており、質問の要約と回答との対をデータとして保持し、質問の要約をキーとして検索を行うことで回答を特定して出力する質問回答システムの構築が可能となっている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記したように、機械学習の技術を用いれば、複数文が存在する問い合わせに対応する質問回答システムを構築することが可能になるが、機械学習を用いた質問回答システムでは、(1)学習データが少ないシステム初期立ち上げ時にも回答精度を上げる必要があること、(2)システム初期立ち上げ時の初期学習データの準備コストを低減すること、(3)システム稼働後に、学習コストレスで質問回答精度を向上できること、(4)過学習の排除が実現できることが、一般的な課題であり、単なる機械学習の技術だけでは、実用的な質問回答システムを構築できない。
【0008】
本発明は、上記事情に鑑みなされたものであり、その目的は、ユーザにより入力された質問に対して、容易且つ適切に回答することのできる技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、一観点に係る質問回答システムは、入力された入力質問に対応する回答を提示するための質問回答システムであって、入力質問を受け付ける受付部と、受け付けた入力質問に対応する検索用の質問情報を、入力質問から質問情報を推論する学習済モデルを用いて生成する第1質問情報生成部と、受け付けた入力質問に対応する検索用の質問情報を、学習済モデルを用いずに生成する第2質問情報生成部と、第1質問情報生成部または第2質問情報生成部の少なくとも一方により生成された質問情報を用いて、質問情報に対応する回答を検索する回答検索処理部と、検索して得られた回答を提示する提示部とを備える。
【発明の効果】
【0010】
本発明によれば、ユーザにより入力された質問に対して、容易且つ適切に回答することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、一実施形態に係る計算機システムの全体構成図である。
【
図2】
図2は、一実施形態に係る回答記憶部のデータ構造を説明する図である。
【
図3】
図3は、一実施形態に係るログデータ記憶部のログのデータ構造を説明する図である。
【
図4】
図4は、一実施形態に係る教師データ記憶部の教師データの構造を説明する図である。
【
図5】
図5は、一実施形態に係る学習データ記憶部の学習データを説明する図である。
【
図6】
図6は、一実施形態に係る質問記憶部に登録される質問の例について説明する図である。
【
図7】
図7は、一実施形態に係る辞書記憶部に登録されるデータ例について説明する図である。
【
図8】
図8は、一実施形態に係る注釈付質問記憶部の注釈付質問を説明する図である。
【
図9】
図9は、一実施形態に係る質問記憶部に登録される製品仕様に関する質問の例について説明する図である。
【
図10】
図10は、一実施形態に係る辞書記憶部に登録される製品仕様に関する質問用のデータ例について説明する図である。
【
図11】
図11は、一実施形態に係る注釈付質問記憶部の製品仕様に関する注釈付質問を説明する図である。
【
図12】
図12は、一実施形態に係る質問回答処理のフローチャートである。
【
図13】
図13は、一実施形態に係る質問要約決定処理のフローチャートである。
【
図14】
図14は、一実施形態に係る注釈付質問検索による質問要約決定処理のフローチャートである。
【
図15】
図15は、一実施形態に係る製品仕様問い合わせ回答処理のフローチャートである。
【
図16】
図16は、一実施形態に係る注釈付質問検索による質問要約決定処理のフローチャートである。
【
図17】
図17は、一実施形態に係る機械学習処理のフローチャートである。
【
図18】
図18は、一実施形態に係る過学習排除処理のフローチャートである。
【
図19】
図19は、第1変形例に係る計算機システムの全体構成図である。
【
図20】
図20は、第1変形例に係る全体処理のフローチャートである。
【
図21】
図21は、第2変形例に係るシステム引き継ぎ処理のフローチャートである。
【発明を実施するための形態】
【0012】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
図1は、一実施形態に係る計算機システムの全体構成図である。
【0014】
計算機システム1は、質問回答システム10と、検索システムの一例としての外部検索システム200とを備えている。質問回答システム10と、外部検索システム200とは、例えば、有線LAN(Local Area Network)、無線LAN、インターネットなどのネットワークを介して接続されている。
【0015】
質問回答システム10は、例えば、汎用サーバ、PC(Personal Computer)等によって構成されており、見積もりシステムの操作に対する質問や、製品仕様についての質問に対する回答を提示する。質問回答システム10は、対話処理基盤20と、質問要約基盤40と、ログ分析基盤80と、検索処理仲介部の一例としてのドキュメント検索処理インターフェース90とを備える。
【0016】
[対話処理基盤20]
対話処理基盤20は、受付部及び種類受付部の一例としてのユーザ入力処理部21と、対話出力処理部22と、確認部及び種類判定部の一例としての対話処理部23と、質問要約問い合わせ処理基盤30とを有する。ユーザ入力処理部21、対話出力処理部22、対話処理部23、及び質問要約問い合わせ処理基盤30は、例えば、プロセッサがプログラム(質問回答プログラム)を実行することにより構成される。
【0017】
ユーザ入力処理部21は、利用者(ユーザ)からの質問等の入力を受け付ける。ここで、ユーザから入力された質問を入力質問ということとする。ユーザ入力処理部21は、キーボード、マウス等の入力デバイスから入力を受け付けてもよいし、ネットワークを介して接続されたユーザの端末(ユーザ端末)からの入力を受け付けてもよい。
【0018】
対話出力処理部22は、ユーザに対して、例えば、質問に対する回答等の情報を表示出力する。対話出力処理部22は、ディスプレイ等の表示デバイスに対して情報を表示させてもよく、ネットワークを介して接続されたユーザ端末に対して表示させるようにしてもよい。
【0019】
対話処理部23は、ユーザと、質問回答システム10内の各部との間の情報のやり取り(対話)に関する処理を実行する。具体的には、対話処理部23は、ユーザ入力処理部21がユーザから受け付けた入力質問を質問要約問い合わせ処理基盤30やドキュメント検索処理インターフェース90に渡したり、質問要約問い合わせ処理基盤30やドキュメント検索処理インターフェース90から入力質問に対する回答を受け取って、対話出力処理部22に渡して表示させたりする。
【0020】
[質問要約問い合わせ処理基盤30]
質問要約問い合わせ処理基盤30は、提示部の一例としての対話処理部23と、質問要約基盤40との間の情報のやり取りを仲介する処理を実行する。
【0021】
質問要約問い合わせ処理基盤30は、生成制御部の一例としての質問要約問い合わせ処理部31と、回答検索処理部32と、回答記憶部33とを備える。質問要約問い合わせ処理部31と、回答検索処理部32とは、例えば、プロセッサがプログラム(質問回答プログラム)を実行することにより構成される。回答記憶部33は、RAM(Random Access Memory)等のメモリや、記憶デバイス(HDD(Hard Disk Drive)、SSD(Solid State Drive)等)により構成される。質問要約問い合わせ処理部31は、対話処理部23から渡された入力質問を、質問要約基盤40に渡し、質問要約基盤40から入力質問に対応する検索で用いるための質問の要約(質問要約:質問情報の一例)を受け取る。質問要約問い合わせ処理部31は、質問要約基盤40から受け取った質問要約を回答検索処理部32に渡す。回答検索処理部32は、質問要約問い合わせ処理部31から受け取った質問要約をキーとして、回答記憶部33に対して対応する回答を検索する処理を実行し、検索により得られた回答を対話処理部23に渡す。回答記憶部33は、質問要約と、その質問要約に対応する回答との対のデータを保持する。
【0022】
[質問要約基盤40]
質問要約基盤40は、機械学習基盤50と、単語ベクトル基盤60と、注釈付質問検索基盤70とを備える。
【0023】
機械学習基盤50と、単語ベクトル基盤60と、注釈付質問検索基盤70とは、それぞれ異なる方法により、入力質問に対応する質問要約を生成する。ここで、機械学習基盤50は、第1質問情報生成部の一例であり、単語ベクトル基盤60は、第2質問情報生成部及びベクトル比較質問情報生成部の一例であり、注釈付質問検索基盤70は、第2質問情報生成部及び構成要素比較質問情報生成部の一例である。このように、質問要約を生成する方法の異なる基盤を複数備えている理由は、質問要約の精度を向上させるためである。例えば、機械学習の学習データが少なく、機械学習基盤50による質問要約の精度が悪い場合には、他の基盤、すなわち、単語ベクトル基盤60や注釈付質問検索基盤70により生成された質問要約を使用することにより、質問要約の精度を悪くならないようにすることができる。
【0024】
なお、機械学習基盤と異なる基盤として、単語ベクトル基盤60と、注釈付質問検索基盤70とを例としているが、これらに加えて、又は、これらに代えて他の方法により質問要約を生成する基盤としてもよい。また、機械学習基盤と異なる基盤として、単語ベクトル基盤60と、注釈付質問検索基盤70とのいずれか一方としてもよい。
【0025】
[機械学習基盤50]
機械学習基盤50は、教師データ記憶部51と、学習データ生成処理部52と、学習データ記憶部53と、学習状態判定部の一例としての機械学習処理部54と、機械学習済みモデル55とを備える。学習データ生成処理部52と、機械学習処理部54と、機械学習済みモデル55とは、例えば、プロセッサがプログラム(質問回答プログラム)を実行することにより構成される。教師データ記憶部51と、学習データ記憶部53とは、RAM等のメモリや、記憶デバイスにより構成される。
【0026】
教師データ記憶部51は、教師データを格納する。教師データについては後述する。学習データ記憶部53は、学習データを格納する。学習データには、教師データに基づいて作成されるものと、ログデータに基づいて作成されるものがある。学習データ生成処理52は、教師データ記憶部51の教師データから、学習データを生成して学習データ記憶部53に格納する。
【0027】
機械学習処理部54は、学習データ記憶部53に格納された学習データを用いて、学習対象の処理モデル(例えば、ニューラルネットワークモデル)に対して機械学習(例えば、ディープラーニング)を行って機械学習済みモデル55を生成する。ここで、処理モデルは、入力質問を入力として、入力質問に対する要約となる質問要約を出力(生成)するためのモデルである。
【0028】
機械学習処理部54によって学習された機械学習済みモデル55は、例えば、具体的には、質問要約の候補のそれぞれについての入力質問の質問要約である度合い(自信度)を算出し、自信度が最も高い質問要約の候補を、入力質問の質問要約として出力する。
【0029】
[単語ベクトル基盤60]
単語ベクトル基盤60は、単語ベクトル比較処理部61と、質問記憶部62とを有する。単語ベクトル比較処理部61は、プロセッサがプログラム(質問回答プログラム)を実行することにより構成される。質問記憶部62は、RAM等のメモリや、記憶デバイスにより構成される。
【0030】
質問記憶部62は、質問要約の候補の質問を記憶する。単語ベクトル比較処理部61は、入力質問の単語についてのベクトル(単語ベクトル)を算出し、質問記憶部62の中から入力質問の単語ベクトルと同じ又は類似する単語ベクトルを有する質問を質問要約として特定(生成)し、特定した質問要約を質問要約問い合わせ処理部31に出力する。文章から単語ベクトルを生成する方法としては、例えば、one-hotベクトル等の技術を用いることができる。
【0031】
[注釈付質問検索基盤70]
注釈付質問検索基盤70は、注釈付質問検索処理部71と、注釈付与処理部72と、注釈付質問記憶部73と、辞書記憶部74と、質問記憶部75とを有する。注釈付質問検索処理部71と、注釈付与処理部72とは、プロセッサがプログラム(質問回答プログラム)を実行することにより構成される。注釈付質問記憶部73と、辞書記憶部74と、質問記憶部75とは、RAM等のメモリや、記憶デバイスにより構成される。
【0032】
質問記憶部75は、各種質問を含む文または文章を記憶する。辞書記憶部74は、文または文章から質問の内容を特定するために重要な言い回し(表現)を特定するための情報(言い回しパターン)を格納する。注釈付質問記憶部73は、質問の内容を特定するための重要な言い回しを示すアノテーション(注釈)が付加された質問(質問要約の候補)を格納する。
【0033】
注釈付与処理部72は、質問記憶部75に格納された文または文章から、辞書記憶部74に格納された言い回しパターンに該当する文を特定し、特定した文について、言い回しパターンに該当する箇所を示すアノテーションを付加して注釈付質問記憶部73に格納する。この注釈付与処理部72による処理は、例えば、注釈付質問検索処理部71による処理の前に実行されてもよい。
【0034】
注釈付質問検索処理部71は、入力質問の構文を解析し、入力質問中の質問内容を示す重要な(特徴的な)言い回し抽出し、重要な言い回しをキーとして、注釈付質問記憶部73から質問要約を検索して取得し(生成し)、質問要約問い合わせ処理部31に出力する。
【0035】
[ログ分析基盤80]
ログ分析基盤80は、ログ出力処理部81と、ログ記憶部の一例としてのログデータ記憶部82と、ログ分析処理部83とを有する。ログ出力処理部81と、ログ分析処理部83とは、プロセッサがプログラム(質問回答プログラム)を実行することにより構成される。ログデータ記憶部82は、RAM等のメモリや、記憶デバイスにより構成される。
【0036】
ログデータ記憶部82は、ログデータを記憶する。ログデータの構造については後述する。ログ出力処理部81は、ログデータを生成して、ログデータ記憶部82に格納する。ログ分析処理部83は、ログデータの中から学習データとして使用可能なログを特定し、学習データ記憶部53に格納する。
【0037】
[ドキュメント検索処理インターフェース90]
ドキュメント検索処理インターフェース90は、質問回答システム40と、外部検索システム200との間の通信を仲介する。
【0038】
[外部検索システム200]
外部検索システム200は、例えば、サーバ装置、PC等により構成されている。外部検索システム200は、ドキュメント検索・結果表示処理部201と、構成ガイドデータ記憶部202とを有する。構成ガイドデータ記憶部202は、製品仕様(仕様や制限)を定義したドキュメント(構成ガイドデータ)を記憶する。ドキュメント検索・結果表示処理201は、検索要求を受け付けて、検索要求に対応するドキュメントを検索し、検索結果のドキュメントを要求元に表示可能に送信する。
【0039】
次に、回答記憶部33に格納されているデータについて詳細に説明する。
【0040】
図2は、一実施形態に係る回答記憶部のデータ構造を説明する図である。
【0041】
回答記憶部33においては、キーとなる質問要約331と、質問要約に対応する回答332とを対としたデータが格納されている。この回答記憶部33によると、検索対象とする質問要約をキーとして、この質問要約に対応する回答を検索することができる。
【0042】
次に、ログデータ記憶部82に格納されているログデータについて詳細に説明する。
【0043】
図3は、一実施形態に係るログデータ記憶部のデータ構造を説明する図である。
【0044】
ログデータ記憶部82には、キーとなる質問要約821に対して、質問822と、判定結果823と、タイムスタンプ824とが対応付けられたログデータが格納されている。質問822には、質問要約821を生成するために用いられた入力質問が格納される。判定結果823には、質問要約821の内容についてユーザが入力質問の意図(入力質問の意味)と一致しているか否かの確認結果が格納される。タイムスタンプ824には、ログデータが作成された日時が格納される。
【0045】
次に、教師データ記憶部51に格納されている教師データについて詳細に説明する。
【0046】
図4は、一実施形態に係る教師データ記憶部の教師データの構造を説明する図である。
【0047】
教師データ記憶部51は、質問と、質問に対応する要約(質問要約)とを対にした教師データを1以上記憶する。教師データにおける質問及び質問要約は、質問回答システム10の管理者によって入力される。なお、教師データにおいては、質問と、質問要約とは同じ文が登録されている。
【0048】
次に、学習データ記憶部53に格納されている学習データについて詳細に説明する。
【0049】
図5は、一実施形態に係る学習データ記憶部の学習データを説明する図である。
【0050】
学習データ記憶部53は、質問と、質問に対応する要約(質問要約)とを対にした学習データを複数記憶する。ここで、学習データは、教師データと同じデータや、教師データに基づいて生成されたデータや、ログデータに基づいて生成されたデータが含まれる。例えば、教師データに基づいて生成されるデータは、教師データにおける質問と類似する質問(例えば、質問の文における動詞を類似表現にかえたもの等)と、教師データの質問要約とを対にしたデータである。
【0051】
次に、質問記憶部75に格納されているデータについて詳細に説明する。
【0052】
図6は、一実施形態に係る質問記憶部に登録される質問の例について説明する図である。
図6には、製品仕様の質問ではない質問の例を示している。
【0053】
質問記憶部75は、複数の質問の文または文章を格納する。
【0054】
次に、辞書記憶部74に格納されているデータについて詳細に説明する。
【0055】
図7は、一実施形態に係る辞書記憶部に登録されるデータ例について説明する図である。
図7には、製品仕様の質問ではない質問から質問要約を特定するために利用する言い回しのパターン例を示している。
【0056】
辞書記憶部74は、質問から質問要約を特定するために利用する言い回しパターンを1以上記憶する。言い回しパターンとしては、例えば、質問要約に対応する文に含まれている述語(動詞)を示す情報と、その述語の目的語を示す情報とを対にしたパターンがある。
図7の例では、言い回しパターンとして、述語が「教える。」であり、その述語の目的語として、「*方法」(*は任意の文字列)であるパターンが格納されている。この言い回しパターンによると、述語が「教える。」又はその活用形であり、目的語が「*方法」である文は、質問要約の候補となることを示している。
【0057】
次に、注釈付質問記憶部73に登録されている注釈付質問について説明する。
【0058】
図8は、一実施形態に係る注釈付質問記憶部の注釈付質問を説明する図である。なお、
図8は、
図6に示す質問が質問記憶部75に格納されている場合における注釈付質問を説明する図である。
【0059】
図6の「XをAに設定したが、Yが検索できない。Yの検索方法を教えてください。」との質問文章については、注釈付与処理部72により、文章中の文の構造が解析されて、
図8(1)に示すような構造であると特定される。この際、注釈付与処理部72は、辞書記憶部74に格納されている言い回しパターンが含まれている場合には、その言い回しパターンに対応する語句に対して、注釈(図中の目的語注釈ID1、述語注釈ID1等)を対応付ける。そして、言い回しパターンを含んでいる文をその言い回しパターンに対応する質問要約とする。この場合には、注釈と、注釈が対応付けられた語句(この例では、述語(教えてください。)、目的語(Yの検索方法))と、それを含む文(要約)とが注釈付質問として、注釈付質問記憶部73に格納される。
【0060】
また、
図6の「XをAに設定したが、Yが検索できない。Yの対応方法を教えてください。」との質問文章については、
図8(2)に示すような構造と解析され、注釈と、注釈が対応付けられた語句(この例では、述語(教えて。)、目的語(Yの対応方法))と、それを含む文(要約)とが注釈付質問として、注釈付質問記憶部73に格納される。
【0061】
次に、質問記憶部75に格納されているデータについて詳細に説明する。
【0062】
図9は、一実施形態に係る質問記憶部に登録される質問の例について説明する図である。
図9には、製品仕様の質問の例を示している。
【0063】
質問記憶部75は、製品仕様についての複数の質問の文または文章を格納する。質問は、1以上の文で構成されていてもよい。なお、製品仕様についての質問文章においては、例えば、メモリの最大容量、OSの種類等の質問によって変わる可能性がある変数部分については、置き換えを示す記号(
図9では、「%」)としている。なお、置き換えを示す記号は、入力質問における対応する表現に置き換えられることとなる。例えば、「%メモリの最大容量を教えてください。」の%には、入力質問が、「XシリーズのYモデルのメモリの最大容量を教えてください。」である場合には、「XシリーズのYモデルの」に置き換えられる。入力質問の内容から置き換えを行うようにすることにより、例えば、Xシリーズのモデル毎に、言い回しパターンの(目的語)を登録する必要がなくなり、担当者の負荷を低減することができる。
【0064】
次に、辞書記憶部74に格納されているデータについての他の例について説明する。
【0065】
図10は、一実施形態に係る辞書記憶部に登録されるデータ例について説明する図である。
図10には、製品仕様の質問から質問要約を特定するために利用する言い回しのパターン例を示している。
【0066】
辞書記憶部74は、質問から質問要約を特定するために利用する言い回しパターンを1以上記憶する。言い回しパターンとしては、例えば、質問要約に対応する文に含まれている述語を示す情報と、その述語の目的語を示す情報とを対にしたパターンがある。なお、対となるパターンは、同じ識別番号(図中、「001」、「002」等)に対応付けられており、
図10の例では、言い回しパターンとして、述語が「教える。」であり、その述語の目的語として、「*メモリの最大容量」(*は任意の文字列)であるパターン(001のパターン)と、述語が「教える。」であり、その述語の目的語として、「*OSの制限事項」(*は任意の文字列)であるパターン(002のパターン)とが格納されている。この言い回しパターンによると、述語の動詞の原形が「教える。」であり、目的語が「*メモリの最大容量」である文は、質問要約の候補となり、述語の動詞の原形が「教える。」であり、目的語が「*OSの制限事項」である文は、質問要約の候補となることを示している。
【0067】
次に、注釈付質問記憶部73に登録されている製品仕様の質問に対応する注釈付質問について説明する。
【0068】
図11は、一実施形態に係る注釈付質問記憶部の製品仕様に関する注釈付質問を説明する図である。なお、
図11は、
図9に示す質問が質問記憶部75に格納されている場合における注釈付質問を説明する図である。
【0069】
図9の「XシリーズのYモデルの見積もりをしている。%メモリの最大容量を教えてください。」との質問文章については、注釈付与処理部72により、文章中の文の構造が解析されて、
図11(1)に示すような構造であると特定される。この際、注釈付与処理部72は、辞書記憶部74に格納されている言い回しパターンが含まれている場合には、その言い回しパターンに対応する語句に対して、注釈(図中の目的語注釈ID1、述語注釈ID1等)を対応付ける。そして、言い回しパターンを含んでいる文をその言い回しパターンに対応する質問要約とする。この場合には、注釈と、注釈が対応付けられた語句(この例では、述語(教える。)、目的語(*メモリの最大容量))と、それを含む文(要約)とが注釈付質問として、注釈付質問記憶部73に格納される。
【0070】
また、
図9の「XシリーズのYモデルの見積もりをしている。%OSの制限事項を教えてください。」との質問文章については、注釈と、注釈が対応付けられた語句(この例では、述語(教える。)、目的語(*OSの制限事項))と、それを含む文(要約文)とが注釈付質問として、注釈付質問記憶部73に格納される。
【0071】
次に、計算機システムにおける処理動作について説明する。
【0072】
[質問回答処理]
図12は、一実施形態に係る質問回答処理のフローチャートである。
【0073】
質問回答処理は、ユーザが質問に対する入力を開始して、質問の回答又は、回答が不可能であるとの通知を受けるまでの処理である。
【0074】
ユーザ入力処理部21は、ユーザから問い合わせ(質問)の種類について受け付け、対話処理部23は、質問の種類が、製品仕様に関する問い合わせかどうかを判定する(S10)。ここで、本実施形態では、製品仕様に関する問い合わせに対する処理が、機械学習基盤50による処理に適していない処理であるとしており、この判定処理により、質問の種類が機械学習基盤50による処理に適しているか否かを判定していることとなる。
【0075】
この結果、製品仕様に関する問い合わせではないと判定した場合(S10:NO)には、対話処理部23は、処理をステップS20に進める一方、製品仕様の問い合せであると判定した場合(S10:YES)には、この問い合わせに対する処理は、機械学習基盤50による処理に適していない処理であることを意味しているので、製品仕様問い合わせ回答処理(
図15参照)を実行する(S200)。
【0076】
ステップS20では、対話処理部23は、ユーザ入力処理部21を介して、質問の入力を受け付ける。次いで、対話処理部23は、質問要約問い合わせ処理部31に対して、入力された質問(入力質問)に対する質問要約の問合せを指示し、指示を受けた質問要約問い合わせ処理部31は、指示に応じた基盤(50,60,70のいずれか)に対して入力質問に対する質問要約(要約文)の生成を問い合わせる(S30)。
【0077】
例えば、対話処理部23は、入力質問を受け付けた直後においては、機械学習基盤50に対して質問要約を問い合わせるように指示し、機械学習基盤50に対する質問要約の問い合わせによって得られた質問要約が適切でない場合には、単語ベクトル基盤60に対して質問要約を問い合わせるように指示し、単語ベクトル基盤60に対する質問要約の問い合わせによって得られた質問要約が適切でない場合には、注釈付質問検索基盤70に対して質問要約を問い合わせるように指示する。
【0078】
質問要約問い合わせ処理部31により、質問要約の生成の問い合わせを受けた基盤は、質問要約決定処理を実行する(S40)。
【0079】
図13は、一実施形態に係る質問要約決定処理のフローチャートである。
【0080】
質問要約決定処理においては、機械学習基盤50により実行される機械学習済みモデルの質問要約決定処理(S41)と、単語ベクトル基盤60により実行される単語ベクトル比較による質問要約決定処理(S42)と、注釈付質問検索基盤70による注釈付質問検索処理の質問要約決定処理(S43)とのうちの指示されたいずれかの処理が実行される。
【0081】
[機械学習済みモデルの質問要約決定処理]
ステップS41の機械学習済みモデルの質問要約決定処理では、機械学習基盤50の機械学習済みモデル55が入力質問を入力して、質問要約を生成し、生成した質問要約を、質問要約問い合わせ処理部31を介して対話処理部23に渡す。
【0082】
[単語ベクトル比較による質問要約決定処理]
ステップS42の単語ベクトル比較による質問要約決定処理では、単語ベクトル基盤60の単語ベクトル比較処理部61が、質問記憶部62の中から入力質問の単語ベクトルと同じ又は類似する単語ベクトルを有する質問を質問要約として生成し、生成した要約質問を、質問要約問い合わせ処理部31を介して対話処理部23に渡す。
【0083】
[注釈付質問検索による質問要約決定処理]
ステップS43の注釈付質問検索による質問要約決定処理(注釈付質問要約決定処理:
図14を参照)では、注釈付質問検索基盤70の注釈付質問検索処理部71が、入力質問の構文を解析し、入力質問中の質問内容を示す重要な(特徴的な)言い回し抽出し、重要な言い回しをキーとして、注釈付質問記憶部73から質問要約を検索して、質問要約を生成し、生成した質問要約を、質問要約問い合わせ処理部31を介して対話処理部23に渡す。
【0084】
図12の説明に戻り、質問要約決定処理が実行された後に、対話処理部20は、質問要約を対話出力処理部22に転送し、対話出力処理部22は、ユーザに質問要約を提示(表示出力)する(S50)。
【0085】
次いで、対話処理部23は、提示された質問要約が適切であるか否かの確認結果、すなわち、質問要約がユーザの質問の意図に一致してるか否かの確認結果を、ユーザ入力処理部21を介してユーザから受信し、その確認結果に基づいて、質問要約がユーザの意図に一致しているか否か、すなわち、質問要約が適切であるか否かを判定する(S60)。
【0086】
この結果、質問要約がユーザの意図に一致している(質問要約が適切である)と判定した場合(S60:YES)には、対話処理部23は、ログ出力処理部81にログデータを出力する指示を出し、指示を受けたログ出力処理部81は、入力質問と、質問要約と、質問要約がユーザの質問の意図に一致してるか否かの判定結果(ここでは、一致しているとの判定結果)とを含むログデータを生成してログデータ記憶部82に出力する(S70)。
【0087】
次いで、対話処理部23は、質問要約を回答検索処理32に渡すとともに、質問要約をキーとした回答の検索を指示する。回答検索処理32は、質問要約をキーとして、回答記憶部33から回答を検索し、検索した回答を対話処理部23に渡す(S80)。対話処理部23は、渡された回答を対話出力処理部22に渡す。対話出力処理部22は、回答をディスプレイ等に表示させることによりユーザに提示し(ステップ90)、処理を終了する。
【0088】
一方、質問要約がユーザの意図に一致していると判定しなかった場合(S60:NO)には、質問要約が適切でないことを意味しているので、対話処理部23は、ログ出力処理部81にログデータを出力する指示を出し、指示を受けたログ出力処理部81は、入力質問と、質問要約と、質問要約がユーザの質問の意図に一致してるか否かの判定結果(ここでは、一致していないとの判定結果)とを含むログデータを生成してログデータ記憶部82に出力する(S100)。
【0089】
次いで、対話処理部23は、ユーザの意図と一致していないと判定された質問要約が、注釈付質問要約決定処理により得られた質問要約であるか否か、すなわち、最後に実行される質問要約決定処理を実行したか否かを判定する(S110)。
【0090】
この結果、ユーザの意図と一致していないと判定された質問要約が、注釈付質問要約決定処理により生成された質問要約でないと判定された場合(S110:NO)には、次の順番の質問要約決定処理を実行するために、対話処理部23は、処理をステップS30に進める。一方、ユーザの意図と一致していないと判定された質問要約が、注釈付質問要約決定処理により生成された質問要約であると判定された場合(S110:YES)には、全ての質問要約決定処理により、質問要約の生成がされ、且つすべてがユーザの意図に一致していないとされたことを意味しているので、対話処理部23は、対話出力処理部22を介して、“問い合わせに回答できません。“とのメッセージ(回答不能応答)をユーザに通知し(S120)、処理を終了する。
【0091】
次に、注釈付質問要約決定処理(S43)について詳細に説明する
【0092】
図14は、一実施形態に係る注釈付質問検索による質問要約決定処理のフローチャートである。
【0093】
注釈付質問検索処理部71は、ユーザの入力質問を構文解析技術で単文に分解した後、単文を主語と目的語との項目に分解する(S44)。次いで、注釈付質問検索処理部71は、分解された項目の値をキーとし、注釈付質問記憶部73から注釈付質問を検索する(S45)。
【0094】
次いで、注釈付質問検索処理部71は、入力質問から得られた項目と、検索で得られた各注釈付質問の項目とについて、コサイン類似度などの技術により類似度を算出し、算出した類似度を比較する(S46)。次いで、注釈付質問検索処理部71は、入力質問から得られた項目と最も類似度の高い注釈付質問の質問要約と、その質問要約の構文解析結果と、を質問要約問い合わせ処理部31に送り(S47)、処理を終了する。
【0095】
次に、製品仕様問い合わせ回答処理(S200)について詳細に説明する
【0096】
図15は、一実施形態に係る製品仕様問い合わせ回答処理のフローチャートである。
【0097】
まず、対話処理部23は、ユーザ入力処理部21を介して、製品仕様に関する質問の入力を受け付ける。(S210)。次いで、対話処理部23は、質問要約問い合わせ処理部31を介して、注釈付質問検索基盤70に対して入力質問に対する質問要約(要約文)の生成を問い合わせる(S220)。
【0098】
注釈付質問検索基盤70は、注釈付質問検索による質問要約決定処理を実行する(S230)。これにより、注釈付質問検索基盤70の注釈付質問検索処理部71は、生成した質問要約を、質問要約問い合わせ処理部31に渡す。
【0099】
質問要約問い合わせ処理31は、質問要約における変数(例えば、
図9の「%」)を、入力質問(例えば、Xモデルのメモリの最大容量を教えてください。)の中の対応する部分(「Xモデルの」)で置き換えて、最終的な質問要約(Xモデルのメモリの最大容量を教えてください。)を生成し、対話処理部23に渡す(S240)。
次いで、対話処理部23は、質問要約を対話出力処理部22に転送し、対話出力処理部22は、ユーザに質問要約を提示(表示出力)する(S250)。
【0100】
次いで、対話処理部23は、提示された質問要約が適切であるか否かの確認結果、すなわち、質問要約がユーザの質問の意図に一致してるか否かの確認結果を、ユーザ入力処理部21を介してユーザから受信し、その確認結果に基づいて、質問要約がユーザの意図に一致しているか否かを判定する(S260)。
【0101】
この結果、質問要約がユーザの意図に一致していると判定した場合(S260:YES)には、対話処理部23は、質問要約の構文解析結果を、ドキュメント検索処理インターフェース90に渡し、ドキュメント検索処理インターフェース90は、外部検索システム200のドキュメント検索・結果表示部201を呼び出して、質問要約の構文解析結果を渡す(S270)。これにより、呼び出されたドキュメント検索・結果表示100は、質問要約の構文解析結果をキーに、構成ガイドデータ記憶部202からドキュメントを検索し、検索結果をドキュメント検索処理インターフェース90に返すこととなる。
【0102】
ドキュメント検索処理インターフェース90は、外部検索システム200から返された検索結果を受信し、対話処理部23に渡す(S280)。対話処理部23は、渡された検索結果を対話出力処理部22に渡す。対話出力処理部22は、検索結果をディスプレイ等に表示させることによりユーザに提示し(ステップ290)、処理を終了する。
【0103】
一方、質問要約がユーザの意図と一致していないと判定された場合(S260:NO)には、対話処理部23は、対話出力処理部22を介して、“問い合わせに回答できません。“とのメッセージをユーザに通知し(S300)、処理を終了する。
【0104】
次に、注釈付質問要約決定処理(S230)について詳細に説明する
【0105】
図16は、一実施形態に係る注釈付質問検索による質問要約決定処理のフローチャートである。
【0106】
注釈付質問検索処理部71は、ユーザの入力質問を構文解析技術で単文に分解した後、単文を主語と目的語との項目に分解する(S231)。次いで、注釈付質問検索処理部71は、分解された項目の値(「教えてください」など)をキーとし、注釈付質問記憶部73から注釈付質問を検索する(S232)。
【0107】
次いで、注釈付質問検索処理71は、入力質問から得られた項目と、検索で得られた各注釈付質問の項目とについて、コサイン類似度などの技術により類似度を算出し、算出した類似度を比較する(S233)。次いで、注釈付質問検索処理71は、入力質問から得られた項目と最も類似度の高い注釈付質問の質問要約と、その質問要約の構文解析結果とを質問要約問い合わせ処理部31に送り(S234)、処理を終了する。
【0108】
[機械学習処理]
次に、機械学習処理について説明する。
【0109】
図17は、一実施形態に係る機械学習処理のフローチャートである。
【0110】
機械学習処理は、例えば、所定の時間が経過するごとに、又は、ログデータ記憶部82のログデータのデータ量が所定量となった場合等に実行される。
【0111】
まず、ログ分析処理部83が、ログデータ記憶部82の中から質問の意図と一致していると判定された判定結果を含むログデータの質問要約と、その基となる質問との組を抽出し(S400)、機械学習基盤50の学習データ記憶部53に転送し、学習データとして格納する(S401)。
【0112】
その後、機械学習処理部54は、学習データ記憶部53に格納されている学習データを用いて、機械学習済みモデル55の機械学習を実行する(S402)。
【0113】
これにより、予め用意している学習データが少なくても、質問要約基盤40のいずれかの基盤(50,60,70)により生成された質問要約のログデータを用いて、学習データを増やすことができ、機械学習済みモデル55の推論の精度を向上することができる。
【0114】
[過学習排除処理]
例えば、学習に用いる学習データが増えすぎてしまうと、機械学習済みモデル55による推論の精度が低下する、過学習が発生する可能性がある。本実施形態では、このような過学習が発生することを排除するために過学習排除処理を実行している。
【0115】
図18は、一実施形態に係る過学習排除処理のフローチャートである。
【0116】
過学習排除処理は、例えば、機械学習処理が実行された直後に実行される。
【0117】
機械学習処理部54は、新たな機械学習処理が行われるまでの機械学習済みモデル(直前モデル)と、新たな機械学習処理により得られた機械学習済みモデル(最新モデル)とのそれぞれについて、学習データ記憶部53の学習データを用いて、正解率を計測する(S500)。次いで、機械学習処理部54は、最新モデルの正解率が直前モデルの正解率よりも大きいか否かを判定する(S501)。
【0118】
この結果、最新モデルの正解率が直前モデルの正解率よりも大きいと判定した場合(S501:YES)には、最新モデルの方が、精度が高いことを意味しているので、機械学習処理部54は、機械学習済みモデル55を最新モデルに更新し(S502)、処理を終了する。
【0119】
一方、最新モデルの正解率が直前モデルの正解率よりも大きくないと判定した場合(S501:NO)には、最新モデルに対して過学習が発生している可能性があるので、機械学習処理部54は、機械学習済みモデル55を最新モデルに更新せずに、そのままとし、ログ分析処理部83によるログデータ記憶部82からの学習データの転送を停止し(S503)、処理を終了する。
【0120】
過学習排除処理によると、機械学習済みモデル55が過学習となってしまうことを適切に防止することができる。
【0121】
[事前準備データ外の文書検索]
質問回答システム10における事前準備データ外の文書検索処理について説明する。
【0122】
例えば、
図12の質問回答処理において、提示した回答が得られなかった場合(例えばS110でNOとなった場合)に、対話処理部23は、ドキュメント検索インターフェース90を経由して外部検索システム202に接続し、外部検索システム202から質問に対する回答を取得することもできる。このようにすると、質問応答システム10で回答すべきデータを学習していなかったとしても、事前準備なしに回答を検索することができる。
【0123】
以上説明したように、上記実施形態に係る計算機システムによると、機械学習による質問要約生成処理と、それ以外の質問要約生成処理とを実行可能とし、機械学習による質問要約生成処理で適切な質問要約が得られなかった場合に、他の質問要約生成処理により質問要約を利用することができるので、学習データが少なくて機械学習による質問要約生成処理により十分な精度が得られない場合であっても、質問要約の精度を向上することができ、結果として回答精度を向上することができる。また、学習データが少なくて機械学習による質問要約生成処理により十分な精度が得られない場合であっても、質問要約の精度を向上することができるので、初期の学習データを充実させていなくてもよく、準備費用を低減することができる。また、実際に利用されている際に、各質問要約生成処理により生成された質問要約を新たな学習データとすることができるので、学習データを生成するためのコストを低減することができる。また、上記実施形態では、質問要約が適切であるかをユーザに提示して確認させるようにしているので、間違った質問による回答をユーザに提示してしまって、ユーザに誤解を与える可能性を低減することができる。
【0124】
[複数の質問回答システムの切替]
次に、第1変形例に係る計算機システムについて説明する。
【0125】
図19は、第1変形例に係る計算機システムの全体構成図である。
【0126】
第1変形例に係る計算機システム1Aは、質問回答システム10を複数備えるようにしたシステムである。なお、上記実施形態に係る計算機システム1と同様な構成部分には同一の符号を付すこととする。
【0127】
計算機システム1Aは、質問回答統合システムの一例であり、複数の質問回答システム10と、ユーザ端末500とを備える。質問回答システム10は、上記した実施形態の質問回答システム10と基本的な構成は同じであるが、回答記憶部33、教師データ記憶部51、学習データ記憶部53、辞書記憶部74、質問記憶部75に格納されているデータは、それぞれの質問回答システム10毎に用意されたものである。すなわち、質問回答システム10によっては、得意な質問が異なっていたり、回答が異なっていたりすることがあり、一の質問回答システム10で回答できなかった質問を、他の質問回答システム10が回答できる場合もある。
【0128】
ユーザ端末500は、例えば、PC等のコンピュータにより構成されており、対話処理基盤選択受付部501と、要求先切替部の一例としての対話処理基盤切替命令部502と、対話処理基盤切替インターフェース503とを備える。これら機能部は、例えば、ユーザ端末500のプロセッサがプログラムを実行することにより構成される。なお、ユーザ端末500の機能を質問回答システム10に備えるようにしてもよい。
【0129】
対話処理基盤選択受付部501は、使用する質問回答システム10の指定をユーザから受け付ける。対話処理基盤切替命令部502は、対話処理基盤選択受付部501から受け付けたユーザによる質問回答システム10の指定や、質問回答システム10の回答状況に応じて、対話する(接続する)質問回答システム10を切り替える命令を行う。対話処理基盤切替インターフェース503は、対話処理基盤切替命令部502による命令に従って、ユーザ端末500を接続する質問回答システム10を切り替える処理を実行する。
【0130】
次に、第1変形例に係る計算機システム1Aの処理動作について説明する。
【0131】
図20は、第1変形例に係る全体処理のフローチャートである。
【0132】
まず、対話処理基盤選択受付部501は、ユーザから使用する質問回答システム10の指定を受け付ける(S600)。
【0133】
次いで、対話処理基盤切替命令部502は、対話処理基盤選択受付部501から受け付けた質問回答システム10の指定や、質問回答システム10の回答状況に応じて、使用する質問回答システム10を切り替える命令を行い、対話処理基盤切替インターフェース503は、命令に従い、接続する質問回答システム10を切り替える(S601)。本例では、対話処理基盤切替命令部502は、最初は、ユーザから指定された質問回答システム10に接続し、接続した質問回答システム10から質問の回答を取得できなかった場合には、別の質問回答システム10を接続するようにしている。
【0134】
質問回答システム10が接続された後には、接続された質問回答システム10によって、
図12に示す質問回答処理が実行される(S602)。そして、対話処理基盤切替命令部502は、質問回答処理により質問の回答を取得できたか否かを判定する(S603)。
【0135】
この結果、質問回答処理により質問の回答を取得できた場合(S603:YES)には、対話処理基盤切替命令部502は、処理を終了する一方、質問回答処理により質問の回答を取得できなかった場合、例えば、
図12におけるステップS120の回答不能通知を受けた場合(S603:NO)には、対話処理基盤切替命令部502は、処理をステップS601に進めて、接続する質問回答システム10を切り替え、後続の処理を継続して実行する。
【0136】
この処理によると、質問の回答を取得できなかった場合には、質問回答システム10を適宜切り替えることができるので、質問に対する回答を得られる可能性を向上することができる。
【0137】
なお、接続する質問回答システム10を決定する方法としては、ユーザの指定に常に従うようにしてもよく、各質問回答システム10の得意な質問の種類等を予め把握しておき、質問の内容に応じて、接続先を切り替えるようにしてもよい。
【0138】
[有人対応用システムへのシームレスな引継ぎ]
次に、第2変形例に係る計算機システムについて説明する。
【0139】
第2変形例に係る計算機システムは、質問回答システム10で回答できなかった場合に、有人による質問への回答を行うための有人対応用のシステム(サービスデスクシステム)に対して引継ぎを行うことのできるシステムである。
【0140】
計算機システムは、有人対応用システムの一例としてのサービスデスクシステムを備えている。また、質問回答システム10は、質問回答システムからサービスデスクシステムに接続するための引継ぎインターフェースをさらに有している。引継ぎインターフェースは、引き継ぎ部の一例に相当する。
【0141】
次に、第2変形例に係る計算機システムの処理動作について説明する。
【0142】
図21は、第2変形例に係るシステム引き継ぎ処理のフローチャートである。
【0143】
引継ぎインターフェースは、引き継ぎ命令を取得したか否かを判定する(S700)。ここで、引き継ぎ命令としては、ユーザからの明示的な命令であってもよく、
図12のステップS120の回答不能通知であってもよい。
【0144】
この結果、引き継ぎ命令を取得していない場合(S700:NO)には、引継ぎインターフェースは、処理をステップS700に進める一方、引き継ぎ命令を取得した場合(S700:YES)には、引継ぎインターフェースは、ログデータ記憶部82からこのユーザが関与したログデータ(質問と、得られた質問要約との組)を取得し(S701)、サービスデスクシステムと接続し、ログデータを送信する(S702)。この結果、サービスデスクシステムにおいては、ログデータの内容がサービスデスクシステムの担当者が確認可能に表示される。
【0145】
次いで、引き継ぎインターフェースは、ユーザと、サービスデスクシステムの担当者との音声や文字等の交換が可能な通信が継続されるようにし(S703)、処理を終了する。
【0146】
これにより質問回答システム10からサービスデスクシステムにシームレスな引継ぎを行うことができる。すなわち、このシステム引き継ぎ処理によると、ユーザが実行していた質問の状況を容易且つ適切にサービスデスクシステムの担当者に引き継ぐことができる。
【0147】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【0148】
例えば、上記実施形態では、質問要約決定処理として、2つの質問要約決定処理を実行可能としていたが、機械学習済みモデルによる質問要約決定処理以外の処理として、1つの質問要約決定処理としてもよく、3以上の質問要約決定処理を実行可能としてもよい。
【0149】
また、上記実施形態では、複数の質問要約決定処理のうちの1つの処理を実行し、これにより適切な質問要約が得られなかった場合に、他の質問要約決定処理を実行するようにすることにより、質問要約決定処理を順次実行するようにしていたが、本発明はこれに限られず、例えば、複数の質問要約決定処理を実行して、複数の質問要約を生成し、その中から適切な質問要約を選択させるようにしてもよい。
【0150】
また、上記実施形態では、最初に、機械学習済みモデルによる質問要約決定処理による質問要約をユーザに提供し、以降に、それ以外の質問要約決定処理による質問要約をユーザに提供するようにしていたが、本発明はこれに限られず、質問要約のユーザに提供する順序を任意の順序にしてもよい。例えば、機械学習済みモデルによる質問要約決定処理により質問要約を生成し、生成した質問要約に対する信用度(機械学習済みモデルにおいてこの質問要約として推論される確率を示す数値)が所定値以下である場合には、他の質問要約決定処理による質問要約を最初にユーザに提示するようにしてもよい。このようにすると、機械学習済みモデルによる質問要約決定処理による精度が低いと考えられる質問要約よりも先に、他の質問要約決定処理による質問要約をユーザに提示することができる。
【0151】
また、上記実施形態において、プロセッサが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
【符号の説明】
【0152】
1…計算機システム、10…質問回答システム、20…対話処理基盤、30…質問要約問い合わせ処理基盤、40…質問要約基盤、50…機械学習基盤、60…単語ベクトル基盤、70…注釈付質問検索基盤、80…ログ検索基盤、200…外部検索システム