(57)【要約】【課題】新規質問と回答済みの質問との単語が一致しなくても、新規質問に対して回答済みの質問を適切にランキングする。【解決手段】情報処理装置１は、過去の問合せについて、ＦＡＱごとに、類似する問合せと類似しない問合せとにグループ化し、各ＦＡＱについて、グループ化された類似する問合せに出現する単語ごとにＦＡＱに対する特徴量をそれぞれ算出し、各ＦＡＱについて、単語ごとのＦＡＱに対する特徴量を用いて、グループ化された類似する問合せから抽出される単語列を特徴量ベクトルに変換し、グループ化された類似しない問合せから抽出される単語列を特徴量ベクトルに変換し、各ＦＡＱについて、グループ化された類似する問合せから抽出される単語列の特徴量ベクトルおよびグループ化された類似しない問合せから抽出される単語列の特徴量ベクトルに基づいて、ＦＡＱに対する単語ごとの重要度を示すパラメータベクトルを更新する。【選択図】図１
2017151926.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の問合せ項目を、類似する問合せ項目グループと類似しない問合せ項目グループとにグループ化し、
前記類似する問合せ項目グループに出現する単語ごとに特徴量をそれぞれ算出し、
前記特徴量を用いて、前記類似する問合せ項目グループから抽出される第１単語列を第１特徴量ベクトルに変換し、前記類似しない問合せ項目グループから抽出される第２単語列を第２特徴量ベクトルに変換し、
前記第１特徴量ベクトルおよび前記第２特徴量ベクトルに基づいて、前記単語ごとの重要度を示すパラメータベクトルを更新する
処理を実行させることを特徴とする情報処理プログラム。
【請求項２】
前記更新する処理は、前記第１単語列における前記第１特徴量ベクトルのそれぞれの特徴量を前記パラメータベクトルの同一の位置の成分にプラスし、前記第２単語列における前記第２特徴量ベクトルのそれぞれの特徴量を前記パラメータベクトルの同一の位置の成分にマイナスして前記パラメータベクトルを更新する
処理を実行させることを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記第１単語列および前記第２単語列に対する特徴量をそれぞれ算出し、
前記変換する処理は、前記第１単語列における前記第１特徴量ベクトルに前記第１単語列に対する特徴量を追加し、前記第２単語列における前記第２特徴量ベクトルに前記第２単語列に対する特徴量を追加する
処理を実行させることを特徴とする請求項１または請求項２に記載の情報処理プログラム。
【請求項４】
新規の問合せから抽出される単語列を、単語ごとのＦＡＱ（Frequently  Asked  Questions）に対する特徴量を用いて、それぞれのＦＡＱにおける特徴量ベクトルに変換し、
それぞれのＦＡＱについて、変換された特徴量ベクトルと、前記パラメータベクトルとの内積を算出し、
算出された内積の値に基づいて、それぞれのＦＡＱのランキングを出力する
処理を実行させることを特徴とする請求項１に記載の情報処理プログラム。
【請求項５】
前記パラメータベクトルを用いて計算された結果をランキング学習のパラメータベクトルに追加する
処理を実行させることを特徴とする請求項１に記載の情報処理プログラム。
【請求項６】
複数の問合せ項目を、類似する問合せ項目グループと類似しない問合せ項目グループとにグループ化するグループ化部と、
前記類似する問合せ項目グループに出現する単語ごとに特徴量をそれぞれ算出する算出部と、
前記特徴量を用いて、前記類似する問合せ項目グループから抽出される第１単語列を第１特徴量ベクトルに変換し、前記類似しない問合せ項目グループから抽出される第２単語列を第２特徴量ベクトルに変換する変換部と、
前記第１特徴量ベクトルおよび前記第２特徴量ベクトルに基づいて、前記単語ごとの重要度を示すパラメータベクトルを更新する更新部と、
を有することを特徴とする情報処理装置。
【請求項７】
コンピュータが、
複数の問合せ項目を、類似する問合せ項目グループと類似しない問合せ項目グループとにグループ化し、
前記類似する問合せ項目グループに出現する単語ごとに特徴量をそれぞれ算出し、
前記特徴量を用いて、前記類似する問合せ項目グループから抽出される第１単語列を第１特徴量ベクトルに変換し、前記類似しない問合せ項目グループから抽出される第２単語列を第２特徴量ベクトルに変換し、
前記第１特徴量ベクトルおよび前記第２特徴量ベクトルに基づいて、前記単語ごとの重要度を示すパラメータベクトルを更新する
各処理を実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置などに関する。
【背景技術】
【０００２】
新規で入力された質問に対して、既に回答済みの質問を検索する技術が知られている（例えば、非特許文献１参照）。かかる技術では、まず、情報処理装置は、回答済みの質問とその回答とのペアの集合が与えられている状況において、回答間の類似度が予め設定された閾値以上の質問のペアを収集する。一例として、情報処理装置は、回答Ａで回答Ｂを検索したときの順位をｒ１、回答Ｂで回答Ａを検索したときの順位をｒ２としたときに、回答Ａと回答Ｂとの類似度を以下の式（１）を用いて定義する。
【数１】
2017151926.tif 000003
【０００３】
そして、情報処理装置は、ｓｉｍ（Ａ，Ｂ）が予め設定された閾値以上になる回答と回答の質問のペアを学習データとして収集する。
【０００４】
次に、情報処理装置は、収集した質問のペアを使って単語間の意味的な類似度を教師なし学習によって学習する。一例として、情報処理装置は、質問のペアの数をＮ、その中のｉ番目の質問のペアをＪｉとしたときに、質問のペアに出現する単語ｔと単語ｓとの意味的な関連確率を以下の式（２）を用いて計算する。なお、式（２）内のｃ（ｔ｜ｓ；Ｊｉ）は、ペアＪｉにおいて単語ｓが単語ｔと関連する度合いであり、以下の式（３）を用いて計算される。式（３）内のｃｎｔ（ｔ，Ｊｉ）は、ペアＪｉにおける単語ｔの頻度である。式（３）内のｃｎｔ（ｓ，Ｊｉ）は、ペアＪｉにおける単語ｓの頻度である。
【数２】
2017151926.tif 000004
【０００５】
【数３】
2017151926.tif 000005
【０００６】
この方式によると、ペアＪｉに単語ｓおよび単語ｔがともに多く出現する程、ペアＪｉの関連確率Ｐ（ｔ｜ｓ）は高い値となる。
【０００７】
次に、情報処理装置は、新規で入力された質問に対して、単語が一致しなくても、意味的に類似する質問とその回答をランキング形式で出力する。一例として、情報処理装置は、入力された質問Ｑと回答済みの質問Ｄとの類似度ｓｉｍ（Ｑ，Ｄ）を以下の式（４）および式（５）を用いて計算する。なお、式（５）内のＣは、質問の集合である。Ｐ（ｗ｜Ｄ）は、入力された質問Ｑに出現する単語ｗの回答済みの質問Ｄにおける重要度を表す。Ｔ（ｗ｜ｔ）は、Ｄに出現する単語ｔと、Ｑに出現する単語ｗの関連確率を表す。Ｐｍｌ（ｔ｜Ｄ）は、Ｄにおける単語ｔの出現確率を表す。Ｐｍｌ（ｗ｜Ｃ）は、Ｃにおける単語ｗの出現確率を表す。
【数４】
2017151926.tif 000006
【０００８】
【数５】
2017151926.tif 000007
【０００９】
この方式によると、回答済みの質問Ｄにおいて質問Ｑに出現する単語ｗが良く出現し、さらに回答済みの質問Ｄにおいて重要な単語ｔとの関連度が高い程、ｓｉｍ（Ｑ，Ｄ）は高い値となる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Jiwoon  Jeon，W.Bruce  Croft  and  Joon  Ho  Lee，“Finding  Similar  Questions  in  Large  Question  And  Answer  Archives”，CIKM’05
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来技術では、新規で入力された質問と回答済みの質問との単語が一致しない場合に、新規で入力された質問に対して回答済みの質問を適切にランキングできないという問題がある。すなわち、従来技術で学習しているのは、単語間の関連確率であり、新規で入力された質問の単語の出現が回答済みの質問と紐付けるのに重要かどうかを学習していない。つまり、情報処理装置は、式（５）の第２項によって新規で入力された質問Ｑに出現する単語ｗの質問の集合Ｃにおける出現確率を計算しているが、出現確率が高いからといって単語ｗが回答済みの質問Ｄと紐付けるのに重要とは限らない。例えば、新規で入力された質問Ｑに”ｍｕｓｉｃ”や”ｆｉｌｅ”が出現している場合に、これらの単語が回答済みの質問Ｄに出現するからといって、質問Ｑを質問Ｄと紐付けるのに重要であるとは限らない。
【００１２】
本発明は、１つの側面では、新規で入力された質問と回答済みの質問との単語が一致しなくても、新規で入力された質問に対して回答済みの質問を適切にランキングすることを
目的とする。
【課題を解決するための手段】
【００１３】
１つの態様では、情報処理プログラムは、コンピュータに、複数の問合せ項目を、類似する問合せ項目グループと類似しない問合せ項目グループとにグループ化し、前記類似する問合せ項目グループに出現する単語ごとに特徴量をそれぞれ算出し、前記特徴量を用いて、前記類似する問合せ項目グループから抽出される第１単語列を第１特徴量ベクトルに変換し、前記類似しない問合せ項目グループから抽出される第２単語列を第２特徴量ベクトルに変換し、前記第１特徴量ベクトルおよび前記第２特徴量ベクトルに基づいて、前記単語ごとの重要度を示すパラメータベクトルを更新する、処理を実行させる。
【発明の効果】
【００１４】
１実施態様によれば、新規で入力された質問と回答済みの質問との単語が一致しなくても、新規で入力された質問に対して回答済みの質問を適切にランキングすることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係る情報処理装置の構成を示す機能ブロック図である。
【図２】図２は、実施例１に係る学習データ収集処理の流れの一例を示す図である。
【図３】図３は、実施例１に係る単語特徴量算出処理の流れの一例を示す図である。
【図４】図４は、実施例１に係る単語列特徴量算出処理の流れの一例を示す図である。
【図５Ａ】図５Ａは、実施例１に係る語彙重要度算出処理の流れの一例を示す図（１）である。
【図５Ｂ】図５Ｂは、実施例１に係る語彙重要度算出処理の流れの一例を示す図（２）である。
【図５Ｃ】図５Ｃは、実施例１に係る語彙重要度算出処理の流れの一例を示す図（３）である。
【図６】図６は、実施例１に係るランキング出力処理の流れの一例を示す図である。
【図７】図７は、実施例１に係る情報処理のフローチャートの一例を示す図である。
【図８】図８は、実施例２に係る情報処理装置の構成を示す機能ブロック図である。
【図９】図９は、実施例２に係るランキングパラメータ学習処理の概要を示す図である。
【図１０Ａ】図１０Ａは、実施例２に係るランキングパラメータ学習処理の流れの一例を示す図（１）である。
【図１０Ｂ】図１０Ｂは、実施例２に係るランキングパラメータ学習処理の流れの一例を示す図（２）である。
【図１１】図１１は、実施例２に係るランキング出力処理の流れの一例を示す図である。
【図１２】図１２は、実施例２に係る情報処理のフローチャートの一例を示す図である。
【図１３】図１３は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する情報処理プログラム、情報処理装置および情報処理方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
【実施例１】
【００１７】
［実施例１に係る情報処理装置の構成］
図１は、実施例１に係る情報処理装置の構成を示す機能ブロック図である。図１に示す情報処理装置１は、回答済みの問い合わせとＦＡＱ（Frequently  Asked  Questions）との回答部分の類似度を元に、回答済みの問い合わせとＦＡＱのペアを収集する。情報処理装置１は、収集したペアを学習データとして、ＦＡＱごとにペアに含まれる単語の重要度を獲得する。ここでいう回答済みの問い合わせとは、過去にあった回答済みの質問のことをいい、意味合いが類似する質問を含む。回答済みの問い合わせには、一例として、Ｙａｈｏｏ！知恵袋の質問が挙げられる。また、ここでいうＦＡＱとは、過去にあった回答済みの質問が別の回答済みの質問と意味的に類似しない質問とその回答のことをいう。なお、以降では、回答済みの問い合わせのことを「問い合わせ」と略記するものとする。
【００１８】
情報処理装置１は、制御部１０と、記憶部２０とを有する。制御部１０は、ＣＰＵ（Central  Processing  Unit）などの電子回路に対応する。そして、制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１０は、閾値設定部１１と、学習データ収集部１２と、語彙重要度学習部１３と、ランキング出力部１４とを有する。
【００１９】
記憶部２０は、例えば、ＲＡＭ、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部２０は、ＦＡＱ単語特徴量テーブル２１と、ＦＡＱパラメータベクトルテーブル２２とを有する。
【００２０】
ＦＡＱ単語特徴量テーブル２１は、ＦＡＱごとの単語の特徴量を記憶する。ＦＡＱパラメータベクトルテーブル２２は、ＦＡＱごとのパラメータベクトルを記憶する。パラメータベクトルとは、単語および単語列を含む語彙の重要度をベクトル化したものであり、ＦＡＱごとに生成される。なお、ＦＡＱ単語特徴量テーブル２１は、例えば語彙重要度学習部１３によって生成され、語彙重要度学習部１３およびランキング出力部によって用いられる。ＦＡＱパラメータベクトルテーブル２２は、例えば語彙重要度学習部１３によって生成され、ランキング出力部１４によって用いられる。
【００２１】
閾値設定部１１は、学習データの収集で用いられる閾値を記憶部２０に設定する。例えば、閾値設定部１１は、ユーザによって入力された閾値を受け付け、受け付けた閾値を記憶部２０に設定する。
【００２２】
学習データ収集部１２は、ＦＡＱの回答部分と問い合わせ履歴の回答部分との単語の一致率を計算し、順位を取得する。学習データ収集部１２は、順位に基づいたスコアが閾値以上のＦＡＱの回答部分と問い合わせ履歴の回答部分に対応するＦＡＱと問い合わせのペアを収集する。なお、学習データ収集部１２の学習データの収集は、例えば、“Jiwoon  Jeon，W.Bruce  Croft  and  Joon  Ho  Lee，“Finding  Similar  Questions  in  Large  Question  And  Answer  Archives”，CIKM’05”によって行われれば良い。
【００２３】
ここで、実施例１に係る学習データ収集処理の流れの一例を、図２を参照して説明する。図２は、実施例１に係る学習データ収集処理の流れの一例を示す図である。図２に示すように、複数のＦＡＱ並びに複数の問い合わせおよび回答を含む問い合わせ履歴が表わされている。
【００２４】
このような状況の下、学習データ収集部１２は、ＦＡＱの回答で問い合わせの回答を検索したときの順位、問い合わせの回答でＦＡＱの回答を検索したときの順位を計算する。例えば、ＦＡＱ１の回答で問い合わせａの回答ａを検索したときの順位が２位であり、問い合わせａの回答ａでＦＡＱ１の回答を検索したときの順位が１位であるとする。
【００２５】
すると、学習データ収集部１２は、ＦＡＱ１の回答と問い合わせａの回答ａとの類似度を式（１）で算出する。ここでは、ＦＡＱ１と問い合わせａとの類似度ｓｉｍは、式（１）を用いて０．７５と算出され、算出結果が閾値以上であると判定されるとする。すると、学習データ収集部１２は、類似度が閾値以上のＦＡＱ１の回答部分と問い合わせ履歴の回答部分を取得し、これらに対応するＦＡＱ１と問い合わせａを収集する。
【００２６】
なお、学習データ収集部１２は、ＦＡＱ１と問い合わせａの収集について説明したが、引き続き、類似度が閾値以上のＦＡＱと問い合わせを収集する。
【００２７】
語彙重要度学習部１３は、ＦＡＱごとに、単語および単語列を含む語彙の重要度を学習する。語彙重要度学習部１３は、単語特徴量算出部１３１、単語列特徴量算出部１３２および語彙重要度算出部１３３を有する。
【００２８】
単語特徴量算出部１３１は、ＦＡＱごとに単語の特徴量を算出する。
【００２９】
例えば、単語特徴量算出部１３１は、学習データ収集部１２によって収集された問い合わせを単語分割し、名詞、動詞などの単語列に変換する。一例として、問い合わせが「○○カードの再発行、今から出張だが、カードが見当たらない・・・」であるとする。すると、単語特徴量算出部１３１は、「○○カード」「再発行」「出張」「見当たる」に単語分割し、問い合わせを単語列「○○カード  再発行  出張  見当たる」に変換する。
【００３０】
そして、単語特徴量算出部１３１は、学習データ収集部１２によって収集されたＦＡＱと問い合わせのペアから、ＦＡＱごとに各ＦＡＱとペアになる問い合わせをグループ化する。
【００３１】
そして、単語特徴量算出部１３１は、ＦＡＱごとに単語の特徴量を以下の式（７）を用いて算出し、ＦＡＱ単語特徴量テーブル２１に保存する。なお、式（７）は、以下の式（６）の算出結果を用いる。
【数６】
2017151926.tif 000008
【００３２】
一例として、単語特徴量算出部１３１は、ＦＡＱｉとペアになる問い合わせの集合Ｃｉにおける単語ｗの出現確率を、式（６）を用いて算出する。なお、ｉは、ＦＡＱを識別する番号を示す。ｗは、集合Ｃｉに含まれる単語を示す。ｃｎｔ（ｗ，Ｃｉ）は、集合Ｃｉにおける単語ｗの出現回数を取得する関数である。例えば、ｗが「再発行」であれば、集合Ｃｉにおける「再発行」の出現回数が取得される。
【数７】
2017151926.tif 000009
【００３３】
単語特徴量算出部１３１は、単語ｗのＦＡＱｉにおける相対的な重要度（特徴量）を、式（７）を用いて算出する。ｓｃｏｒｅ（ｗ；ＦＡＱｉ）は、単語ｗのＦＡＱｉにおける相対的な重要度である。式（６）および式（７）の計算式により、ＦＡＱｉの方が他のＦＡＱより単語ｗが相対的に出現する程、スコア（ｓｃｏｒｅ（ｗ；ＦＡＱｉ））が高くなる。例えば、単語の出現総数が１０を示すＣ１中に単語「再発行」が１回出現することは、単語の出現総数が１００を示す｛Ｃ１，Ｃ２，Ｃ３｝中に２回出現するよりも情報がある（スコアが高くなる）ということがわかる。
【００３４】
単語列特徴量算出部１３２は、ＦＡＱごとに単語列の特徴量を算出する。例えば、単語列特徴量算出部１３２は、ＦＡＱごとの問い合わせの単語列の特徴量を、以下の式（８）を用いて算出し、ＦＡＱ単語特徴量テーブル２１に保存する。すなわち、単語列特徴量算出部１３２は、問い合わせがＦＡＱらしい単語列であるかを示す単語列の特徴量を算出する。なお、式（８）は、以下の式（９）および式（１０）の算出結果を用いる。
【００３５】
一例として、単語列特徴量算出部１３２は、ＦＡＱ１において、問い合わせａの単語列全体の特徴量を算出するとする。単語列特徴量算出部１３２は、以下の式（８）を用いて、問い合わせａの単語列に対するＦＡＱ１らしさを示すスコアを算出する。
【数８】
2017151926.tif 000010
【００３６】
ここで、式（８）内のｐ（ｗｉ）は、式（９）によって算出される。ｐ（ｗｉ）は、ＦＡＱ１の観点から見て単語列ａに単語ｗｉが出現する確率を示す。
【数９】
2017151926.tif 000011
【００３７】
ここで、式（８）内のｑ（ｗｉ）は、式（１０）によって算出される。ｑ（ｗｉ）は、ＦＡＱを考慮せずに単語列ａに単語ｗｉが出現する確率を示す。
【数１０】
2017151926.tif 000012
【００３８】
式（８）の計算式により、ＦＡＱ１における問い合わせａの単語列全体の特徴量は、問い合わせａの単語列中の単語ｗのどれもが他のＦＡＱと比べてＦＡＱ１に出現する確率が大きい程高くなる。つまり、単語「再発行」について、たまたま出現する単語列よりも他の単語も合わせて出現する単語列の方が、ＦＡＱ１らしさを示すスコアが高くなる。
【００３９】
語彙重要度算出部１３３は、ＦＡＱごとに単語および単語列を含む語彙の重要度を算出する。
【００４０】
例えば、語彙重要度算出部１３３は、学習データ収集部１２によって収集されたＦＡＱと問い合わせのペアから、ＦＡＱごとにペアになる問い合わせの単語列とペアにならない問い合わせの単語列とにグループ化する。語彙重要度算出部１３３は、ＦＡＱごとに、ＦＡＱとペアになる単語列を、ＦＡＱ単語特徴量テーブル２１の当該ＦＡＱに対応する単語の特徴量を用いて特徴量ベクトルに変換する。語彙重要度算出部１３３は、単語列について変換された特徴量ベクトルに当該単語列に対する特徴量を追加する。語彙重要度算出部１３３は、ＦＡＱごとに、ＦＡＱとペアにならない単語列を、ＦＡＱ単語特徴量テーブル２１の当該ＦＡＱに対応する単語の特徴量を用いて特徴量ベクトルに変換する。語彙重要度算出部１３３は、単語列について変換された特徴量ベクトルに当該単語列に対する特徴量を追加する。ここでいう特徴量ベクトルとは、問い合わせ履歴に含まれる全ての単語の数に単語列分の１を加えたカラムを持ち、各カラムは各単語および単語列に対する特徴量の設定のために割り当てられる。一例として、１カラム目は、「○○カード」の特徴量の設定のために割り当てられる。２カラム目は、「再発行」の特徴量の設定のために割り当てられる。
【００４１】
そして、語彙重要度算出部１３３は、ＦＡＱごとに、問い合わせの単語列が変換された特徴量ベクトルを用いて、パラメータベクトル（語彙の重要度）を算出する。一例として、語彙重要度算出部１３３は、ＦＡＱ１のパラメータベクトルを算出するとする。語彙重要度算出部１３３は、ＦＡＱ１とペアになる問い合わせの単語列の場合には、単語列に出現する特徴量の重みが正の方向に大きくなるように、ＦＡＱ１のパラメータベクトルを更新する。加えて、語彙重要度算出部１３３は、ＦＡＱ１とペアにならない問い合わせの単語列の場合には、単語列に出現する特徴量の重みが負の方向に大きくなるように、ＦＡＱ１のパラメータベクトルを更新する。語彙重要度算出部１３３は、ＦＡＱごとに計算されたパラメータベクトルをＦＡＱパラメータベクトルテーブル２２に保存する。ここでいうパラメータベクトルとは、ＦＡＱに対して各カラムに割り当てられた単語がどれくらい重要かを表すベクトルであり、ＦＡＱごとに算出される。これにより、語彙重要度算出部１３３は、ＦＡＱのパラメータベクトルを参照することで、ＦＡＱにとって重要な語彙を特定できる。
【００４２】
ランキング出力部１４は、新規の問い合わせに対して、語彙重要度学習部１３によってＦＡＱごとに学習されたパラメータベクトルを用いて、ＦＡＱをランキングして出力する。例えば、ランキング出力部１４は、新規の問い合わせの単語列を、ＦＡＱ単語特徴量テーブル２１の各ＦＡＱに対応する単語の特徴量を用いて、ＦＡＱごとの特徴量ベクトルに変換する。ランキング出力部１４は、ＦＡＱごとに、変換された特徴量ベクトルと、ＦＡＱパラメータベクトルテーブル２２に記憶されたパラメータベクトルとの内積を算出する。算出される内積の値は、新規の問い合わせがどれくらいＦＡＱらしいかを示す値といえる。ランキング出力部１４は、算出された内積の値を大きい順にソートし、ＦＡＱをランキングして出力する。
【００４３】
［単語特徴量算出処理の流れ］
図３は、実施例１に係る単語特徴量算出処理の流れの一例を示す図である。図３に示すように、学習データ収集部１２によって収集されたＦＡＱと問い合わせのペアが表わされている。ここでは、ＦＡＱ１と問い合わせａ、ＦＡＱ２と問い合わせｂ、ＦＡＱ３と問い合わせｃ、ＦＡＱ２と問い合わせｄおよびＦＡＱ１と問い合わせｅのそれぞれのペアが表わされている。
【００４４】
このような状況の下、単語特徴量算出部１３１は、収集されたＦＡＱと問い合わせのペアから、ＦＡＱごとにペアになる問い合わせをグループに纏める。ここでは、ＦＡＱ１とペアになる問い合わせの集合Ｃ１は、｛問い合わせａの単語列ａ´，問い合わせｅの単語列ｅ´｝となる。ＦＡＱ２とペアになる問い合わせの集合Ｃ２は、｛問い合わせｂの単語列ｂ´，問い合わせｄの単語列ｄ´｝となる。ＦＡＱ３とペアになる問い合わせの集合Ｃ３は、｛問い合わせｃの単語列ｃ´｝となる。
【００４５】
単語特徴量算出部１３１は、ＦＡＱｉについて、ＦＡＱｉとペアになる問い合わせの集合Ｃｉにおける単語ｗの出現確率を、式（６）を用いて算出する。そして、単語特徴量算出部１３１は、単語ｗのＦＡＱｉにおける相対的な重要度（特徴量）を、式（７）を用いて算出する。そして、単語特徴量算出部１３１は、ＦＡＱｉについて、算出された単語ｗの特徴量をＦＡＱ単語特徴量テーブル２１に保存する。ここでは、例えば、ＦＡＱ１について、「○○カード」の特徴量として０．３，単語「再発行」の特徴量として０．９，単語「出張」の特徴量として２，単語「見当たる」の特徴量として０．７，・・・がＦＡＱ単語特徴量テーブル２１に保存されている。
【００４６】
［単語列特徴量算出処理の流れ］
図４は、実施例１に係る単語列特徴量算出処理の流れの一例を示す図である。図４に示すように、ＦＡＱ１と問い合わせａのペアについて、ＦＡＱ１における問い合わせａの単語列ａ´に対する特徴量が算出されるものとする。問い合わせａの単語列ａ´は、「○○カード」，「再発行」，「出張」および「見当たる」であるとする。
【００４７】
このような状況の下、単語列特徴量算出部１３２は、ＦＡＱ単語特徴量テーブル２１から、単語列ａ´に含まれるそれぞれの単語について、ＦＡＱ１における単語の特徴量を取得する。ここでは、「○○カード」として０．３、「再発行」として０．９、「出張」として２、「見当たる」として０．７が取得される。
【００４８】
単語列特徴量算出部１３２は、式（８）を用いて、問い合わせａの単語列ａ´全体としてのＦＡＱ１に対する特徴量を計算する。すなわち、単語列特徴量算出部１３２は、問い合わせａがＦＡＱ１らしい単語列ａ´であるかどうかを単語列ａ´の特徴量によって表わす。ここでは、単語列ａ´全体としてのＦＡＱ１に対するスコア（特徴量）は、０．９と計算される。
【００４９】
これにより、ＦＡＱ１における問い合わせａの単語列ａ´全体の特徴量は、問い合わせａの単語列ａ´中の単語ｗのどれもが他のＦＡＱと比べてＦＡＱ１に出現する確率が大きい程高くなる。つまり、単語「再発行」について、たまたま出現する単語列よりも他の単語も合わせて出現する単語列の方が、ＦＡＱ１らしさを示すスコアが高くなる。例えば、ＦＡＱ１においては、たまたま「再発行」が出現する単語列「再発行  領収書  タクシー」よりも他の単語も合わせて出現する単語列ａ´「○○カード  再発行  出張  見当たる」のスコアが高くなる。
【００５０】
［語彙重要度算出処理の流れ］
図５Ａ〜図５Ｃは、実施例１に係る語彙重要度算出処理の流れの一例を示す図である。図５Ａに示すように、学習データ収集部１２によって収集されたＦＡＱと問い合わせのペアが表わされている。収集されたペアは、図３で示したペアと同じである。
【００５１】
このような状況の下、語彙重要度算出部１３３は、学習データ収集部１２によって収集されたＦＡＱと問い合わせのペアから、ＦＡＱごとにペアになる問い合わせとペアにならない問い合わせとにグループ化する。ここでは、一例として、ＦＡＱ１とペアになる（紐づく）問い合わせは、｛問い合わせａ，問い合わせｅ｝であり、ＦＡＱ１とペアにならない（紐づかない）問い合わせは、｛問い合わせｂ，問い合わせｃ，問い合わせｄ｝である。ＦＡＱ２とペアになる（紐づく）問い合わせは、｛問い合わせｂ，問い合わせｄ｝であり、ＦＡＱ２とペアにならない（紐づかない）問い合わせは、｛問い合わせａ，問い合わせｃ，問い合わせｅ｝である。
【００５２】
そして、語彙重要度算出部１３３は、問い合わせを単語分割して、単語列に変換する。ここでは、ＦＡＱ１とペアになる（紐づく）問い合わせの単語列の集合Ｃ１は、｛単語列ａ´，単語列ｅ´｝であり、ＦＡＱ１とペアにならない（紐づかない）問い合わせ単語列の集合は、｛単語列ｂ´，単語列ｃ´，単語列ｄ´｝である。ＦＡＱ２とペアになる（紐づく）問い合わせの単語列の集合Ｃ２は、｛単語列ｂ´，単語列ｄ´｝であり、ＦＡＱ２とペアにならない（紐づかない）問い合わせの単語列の集合は、｛単語列ａ´，単語列ｃ´，単語列ｅ´｝である。
【００５３】
図５Ｂに示すように、語彙重要度算出部１３３は、ＦＡＱごとに、ＦＡＱとペアになる単語列およびＦＡＱとペアにならない単語列を、ＦＡＱ単語特徴量テーブル２１の当該ＦＡＱに対応する単語の特徴量を用いて特徴量ベクトルに変換する。ここでは、ＦＡＱ１とペアになる単語列ａ´が特徴量ベクトルに変換される場合を説明する。単語列ａ´は、「○○カード  再発行  出張  見当たる」であるとする。
【００５４】
すると、語彙重要度算出部１３３は、ＦＡＱ単語特徴量テーブル２１から、単語列ａ´に含まれるそれぞれの単語について、ＦＡＱ１における単語の特徴量を取得する。そして、語彙重要度算出部１３３は、単語列ａ´をＦＡＱ１における特徴量ベクトルに変換する。ここでは、｛○○カード：０．３，再発行：０．９，出張：２，見当たる：０．７，・・・｝がＦＡＱ１における単語列ａ´の特徴量ベクトルである。
【００５５】
語彙重要度算出部１３３は、ＦＡＱ単語特徴量テーブル２１から、ＦＡＱ１における単語列ａ´に対する特徴量を取得する。そして、語彙重要度算出部１３３は、単語列ａ´について変換された特徴量ベクトルに当該単語列ａ´に対する特徴量を追加する。この結果、｛○○カード：０．３，再発行：０．９，出張：２，見当たる：０．７，・・・，単語列ａ´に対するスコア：０．９｝がＦＡＱ１における単語列ａ´の特徴量ベクトルとなる。
【００５６】
図５Ｃに示すように、語彙重要度算出部１３３は、ＦＡＱごとに、変換された特徴量ベクトルを用いて、パラメータベクトル（語彙の重要度）を算出する。ここでは、ＦＡＱ１のパラメータベクトルｗｃ１が算出される場合を説明する。なお、ＦＡＱ１とペアになる（紐づく）問い合わせの単語列の集合Ｃ１、ＦＡＱ１とペアにならない（紐づかない）問い合わせの単語列の集合は、図５Ｂと同じであるとする。
【００５７】
語彙重要度算出部１３３は、ＦＡＱ１の単語列群の中から単語列ｑを１つ取り出す。ここでは、単語列ａ´が取り出されたとする。単語列ａ´は、「○○カード  再発行  出張  見当たる」であるとする。
【００５８】
語彙重要度算出部１３３は、単語列ｑを特徴量ベクトルφｃ１（ｑ）へ変換する。単語列を特徴量ベクトルへ変換する処理は、図５Ｂで説明した処理の流れと同様であるので、その説明を省略する。ここでは、ＦＡＱ１における単語列ａ´の特徴量ベクトルφｃ１（ｑ）は、｛○○カード：０．３，再発行：０．９，出張：２，見当たる：０．７，・・・，単語列ａ´に対するスコア：０．９｝である。
【００５９】
語彙重要度算出部１３３は、以下の式（１１）に基づいて、ＦＡＱ１のパラメータベクトルｗｃ１を更新する。ここで、式（１１）のｗｔの初期値は０である。ｙは、単語列ｑがＦＡＱとペアであれば１であり、単語列ｑがＦＡＱとペアでなければ−１である。
ｗｔ＋１＝ｗｔ＋ｙφｃ１（ｑ）・・・式（１１）
【００６０】
すなわち、語彙重要度算出部１３３は、ＦＡＱ１とペアになる単語列に出現する特徴量の重みを正の方向に大きくなるように、ＦＡＱ１のパラメータベクトルｗｃ１を更新する。一方、語彙重要度算出部１３３は、ＦＡＱ１とペアにならない単語列に出現する特徴量の重みを負の方向に大きくなるように、ＦＡＱ１のパラメータベクトルｗｃ１を更新する。特徴量の重みは、特徴量の大きさに応じて更新幅が異なる。例えば、ＦＡＱ１とペアである単語列ａ´に「再発行」や「○○カード」が出現するが、「再発行」の特徴量は０．９であり「○○カード」の特徴量は０．３であるので、「再発行」の特徴量の重みは、「○○カード」よりも正の方向に大きく更新される。つまり、「再発行」における特徴量の重みの更新幅は、「○○カード」より大きくなる。
【００６１】
そして、語彙重要度算出部１３３は、ＦＡＱ１の単語列群から取り出されていない単語列ｑがなくなるまで１つずつ単語列ｑを取り出し、特徴量ベクトルへ変換し、単語列ｑがＦＡＱ１とペアであるかどうかによって特徴量の重みの更新を正か負に分けることを繰り返す。そして、語彙重要度算出部１３３は、ＦＡＱ１のパラメータベクトルｗｃ１を獲得する。ここでは、ＦＡＱ１のパラメータベクトルｗｃ１は、｛○○カード：０．３，再発行：０．９，出張：０．２，見当たる：０．７，・・・，単語列に対するスコア：０．９｝となる。
【００６２】
これにより、例えば、「再発行」がＦＡＱ１とペアである問い合わせのみならずペアでない問い合わせにもよく出現する場合には、ＦＡＱ１の特徴量が大きいのでＦＡＱ１との相関が高いように推測されたが、ＦＡＱ１との重要度は低くなる。つまり、「再発行」は、ＦＡＱ１らしくないと判断できる。一方、「再発行」がＦＡＱ１とペアである問い合わせに出現するがペアでない問い合わせに出現しない場合には、ＦＡＱ１との重要度は高くなる。つまり、「再発行」は、ＦＡＱ１らしいと判断できる。
【００６３】
［ランキング出力処理の流れ］
図６は、実施例１に係るランキング出力処理の流れの一例を示す図である。図６に示すように、ランキング出力部１４は、新規問い合わせを入力し、ＦＡＱのランキングを出力する。ここでは、新規問い合わせは、「財布を落として○○カードを無くしてしまったのですがどうすればよいでしょうか？」であるとする。
【００６４】
ランキング出力部１４は、新規問い合わせを単語分割して単語列に変換する。ランキング出力部１４は、新規問い合わせの単語列を、ＦＡＱ単語特徴量テーブル２１の各ＦＡＱに対応する単語の特徴量を用いて、ＦＡＱごとの特徴量ベクトルに変換する（Ｓ１０１）。ここでは、一例として、ＦＡＱ１の特徴量ベクトルは、｛財布：０．３，落とす：０．５，○○カード：０．２，無くす：０．２，・・・｝であるとする。
【００６５】
ランキング出力部１４は、ＦＡＱごとに、特徴量ベクトルとパラメータベクトルとの内積を算出する（Ｓ１０２）。ここでは、一例として、ＦＡＱ１のパラメータベクトルは、｛○○カード：０．６，・・・，落とす：０．６，無くす：０．６，・・・｝であるとする。すると、ＦＡＱ１の特徴量ベクトルとＦＡＱ１のパラメータベクトルとの内積は０．５４と算出される。同様に、ランキング出力部１４は、他のＦＡＱについても、特徴量ベクトルとパラメータベクトルとの内積を算出する（Ｓ１０１，Ｓ１０２）。
【００６６】
ランキング出力部１４は、ＦＡＱごとに算出された内積の値を大きい順にソートし（Ｓ１０３）、ＦＡＱをランキングして出力する（Ｓ１０４）。これにより、ランキング出力部１４は、新規問い合わせとＦＡＱの語彙が一致しなくても、新規問い合わせに対して適切なＦＡＱを出力できる。
【００６７】
［情報処理のフローチャート］
図７は、実施例１に係る情報処理のフローチャートを示す図である。
【００６８】
図７に示すように、閾値設定部１１は、ユーザから閾値を受け取ると、受け取った閾値を記憶部２０に設定する（ステップＳ１１）。学習データ収集部１２は、回答済みの問い合わせ履歴およびＦＡＱを記憶部２０から読み出し、問い合わせおよびＦＡＱの回答部分の類似度を元に、問い合わせの質問とＦＡＱのペアを収集する（ステップＳ１２）。例えば、学習データ収集部１２は、ＦＡＱの回答と問い合わせの回答との類似度を算出する。学習データ収集部１２は、類似度が閾値以上のＦＡＱの回答と問い合わせの回答に対応するＦＡＱと問い合わせのペアを収集する。
【００６９】
続いて、単語特徴量算出部１３１は、ＦＡＱごとに、ペアになる問い合わせをグループ化する（ステップＳ１３）。単語特徴量算出部１３１は、ＦＡＱごとに、グループに含まれる単語の特徴量を計算し、ＦＡＱ単語特徴量テーブル２１に保存する（ステップＳ１４）。例えば、単語特徴量算出部１３１は、ＦＡＱとペアになる問い合わせの集合に含まれる単語の出現確率を、式（６）を用いて算出する。そして、単語特徴量算出部１３１は、算出された結果と式（７）を用いて、単語のＦＡＱにおける相対的な重要度（特徴量）を算出する。
【００７０】
続いて、単語列特徴量算出部１３２は、ＦＡＱごとに、問い合わせの単語列に対する特徴量を計算し、ＦＡＱ単語特徴量テーブル２１に保存する（ステップＳ１５）。例えば、単語列特徴量算出部１３２は、問い合わせから抽出した単語列と、ＦＡＱ単語特徴量テーブル２１のＦＡＱごとの単語の特徴量を用いて、各ＦＡＱにおける問い合わせの単語列に対する特徴量を計算する。
【００７１】
続いて、語彙重要度算出部１３３は、ＦＡＱを選択する（ステップＳ１６）。語彙重要度算出部１３３は、選択したＦＡＱとペアになる問い合わせの第１グループとペアにならない第２グループに分ける（ステップＳ１７）。
【００７２】
そして、語彙重要度算出部１３３は、第１グループおよび第２グループのそれぞれの問い合わせの単語列を、それぞれ選択ＦＡＱの特徴量ベクトルへ変換する（ステップＳ１８）。例えば、語彙重要度算出部１３３は、選択したＦＡＱとペアになる単語列を、ＦＡＱ単語特徴量テーブル２１の当該ＦＡＱに対応する単語の特徴量を用いて特徴量ベクトルへ変換する。語彙重要度算出部１３３は、選択したＦＡＱとペアにならない単語列を、ＦＡＱ単語特徴量テーブル２１の当該ＦＡＱに対応する単語の特徴量を用いて特徴量ベクトルへ変換する。語彙重要度算出部１３３は、単語列について変換された特徴量ベクトルに当該単語列に対する特徴量を追加する。
【００７３】
そして、語彙重要度算出部１３３は、問い合わせの単語列が変換された特徴量ベクトルを用いてパラメータベクトルを計算する（ステップＳ１９）。例えば、語彙重要度算出部１３３は、選択したＦＡＱとペアになる問い合わせの単語列に出現する特徴量の重みを正の方向に大きくなるように、当該ＦＡＱのパラメータベクトルを更新する。語彙重要度算出部１３３は、選択したＦＡＱとペアにならない問い合わせの単語列に出現する特徴量の重みを負の方向に大きくなるように、当該ＦＡＱのパラメータベクトルを更新する。
【００７４】
そして、語彙重要度算出部１３３は、全てのＦＡＱを選択したか否かを判定する（ステップＳ２０）。全てのＦＡＱを選択していないと判定した場合には（ステップＳ２０；Ｎｏ）、語彙重要度算出部１３３は、次のＦＡＱを選択すべく、ステップＳ１６に移行する。
【００７５】
一方、全てのＦＡＱを選択したと判定した場合には（ステップＳ２０；Ｙｅｓ）、語彙重要度算出部１３３は、ＦＡＱごとに計算されたパラメータベクトルをＦＡＱパラメータベクトルテーブル２２に保存する（ステップＳ２１）。そして、情報処理が終了する。
【００７６】
［実施例１の効果］
上記実施例１によれば、情報処理装置１は、過去の問合せについて、ＦＡＱごとに、類似する問合せと類似しない問合せとにグループ化する。情報処理装置１は、それぞれのＦＡＱについて、グループ化された類似する問合せに出現する単語ごとにＦＡＱに対する特徴量をそれぞれ算出する。情報処理装置１は、それぞれのＦＡＱについて、単語ごとのＦＡＱに対する特徴量を用いて、グループ化された類似する問合せから抽出される単語列を特徴量ベクトルに変換し、グループ化された類似しない問合せから抽出される単語列を特徴量ベクトルに変換する。情報処理装置１は、それぞれのＦＡＱについて、グループ化された類似する問合せから抽出される単語列の特徴量ベクトルおよびグループ化された類似しない問合せから抽出される単語列の特徴量ベクトルに基づいて、以下の処理を行う。すなわち、情報処理装置１は、ＦＡＱに対する単語ごとの重要度を示すパラメータベクトルを更新する。かかる構成によれば、情報処理装置１は、新規の問合せとＦＡＱの単語が一致していなくても、パラメータベクトルを用いることで新規の問合せに対して適切なＦＡＱを出力することが可能となる。
【００７７】
また、上記実施例１によれば、情報処理装置１は、グループ化された類似する問合せから抽出される単語列の特徴量ベクトルのそれぞれの特徴量をパラメータベクトルの同一の位置の成分にプラスする。情報処理装置１は、グループ化された類似しない問合せから抽出される単語列の特徴量ベクトルのそれぞれの特徴量をパラメータベクトルの同一の位置の成分にマイナスして前記パラメータベクトルを更新する。かかる構成によれば、情報処理装置１は、問合せがＦＡＱに類似しているか否かによって特徴量ベクトルを正か負に分けてパラメータベクトルを更新することで、ＦＡＱの中で単語の重要度を得ることができる。
【００７８】
また、上記実施例１によれば、情報処理装置１は、それぞれのＦＡＱについて、グループ化された類似する問合せから抽出される単語列およびグループ化された類似しない問合せから抽出される単語列に対する特徴量をそれぞれ算出する。情報処理装置１は、グループ化された類似する問合せから抽出される単語列の特徴量ベクトルに単語列に対する特徴量を追加する。情報処理装置１は、グループ化された類似しない問合せから抽出される単語列の特徴量ベクトルに単語列に対する特徴量を追加する。かかる構成によれば、情報処理装置１は、問合せがＦＡＱに類似しているか否かによって特徴量ベクトルを正か負に分けてパラメータベクトルを更新することで、ＦＡＱの中で単語および単語列、すなわち語彙の重要度を得ることができる。
【００７９】
また、上記実施例１によれば、情報処理装置１は、新規の問合せから抽出される単語列を、単語ごとのＦＡＱに対する特徴量を用いて、それぞれのＦＡＱにおける特徴量ベクトルに変換する。情報処理装置１は、それぞれのＦＡＱについて、変換された特徴量ベクトルと、パラメータベクトルとの内積を算出する。情報処理装置１は、算出された内積の値に基づいて、それぞれのＦＡＱのランキングを出力する。かかる構成によれば、情報処理装置１は、新規の問合せとＦＡＱの単語が一致していなくても、新規の問合せに対して適切なＦＡＱを出力できる。
【実施例２】
【００８０】
ところで、実施例１に係る情報処理装置１では、ＦＡＱごとに、ペアとなる問い合わせから抽出される単語列を特徴量ベクトルに変換し、ペアとならない問い合わせから抽出される単語列を特徴量ベクトルに変換する。そして、情報処理装置１は、これらの特徴量ベクトルに基づいて、ＦＡＱごとのパラメータベクトルを生成する。しかしながら、情報処理装置１は、これに限定されず、ＦＡＱごとのパラメータベクトルを用いて計算された結果をランキング学習のパラメータベクトルに追加しても良い。ランキング学習のパラメータベクトルは、以降、「ランキングパラメータベクトル」というものとする。
【００８１】
そこで、実施例２では、情報処理装置１は、これに限定されず、ＦＡＱごとのパラメータベクトルを用いて計算された結果をランキング学習のパラメータベクトルに追加する場合を説明する。
【００８２】
［実施例２に係る情報処理装置の構成］
図８は、実施例２に係る情報処理装置の構成を示す機能ブロック図である。なお、図１に示す情報処理装置１と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例１と実施例２とが異なるところは、ランキングパラメータ学習部３１およびランキングパラメータベクトル４１を追加した点である。実施例１と実施例２とが異なるところは、ランキング出力部１４Ａを変更した点である。
【００８３】
ランキングパラメータベクトル４１は、ランキングのパラメータベクトルを示す。ランキングパラメータベクトル４１は、ランキングパラメータ学習３１によって生成され、ランキング出力部１４Ａによって用いられる。なお、ランキングパラメータベクトル４１の説明は、後述する。
【００８４】
ランキングパラメータ学習部３１は、ランキングのパラメータを学習する。ランキングパラメータ学習部３１は、学習したランキングのパラメータをランキングパラメータベクトル４１として記憶部２０に保存する。
【００８５】
例えば、ランキングパラメータ学習部３１は、学習データ収集部１２によって収集された問い合わせに対して、どのＦＡＱが正解らしいかを学習する。なお、かかる学習方法は、既存のいかなる技術を用いても良い。
【００８６】
そして、ランキングパラメータ学習部３１は、問い合わせごとに、正解のＦＡＱと不正解のＦＡＱのペアの集合を作成し、ペアごとに正解のＦＡＱが不正解のＦＡＱよりもスコアが大きくなるようにランキングパラメータベクトル４１を更新する。すなわち、ランキングパラメータ学習部３１は、問い合わせに対して正解のＦＡＱを紐付けるためにランキングパラメータベクトル４１を更新する。ここでいうスコアとは、「ランキングの特徴量ベクトル」のことをいう。「ランキングの特徴量ベクトル」とは、問い合わせとＦＡＱの質問部分の単語の一致率および問い合わせとＦＡＱの回答部分の単語の一致率に、ＦＡＱごとのパラメータベクトルを用いて計算された結果を追加したベクトルである。なお、ランキングの特徴量ベクトルの説明は、後述する。
【００８７】
［ランキングパラメータ学習処理の概要］
ここで、実施例２に係るランキングパラメータ学習処理の概要を、図９を参照して説明する。図９は、実施例２に係るランキングパラメータ学習処理の概要を示す図である。
【００８８】
図９に示すように、ランキングパラメータ学習部３１は、学習データ収集部１２によって収集された問い合わせに対して、どのＦＡＱが正解らしいかを学習する。ここでは、問い合わせａに対して、ＦＡＱ１が正解らしいかが学習される。問い合わせｂに対して、ＦＡＱ２が正解らいしいかが学習される。
【００８９】
そして、ランキングパラメータ学習部３１は、問い合わせごとに、正解のＦＡＱと不正解のＦＡＱのペアの集合を作成する。ここでは、問い合わせａと正解のＦＡＱ１とのペア、問い合わせａと不正解のＦＡＱ２とのペア、問い合わせａと不正解のＦＡＱ３とのペア，・・・が作成される。問い合わせｂと正解のＦＡＱ２とのペア、問い合わせｂと不正解のＦＡＱ１とのペア、問い合わせｂと不正解のＦＡＱ３とのペア，・・・が作成される。
【００９０】
そして、ランキングパラメータ学習部３１は、ペアごとに正解のＦＡＱが不正解のＦＡＱよりもスコアが大きくなるようにランキングパラメータベクトル４１を更新する。ここでは、ランキングパラメータ学習部３１は、問い合わせａに対する正解のＦＡＱ１のスコアが不正解のＦＡＱ２のスコアより大きくなるようにランキングパラメータベクトル４１を更新する。さらに、ランキングパラメータ学習部３１は、問い合わせａに対する正解のＦＡＱ１のスコアが不正解の別のＦＡＱのスコアより大きくなるようにランキングパラメータベクトル４１を更新する。同様に、問い合わせｂ、問い合わせｃ、・・・に対しても、ランキングパラメータ学習部３１は、正解のＦＡＱのスコアが不正解のＦＡＱのスコアより大きくなるようにランキングパラメータベクトル４１の更新を繰り返す。ランキングパラメータ学習部３１は、更新結果であるランキングパラメータベクトル４１を記憶部２０に保存する。
【００９１】
図８に戻って、ランキング出力部１４Ａは、新規の問い合わせに対して、ＦＡＱごとのスコア（ランキングの特徴量ベクトル）およびランキングパラメータベクトル４１を用いて、ＦＡＱをランキングして出力する。例えば、ランキング出力部１４Ａは、新規の問い合わせに対して、ＦＡＱごとにスコア（ランキングの特徴量ベクトル）を計算する。ランキング出力部１４Ａは、ＦＡＱごとに、スコアとランキングパラメータベクトル４１との内積を算出する。算出される内積の値は、新規の問い合わせがどれくらいＦＡＱらしいかを示す値といえる。ランキング出力部１４Ａは、算出された内積の値を大きい順にソートし、ＦＡＱをランキングして出力する。
【００９２】
［ランキングパラメータ学習処理の流れ］
図１０Ａおよび図１０Ｂは、実施例２に係るランキングパラメータ学習処理の流れの一例を示す図である。なお、ランキングパラメータ学習部３１は、問い合わせごとに、正解のＦＡＱと不正解のＦＡＱのペアの集合を作成したものとする。
【００９３】
図１０Ａに示すように、ランキングパラメータ学習部３１は、問い合わせとＦＡＱのペアごとに、問い合わせ、ＦＡＱの質問部分およびＦＡＱの回答部分をそれぞれ単語列へ変換する。ここでは、問い合わせａが単語列に変換されている。ＦＡＱ１の質問部分（Ｑの部分）および回答部分（Ａの部分）が単語列に変換されている。ＦＡＱ２の質問部分（Ｑの部分）および回答部分（Ａの部分）が単語列に変換されている。
【００９４】
ランキングパラメータ学習部３１は、問い合わせに対するＦＡＱをスコア（ランキングの特徴量ベクトル）へ変換する。ここでは、一例として、問い合わせａに対するＦＡＱ１がスコア（ランキングの特徴量ベクトル）へ変換される場合を説明する。
【００９５】
まず、ランキングパラメータ学習部３１は、ＦＡＱ単語特徴量テーブル２１から、問い合わせａをＦＡＱ１における特徴量ベクトルに変換する。かかる変換方法は、語彙重要度算出部１３３によって行われる方法と同様である。ここでは、問い合わせａの単語列ａ´は、「○○カード  再発行  今  出張  カード  見当たる」である。ＦＡＱ１における特徴量ベクトルは、｛○○カード：０．３，再発行：０．９，出張：２，見当たる：０．７，・・，単語列ａ´に対するスコア：０．９｝であるとする。
【００９６】
次に、ランキングパラメータ学習部３１は、問い合わせａとＦＡＱ１の質問部分の単語の一致率を算出する。この算出結果が、スコア（ランキングの特徴量ベクトル）の第１成分となる。ランキングパラメータ学習部３１は、問い合わせａとＦＡＱ１の回答部分の単語の一致率を算出する。この算出結果が、スコア（ランキングの特徴量ベクトル）の第２成分となる。一例として、ランキングパラメータ学習部３１は、問い合わせａの単語列ａ´とＦＡＱ１の質問部分の単語列Ｑ１のコサイン類似度を算出する。ランキングパラメータ学習部３１は、問い合わせａの単語列ａ´とＦＡＱ１の回答部分の単語列Ａ１のコサイン類似度を算出する。ここでは、単語列Ｑ１のコサイン類似度（Ｑのコサイン類似度）は０．３であるとする。単語列Ａ１のコサイン類似度（Ａのコサイン類似度）は０．１であるとする。
【００９７】
次に、ランキングパラメータ学習部３１は、問い合わせａのＦＡＱ１における特徴量ベクトルと、ＦＡＱ１のパラメータベクトルとの内積を算出する。この算出結果が、スコア（ランキングの特徴量ベクトル）の第３成分となる。算出される内積の値は、問い合わせａがどれくらいＦＡＱ１らしいかを示す値といえる。ＦＡＱ１のパラメータベクトルは、ＦＡＱパラメータベクトルテーブル２２に記憶されている。ここでは、内積の値は０．８であるとする。
【００９８】
この結果、ランキングパラメータ学習部３１は、問い合わせａに対するＦＡＱ１のスコア（ランキングの特徴量ベクトル）を取得する。ここでは、スコア（ランキングの特徴量ベクトル）は、Ｑのコサイン類似度として０．３，Ａのコサイン類似度として０．１，内積として０．８となる。
【００９９】
同様にして、ランキングパラメータ学習部３１は、問い合わせごとに作成された正解のＦＡＱとのペアおよび不正解のＦＡＱとのペアについて、問い合わせに対するＦＡＱをスコア（ランキングの特徴量ベクトル）へ変換する。
【０１００】
図１０Ｂに示すように、ランキングパラメータ学習部３１は、問い合わせに対する２つのＦＡＱのスコアの差を計算し、正解のＦＡＱのスコアが不正解のＦＡＱのスコアよりも大きくなるようにランキングパラメータベクトル４１を更新する。ここでは、一例として、ランキングパラメータ学習部３１は、問い合わせａに対するＦＡＱ１およびＦＡＱ２の２つのスコアを用いて、ランキングパラメータベクトル４１を更新する場合を説明する。問い合わせａに対してＦＡＱ１は、正解であるとする。問い合わせａに対してＦＡＱ２は、不正解であるとする。
【０１０１】
まず、ランキングパラメータ学習部３１は、問い合わせａに対する正解のＦＡＱ１のランキングの特徴量ベクトルφｒ（ＦＡＱ１）が不正解のＦＡＱ２のランキングの特徴量ベクトルφｒ（ＦＡＱ２）よりも大きくなるように差を計算する。ここでは、φｒ（ＦＡＱ１）は、｛Ｑのコサイン類似度：０．３，Ａのコサイン類似度：０．１，内積：０．８｝であるとする。φｒ（ＦＡＱ２）は、｛Ｑのコサイン類似度：０．２，Ａのコサイン類似度：０．４，内積：０．２｝であるとする。すると、φｒ（ＦＡＱ１）からφｒ（ＦＡＱ２）を引いた差は、｛Ｑのコサイン類似度：０．１，Ａのコサイン類似度：−０．３，内積：０．６｝と算出される。
【０１０２】
次に、ランキングパラメータ学習部３１は、計算された差をランキングパラメータベクトル４１に加算して、ランキングパラメータベクトル４１を更新する。
【０１０３】
同様にして、ランキングパラメータ学習部３１は、問い合わせａに対する正解のＦＡＱ１のスコアが問い合わせａに対する他の不正解のＦＡＱのスコアよりも大きくなるように、ランキングパラメータベクトル４１を更新し続ける。ランキングパラメータ学習部３１は、他の問い合わせに対する正解のＦＡＱのスコアが他の問い合わせに対する不正解のＦＡＱのスコアよりも大きくなるように、ランキングパラメータベクトル４１を更新し続ける。そして、ランキングパラメータ学習部３１は、ランキングパラメータベクトル４１を獲得する。すなわち、ランキングパラメータ学習部３１は、特徴量の差が正に大きい程、正解のＦＡＱを紐付けるための重要な特徴になるとして、特徴量の重みを正の方向に更新し、特徴量の差が負に大きい程、特徴量の重みを負の方向に更新する。
【０１０４】
これにより、ランキングパラメータ学習部３１は、ＦＡＱごとのパラメータベクトルを用いて計算された内積をランキングパラメータベクトル４１に追加することで、問い合わせと正解のＦＡＱの単語が一致しなくても、正解のＦＡＱを上位にランキングできる。すなわち、ランキングパラメータ学習部３１は、ランキング学習の特徴量に加えてＦＡＱごとの語彙の重要度を用いて計算された結果を利用することで、ＦＡＱのランキングの精度を向上できる。なお、学習データがなく、ＦＡＱらしさを内積で表現できないＦＡＱがあっても、ランキングパラメータ学習部３１は、他の特徴量（ランキング学習の特徴量）を利用してＦＡＱをランキングできる。
【０１０５】
［ランキング出力処理の流れ］
図１１は、実施例２に係るランキング出力処理の流れの一例を示す図である。図１１に示すように、ランキング出力部１４Ａは、新規問い合わせを入力し、ＦＡＱのランキングを出力する。
【０１０６】
ランキング出力部１４Ａは、新規問い合わせを単語分割して単語列に変換する。ランキング出力部１４Ａは、新規問い合わせの単語列を、ＦＡＱ単語特徴量テーブル２１の各ＦＡＱに対応する単語の特徴量を用いて、ＦＡＱごとの特徴量ベクトルに変換する（Ｓ２０１）。ランキング出力部１４Ａは、ＦＡＱごとに、変換された特徴量ベクトルとパラメータベクトルとの内積を算出する（Ｓ２０２）。
【０１０７】
ランキング出力部１４Ａは、新規問い合わせの単語列とＦＡＱ１の質問部分の単語列のコサイン類似度および新規問い合わせの単語列とＦＡＱ１の回答部分の単語列のコサイン類似度を計算する（Ｓ２０３）。ランキング出力部１４Ａは、ＦＡＱ１をスコア（ランキングの特徴量ベクトル）に変換する。すなわち、ランキング出力部１４Ａは、Ｓ２０３で計算されたＦＡＱ１の質問部分のコサイン類似度、Ｓ２０３で計算されたＦＡＱ１の回答部分のコサイン類似度およびＳ２０２で計算された内積をＦＡＱ１のスコアとする。
【０１０８】
ランキング出力部１４Ａは、ＦＡＱ１のランキングの特徴量ベクトルとランキングパラメータベクトル４１との内積を計算する（Ｓ２０４）。
【０１０９】
同様に、ランキング出力部１４Ａは、他のＦＡＱについても、ＦＡＱのランキングの特徴量ベクトルとランキングパラメータベクトル４１との内積を計算する（Ｓ２０１〜Ｓ２０４）。
【０１１０】
ランキング出力部１４Ａは、ＦＡＱごとに算出された内積の値を大きい順にソートし（Ｓ２０５）、ＦＡＱをランキングして出力する（Ｓ２０６）。これにより、ランキング出力部１４Ａは、新規問い合わせとＦＡＱの語彙が一致しなくても、新規問い合わせに対して適切なＦＡＱを出力できる。
【０１１１】
［情報処理のフローチャート］
図１２は、実施例２に係る情報処理のフローチャートを示す図である。なお、実施例２に係る情報処理のＳ１１〜Ｓ２１は、実施例１に係る情報処理のフローチャートと同様であるので、簡略して説明する。
【０１１２】
図１２に示すように、閾値設定部１１は、ユーザから閾値を受け取ると、受け取った閾値を記憶部２０に設定する（ステップＳ１１）。学習データ収集部１２は、回答済みの問い合わせ履歴およびＦＡＱを記憶部２０から読み出し、問い合わせおよびＦＡＱの回答部分の類似度を元に、問い合わせの質問とＦＡＱのペアを収集する（ステップＳ１２）。
【０１１３】
続いて、単語特徴量算出部１３１は、ＦＡＱごとに、ペアになる問い合わせをグループ化する（ステップＳ１３）。単語特徴量算出部１３１は、ＦＡＱごとに、グループに含まれる単語の特徴量を計算し、ＦＡＱ単語特徴量テーブル２１に保存する（ステップＳ１４）。
【０１１４】
続いて、単語列特徴量算出部１３２は、ＦＡＱごとに、問い合わせの単語列に対する特徴量を計算し、ＦＡＱ単語特徴量テーブル２１に保存する（ステップＳ１５）。例えば、単語列特徴量算出部１３２は、問い合わせから抽出した単語列と、ＦＡＱ単語特徴量テーブル２１のＦＡＱごとの単語の特徴量を用いて、各ＦＡＱにおける問い合わせの単語列に対する特徴量を計算する。
【０１１５】
続いて、語彙重要度算出部１３３は、ＦＡＱを選択する（ステップＳ１６）。語彙重要度算出部１３３は、選択したＦＡＱとペアになる問い合わせの第１グループとペアにならない第２グループに分ける（ステップＳ１７）。
【０１１６】
そして、語彙重要度算出部１３３は、第１グループおよび第２グループのそれぞれの問い合わせの単語列を、それぞれ選択ＦＡＱの特徴量ベクトルへ変換する（ステップＳ１８）。そして、語彙重要度算出部１３３は、問い合わせの単語列が変換された特徴量ベクトルを用いてパラメータベクトルを計算する（ステップＳ１９）。
【０１１７】
そして、語彙重要度算出部１３３は、全てのＦＡＱを選択したか否かを判定する（ステップＳ２０）。全てのＦＡＱを選択していないと判定した場合には（ステップＳ２０；Ｎｏ）、語彙重要度算出部１３３は、次のＦＡＱを選択すべく、ステップＳ１６に移行する。
【０１１８】
一方、全てのＦＡＱを選択したと判定した場合には（ステップＳ２０；Ｙｅｓ）、語彙重要度算出部１３３は、ＦＡＱごとに計算されたパラメータベクトルをＦＡＱパラメータベクトルテーブル２２に保存する（ステップＳ２１）。
【０１１９】
ランキングパラメータ学習部３１は、全ての問い合わせに対して正解のＦＡＱと不正解のＦＡＱを学習する（ステップＳ３１）。
【０１２０】
続いて、ランキングパラメータ学習部３１は、問い合わせを選択する（ステップＳ３２）。
【０１２１】
ランキングパラメータ学習部３１は、選択した問い合わせに対して正解のＦＡＱと不正解のＦＡＱとをそれぞれランキングの特徴量ベクトルへ変換する（ステップＳ３３）。例えば、ランキングパラメータ学習部３１は、ＦＡＱ単語特徴量テーブル２１から、選択した問い合わせを正解のＦＡＱにおける特徴量ベクトルに変換する。ランキングパラメータ学習部３１は、選択した問い合わせと正解のＦＡＱの質問部分の単語の一致率（コサイン類似度）を算出する。ランキング学習部３１は、選択した問い合わせと正解のＦＡＱの回答部分の単語の一致率（コサイン類似度）を算出する。ランキングパラメータ学習部３１は、選択した問い合わせの正解ＦＡＱにおける特徴量ベクトルと、正解ＦＡＱのパラメータベクトルとの内積を算出する。この結果、ランキングパラメータ学習部３１は、選択した問い合わせに対する正解ＦＡＱのランキングの特徴量ベクトルを取得する。ランキングパラメータ学習部３１は、不正解のＦＡＱについても同様に、選択した問い合わせに対するＦＡＱのランキングの特徴量ベクトルを取得する。
【０１２２】
ランキングパラメータ学習部３１は、正解のＦＡＱと不正解のＦＡＱとのランキングの特徴量ベクトルの差を計算する（ステップＳ３４）。ランキングパラメータ学習部３１は、正解のＦＡＱのランキングの特徴量ベクトルが不正解のＦＡＱのランキングの特徴量ベクトルよりも大きくなるように、ランキングパラメータベクトル４１を更新する（ステップＳ３５）。
【０１２３】
そして、ランキングパラメータ学習部３１は、全ての問い合わせを選択したか否かを判定する（ステップＳ３６）。全ての問い合わせを選択していないと判定した場合には（ステップＳ３６；Ｎｏ）、ランキングパラメータ学習部３１は、次の問い合わせを選択すべく、ステップＳ３２に移行する。
【０１２４】
一方、全ての問い合わせを選択したと判定した場合には（ステップＳ３６；Ｙｅｓ）、ランキングパラメータ学習部３１は、ランキングパラメータベクトル４１を記憶部２０に保存する（ステップＳ３７）。そして、情報処理が終了する。
【０１２５】
［実施例２の効果］
上記実施例２によれば、情報処理装置１は、それぞれのＦＡＱにおけるパラメータベクトルを用いて計算された結果をランキング学習のランキングパラメータベクトル４１に追加する。かかる構成によれば、情報処理装置１は、新規の問い合わせと正解のＦＡＱの単語が一致しなくても、正解のＦＡＱを上位にランキング出力することができる。
【０１２６】
［その他］
なお、図示した情報処理装置１の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置１の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、単語特徴量算出部１３１と単語列特徴量算出部１３２とを１つの部として統合しても良い。また、記憶部２０を情報処理装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【０１２７】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した情報処理装置１と同様の機能を実現する情報処理プログラムを実行するコンピュータの一例を説明する。図１３は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【０１２８】
図１３に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１２９】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、情報処理プログラム２０５ａおよび情報処理関連情報２０５ｂを記憶する。
【０１３０】
ＣＰＵ２０３は、情報処理プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置１の各機能部に対応する。情報処理関連情報２０５ｂは、ＦＡＱ単語特徴量テーブル２１およびＦＡＱパラメータベクトルテーブル２２に対応する。そして、例えばリムーバブルディスク２１１が、情報処理プログラム２０５ａなどの各情報を記憶する。
【０１３１】
なお、情報処理プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから情報処理プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【０１３２】
１  情報処理装置
１０  制御部
１１  閾値設定部
１２  学習データ収集部
１３  語彙重要度学習部
１３１  単語特徴量算出部
１３２  単語列特徴量算出部
１３３  語彙重要度算出部
１４，１４Ａ  ランキング出力部
２０  記憶部
２１  ＦＡＱ単語特徴量テーブル
２２  ＦＡＱパラメータベクトルテーブル
３１  ランキングパラメータ学習部
４１  ランキングパラメータベクトル
【図１】
2017151926.tif 000013
【図２】
2017151926.tif 000014
【図３】
2017151926.tif 000015
【図４】
2017151926.tif 000016
【図５Ａ】
2017151926.tif 000017
【図５Ｂ】
2017151926.tif 000018
【図５Ｃ】
2017151926.tif 000019
【図６】
2017151926.tif 000020
【図７】
2017151926.tif 000021
【図８】
2017151926.tif 000022
【図９】
2017151926.tif 000023
【図１０Ａ】
2017151926.tif 000024
【図１０Ｂ】
2017151926.tif 000025
【図１１】
2017151926.tif 000026
【図１２】
2017151926.tif 000027
【図１３】
2017151926.tif 000028