JP2021096711A - 情報処理プログラム、情報処理方法および情報処理装置 - Google Patents

情報処理プログラム、情報処理方法および情報処理装置 Download PDF

Info

Publication number
JP2021096711A
JP2021096711A JP2019228534A JP2019228534A JP2021096711A JP 2021096711 A JP2021096711 A JP 2021096711A JP 2019228534 A JP2019228534 A JP 2019228534A JP 2019228534 A JP2019228534 A JP 2019228534A JP 2021096711 A JP2021096711 A JP 2021096711A
Authority
JP
Japan
Prior art keywords
sentence
data
vector
faq
question
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.)
Pending
Application number
JP2019228534A
Other languages
English (en)
Inventor
片岡 正弘
Masahiro Kataoka
正弘 片岡
延寛 坂本
Nobuhiro Sakamoto
延寛 坂本
泰裕 鈴木
Yasuhiro Suzuki
泰裕 鈴木
徹也 西村
Tetsuya Nishimura
徹也 西村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019228534A priority Critical patent/JP2021096711A/ja
Priority to US17/108,364 priority patent/US11449501B2/en
Publication of JP2021096711A publication Critical patent/JP2021096711A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】FAQの抽出精度を向上させる情報処理プログラム、情報処理方法および情報処理装置を提供する。【解決手段】情報処理プログラムは、入力を受け付けた利用者入力文データをベクトル変換して第1のベクトルデータを生成し、記憶部に記憶された複数のベクトルデータをそれぞれ含む複数のFAQデータのうち、第1ベクトルデータを含む複数のFAQデータを特定し、特定した複数のFAQデータに含まれるあるデータ内の第1のベクトルデータ以外のベクトルデータそれぞれと、特定した複数のFAQデータに含まれるあるデータ以外のデータ内の第1のベクトルデータ以外のベクトルデータそれぞれとの類似度に基づいて、入力を受け付けた利用者入力文データに対して出力するデータを決定する。【選択図】図14B

Description

