(57)【要約】  ＦＡＱ応答装置は、質問情報を受け付け、受け付けた質問情報に含まれる単語を、複数の要素にそれぞれ対応付けられる複数の要素値を含む単語ベクトルに変換する。ＦＡＱ応答装置は、要素に対応付けられる要素値が含む特定の意味の強さを特定する特定情報を該要素に対応付けて記憶する記憶部を参照し、特定情報を用いて、単語ベクトルに含まれる複数の要素値がそれぞれ含む特定の意味の強さを示す複数の意味情報を取得する。ＦＡＱ応答装置は、取得した複数の意味情報に基づき、受け付けた質問情報に関する評価を行う。
2020031242.tif 000002
【特許請求の範囲】
【請求項１】
質問情報を受け付け、
受け付けた前記質問情報に含まれる単語を、複数の要素にそれぞれ対応付けられる複数の要素値を含む単語ベクトルに変換し、
要素に対応付けられる要素値が含む特定の意味の強さを特定する特定情報を該要素に対応付けて記憶する記憶部を参照し、前記特定情報を用いて、前記単語ベクトルに含まれる前記複数の要素値がそれぞれ含む前記特定の意味の強さを示す複数の意味情報を取得し、
取得した前記複数の意味情報に基づき、受け付けた前記質問情報に関する評価を行う、
処理をコンピュータに実行させることを特徴とする評価プログラム。
【請求項２】
前記取得する処理は、複数の意味に変換する複数の変換式を用いて、前記単語ベクトルから前記複数の意味を示す複数のベクトル値を取得し、
前記評価を行う処理は、前記複数のベクトル値それぞれが閾値以上である場合、前記質問情報を回答が可能な質問と評価し、前記複数のベクトル値のいずれかが閾値未満である場合、前記質問情報を回答が可能ではない質問と評価することを特徴とする請求項１に記載の評価プログラム。
【請求項３】
前記変換する処理は、前記質問情報に含まれる各単語を単語ベクトルに変換し、
前記取得する処理は、前記各単語の単語ベクトルから、前記複数の意味情報を取得し、
前記評価を行う処理は、前記複数の意味情報それぞれについて、前記各単語の単語ベクトルから取得された意味情報の累計を算出し、累計結果に基づいて、前記質問情報に関する評価を行うことを特徴とする請求項１に記載の評価プログラム。
【請求項４】
前記質問情報に関する評価の結果に応じた内容の質問を、前記質問情報を入力した質問者に問い合わせて、追加の質問情報を取得する処理を、前記コンピュータに実行させることを特徴とする請求項１に記載の評価プログラム。
【請求項５】
前記変換する処理は、前記質問情報と前記追加の質問情報とを組み合わせた新たな質問情報を生成し、前記新たな質問情報から単語を抽出し、各単語を前記単語ベクトルに変換し、
前記取得する処理は、前記新たな質問情報に含まれる前記各単語の単語ベクトルから、前記複数の意味情報を取得し、
前記評価を行う処理は、前記複数の意味情報それぞれについて、前記各単語の単語ベクトルから取得された意味情報の累計を算出し、累計結果に基づいて、前記質問情報に関する評価を行うことを特徴とする請求項４に記載の評価プログラム。
【請求項６】
前記評価が閾値以上である第１の質問情報に対応する第１の単語ベクトルと、前記第１の質問情報に含まれる単語のうち前記特定の意味に該当する単語が除外された第２の質問情報に対応する第２の単語ベクトルとを用いて、前記特定情報を生成する処理を、前記コンピュータに実行させることを特徴とする請求項１に記載の評価プログラム。
【請求項７】
質問情報を受け付け、
受け付けた前記質問情報に含まれる単語を、複数の要素にそれぞれ対応付けられる複数の要素値を含む単語ベクトルに変換し、
要素に対応付けられる要素値が含む特定の意味の強さを特定する特定情報を該要素に対応付けて記憶する記憶部を参照し、前記特定情報を用いて、前記単語ベクトルに含まれる前記複数の要素値がそれぞれ含む前記特定の意味の強さを示す複数の意味情報を取得し、
取得した前記複数の意味情報に基づき、受け付けた前記質問情報に関する評価を行う、
処理をコンピュータが実行することを特徴とする評価方法。
【請求項８】
質問情報を受け付ける受付部と、
受け付けた前記質問情報に含まれる単語を、複数の要素にそれぞれ対応付けられる複数の要素値を含む単語ベクトルに変換する変換部と、
要素に対応付けられる要素値が含む特定の意味の強さを特定する特定情報を該要素に対応付けて記憶する記憶部を参照し、前記特定情報を用いて、前記単語ベクトルに含まれる前記複数の要素値がそれぞれ含む前記特定の意味の強さを示す複数の意味情報を取得する取得部と、
取得した前記複数の意味情報に基づき、受け付けた前記質問情報に関する評価を行う評価部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価プログラム、評価方法および情報処理装置に関する。
【背景技術】
【０００２】
従来から、通信販売、ネット販売、ネットゲームなどのエンドユーザからの問い合わせやシステム障害などの管理者からの問い合わせを、電話や電子メールなどで受け付けて応答するコールセンターなどの有人システムが利用されている。また、有人の営業時間外でもエンドユーザや管理者などの問い合わせに応答できるように、コンピュータによるチャット形式のＦＡＱ（Frequently  Asked  Questions）システムが利用されている。近年では、質問者から入力された質問文の形態素解析を行って、不足格として名詞等を質問者に聞き返して、補充後の情報に対応する回答を選択して応答する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１７１５５０号公報
【特許文献２】特開２０１５−０３２１９３号公報
【特許文献３】特開２００１−０２２７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、質問文に対して名詞を補充した上で回答を行うので、補充後の質問文に名詞が増えてしまうなど、却って質問文の内容が複雑になり、質問の精度が低下し、誤回答を応答する場合がある。【０００５】
一つの側面では、質問文の補充に関する質問者への問い合わせの精度を向上させることができる評価プログラム、評価方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の案では、評価プログラムは、質問情報を受け付ける処理をコンピュータに実行させる。評価プログラムは、受け付けた前記質問情報に含まれる単語を、複数の要素にそれぞれ対応付けられる複数の要素値を含む単語ベクトルに変換する処理をコンピュータに実行させる。評価プログラムは、要素に対応付けられる要素値が含む特定の意味の強さを特定する特定情報を該要素に対応付けて記憶する記憶部を参照し、前記特定情報を用いて、前記単語ベクトルに含まれる前記複数の要素値がそれぞれ含む前記特定の意味の強さを示す複数の意味情報を取得する処理をコンピュータに実行させる。評価プログラムは、取得した前記複数の意味情報に基づき、受け付けた前記質問情報に関する評価を行う処理をコンピュータに実行させる。
【発明の効果】
【０００７】
一実施形態によれば、質問文の補充に関する質問者への問い合わせの精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１にかかるＦＡＱシステムを説明する図である。
【図２】図２は、実施例１にかかるＦＡＱ応答装置の機能構成を示す機能ブロック図である。
【図３】図３は、ＦＡＱ一覧ＤＢに記憶される情報の例を示す図である。
【図４】図４は、チャットボット画面の例を示す図である。
【図５】図５は、極性値の算出例を説明する図である。
【図６】図６は、質問文の評価例を説明する図である。
【図７】図７は、質問文の評価の具体例を説明する図である。
【図８】図８は、質問受付から質問文の評価までを説明する図である。
【図９】図９は、追加問い合わせから応答までを説明する図である。
【図１０】図１０は、処理の流れを示すフローチャートである。
【図１１】図１１は、係数の算出手法の例を説明する図である。
【図１２】図１２は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【０００９】
以下に、本発明にかかる評価プログラム、評価方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１０】
［全体構成］
図１は、実施例１にかかるＦＡＱシステムを説明する図である。図１に示すように、ＦＡＱシステムは、ユーザ端末１とＦＡＱ応答装置１０とがネットワークＮを介して接続されるシステムである。このＦＡＱシステムは、ＦＡＱ応答装置１０がチャット形式でユーザ端末１から質問文を受け付けて、質問文に対する回答をユーザ端末１に応答するシステムである。なお、質問文の一例としては、通信販売、ネット販売、ネットゲームなどのエンドユーザからの質問やシステム障害などの管理者からの質問などがある。また、ネットワークＮは、有線や無線を問わず、インターネットや専用線などの各種通信網を採用することができる。【００１１】
ユーザ端末１は、ユーザが利用するコンピュータ装置の一例であり、例えばパーソナルコンピュータやスマートフォンなどである。このユーザ端末１は、Ｗｅｂブラウザや専用のアプリケーションを用いて、ＦＡＱ応答装置１０にアクセスし、質問文の入力および回答の取得を行う。【００１２】
ＦＡＱ応答装置１０は、ユーザ端末１から入力された質問文に回答するコンピュータ装置の一例であり、質問と回答とを対応付けたＦＡＱ一覧を記憶する。このＦＡＱ応答装置１０は、ユーザ端末１からアクセスを受け付けると、チャット形式のＷｅｂ画面の一例であるチャットボット画面をユーザ端末１に表示する。そして、ＦＡＱ応答装置１０は、チャットボット画面上に、「どのようなご用件でしょうか」などのメッセージを出力し、ユーザ端末１から質問文を受け付ける。【００１３】
続いて、ＦＡＱ応答装置１０は、チャットボット画面上で、ユーザ端末１からの質問文として「急にスマートフォンが故障・・・」を受け付ける。すると、ＦＡＱ応答装置１０は、受け付けた質問文「急にスマートフォンが故障・・・」に含まれるキーワードとして「急に」や「スマートフォン」などを特定し、ＦＡＱ一覧からキーワードに対応付けられる質問を検索する。【００１４】
そして、ＦＡＱ応答装置１０は、ＦＡＱ一覧から質問を絞り込み、絞り込まれた２つの質問候補「１．緊急サポートについて・・・」と「２．屋外での・・・」とをチャットボット画面上に出力する。その後、ＦＡＱ応答装置１０は、２つの質問候補のうち「１．緊急サポートについて・・・」がユーザによって選択されると、選択された質問に対応付けられる回答「ロック機能・・・」をＦＡＱ一覧から取得してチャットボット画面上に出力する。このようにして、ＦＡＱ応答装置１０は、営業時間等に関係なく、ユーザのタイミングでいつでも問い合わせに回答できる環境を提供することができる。【００１５】
このようなシステムにおいて、ＦＡＱ応答装置１０は、受け付けた質問文に対して、ベクトルを用いて、５Ｗ１Ｈ（when（いつ）、where（どこで）、who（だれが）、why（なぜ）、what（何を）、how（どのように））の観点で、質問文には十分な情報が含まれている適切な質問文であるかどうかを評価する。そして、ＦＡＱ応答装置１０は、ユーザの質問文に対して、５Ｗ１Ｈのうち足りていない情報をユーザから得るために、ユーザに追加情報の問合せを行い、ユーザから追加の質問を受け付ける。このようにして、ＦＡＱ応答装置１０は、ユーザからの最初の質問文に追加された質問文を加えて、ＦＡＱの質問文を検索し、その回答文をユーザに提示することで最尤推定の高精度化を図る。【００１６】
［機能構成］
次に、実施例１にかかるＦＡＱシステムの機能構成について説明する。なお、ユーザ端末１は、一般的なコンピュータ装置と同様の構成を有するので、詳細な説明は省略する。図２は、実施例１にかかるＦＡＱ応答装置１０の機能構成を示す機能ブロック図である。図２に示すように、ＦＡＱ応答装置１０は、通信部１１、記憶部１２、制御部２０を有する。【００１７】
通信部１１は、ユーザ端末１との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部１１は、ユーザ端末１との間でＷｅｂ通信やチャットボットによる通信を確立し、データの送受信を実行する。【００１８】
記憶部１２は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、ＦＡＱ一覧ＤＢ１３や極性値ＤＢ１４を記憶する。【００１９】
ＦＡＱ一覧ＤＢ１３は、質問と当該質問に対応する正式な回答とを対応付けたＦＡＱ一覧を記憶するデータベースである。図３は、ＦＡＱ一覧ＤＢ１３に記憶される情報の例を示す図である。図３に示すように、ＦＡＱ一覧ＤＢ１３は、「ＦＡＱ＿ＩＤ、カテゴリ、質問、回答」を対応付けたＦＡＱを記憶する。ここで記憶される「ＦＡＱ」は、ＦＡＱを識別する識別子であり、「カテゴリ」は、ＦＡＱのカテゴリを示す。「質問」は、ユーザが質問する内容であり、キーワード検索などによって特定される情報である。「回答」は、ユーザ端末１から受け付けた質問に対する正式な回答であり、過去の事例等により予め設定される。【００２０】
図３の例では、カテゴリ「入会」に該当するＦＡＱには、質問「会費について」と回答「会費は月額１０００円です。」とが対応付けられていることを示す。つまり、ユーザから「会費について」が質問された場合に、回答「会費は月額１０００円です。」が回答される。また、ユーザからキーワードとして「会費」や「月額」などが入力された場合、質問や回答にキーワードが含まれる質問候補として、質問「会費について」が検索される。【００２１】
極性値ＤＢ１４は、後述するＦＡＱ処理部２２による質問の評価処理で算出される極性値などの中間値を記憶するデータベースである。なお、極性値ＤＢ１４は、最新の情報だけを記憶することもでき、時系列で中間値を記憶することもできる。【００２２】
制御部２０は、ＦＡＱ応答装置１０全体を司る処理部であり、例えばプロセッサなどである。この制御部２０は、画面制御部２１、ＦＡＱ処理部２２を有する。なお、画面制御部２１、ＦＡＱ処理部２２は、プロセッサなどの電子回路の一例やプロセッサが実行するプロセスの一例である。【００２３】
画面制御部２１は、ユーザ端末１との間で、チャットボット画面の制御を実行する処理部である。例えば、画面制御部２１は、ユーザ端末１からＦＡＱシステムへのアクセスを受け付けると、図４に示すチャットボット画面３０をユーザ端末１に送信する。そして、画面制御部２１は、チャットボット画面３０上で問い合わせなどの受け付けや回答の出力などを実行する。【００２４】
図４は、チャットボット画面３０の例を示す図である。図４に示すように、チャットボット画面３０は、アバター３１、チャット領域３２、入力領域３３、送信ボタン３４を含む。アバター３１は、ユーザからの問い合わせに回答するように動作するキャラクターである。チャット領域３２は、ＦＡＱ応答装置１０からのメッセージなどを含む回答やユーザ端末１から入力されたメッセージなどを含む問い合わせを、入力された順に出力表示する領域である。入力領域３３は、ユーザがユーザ端末１を介して、問い合わせ等を入力する領域である。送信ボタン３４は、入力領域３３に入力された問い合わせ等をチャット領域３２に出力することを実行するボタンである。【００２５】
ＦＡＱ処理部２２は、ベクトル演算部２３、変換部２４、評価部２５、問合せ部２６、応答部２７を有し、ユーザ端末１からの質問に対応するＦＡＱを応答する処理部である。なお、画面制御部２１は、受付部の一例であり、ベクトル演算部２３および変換部２４は、変換部と取得部の一例であり、評価部２５は、評価部の一例である。【００２６】
ベクトル演算部２３は、ユーザ端末１から受け付けた質問文に含まれるすべての単語に対して、ベクトル演算を実行する処理部である。例えば、ベクトル演算部２３は、質問文に形態素解析等を行って、質問文から各単語を抽出する単語コード化を実行する。そして、ベクトル演算部２３は、各単語（単語コード）に対してベクトル演算を実行する。すなわち、ベクトル演算部は、各単語コードに対してWord2Vecを用いて、Ｖ１からＶ２００の極性を要素とする２００次元の単語ベクトルを生成して、各次元のベクトルをグラフ化する。そして、ベクトル演算部２３は、各単語に対応する単語ベクトルを変換部２４に出力する。【００２７】
変換部２４は、各単語に対応する単語ベクトルを基に、各単語の単語コードを５Ｗ１Ｈについての極性値に変換する処理部である。具体的には、変換部２４は、ベクトル演算部２３から、各単語に対応する単語ベクトルのグラフを取得し、５Ｗ１Ｈそれぞれに対応した変換式を適用して、５Ｗ１Ｈそれぞれのベクトル値である極性値を算出する。【００２８】
例えば、変換部２４は、単語Ａに対応する単語ベクトルのグラフに対して、式（１）を適用してｗｈｅｎの極性値Ｖｗｈｅｎを算出し、式（２）を適用してｗｈｅｒｅの極性値Ｖｗｈｅｒｅを算出し、式（３）を適用してｗｈｏの極性値Ｖｗｈｏを算出し、式（４）を適用してｗｈｙの極性値Ｖｗｈｙを算出し、式（５）を適用してｗｈａｔの極性値Ｖｗｈａｔを算出し、式（６）を適用してｈｏｗの極性値Ｖｈｏｗを算出する。【００２９】
【数１】
2020031242.tif 000003
【数２】
2020031242.tif 000004
【数３】
2020031242.tif 000005
【数４】
2020031242.tif 000006
【数５】
2020031242.tif 000007
【数６】
2020031242.tif 000008
【００３０】
図５は、極性値の算出例を説明する図である。図５の（ａ）は、ベクトル演算部２３が算出した単語コード（単語Ａ）に対応する単語ベクトルであり、Ｖ１からＶ２００の極性を要素とする２００次元のベクトル値のグラフである。そして、変換部２４は、極性値Ｖｗｈｅｎを算出する場合、式（１）を用いて、各ベクトル値にαｉを乗算し、乗算した各値を加算して、極性値Ｖｗｈｅｎを算出する。例えば、変換部２４は、極性値Ｖｗｈｅｎとして「（Ｖ１×α１）＋（Ｖ２×α２）＋・・・＋（Ｖ２００×α２００）」を算出する。【００３１】
また、変換部２４は、極性値Ｖｗｈｅｒｅを算出する場合、式（２）を用いて、各ベクトル値にβｉを乗算し、乗算した各値を加算して、極性値Ｖｗｈｅｒｅを算出する。例えば、変換部２４は、極性値Ｖｗｈｅｒｅとして「（Ｖ１×β１）＋（Ｖ２×β２）＋・・・＋（Ｖ２００×β２００）」を算出する。【００３２】
同様の手法により、変換部２４は、単語Ａについて、５Ｗ１Ｈの各極性値を算出する。このようにして、変換部２４は、質問文に含まれる各単語について、５Ｗ１Ｈの各極性値を算出し、算出結果を評価部２５に出力する。なお、式（１）から式（６）における係数α、β、γ、δ、ｃ、ｚは、予め定められた値であり、詳細については後述する。【００３３】
図２に戻り、評価部２５は、変換部２４による算出結果を用いて、質問文を評価する処理部である。具体的には、評価部２５は、５Ｗ１Ｈそれぞれについて、質問文に含まれるすべての単語の極性値を加算して合計値（合計ベクトル）を算出する。【００３４】
例えば、評価部２５は、質問文から単語Ａ、単語Ｂ、単語Ｃが抽出された場合、質問文のＶｗｈｅｎとして、「単語ＡのＶｗｈｅｎ＋単語ＢのＶｗｈｅｎ＋単語ＣのＶｗｈｅｎ」を算出する。同様に、評価部２５は、質問文のＶｗｈｅｒｅとして、「単語ＡのＶｗｈｅｒｅ＋単語ＢのＶｗｈｅｒｅ＋単語ＣのＶｗｈｅｒｅ」を算出し、質問文のＶｗｈｏとして、「単語ＡのＶｗｈｏ＋単語ＢのＶｗｈｏ＋単語ＣのＶｗｈｏ」を算出し、質問文のＶｗｈｙとして、「単語ＡのＶｗｈｙ＋単語ＢのＶｗｈｙ＋単語ＣのＶｗｈｙ」を算出し、質問文のＶｗｈａｔとして、「単語ＡのＶｗｈａｔ＋単語ＢのＶｗｈａｔ＋単語ＣのＶｗｈａｔ」を算出し、質問文のＶｈｏｗとして、「単語ＡのＶｈｏｗ＋単語ＢのＶｈｏｗ＋単語ＣのＶｈｏｗ」を算出する。【００３５】
そして、評価部２５は、５Ｗ１Ｈそれぞれの合計値が閾値を超える場合、適切な質問文と判定し、閾値未満の合計値が存在する場合、情報が不足している質問文と判定する。図６は、質問文の評価例を説明する図である。図６の場合、評価部２５は、極性値ＶｗｈｅｎとＶｗｈｅｒｅとＶｗｈｏとが閾値を超えるが、極性値ＶｗｈｙとＶｗｈａｔとＶｈｏｗとが閾値を越えないので、情報が不足している質問文と判定する。【００３６】
問合せ部２６は、評価部２５による質問文の評価結果に基づいて、ユーザに追加の質問を問い合わせる処理部である。具体的には、問合せ部２６は、評価結果によって極性値が閾値未満と判定された極性値に対応する項目をチャットボット上でユーザに問い合わせる。そして、問合せ部２６は、はじめに入力された質問文と追加で入力された情報（質問）とを組み合わせた１つの新たな質問文を生成する。その後、問合せ部２６は、生成した新たな質問文をベクトル演算部２３に出力して、上述した処理を実行させる。【００３７】
図６の例では、問合せ部２６は、極性値ＶｗｈｙとＶｗｈａｔとＶｈｏｗが閾値を越えないので、「なぜ」、「何が」、「どのように」の観点でユーザに問い合わせを実行する。なお、質問する内容は、５Ｗ１Ｈごとに設定しておくこともでき、初めの質問文に含まれる単語を組み合わせて自動的に生成することもできる。【００３８】
例えば、問合せ部２６は、初めの質問文が「スマートフォンが故障しました」であり、追加質問の項目が「ｈｏｗ」の場合は「どのような操作で故障しましたか」や「どのような故障状況ですか」などを追加質問として生成する。また、問合せ部２６は、初めの質問文が「スマートフォンが故障しました」であり、追加質問の項目が「ｗｈａｔ」の場合は「スマートフォンの何が故障していますか」などを追加質問として生成する。【００３９】
応答部２７は、ユーザからの質問に対応するＦＡＱの回答を応答する処理部である。具体的には、評価部２５によって適切と判定された質問文からキーワード等を抽出し、キーワード等に該当する質問をＦＡＱ一覧ＤＢ１３から検索して、質問候補としてチャットボット上に表示してユーザに問い合わせる。その後、応答部２７は、質問候補のうち選択された質問に対応する回答をＦＡＱ一覧ＤＢ１３から取得して、質問に対する回答としてチャットボット上に表示する。【００４０】
［評価の具体例］
図７は、質問文の評価の具体例を説明する図である。図７に示すように、ＦＡＱ処理部２２は、チャットボット上で質問文Ａ「急に、私のスマートフォンが故障しました。」を受け付ける。すると、ＦＡＱ処理部２２は、質問文Ａ「急に、私のスマートフォンが故障しました。」に対して、形態素解析、単語コード化、ベクトル演算を行う。【００４１】
その結果、ＦＡＱ処理部２２は、単語「急に」に対してベクトル演算処理後のグラフＡ１を生成し、単語「私」に対してベクトル演算処理後のグラフＡ２を生成する。このようにして、ＦＡＱ処理部２２は、質問文Ａに含まれる各単語について２００次元のベクトルのグラフを生成する。【００４２】
その後、ＦＡＱ処理部２２は、グラフＡ１と式（１）から式（６）とを用いて、グラフＡ１に対して５Ｗ１Ｈの極性値を求めたグラフＡ１´を生成する。同様に、ＦＡＱ処理部２２は、グラフＡ２と式（１）から式（６）とを用いて、グラフＡ２に対して５Ｗ１Ｈの極性値を求めたグラフＡ２´を生成する。このようにして、ＦＡＱ処理部２２は、質問文Ａに含まれる各単語について、５Ｗ１Ｈのベクトルのグラフを生成する。【００４３】
そして、ＦＡＱ処理部２２は、各単語の５Ｗ１Ｈのベクトル（極性値）を、５Ｗ１Ｈごとに加算して合計値を算出する。その後、ＦＡＱ処理部２２は、５Ｗ１Ｈの各合計値と閾値とを比較し、閾値未満であるＶｗｈｙとＶｗｈａｔとＶｈｏｗの各項目が不足していると判定する。この結果、ＦＡＱ処理部２２は、ＶｗｈｙとＶｗｈａｔとＶｈｏｗについて質問者への聞き返しを行う。そして、ＦＡＱ処理部２２は、聞き返しに対する質問者からの応答と最初の質問文Ａとを組み合わせた新たな質問文を生成して、上記処理を繰り返す。【００４４】
［画面遷移の具体例］
次に、質問受付から回答を応答するまでの画面遷移について説明する。図８は、質問受付から質問文の評価までを説明する図であり、図９は、追加問い合わせから応答までを説明する図である。【００４５】
図８に示すように、ＦＡＱ応答装置１０は、アクセスを受け付けたユーザ端末１にチャットボット画面を表示し、チャットボット画面上に「どのようなご用件でしょうか」などのメッセージを出力し、ユーザ端末１から質問文を受け付ける（図８の（ａ）参照）。【００４６】
続いて、ＦＡＱ応答装置１０は、チャットボット上で質問文Ａ「急に、私のスマートフォンが故障してしまいました。」を受け付ける（図８の（ｂ）参照）。そして、ＦＡＱ応答装置１０は、質問文Ａを用いてＦＡＱを検索し、回答候補として「Ａ１からＡ５０」を特定する（図８の（ｃ）参照）。しかし、ＦＡＱ応答装置１０は、閾値（例えば３）以上の回答候補が検索されたので、回答候補を絞り込むために、質問文Ａに対して５Ｗ１Ｈの評価を実行する（図８の（ｄ）参照）。【００４７】
その後、ＦＡＱ応答装置１０は、５Ｗ１Ｈの評価により「ｗｈｅｒｅ（どこで）」が不足していることを特定したので、チャットボット画面上に「どこで故障しましたか」などのメッセージを出力し、ユーザ端末１から追加の質問文を受け付ける（図９の（ｅ）参照）。【００４８】
続いて、ＦＡＱ応答装置１０は、チャットボット上で追加の質問文Ｂ「屋外です。」を受け付ける（図９の（ｆ）参照）。すると、ＦＡＱ応答装置１０は、はじめの質問文Ａに追加の質問文Ｂを加えた質問文ＡＢを用いて、ＦＡＱを検索し、回答候補として「Ａ１とＡ２」を特定する（図９の（ｇ）参照）。そして、ＦＡＱ応答装置１０は、閾値（例えば３）未満の回答候補が検索されたので、検索された回答候補をチャットボット画面上に表示する（図９の（ｈ）参照）。【００４９】
その後、ＦＡＱ応答装置１０は、回答候補の「Ａ１」または「Ａ２」が選択されると、該当する回答をＦＡＱ一覧ＤＢ１３から取得してチャットボット画面上に表示する。一方、ＦＡＱ応答装置１０は、回答候補のうち「この中にはありません。」が選択されると、該当するＦＡＱが存在しない旨のメッセージをチャットボット画面上に表示して、処理を終了する。【００５０】
［処理の流れ］
図１０は、処理の流れを示すフローチャートである。図１０に示すように、ベクトル演算部２３は、質問文が受け付けられると（Ｓ１０１：Ｙｅｓ）、質問文に形態素解析を実行して単語を抽出し、Word2Vecなどを用いて、各単語の単語コードを生成する（Ｓ１０２）。続いて、ベクトル演算部２３は、各単語の単語コードに対してベクトル演算を実行して２００次元のベクトルを生成する（Ｓ１０３）。【００５１】
そして、変換部２４は、５Ｗ１Ｈの極性値を算出する（Ｓ１０４）。すなわち、変換部２４は、式（１）から式（６）を用いて、各単語コードの２００次元のベクトル値から５Ｗ１Ｈの次元のベクトル値を算出し、５Ｗ１Ｈそれぞれについて、質問文のすべての単語のベクトル値を加算する。【００５２】
その後、評価部２５は、全極性値が閾値以上である場合（Ｓ１０５：Ｙｅｓ）、適切な質問文と判定する（Ｓ１０６）。そして、応答部２７は、質問文に対応する回答をＦＡＱ一覧ＤＢ１３から検索して応答する（Ｓ１０７）。【００５３】
一方、いずれかの極性値が閾値以上ではない場合（Ｓ１０５：Ｎｏ）、問合せ部２６は、５Ｗ１Ｈのうち、不足している情報（極性値）を得るために、質問者に問い返す（Ｓ１０８）。その後、問合せ部２６は、質問者への問い返しに対する応答（追加情報）を受け付けると（Ｓ１０９：Ｙｅｓ）、質問文と追加情報とを組み合わせた１つの質問文を生成する（Ｓ１１０）。その後、Ｓ１０２以降が実行される。【００５４】
［効果］
上述したように、ＦＡＱ応答装置１０は、チャットボットを用いて、ユーザと一対一の形式でチャットを行う際、ユーザが入力した質問文を用いて、登録されているＦＡＱの質問文を検索し、その応答文をユーザに提示することができる。また、ＦＡＱ応答装置１０は、ユーザからの質問文において、５Ｗ１Ｈに関して十分な情報が含まれていない場合でも、どの情報が不足しているかを適切に判別することができる。【００５５】
したがって、ＦＡＱ応答装置１０は、質問文の補充に関する質問者への問い合わせの精度を向上させることができる。また、ＦＡＱ応答装置１０は、補充した質問文を用いてＦＡＱ検索を実行するので、ユーザからの質問内容を適切に判断することができ、応答精度も向上できる。
【実施例２】
【００５６】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。【００５７】
［係数の設定］
上記式（１）から式（５）における係数は、予め算出して設定することができる。例えば、ＦＡＱ応答装置１０は、５Ｗ１Ｈにおいてバランスの取れた質問文Ｘを用意する。そこから、ＦＡＱ応答装置１０は、５Ｗ１Ｈにおいて任意の要素を１つ決定し、その要素を含む単語を全て除く。さらに、ＦＡＱ応答装置１０は、単語を除く前と除いた後の質問文それぞれを２００次元ベクトルのグラフに表し、それぞれの極性値の差分を係数とする。そのため、係数の値は各ベクトルによって異なり、αｉ＝０となるベクトルも存在する。【００５８】
ここで、Ｖｗｈｅｎに対応する式（１）の係数αを例にして説明する。図１１は、係数の算出手法の例を説明する図である。図１１に示すように、ＦＡＱ応答装置１０は、５Ｗ１Ｈにおいてバランスのとれた質問文Ｘ「明日研修があるため私は吉祥寺で急いでご飯を食べます。」の各単語コードについて２００次元のベクトル変換を行い、それぞれの次元のベクトルを加算して、図１１の（ａ）に示すベクトルグラフ（Ｖ１からＶ２００）を生成する。【００５９】
続いて、ＦＡＱ応答装置１０は、質問文Ｘからｗｈｅｎ（いつ）を除いた質問文Ｙ「研修があるため私は吉祥寺で急いでご飯を食べます。」を生成する。そして、ＦＡＱ応答装置１０は、質問文Ｙの各単語コードについて２００次元のベクトル変換を行い、それぞれの次元のベクトルを加算して、図１１の（ｂ）に示すベクトルグラフ（Ｖ´１からＶ´２００）を生成する。【００６０】
そして、ＦＡＱ応答装置１０は、各次元（Ｖ１からＶ２００）について、減少した割合を係数αｉ（ｉ＝１から２００）として算出する。すなわち、ＦＡＱ応答装置１０は、「αｉ＝（Ｖｉ−Ｖ´ｉ）／Ｖｉ」を算出する。なお、係数βの場合はｗｈｅｒｅを除いた質問文、係数γの場合はｗｈｏを除いた質問文、係数δの場合はｗｈｙを除いた質問文、係数ｃの場合はｗｈａｔを除いた質問文、係数ｚの場合はｈｏｗを除いた質問文を生成して、上記ｗｈｅｎのときと同様の処理を実行する。この結果、正確な係数を算出でき、正確なベクトル変換が実行できるので、応答精度も向上する。【００６１】
［Ｗｅｂページ］
上述した実施例では、チャットボットを用いた例を説明したが、これに限定されるものではなく、例えば一般的なＷｅｂブラウザなどを用いることもできる。また、インターネットなどに限らず、イントラネットなども採用することができる。例えば、一般ユーザによるＦＡＱに限らず、社内のＦＡＱにも適用することができる。【００６２】
［ベクトル変換］
上記実施例では、Word2Vecを用いたベクトル変換を例にして説明したが、これに限定されるものではなく、他の公知の技術を用いることができる。また、２００次元に限らず、採用するベクトル変換技術に応じた次元数を用いることができる。また、上記実施例では、数式を用いて、要素値の一例である極性値に変換する例を説明したが、これに限定されるものではない。例えば、５Ｗ１Ｈの各極性値と、２００次元のベクトルの合計値との対応関係を予め設定した変換テーブルなどを用いることもできる。また、５Ｗ１Ｈをすべて用いて評価するだけではなく、少なくとも一つの極性値を採用し、採用した極性値が閾値以上か否かによって質問文を評価することもできる。【００６３】
［評価タイミング］
また、上記質問文の評価は、はじめの質問文に対応する回答が検索できない場合や回答候補が閾値以上存在する場合にだけ実行することもでき、すべての質問文に対して実行することもできる。また、上記適切な質問は、回答可能な質問の一例であり、適切な質問に該当せず、問い合わせが行われる質問は、回答可能ではない質問の一例である。【００６４】
［適用例］
上記実施例では、ユーザからの質問に回答するＦＡＱシステムを例にして説明したが、これに限定されるものではない。例えば、問診票への記入、システムのエラーメッセージとエラー対応とを対応付けた障害時対応の検索などにも適用することができる。【００６５】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。【００６６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【００６７】
［ハードウェア］
図１２は、ハードウェア構成例を説明する図である。図１２に示すように、ＦＡＱ応答装置１０は、通信装置１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１２に示した各部は、バス等で相互に接続される。【００６８】
通信装置１０ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図２に示した機能を動作させるプログラムやＤＢを記憶する。【００６９】
プロセッサ１０ｄは、図２に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、ＦＡＱ応答装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、画面制御部２１、ＦＡＱ処理部２２等と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、画面制御部２１、ＦＡＱ処理部２２等と同様の処理を実行するプロセスを実行する。【００７０】
このようにＦＡＱ応答装置１０は、プログラムを読み出して実行することで評価方法を実行する情報処理装置として動作する。また、ＦＡＱ応答装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、ＦＡＱ応答装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。【００７１】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ（Magneto−Optical  disk）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【００７２】
１０  ＦＡＱ応答装置
１１  通信部
１２  記憶部
１３  ＦＡＱ一覧ＤＢ
１４  極性値ＤＢ
２０  制御部
２１  画面制御部
２２  ＦＡＱ処理部
２３  ベクトル演算部
２４  変換部
２５  評価部
２６  問合せ部
２７  応答部
【図１】
2020031242.tif 000009
【図２】
2020031242.tif 000010
【図３】
2020031242.tif 000011
【図４】
2020031242.tif 000012
【図５】
2020031242.tif 000013
【図６】
2020031242.tif 000014
【図７】
2020031242.tif 000015
【図８】
2020031242.tif 000016
【図９】
2020031242.tif 000017
【図１０】
2020031242.tif 000018
【図１１】
2020031242.tif 000019
【図１２】
2020031242.tif 000020
【国際調査報告】
2020031242.tif 000021
2020031242.tif 000022