本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。
従来、FAQ(Frequently Asked Questions)を使用して適切な回答を提供する技術は広く知られている。さらに、FAQの中から適切な選択を行うために、自動応答サービスであるチャットボットを用いてFAQ検索を行う技術の導入が進んでいる。
FAQ検索では、利用者の質問文に対して多数の候補がヒットする場合が多い。その場合、検索結果を類似度の高い順に並べた場合の上位数件以内に正解候補が入ることが好ましい。
従来のFAQ検索では、検索精度を高めるために、利用者の質問文と利用者が選択したFAQの回答文との組を教師データとして、RNN(Recurrent Neural Network)機械学習が行われる。
ここで、文章や文(以下、単に文)を解析し、文を構成する各単語をベクトルで表現する従来技術として、word2vec(Skip-Gram ModelまたはCBOW)等がある。表記の異なる単語であっても、意味が類似している単語同士は、ベクトルの値も類似するという特徴がある。以下の説明では、単語のベクトルを、「単語ベクトル」と表記する。
例えば、RNN機械学習において、単語ベクトルを用いて入力文から出力文を得る技術としては、機械翻訳が実用化されている。機械翻訳は、1つの入力文に対して、RNN機械学習で計算されたハイパーパラメータにより、文を構成する単語を置き換えて1つの出力文を作成する処理であるため、RNNによる高精度な翻訳が実現可能である。
FAQ検索においても、質問文と回答文との教師データとRNN機械学習し、ハイパーパラメータが計算される。このハイパーパラメータと単語ベクトルとを用いて、利用者の質問文に対し、高い精度で最適な回答文を抽出する技術が提案されている。
一方、対話型の応答システムとして、深層学習に基づいてナレッジグラフで自動質問応答を行う従来技術がある。また、学習用の発話文と関連文と応答文を用いて、関連文を入力とし応答文を出力として学習を行い、入力された発話文の関連文を取得して応答文を生成する従来技術がある。また、複数の利用者のソーシャルデータを学習素材とし共通の形態を一般化モデルとして作成し、入力データを基に一般化モデルを検索して蓄積された質問のうちある程度の表記の揺らぎを考慮して一致するかどうかを判定する従来技術がある。
特開2017−76403号公報 特開2019−40574号公報 特開2017−224190号公報
しかしながら、FAQの質問文や回答文の各文章を構成する文の数量が増加すると、RNN機械学習による回答文の抽出精度が低下する。そのため、多量な教師データの整備や多階層のRNN機械学習の演算量の増加に対する対策が必要となっている。
また、利用者が入力した質問文のテキストが短く、FAQを特定するための情報が不足する場合がある。そのような場合、回答文の候補が急増するため、抽出精度が低下して利用者が取得したいFAQが検索結果を類似度順に並べた場合の上位に入らないおそれがある。
さらに、対話型の応答システムにおいても、利用者の質問文を補充するために、どのような文を応答すれば良いのかを判定する技術が確立されていない。
開示の技術は、上記に鑑みてなされたものであって、FAQの抽出精度を向上させる情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。
本願の開示する情報処理プログラム、情報処理方法および情報処理装置の一つの態様において、入力を受け付けた第1の文章データをベクトル変換して第1のベクトルデータを生成し、記憶装置に記憶された複数のベクトルデータをそれぞれ含む複数の第2の文章データのうち、前記第1ベクトルデータを含む複数の前記第2の文章データを特定し、特定した複数の前記第2の文章データに含まれるあるデータ内の前記第1のベクトルデータ以外のベクトルデータそれぞれと、特定した複数の前記第2の文章データに含まれる前記あるデータ以外のデータ内の前記第1のベクトルデータ以外のベクトルデータそれぞれとの類似度に基づいて、入力を受け付けた前記第1の文章データに対して出力する出力データを決定する。
1つの側面では、本発明は、FAQの抽出精度を向上させることができる。
図1は、チャットボットによるFAQ検索システムのシステム構成図である。 図2は、FAQデータの内容の一例を表す図である。 図3は、実施例1に係る情報処理装置のRNNの学習時の処理の一例を説明するための図である。 図4は、RNNの学習時の処理の詳細を表す図である。 図5は、実施例1に係る情報処理装置の利用者からの質問に対するFAQデータの特定処理の一例を説明するための図である。 図6は、FAQデータの特定処理の詳細を表す図である。 図7は、実施例1に係る情報処理装置の質問追加補充要求判定処理の一例を説明するための図である。 図8は、実施例1に係る情報処理装置の文ベクトル生成部による文ベクトルの生成を説明するための図である。 図9は、実施例1に係る情報処理装置によるFAQデータの文と文ベクトルとの取得処理を説明するための図である。 図10は、実施例1に係る情報処理装置による質問要求補充文の選択処理を説明するための図である。 図11は、質問補充要求文リストの一例を表す図である。 図12は、FAQデータと質問補充要求文との関係について説明するための図である。 図13は、実施例1に係る情報処理装置における質問補充要求処理の詳細を説明するための図である。 図14Aは、実施例1に係る情報処理装置によるRNN機械学習処理のフローチャートである。 図14Bは、実施例1に係る情報処理装置による回答処理のフローチャートである。 図15は、実施例1に係る情報処理装置のブロック図である。 図16は、RNN処理部の詳細を表すブロック図である。 図17は、質問補充要求処理部の詳細を表すブロック図である。 図18は、FAQ質問文と質問補充要求文とを用いたRNN機械学習の一例を示す図である。 図19は、実施例2に係る情報処理装置における質問補充要求処理の詳細を説明するための図である。 図20は、実施例2に係る情報処理装置による回答処理のフローチャートである。 図21は、コンピュータのハードウェア構成図である。
以下に、本願の開示する情報処理プログラム、情報処理方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理プログラム、情報処理方法および情報処理装置が限定されるものではない。
図1は、チャットボットによるFAQ検索システムのシステム構成図である。チャットボットによるFAQ検索システムは、例えば図1に示すように、利用者端末2に接続された情報処理装置1を有する。
利用者端末2は、FAQを利用するユーザが使用する端末である。利用者端末2は、利用者により入力された質問を情報処理装置1へ送信する。その後、利用者端末2は、質問に対するFAQを用いた回答を情報処理装置1から取得し、取得した回答を利用者へ提供する。
情報処理装置1は、AI(Artificial Intelligence)チャットボット11が動作する。AIチャットボット11は、API(Application Programing Interface)12を介して、利用者端末2とデータの送受信を行う。また、AIチャットボット11は、音声制御機能13、対話制御機能14、自動機械学習機能15及びナレッジ検索機能16を有する。
音声制御機能13により、音声認識及び音声合成などが実行される。利用者端末2から音声でデータが入力された場合、音声制御機能13により、音声を用いたデータの送受信が行われる。
対話制御機能14は、表現認識、形態素解析及びスクリプト編集などが実行される。対話制御機能14は、利用者端末2から入力されたデータに対して対話を行う。
自動機械学習機能15は、個別辞書及び会話検索履歴などを用いてFAQや対話に関する機械学習を行う。例えば、自動機械学習機能15は、RNN機械学習を実行してFAQ質問文に対するFAQ回答文を出力するためのRNNのハイパーパラメータを計算する。
ナレッジ検索機能16は、FAQデータや共通辞書などを用いて、利用者端末2から入力された質問文に対して適切なFAQ回答文を特定する。また、本実施例に係るナレッジ検索機能16は、FAQ回答文を特定するためにFAQ質問文が十分でない場合に、FAQ質問文の追加要求をするための追加要求文を生成する。
図2は、FAQデータの内容の一例を表す図である。このFAQデータ150が、「第2の文章データ」の一例にあたる。FAQデータ150は、質問概要とその質問概要に対応する回答概要を有する。FAQデータ150の質問概要の文章を、以下ではFAQ質問文という。また、FAQデータ150の回答概要を、以下ではFAQ回答文という。FAQ質問文が、「あるデータ」の一例にあたる。
さらに、FAQデータ150は、現象及び質問項目、ヒアリング項目、資料採取項目、調査及び解析項目、原因項目、並びに、対処方法及び回答項目の各項目のデータを含む。このFAQデータ150が、「第2の文章データ」の一例にあたる。
現象及び質問内容項目は、当該FAQデータ150が適応される場合の、発生した現象や利用者から入力される質問内容が登録される。すなわち、現象及び質問内容項目に登録された現象が起こっている場合や利用者からの質問に登録された質問内容が含まれる場合に、当該FAQデータ150の回答の内容が利用者に提供される。
ヒアリング項目は、当該FAQデータ150を適用する場合か否かを判定するために利用者に対してヒアリングを行う内容が登録される。すなわち、このヒアリング項目の内容に対する回答を利用者から取得することで、当該FAQデータ150を適用する場合か否かが判定可能となる。
資料採取項目は、当該FAQデータ150を適用する場合か否かを判定するために採取することが好ましい資料の一覧と手順が登録される。すなわち、資料採取項目に登録された手順にしたがい取得される資料により、当該FAQデータ150を適用する場合か否かが判定可能となる。
調査及び解析項目は、当該FAQデータ150を適用する場合か否かを判定するための情報が登録される。すなわち、調査及び解析項目に登録された情報を取得することで、当該FAQデータ150を適用する場合か否かが判定可能となる。
原因項目は、質問概要に登録された内容が発生した場合の原因が登録される。対処方法は、発生した現象に対する対処方法が登録される。
次に、図3及び図4を参照して、本実施例に係る情報処理装置1によるRNN機械学習の処理について説明する。以下に説明するRNN機械学習の処理は、図1で示した自動機械学習機能15にあたる。
情報処理装置1は、FAQデータの多量な文に対応した多階層RNN機械学習を実現するため、FAQの質問文と回答文を教師データとして、単語の上位である文の粒度のRNN機械学習により、RNNのハイパーパラメータを計算する。図3は、実施例1に係る情報処理装置のRNNの学習時の処理の一例を説明するための図である。図4は、RNNの学習時の処理の詳細を表す図である。
情報処理装置1は、FAQデータ150を予め有する。また、情報処理装置1は、200次元ベクトル単語ベクトルテーブル151、次元圧縮された、例えば7次元単語ベクトルテーブル152、7次元文グループベクトルテーブル153(以降、7次元単語ベクトルテーブル152、7次元文グループベクトルテーブル153と記す。)、及び次元復元された200次元文グループベクトルテーブル154を予め生成する。ここで、word2vecにより200次元の単語ベクトルが表現される。次に、文ベクトルのサイズの縮小や集計の計算量を削減するために、200次元から素数の次元などの共通の次元を選択し、直交変換を用いてベクトルの次元圧縮を行うことで、7次元単語ベクトルテーブル152を生成する。また、文を構成する各単語に対し、この7次元単語ベクトルテーブルを用いて、単語ベクトルを集計した文ベクトルをグループ化することで、7次元文グループベクトルテーブル153を生成する。さらに、RNN機械学習のため、直交変換を用いて、200次元文グループベクトルテーブル154を次元復元し、生成することができる。
図3に示すように、情報処理装置1が有する学習部421は、FAQデータ150を取得する。さらに、学習部421は、200次元単語ベクトルテーブル151と、7次元単語ベクトルテーブル152を取得する。そして、学習部421は、FAQデータ150を教師データとして、7次元単語ベクトルテーブル152を用いて文ベクトルを集計し、7次元文ベクトルグループテーブル153及び200次元文ベクトルグループテーブル154を用いて、RNNのハイパーパラメータを計算して学習データ155とする。
次に、図4を参照して、学習部421によるRNNの学習時の処理の詳細について説明する。学習部421は、教師データとなる複数のFAQデータ150の中から1つの文章であるFAQデータ150を選択する。次に、学習部421は、選択したFAQデータ150のFAQ質問文及びFAQ回答文に含まれる複数の文を抽出する。例えば、学習部421は、FAQ質問文及びFAQ回答文を走査し、句読点で区切られる部分を、文として抽出する。
学習部421は、抽出した複数の文のうち、一つの文を選択し、選択した文に対して形態素解析を実行することで、選択した文に含まれる複数の単語を特定する。学習部421は、特定した単語と、7次元単語ベクトルテーブル152とを比較して、各単語の7次元の単語ベクトルを特定する。次に、学習部421は、例えば、特定した7次元の単語ベクトルを足し合わせることで、選択した文の7次元の文ベクトルを算出する。学習部421は、選択したFAQ質問文及びFAQ回答文における他の文についても同様にして、7次元の文ベクトルを算出する(ステップS101)。図4における、文ベクトルVqs1〜Vqs4が、FAQデータ150のFAQ質問文に含まれる各文の7次元の文ベクトルを表す。また、文ベクトルVas1〜Vas4が、FAQデータ150のFAQ回答文に含まれる各文の7次元の文ベクトルを表す。
また、学習部421は、7次元文グループベクトルテーブル153を参照して各文に類似する文ベクトルを有する文グループを特定し、FAQデータ150のFAQ質問文及びFAQ回答文に含まれる各文がどの文グループに振り分けられるか判定する(ステップS102)。図4では、FAQ質問文に含まれる各文がそれぞれ、文グループGq1〜Gq4に含まれる。また、FAQ回答文に含まれる各文がそれぞれ、文グループGa1〜Ga4に含まれる。
次に、学習部421は、200次元文グループベクトルテーブル154を参照して、各文の文グループに対応する200次元の文ベクトルを特定して、FAQ質問文の各文の文ベクトルを200次元に展開する(ステップS103)。図4では、FAQ質問文に含まれる各文の文ベクトルはそれぞれ、200次元の文ベクトルV’qs1〜V’qs4に展開される。学習部421は、ステップS101〜S103の処理を、全てのFAQデータ150について実行する。
学習部421は、各FAQデータ150のFAQ質問文に含まれる各文の200次元の文ベクトル201を入力とし、FAQ回答文に含まれる各文の7次元の文ベクトル202を出力としてRNN機械学習を実行する。学習部421は、入力及び出力となる各データを教師データとして次々読み込みRNNのハイパーパラメータを算出する(ステップS104)。そして、学習部421は、算出したハイパーパラメータを学習データ155とする。
次に、本実施例に係る情報処理装置1によるRNNの適用時の処理について説明する。図5及び6を参照して、情報処理装置1による利用者入力文データ200に対するFAQデータ150の特定処理について説明する。図5は、実施例1に係る情報処理装置の利用者からの質問に対するFAQデータの特定処理の一例を説明するための図である。また、図6は、FAQデータの特定処理の詳細を表す図である。
特定部422は、利用者入力文リスト201から利用者入力文データ200を取得する。そして、特定部422は、7次元単語ベクトルテーブル152、7次元文グループベクトルテーブル153及び200次元文グループベクトルテーブル154を参照して、利用者入力文データ200に含まれる各文の200次元の文ベクトルを求める。次に、特定部422は、特定した文ベクトルをRRNの入力としてRNN機械学習の学習結果を用いてFAQ回答文の文グループを出力として得る。そして、特定部422は、FAQデータ150及び学習データ155を用いて、取得した文グループに含まれるFAQ回答文301を取得する。その後、特定部422は、取得したFAQ回答文301を生成部423へ出力する。
生成部423は、特定部422から取得したFAQ回答文301と利用者入力文データ200との類似度を求める。例えば、生成部423は、FAQ回答文301及び利用者入力文データ200の各文の文ベクトルを、7次元単語ベクトルテーブル152を用いて求める。また、単語の位置と7次元単語ベクトルを対応付けた単語ベクトルインデックス156と、文の位置と7次元文グループベクトルを対応付けた文グループベクトルインデックス157を生成する。
そして、生成部423は、利用者入力文データ200の各文の文ベクトルとFAQ回答文301の各文の文ベクトルとをCOS類似度比較し、各文の類似度を集積した値からFAQ回答文301と利用者入力文データ200との類似度を求める。その後、生成部423は、類似度順のFAQ回答文301のランキングを求める。そして、生成部423は、ランキング順FAQ回答文302のリストを生成して利用者端末2へ送信することで、ランキング順FAQ回答文302を利用者に提供する。
次に、図6を参照して、特定部422によるRNNの適用時の処理の詳細について説明する。特定部422は、利用者入力文データ200を利用者入力文リスト201から取得する。次に、特定部422は、取得した利用者入力文データ200に含まれる複数の文を抽出する。
特定部422は、抽出した複数の文のうち、一つの文を選択し、選択した文に対して形態素解析を実行することで、選択した文に含まれる複数の単語を特定する。特定部422は、特定した単語と、7次元単語ベクトルテーブル152とを比較して、各単語の7次元の単語ベクトルを特定する。次に、特定部422は、特定した7次元の単語ベクトルを足し合わせることで、選択した文の7次元の文ベクトルを算出する。特定部422は、利用者入力文データ200における他の文についても同様にして、7次元の文ベクトルを算出する(ステップS111)。図6における、文ベクトルVqsxx〜Vqszzが、利用者入力文データ200に含まれる各文の7次元の文ベクトルを表す。
次に、特定部422は、7次元文グループベクトルテーブル153を参照して各文に類似する文ベクトルを有する文グループを特定し、利用者入力文データ200のFAQ質問文及びFAQ回答文に含まれる各文がどの文グループに振り分けられるか判定する(ステップS112)。図6では、利用者入力文データ200に含まれる各文がそれぞれ、文グループGqxx〜Gqzzに含まれる。
次に、特定部422は、200次元文グループベクトルテーブル154を参照して、各文の文グループに対応する200次元の単語ベクトルを特定して、利用者入力文データ200の各文の文ベクトルを200次元に展開する(ステップS113)。図7では、利用者入力文データ200に含まれる各文の文ベクトルはそれぞれ、200次元の文ベクトルV’qsxx〜V’qxzzに展開される。
特定部422は、利用者入力文データ200に含まれる各文の200次元の文ベクトル303を入力とし、学習データ155に含まれるRNNのパラメータを用いることで、FAQ回答文の文グループを出力として得る(ステップS114)。そして、特定部422は、取得した文グループに含まれるFAQ回答文を取得する。その後、特定部422は、取得したFAQ回答文を生成部423へ出力する。
利用者の質問文が多数の文(例えば、3文)で構成される場合、利用者が求めるFAQデータ150を特定可能である。しかし、質問文を構成する文が少ない場合、FAQ候補のヒット件数が急増し、特定が困難になる。そこで、本実施例に係る情報処理装置1は、利用者から取得した質問文がFAQ質問文を構成する文が、例えば3文以上であるか否かを判定し、3文以上の場合には、利用者が求めるFAQデータ150を特定し、3文未満の場合には質問補充要求文を利用者に通知して、さらに質問文を追加取得する。
図7を参照して、質問補充要求を行うか否かの判定処理について説明する。図7は、実施例1に係る情報処理装置の質問追加補充要求判定処理の一例を説明するための図である。
情報処理装置1は、利用者により入力された質問文である利用者入力文データ200の入力を利用者端末2から受ける。判定部141は、利用者入力文データ200に含まれる文を特定する。そして、判定部141は、利用者入力文データ200に含まれる文をそれぞれ利用者入力文リスト201に登録する。この利用者入力文データ200が、「第1の文章データ」の一例にあたる。
次に、判定部141は、利用者入力文リスト201に登録された文が3文以上か否かを判定する。そして、判定部141は、利用者登録リストに登録された文が3文以上の場合、FAQデータ150の特定処理の実行を特定部422に指示する。
これに対して、利用者登録リストに登録された文が3文未満の場合、判定部141は、質問補充要求実行の指示を文ベクトル生成部431に指示する。その後、質問補充要求が利用者に対して行われ、利用者から追加の質問文が入力された場合、判定部141は、新たに追加された質問文を利用者入力文リスト201に追加し、質問補充要求を行うか否かの判定処理を行う。
また、利用者入力文データ200に含まれる文が3文未満の場合、情報処理装置1は、取得した利用者入力文データ200を用いて追加の質問を決定し、利用者に対して追加の質問の補充を要求する。次に、本実施例に係る情報処理装置1による質問補充要求処理について説明する。以下に説明する、質問補充要求処理は、図1で示したナレッジ検索機能16にあたる。
図8は、実施例1に係る情報処理装置の文ベクトル生成部による文ベクトルの生成を説明するための図である。利用者入力文データ200に含まれる文が3文未満の場合、情報処理装置1の文ベクトル生成部431は、質問補充要求処理の実行の指示を判定部141から受ける。そして、文ベクトル生成部431は、利用者入力文リスト201から利用者入力文データ200を取得する。そして、文ベクトル生成部431は、利用者入力文データ200に含まれる文を抽出する。例えば、文ベクトル生成部431は、利用者入力文データ200を走査し、句読点で区切られる部分を、文として抽出する。
文ベクトル生成部431は、抽出した複数の文のうち、一つの文を選択し、選択した文に対して形態素解析を実行することで、選択した文に含まれる複数の単語を特定する。文ベクトル生成部431は、特定した単語と、7次元単語ベクトルテーブル152とを比較して、各単語の7次元の単語ベクトルを特定する。次に、文ベクトル生成部431は、特定した7次元の単語ベクトルを足し合わせることで、選択した文の7次元の文ベクトルを算出する。文ベクトル生成部431は、利用者入力文データ200に含まれる各文の文ベクトルを算出する。そして、文ベクトル生成部431は、利用者入力文データ200に含まれる各文の文ベクトルを出力する。この文ベクトル生成部431が、「生成部」の一例にあたる。また、利用者入力文データ200に含まれる各文の7次元の文ベクトルの取得が、「ベクトル変換」の一例にあたる。そして、この利用者入力文データ200に含まれる各文の7次元の文ベクトルが、「第1のベクトルデータ」の一例にあたる。
図9は、実施例1に係る情報処理装置によるFAQデータの文と文ベクトルの取得処理を説明するための図である。検索部432は、利用者入力文データ200に含まれる各文の文ベクトルを取得する。そして、検索部432は、各文の文ベクトルをもとに、文グループベクトルインデックス157を参照して、FAQデータ150を取得する。そして、検索部432は、利用者入力文データ200に含まれる各文の文ベクトルと各FAQデータ150に含まれる各文の文ベクトルとをCOS類似度比較して、利用者入力文データ200に含まれる各文に最も類似する文が含まれるFAQデータ150を特定する。その後、検索部432は、特定した類似度が最も高いFAQデータ150に含まれる文のうち、利用者入力文データ200に含まれる各文以外の文を1つ選択する。ここで、検索部432は、例えば、利用者入力文データ200に含まれる各文に類似する文が含まれる複数のFAQデータ150の中で最も使用頻度の高い文を1つ選択する。その後、検索部432は、類似度が最も高いFAQデータ150に含まれる利用者入力文データ200に含まれる文以外の文ベクトルを出力する。この検索部432が、「特定部」の一例にあたる。
図10は、実施例1に係る情報処理装置による質問要求補充分の選択処理を説明するための図である。情報処理装置1の質問補充要求文取得部433は、類似度が最も高いFAQデータ150に含まれる利用者入力文データ200に含まれる文以外の文の文ベクトルの入力を受ける。そして、質問補充要求文取得部433は、取得した文ベクトルに最も類似度が高い質問補充要求文を質問補充要求文リスト158の中から取得する。質問補充要求文取得部433は、取得した質問補充要求文を出力する。
図11は、質問補充要求文リストの一例を表す図である。質問補充要求文リスト158は、質問補充要求文とともにその質問補充要求文の文ベクトルが格納される。情報処理装置1は、質問補充要求文リスト158を予め有する。
ここで、図12を参照して、FAQデータ150と質問補充要求文との関係について説明する。図12は、FAQデータと質問補充要求文との関係について説明するための図である。図12の上段は、FAQデータ150に含まれる文であり、下段は、質問要求補充文である。そして、図12に記載したFAQデータ150に含まれる文は、下段の質問要求補充文の回答になっている。そして、図12では、各文に含まれる各単語の文ベクトルが、各文の下に記載されている。図12に示すように、FAQデータ150に含まれる文の文ベクトルが質問補充要求文の回答となる場合には、FAQデータ150に含まれる文と質問要求補充文との双方に同様の単語ベクトルを有する単語が多く含まれる。図12では、単語ベクトルV1〜V3及びV5が同じ単語ベクトルである。このため、FAQデータ150に含まれる文と質問要求補充文とは、文ベクトルの類似度が高くなるといえる。そこで、質問補充要求文取得部433は、選択したFAQデータ150に含まれる文と文ベクトルが類似する質問補充要求文を選択することで、FAQデータ150に含まれる文を得ることができる質問補充要求文を得ることができる。
質問補充要求文取得部433は、選択した質問補充要求文を利用者端末2に送信して表示させることで、利用者に質問補充要求文を提供する。利用者は、質問補充要求文取得部433から提供された質問補充要求文に対してその回答を情報処理装置1へ送信する。これにより、情報処理装置1は、追加のFAQ質問文を利用者から取得できる。この質問補充要求文取得部433が、「出力データ決定部」の一例にあたる。
次に、図13を参照して、質問補充要求処理の詳細について説明する。図13は、実施例1に係る情報処理装置における質問補充要求処理の詳細を説明するための図である。
文ベクトル生成部431は、利用者入力文データ200を利用者入力文リスト201から取得する。そして、文ベクトル生成部431は、利用者入力文データ200に含まれる文を特定する。図13では、利用者入力文データ200に1つの文が存在する場合の例を記載した。文ベクトル生成部431は、単語ベクトルテーブル152を参照して、利用者入力文データ200に含まれる文の文ベクトルを求める(ステップS201)。ここでは、文ベクトルVS1が、利用者入力文データ200の文の文ベクトルである。
次に、検索部432は、利用者入力文データ200の文の文ベクトルと学習データ155に登録されたFAQデータ150の各文の文ベクトルとを比較して、利用者入力文データ200に最も類似するFAQデータ150を特定する。次に、検索部432は、特定したFAQデータ150の各文の文ベクトルから、利用者入力文データ200の文の文ベクトルとは異なる文の文ベクトルを選択する(ステップS202)。ここでは、検索部432は、文ベクトルVS2−αを取得する。
次に、質問補充要求文取得部433は、検索部432が選択した文ベクトルと最も類似する文ベクトルを有する質問補充要求文を質問補充要求文リスト158から取得する(ステップS203)。
そして、質問補充要求文取得部433は、取得した質問補充要求文を利用者端末2へ送信して質問補充要求を行う(ステップS204)。その後、情報処理装置1は、利用者からの追加の質問の入力を待つ。
次に、図14Aと図14Bを参照して、実施例1に係る情報処理装置1によるFAQを利用したRNN機械学習処理と回答処理の流れをまとめて説明する。
図14Aは、実施例1に係る情報処理装置によるRNN機械学習処理のフローチャートである。
学習部421は、教師データとなる複数のFAQデータ150の中から1つの文章であるFAQデータ150を選択する(ステップS001)。
次に、学習部421は、選択したFAQデータ150のFAQ質問文及びFAQ回答文に含まれる複数の文を抽出する(ステップS002)。例えば、学習部421は、FAQ質問文及びFAQ回答文を走査し、句読点で区切られる部分を、文として抽出する。
次に、学習部421は、抽出した複数の文のうち、一つの文を選択する(ステップS003)。
そして、学習部421は、選択した文に対して形態素解析を実行することで、選択した文に含まれる複数の単語を特定する(ステップS004)。
次に、学習部421は、特定した単語と、7次元単語ベクトルテーブル152とを比較して、各単語の7次元の単語ベクトルを特定する(ステップS005)。
次に、学習部421は、例えば、特定した7次元の単語ベクトルを足し合わせることで、選択した文の7次元の文ベクトルを算出する(ステップS006)。
次に、学習部421は、抽出した全ての文について、7次元の文ベクトルを取得したか否かを判定する(ステップS007)。7次元の文ベクトルを未取得の文が残っている場合(ステップS007:否定)、学習部421は、ステップS003へ戻る。
これに対して、抽出した文の全てについて7次元の文ベクトルの取得が完了した場合(ステップS007:肯定)、学習部421は、7次元文グループベクトルテーブル153を参照して、FAQデータ150のFAQ質問文及びFAQ回答文に含まれる各文の文グループを特定する(ステップS008)。
次に、学習部421は、200次元文グループベクトルテーブル154を用いてFAQ質問文の各文の7次元の文ベクトルを200次元に展開し、FAQ質問文及びFAQ回答の各文の200次元の文ベクトルを取得する(ステップS009)。
さらに、全てのFAQデータ150についてのFAQ質問文の200次元の文ベクトル及びFAQ回答文の200次元の文ベクトルを取得し、学習部421は、RNNの機械学習を実行する(ステップS010)。具体的には、学習部421は、各FAQデータ150のFAQ質問文に含まれる各文の200次元の文ベクトル201を入力とし、FAQ回答文に含まれる各文の200次元の文ベクトル202を出力としてSoftmax演算により、RNN機械学習を実行する。
次に、学習部421は、全てのFAQデータ150について、RNN機械学習が完了したか否かを判定する(ステップS011)。RNN機械学習を行っていないFAQデータが残っている場合(ステップS011:否定)、学習部421は、ステップS001へ戻る。
これに対して、全てのFAQデータ150についてRNN機械学習が完了した場合(ステップS011:肯定)、学習部421は、学習データ155としてRNNのハイパーパラメータを取得する(ステップS012)。
図14Bは、実施例1に係る情報処理装置による回答処理のフローチャートである。
判定部141は、利用者入力文データ200を取得する(ステップS1)。判定部141は、利用者入力文データ200に含まれる各文を利用者入力文リスト201に登録する。そして、判定部141は、利用者入力文リスト201に登録された利用者入力文データ200に、FAQデータ150のFAQ質問文が3文以上含まれるか否かを判定する(ステップS2)。
FAQデータ150のFAQ質問文が3文以上含まれていない場合(ステップS2:否定)、判定部141は、質問補充要求処理の実行を文ベクトル生成部431に指示する。文ベクトル生成部431は、利用者入力文リスト201に登録された文を取得し、7次元単語ベクトルテーブル152を利用して各文の文ベクトルを生成する(ステップS3)。そして、文ベクトル生成部431は、生成した文ベクトルを検索部432へ出力する。
検索部432は、利用者入力文データ200に含まれる各文の文ベクトルの入力を文ベクトル生成部431から受ける。そして、検索部432は、各文の文ベクトルとFAQデータ150に含まれる各文の文ベクトルとを比較し、利用者入力文データ200に類似度が最も高いFAQデータ150を特定する(ステップS4)。
次に、検索部432は、特定したFAQデータ150に含まれる文のうち利用者入力文データ200に含まれる文以外の文の文ベクトルを取得する(ステップS5)。そして、検索部432は、取得した文ベクトルを質問補充要求文取得部433へ出力する。
次に、質問補充要求文取得部433は、文ベクトルの入力を検索部432から受ける。そして、質問補充要求文取得部433は、取得した文ベクトルに最も類似度が高い文ベクトルを有する質問補充要求文を質問補充要求文リスト158から選択する(ステップS6)。
その後、質問補充要求文取得部433は、選択した質問補充要求文を利用者端末2へ送信して表示させることで利用者への質問補充要求を行う(ステップS7)。
その後、判定部141は、質問補充要求に対する応答として追加の質問を利用者端末2から受信する(ステップS8)。その後、判定部141は、ステップS2の処理へ戻る。
これに対して、利用者入力文データ200にFAQデータ150のFAQ質問文が3文以上含まれている場合(ステップS2:肯定)、判定部141は、FAQデータ150の特定処理の実行を特定部422に指示する。特定部422は、判定部141からの指示を受けて、利用者入力文リスト201から利用者入力文データ200を取得する。そして、特定部422は、7次元単語ベクトルテーブル152を利用して、利用者入力文データ200の各文の7次元の文ベクトルを生成する(ステップS9)。
次に、特定部422は、7次元文グループベクトルテーブル153を参照して、生成した各文ベクトルが属する7次元の文グループを特定する(ステップ10)。
次に、特定部422は、200次元文グループベクトルテーブル154を用いて、利用者入力文データ200に含まれる各文の文ベクトルを200次元の文ベクトルに展開する(ステップS11)。
そして、特定部422は、利用者入力文データ200に含まれる各文の200次元の文ベクトルを入力として、RNNのハイパーパラメータを用いてFAQ回答文の200次元の文グループの情報の出力を得る(ステップS12)。
その後、特定部422は、取得した200次元の文グループに属するFAQ回答文を取得し、取得した各FAQ回答文を生成部423へ出力する(ステップS13)。
生成部423は、複数のFAQ回答文の入力を特定部422から受ける。そして、生成部423は、取得したFAQ回答文の文ベクトルと利用者入力文データ200に含まれる文の文ベクトルとを比較して、類似度の高い順にFAQ回答文に順位を付ける。そして、生成部423は、ランキング順に並べたランキング順FAQ回答文を生成する(ステップS14)。
その後、生成部423は、生成したランキング順FAQ回答文を利用者端末2へ送信し、利用者にFAQ回答文を提供して、利用者の質問に対する回答を行う(ステップS15)。
次に、本実施例1に係る情報処理装置の構成について説明する。図15は、実施例1に係る情報処理装置のブロック図である。図15に示すように、本実施例に係る情報処理装置1は、通信部101、入力部102、表示部103、制御部104及び記憶部105を有する。
通信部101は、ネットワークを介して利用者端末2などの外部装置との間で情報通信を実行する処理部である。通信部101は、NIC(Network Interface Card)等の通信装置に対応する。たとえば、制御部104は、通信部101を介して、利用者端末2と情報をやり取りする。
入力部102は、各種の情報を、情報処理装置1に入力する入力装置である。入力部102は、キーボードやマウス、タッチパネル等に対応する。
表示部103は、制御部104から出力される情報を表示する表示装置である。表示部103は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、タッチパネル等に対応する。
記憶部105は、利用者入力文リスト201、FAQデータ150、200次元単語ベクトルテーブル151、7次元単語ベクトルテーブル152、7次元文グループベクトルテーブル153、200次元文グループベクトルテーブル154、学習データ155、単語ベクトルインデックス156、文グループベクトルインデックス157及び質問補充要求文リスト158を格納する。記憶部105は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
利用者入力文リスト201は、利用者から入力された質問文のデータである利用者入力文データ200が登録される。
FAQデータ150は、図2に例示した内容を有する。FAQデータ150は、記憶部105に複数格納される。FAQデータ150は、情報処理装置1におけるRNN機械学習の教師データとなる。
200次元単語ベクトルテーブル151は、単語と200次元の単語ベクトルを対応付けるテーブルである。また7次元単語ベクトルテーブル152は、単語と、7次元の単語ベクトルとを対応付けるテーブルである。
7次元文グループベクトルテーブル153は、文グループと、7次元の単語ベクトルで表される文ベクトルとを対応付けるテーブルである。また、200次元文グループベクトルテーブル154は、文グループと、200次元の単語ベクトルで表される文ベクトルとを対応付けるテーブルである。
学習データ155は、情報処理装置1におけるRNN機械学習により得られた情報を格納する。例えば、学習データ155は、RNNのハイパーパラメータ及びFAQデータ150に含まれる各文の文ベクトルが格納される。
単語ベクトルインデックス156は、単語の位置とその7次元単語ベクトルを対応付けたインデックスである。また、文グループベクトルインデックス157は、文の位置とその7次元文グループベクトルを対応付けたインデックスである。
質問補充要求文リスト158は、利用者に対して追加の質問の補充を要求するための質問補充要求文とその文ベクトルとを対応付けるテーブルである。
制御部104は、判定部141、RNN処理部142及び質問補充要求処理部143を有する。制御部104は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部104は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
判定部141は、利用者端末2から受信した利用者入力文データ200を利用者入力文リスト201に登録する。そして、判定部141は、利用者入力文リスト201に登録された利用者入力文データ200が利用者の求めるFAQデータ150を特定するために十分な情報を有するか否かを判定する。具体的には、判定部141は、利用者入力文データ200にFAQ質問文における3文以上が含まれるか否かを判定する。3文以上が含まれていなければ、判定部141は、質問補充要求文の作成の指示を質問補充要求処理部143に通知する。また、3文以上が含まれていれば、判定部141は、FAQデータ150の特定処理の実行の指示をRNN処理部142に通知する。
図16は、RNN処理部の詳細を表すブロック図である。図16では、RNN処理部の動作に直接関わらない一部の機能は図示を省略した。RNN処理部142は、特定部422、生成部423及び学習部421を有する。
学習部421は、FAQデータ150を教師データとして、7次元単語ベクトルテーブル152、7次元文グループベクトルテーブル153及び200次元文グループベクトルテーブル154を用いてRNN機械学習を実行する。学習部421は、FAQデータ150のFAQ質問文の200次元の文ベクトルを入力としてFAQ回答文の7次元の文グループを出力とするRNN機械学習を実行し、RNNのハイパーパラメータを計算する。そして、学習部421は、算出したRNNのハイパーパラメータ及びFAQデータ150の各文の文ベクトルを学習データ155として記憶部105に格納する。
特定部422は、判定部141からFAQデータ150の特定処理の実行の指示を受けると、利用者入力文リスト201に格納された利用者入力文データ200を取得する。そして、特定部422は、単語ベクトルテーブル152、7次元文グループベクトルテーブル153及び200次元文グループベクトルテーブル154を用いて利用者入力文データ200の各文の200次元の文ベクトルを求める。その後、特定部422は、学習データ155に格納されたRNNのハイパーパラメータを用いて、利用者入力文データ200の各文の200次元の文ベクトルをRNNに入力して、FAQ回答文の文グループの出力を得る。その後、特定部422は、取得したFAQ回答文の文グループに属するFAQ回答文を取得して生成部423へ出力する。
生成部423は、特定部422から入力されたFAQ回答文と利用者入力文データ200との類似度を求め、類似度の高い順に並べたランキング順FAQ回答文を生成する。その後、生成部423は、ランキング順FAQ回答文を利用者端末2へ送信する。
図17は、質問補充要求処理部の詳細を表すブロック図である。図17では、質問補充要求処理部143の動作に直接関わらない一部の機能は図示を省略した。質問補充要求処理部143は、文ベクトル生成部431、検索部432及び質問補充要求文取得部433を有する。
文ベクトル生成部431は、利用者入力文リスト201から利用者入力文データ200を取得する。そして、文ベクトル生成部431は、利用者入力文データ200に含まれる各文の文ベクトルを求める。その後、文ベクトル生成部431は、利用者入力文データ200に含まれる各文の文ベクトルを検索部432へ出力する。
検索部432は、利用者入力文データ200に含まれる各文の文ベクトルの入力を文ベクトル生成部431から受ける。そして、検索部432は、学習データに格納されたFAQデータ150の各文の文ベクトルを用いて、利用者入力文データ200に最も類似度の高いFAQデータ150を特定する。次に、検索部432は、特定したFAQデータ150から利用者入力文データ200に含まれる文以外の文の文ベクトルを取得する。そして、検索部432は、取得した文ベクトルと最も文ベクトルが類似する質問補充要求文を質問補充要求文リスト158から取得する。そして、質問補充要求文取得部433は取得した質問補充要求文を利用者端末2へ送信して利用者に提供する。
ここで、本実施例では、RNN処理部142及び質問補充要求処理部143の双方で個別に文ベクトルを求めるように説明したが、この機能は1つにまとめてもよい。
以上に説明したように、本実施例に係る情報処理装置は、FAQの多量な文に対応した多階層RNN機械学習を実現するため、FAQの質問文と回答文を教師データとして、単語の上位である文の粒度の文ベクトルを用いてRNN機械学習することにより、回答精度を向上することができる。
また、利用者から入力されたFAQの質問文が短く、例えば3文未満の場合に、文ベクトルを用いてその質問文に類似するFAQデータを特定し、そのFAQデータの他の質問文に類似する質問補充要求文を利用者に提供する。そして、情報処理装置は、FAQの質問文が3文以上得られると、その質問文に対応するFAQデータを特定して回答を利用者へ返す。FAQ質問文が3文以上あれば利用者が求めるFAQが特定可能になることから、質問に対して適切な回答を返すことが可能になり、回答精度を維持することができる。
本実施例では、RNNを用いて質問要求補充文の選択を実行することが実施例1と異なる。本実施例に係る情報処理装置1も、図15〜17のブロック図で示される。以下の説明では、実施例1と同様の各部の動作については説明を省略する。
教師データとして、FAQ質問文の文ベクトル及びそれに対応する質問補充要求文の文ベクトルの組み合わせが用意される。そして、学習部421は、FAQ質問文の文ベクトルを入力とし、質問補充要求文の文ベクトルを出力としてRNN機械学習を実行する。
図18は、FAQ質問文と質問補充要求文とを用いたRNN機械学習の一例を示す図である。学習501は、FAQ質問文としてエラーコードの確認を用いる場合を示す。学習502は、FAQ質問文として実行コマンドの確認を用いる場合を示す。
例えば、学習501で示すように、「エラーコードはxxxです。」というFAQ質問文に対応する質問補充要求文が「エラーコードは何ですか?」である。そして、「エラーコードはxxxです。」は文ベクトルV01−1を有する。さらに、「エラーコードはxxxです。」に類似するFAQ質問文の文ベクトルがV01−2〜V01−nである。そして、それらのFAQ質問文に対応する質問補充要求文である「エラーコードは何ですか?」は文ベクトルV’01を有する。そこで、学習部421は、文ベクトルV01−1〜V01−nを入力とし、文ベクトルV’01を出力とする教師データを用いてRNN機械学習を実行する。
同様に、学習502に示すように、「実行コマンドはaaaaです。」というFAQ質問文に対応する質問補充要求文が「実行コマンドは何ですか?」である。そして、「実行コマンドはaaaaです。」は文ベクトルV02−1を有する。さらに、「実行コマンドはaaaaです。」に類似するFAQ質問文の文ベクトルがV02−2〜V02−nである。そして、それらのFAQ質問文に対応する質問補充要求文である「実行コマンドは何ですか?」は文ベクトルV’02を有する。そこで、学習部421は、文ベクトルV02−1〜V02−nを入力とし、文ベクトルV’02を出力とする教師データを用いてRNN機械学習を実行する。
学習部421は、他のFAQ質問文についても同様にRNN機械学習を実行する。そして、学習部421は、RNNのハイパーパラメータを取得する。その後、学習部421は、FAQ質問文の文ベクトルを入力とし質問補充要求文の文ベクトルを出力とする場合のRNNのハイパーパラメータを学習データ155に格納する。
質問補充要求文取得部433は、利用者入力文データ200に最も類似度が高いFAQデータ150から利用者入力文データ200に含まれる文以外の文の1つの文ベクトルを検索部432から取得する。そして、質問補充要求文取得部433は、学習データ155に格納されたRNNのハイパーパラメータを用いて、取得した文ベクトルをRNNの入力とした場合に出力される質問補充要求文の文ベクトルを取得する。その後、質問補充要求文取得部433は、取得した文ベクトルと類似度が最も高い文ベクトルを有する質問補充要求文を質問補充要求文リスト158から取得する。
図19は、実施例2に係る情報処理装置における質問補充要求処理の詳細を説明するための図である。
文ベクトル生成部431は、利用者入力文データ200を利用者入力文リスト201から取得する。そして、文ベクトル生成部431は、利用者入力文データ200に含まれる文を特定する。図19では、利用者入力文データ200に1つの文が存在する場合の例を記載した。文ベクトル生成部431は、単語ベクトルテーブル152を参照して、利用者入力文データ200に含まれる文の文ベクトルを求める(ステップS301)。ここでは、文ベクトルV01が、利用者入力文データ200の文の文ベクトルである。
次に、検索部432は、利用者入力文データ200の文の文ベクトルと学習データ155に登録されたFAQデータ150の各文の文ベクトルとを比較して、利用者入力文データ200に最も類似するFAQデータ150を特定する。次に、検索部432は、特定したFAQデータ150の各文の文ベクトルから、利用者入力文データ200の文の文ベクトルとは異なる文の文ベクトルを選択する(ステップS302)。ここでは、検索部432は、文ベクトルV02−αを取得する。
次に、質問補充要求文取得部433は、検索部432が選択した文ベクトルをRNNへの入力として、出力される質問補充要求文の文ベクトルを取得する(ステップS303)。
次に、質問補充要求文取得部433は、取得した文ベクトルを有する質問補充要求文を質問補充要求文リスト158から取得する(ステップS304)。
そして、質問補充要求文取得部433は、取得した質問補充要求文を利用者端末2へ送信して質問補充要求を行う(ステップS305)。その後、情報処理装置1は、利用者からの追加の質問の入力を待つ。
次に、図20を参照して、実施例2に係る情報処理装置1によるFAQを利用した回答処理の流れをまとめて説明する。図20は、実施例2に係る情報処理装置による回答処理のフローチャートである。
判定部141は、利用者入力文データ200を取得する(ステップS21)。判定部141は、利用者入力文データ200に含まれる各文を利用者入力文リスト201に登録する。そして、判定部141は、利用者入力文リスト201に登録された利用者入力文データ200に、FAQデータ150のFAQ質問文が3文以上含まれるか否かを判定する(ステップS22)。
FAQデータ150のFAQ質問文が3文以上含まれていない場合(ステップS22:否定)、判定部141は、質問補充要求処理の実行を文ベクトル生成部431に指示する。文ベクトル生成部431は、利用者入力文リスト201に登録された文を取得し、単語ベクトルテーブル152を利用して各文の文ベクトルを生成する(ステップS23)。そして、文ベクトル生成部431は、生成した文ベクトルを検索部432へ出力する。
検索部432は、利用者入力文データ200に含まれる各文の文ベクトルの入力を文ベクトル生成部431から受ける。そして、検索部432は、各文の文ベクトルとFAQデータ150に含まれる各文の文ベクトルとを比較し、利用者入力文データ200に類似度が最も高いFAQデータ150を特定する(ステップS24)。
次に、検索部432は、特定したFAQデータ150に含まれる文のうち利用者入力文データ200に含まれる文以外の文の文ベクトルを取得する(ステップS25)。そして、検索部432は、取得した文ベクトルを質問補充要求文取得部433へ出力する。
質問補充要求文取得部433は、文ベクトルの入力を検索部432から受ける。そして、質問補充要求文取得部433は、取得した文ベクトルをRNNの入力として、出力される質問補充要求文の文ベクトルを取得する(ステップS26)。
次に、質問補充要求文取得部433は、取得した文ベクトルとの類似度が最も高い質問補充要求文を質問補充要求文リスト158から取得する(ステップS27)。
その後、質問補充要求文取得部433は、選択した質問補充要求文を利用者端末2へ送信して表示させることで利用者への質問補充要求を行う(ステップS28)。
その後、判定部141は、質問補充要求に対する応答として追加の質問を利用者端末2から受信する(ステップS29)。その後、判定部141は、ステップS22の処理へ戻る。
これに対して、利用者入力文データ200にFAQデータ150のFAQ質問文が3文以上含まれている場合(ステップS22:肯定)、判定部141は、FAQデータ150の特定処理の実行を特定部422に指示する。特定部422は、判定部141からの指示を受けて、利用者入力文リスト201から利用者入力文データ200を取得する。そして、特定部422は、単語ベクトルテーブル152を利用して、利用者入力文データ200の各文の7次元の文ベクトルを生成する(ステップS30)。
次に、特定部422は、7次元文グループベクトルテーブル153を参照して、生成した各文ベクトルが属する7次元の文グループを特定する(ステップ31)。
次に、特定部422は、200次元文グループベクトルテーブル154を用いて、利用者入力文データ200に含まれる各文の文ベクトルを200次元の文ベクトルに展開する(ステップS32)。
そして、特定部422は、利用者入力文データ200に含まれる各文の200次元の文ベクトルを入力として、RNNのハイパーパラメータを用いてFAQ回答文の7次元の文グループの情報の出力を得る(ステップS33)。
その後、特定部422は、取得した7次元の文グループに属するFAQ回答文を取得し、取得した各FAQ回答文を生成部423へ出力する(ステップS34)。
生成部423は、複数のFAQ回答文の入力を特定部422から受ける。そして、生成部423は、取得したFAQ回答文の文ベクトルと利用者入力文データ200に含まれる文の文ベクトルとを比較して、類似度の高い順にFAQ回答文に順位を付ける。そして、生成部423は、ランキング順に並べたランキング順FAQ回答文を生成する(ステップS35)。
その後、生成部423は、生成したランキング順FAQ回答文を利用者端末2へ送信し、利用者にFAQ回答文を提供して、利用者の質問に対する回答を行う(ステップS36)。
以上に説明したように、本実施例に係る情報処理装置は、RNNを用いてFAQ質問文に対応する質問補充要求文を特定する。このように、質問補充要求文を特定する場合にRNNを用いることもでき、そのような構成であっても、質問に対して適切な回答を返すことが可能になり、回答精度を維持することができる。
(ハードウェア構成)
図21は、コンピュータのハードウェア構成図である。情報処理装置1は、図21に示すコンピュータ900により実現可能である。
コンピュータ900は、CPU901、入力装置902、ディスプレイ903、メモリ904、ハードディスク905及び通信装置906を有する。CPU901は、バスにより入力装置902、ディスプレイ903、メモリ904、ハードディスク905及び通信装置906と接続される。
入力装置902は、例えば、キーボードやマウスなどである。操作者は入力装置902を用いて命令などを入力する。入力装置902は、図15〜17に例示した入力部102の機能を実現する。
ディスプレイ903は、CPU901の演算結果などを表示する。ディスプレイ903は、図15〜17に例示した表示部103の機能を実現する。
通信装置906は、外部装置との通信のインタフェースである。通信装置906は、図15〜17に例示した通信部101の機能を実現する。
ハードディスク905は、図15〜17に例示した記憶部105の機能を実現する。さらに、ハードディスク905は、図15〜17に例示した制御部104の各機能を実現するためのプログラムを含む各種プログラムを格納する。
CPU901は、ハードディスク905に格納された各種プログラムを読み出してメモリ904上に展開して実行する。これにより、CPU901及びメモリ904は、ハードディスク905に格納された各種データを利用しつつ、図15〜17に例示した制御部104の各機能を実現する。
1 情報処理装置
2 利用者端末
101 通信部
102 入力部
103 表示部
104 制御部
105 記憶部
141 判定部
142 RNN処理部
143 質問補充要求処理部
150 FAQデータ
151 200次元単語ベクトルテーブル
152 7次元単語ベクトルテーブル
153 7次元文グループベクトルテーブル
154 200次元文グループベクトルテーブル
155 学習データ
156 単語ベクトルインデックス
157 文グループベクトルインデックス
158 質問補充要求文リスト
200 利用者入力文データ
201 利用者入力文リスト
421 学習部
422 特定部
423 生成部
431 文ベクトル生成部
432 検索部
433 質問補充要求文取得部

Claims (7)

  1. 入力を受け付けた第1の文章データをベクトル変換して第1のベクトルデータを生成し、
    記憶装置に記憶された複数のベクトルデータをそれぞれ含む複数の第2の文章データのうち、前記第1のベクトルデータを含む複数の前記第2の文章データを特定し、
    特定した複数の前記第2の文章データに含まれるあるデータ内の前記第1のベクトルデータ以外のベクトルデータそれぞれと、特定した複数の前記第2の文章データに含まれる前記あるデータ以外のデータ内の前記第1のベクトルデータ以外のベクトルデータそれぞれとの類似度に基づいて、入力を受け付けた前記第1の文章データに対して出力するデータを決定する
    処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  2. 入力を受け付けた前記第1の文章データに対して出力するデータは、複数の前記第2の文章データに含まれるデータであることを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記あるデータ内の前記第1のベクトルデータ以外のベクトルデータを基に、複数の補充要求データと各前記補充要求データをベクトル変換した補充要求ベクトルデータとの対応情報を用いて、前記第1の文章データに対して出力する前記データを前記補充要求データの中から決定する処理をコンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
  4. 前記第2の文章データに含まれる前記あるデータに含まれる文データをベクトル変換して複数の特定ベクトルを取得し、
    前記あるデータに対応する対応データに含まれる文データをベクトル変換して複数の対応ベクトルを取得し、
    ベクトルデータを分類した分類グループの中から、各前記特定ベクトルがそれぞれ属する第1グループ及び各前記対応ベクトルが属する第2グループを特定し、
    前記第1グループを基に前記特定ベクトルを高次元に展開し、
    前記高次元に展開された前記特定ベクトル及び前記第2グループを教師データとして機械学習を実行する
    処理をコンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
  5. 前記第1の文章データをベクトル変換して前記第1のベクトルデータを生成し、
    前記分類グループの中から前記第1のベクトルデータが属する所属グループを特定し、
    前記所属グループを基に前記第1のベクトルデータを高次元に展開し、
    前記高次元に展開したベクトルデータを入力として前記機械学習の結果を基に出力する前記データを決定する
    処理をコンピュータに実行させることを特徴とする請求項4に記載の情報処理プログラム。
  6. 入力を受け付けた第1の文章データをベクトル変換して第1のベクトルデータを生成し、
    記憶装置に記憶された複数のベクトルデータをそれぞれ含む複数の第2の文章データのうち、前記第1のベクトルデータを含む複数の前記第2の文章データを特定し、
    特定した複数の前記第2の文章データに含まれるあるデータ内の前記第1のベクトルデータ以外のベクトルデータそれぞれと、特定した複数の前記第2の文章データに含まれる前記あるデータ以外のデータ内の前記第1のベクトルデータ以外のベクトルデータそれぞれとの類似度に基づいて、入力を受け付けた前記第1の文章データに対して出力するデータを決定する
    ことを特徴とする情報処理方法。
  7. 入力を受け付けた第1の文章データをベクトル変換して第1のベクトルデータを生成する生成部と、
    記憶部に記憶された複数のベクトルデータをそれぞれ含む複数の第2の文章データのうち、前記第1のベクトルデータを含む複数の前記第2の文章データを特定する特定部と、
    特定した複数の前記第2の文章データに含まれるあるデータ内の前記第1のベクトルデータ以外のベクトルデータそれぞれと、特定した複数の前記第2の文章データに含まれる前記あるデータ以外のデータ内の前記第1のベクトルデータ以外のベクトルデータそれぞれとの類似度に基づいて、入力を受け付けた前記第1の文章データに対して出力するデータを決定する出力データ決定部と
    を備えたことを特徴とする情報処理装置。
JP2019228534A 2019-12-18 2019-12-18 情報処理プログラム、情報処理方法および情報処理装置 Pending JP2021096711A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019228534A JP2021096711A (ja) 2019-12-18 2019-12-18 情報処理プログラム、情報処理方法および情報処理装置
US17/108,364 US11449501B2 (en) 2019-12-18 2020-12-01 Non-transitory computer-readable storage medium for storing information processing program, information processing method, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019228534A JP2021096711A (ja) 2019-12-18 2019-12-18 情報処理プログラム、情報処理方法および情報処理装置

Publications (1)

Publication Number Publication Date
JP2021096711A true JP2021096711A (ja) 2021-06-24

Family

ID=76431505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019228534A Pending JP2021096711A (ja) 2019-12-18 2019-12-18 情報処理プログラム、情報処理方法および情報処理装置

Country Status (2)

Country Link
US (1) US11449501B2 (ja)
JP (1) JP2021096711A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225402A (ja) * 2014-05-26 2015-12-14 ソフトバンク株式会社 情報検索装置、情報検索プログラム、及び情報検索システム
WO2018186445A1 (ja) * 2017-04-06 2018-10-11 株式会社Nttドコモ 対話システム
JP2019207648A (ja) * 2018-05-30 2019-12-05 株式会社野村総合研究所 対話型業務支援システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6618735B2 (ja) 2015-08-31 2019-12-11 国立研究開発法人情報通信研究機構 質問応答システムの訓練装置及びそのためのコンピュータプログラム
US10606846B2 (en) 2015-10-16 2020-03-31 Baidu Usa Llc Systems and methods for human inspired simple question answering (HISQA)
JP6753707B2 (ja) 2016-06-16 2020-09-09 株式会社オルツ コミュニケーションを支援する人工知能システム
US20180068221A1 (en) * 2016-09-07 2018-03-08 International Business Machines Corporation System and Method of Advising Human Verification of Machine-Annotated Ground Truth - High Entropy Focus
US20180075368A1 (en) * 2016-09-12 2018-03-15 International Business Machines Corporation System and Method of Advising Human Verification of Often-Confused Class Predictions
JP6960579B2 (ja) 2016-12-06 2021-11-05 パナソニックIpマネジメント株式会社 情報処理方法、情報処理装置およびプログラム
CN108153801B (zh) 2016-12-06 2023-05-23 松下知识产权经营株式会社 信息处理方法、信息处理装置以及记录介质
US10528329B1 (en) * 2017-04-27 2020-01-07 Intuit Inc. Methods, systems, and computer program product for automatic generation of software application code
US10311454B2 (en) * 2017-06-22 2019-06-04 NewVoiceMedia Ltd. Customer interaction and experience system using emotional-semantic computing
JP7058438B2 (ja) 2017-08-23 2022-04-22 国立研究開発法人情報通信研究機構 対話応答システム、モデル学習装置および対話装置
JP7139728B2 (ja) * 2018-06-29 2022-09-21 富士通株式会社 分類方法、装置、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225402A (ja) * 2014-05-26 2015-12-14 ソフトバンク株式会社 情報検索装置、情報検索プログラム、及び情報検索システム
WO2018186445A1 (ja) * 2017-04-06 2018-10-11 株式会社Nttドコモ 対話システム
JP2019207648A (ja) * 2018-05-30 2019-12-05 株式会社野村総合研究所 対話型業務支援システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
西村涼ほか: "メーリングリストに投稿されたメールを利用してあいまいな質問に問い返す質問応答システムの作成", 言語処理学会第13回年次大会発表論文集, JPN6023023408, 19 March 2007 (2007-03-19), pages 1164 - 1167, ISSN: 0005081879 *
黒橋禎夫: "大規模テキスト知識ベースに基づく自動質問応答", 電子情報通信学会技術研究報告, vol. 101, no. 523, JPN6023023409, 14 December 2001 (2001-12-14), pages 37 - 42, ISSN: 0005081880 *

Also Published As

Publication number Publication date
US11449501B2 (en) 2022-09-20
US20210191939A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
TWI703458B (zh) 資料處理模型構建方法、裝置、伺服器和用戶端
CN112632385B (zh) 课程推荐方法、装置、计算机设备及介质
CN106202059B (zh) 机器翻译方法以及机器翻译装置
CN110472060B (zh) 题目推送方法、装置、计算机设备和存储介质
KR101657495B1 (ko) 딥러닝 분석을 위한 모듈화시스템 및 이를 이용한 영상 인식 방법
CN108345686B (zh) 一种基于搜索引擎技术的数据分析方法及系统
WO2019072166A1 (zh) 语义分析方法、装置和存储介质
CN106503236A (zh) 基于人工智能的问题分类方法以及装置
CN110399476A (zh) 人才画像的生成方法、装置、设备及存储介质
WO2021014951A1 (ja) 質問応答システムのための回答分類器及び表現ジェネレータ、並びに表現ジェネレータを訓練するためのコンピュータプログラム
KR102285142B1 (ko) 챗봇을 위한 학습 데이터 추천 장치 및 방법
KR20190075277A (ko) 콘텐트 검색을 위한 방법 및 그 전자 장치
CN114297535A (zh) 查询条件的页面展示方法、装置、设备及存储介质
JP7047380B2 (ja) 生成プログラム、生成方法及び情報処理装置
JP6846666B2 (ja) 翻訳文生成方法、翻訳文生成装置及び翻訳文生成プログラム
JP2018181033A (ja) 質問回答支援装置、及び質問回答支援システム
CN111274813B (zh) 语言序列标注方法、装置存储介质及计算机设备
JP2021096711A (ja) 情報処理プログラム、情報処理方法および情報処理装置
CN106407332A (zh) 基于人工智能的搜索方法和装置
Shapiro et al. Visual deep learning recommender system for personal computer users
CN115510457A (zh) 数据识别方法、装置、设备及计算机程序产品
CN113342924A (zh) 答案检索方法及装置、存储介质及电子设备
CN108073704B (zh) 一种liwc词表扩展方法
JPWO2021009861A5 (ja)
CN110633363A (zh) 一种基于nlp和模糊多准则决策的文本实体推荐方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231205