(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】文書検索装置、方法、プログラムおよび学習装置
(51)【国際特許分類】
G06F 16/338 20190101AFI20240701BHJP
G06F 40/279 20200101ALI20240701BHJP
G06F 16/35 20190101ALI20240701BHJP
【FI】
G06F16/338
G06F40/279
G06F16/35
(21)【出願番号】P 2020169641
(22)【出願日】2020-10-07
【審査請求日】2023-02-17
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】布目 光生
【審査官】松尾 真人
(56)【参考文献】
【文献】米国特許出願公開第2019/0074987(US,A1)
【文献】特開2006-134183(JP,A)
【文献】米国特許出願公開第2020/0073953(US,A1)
【文献】米国特許出願公開第2016/0041985(US,A1)
【文献】特開2015-088064(JP,A)
【文献】特開2019-160259(JP,A)
【文献】特開2009-238115(JP,A)
【文献】特開2020-047246(JP,A)
【文献】国際公開第2019/106965(WO,A1)
【文献】金丸 浩司,文間の類似性を用いた国会会議録のトピック別要約の検討,第67回(平成17年)全国大会講演論文集(2) 人工知能と認知科学,社団法人情報処理学会,2005年03月02日,pp.2-439~2-440,1ZA-8
【文献】佐々木 拓郎,情報利得比に基づく語の重要度とMMRの統合による複数文書要約,情報処理学会研究報告,社団法人情報処理学会,2002年11月13日,第2002巻, 第104号,pp.63~70
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 10/00-99/00
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
複数の文書からクエリに関連する1以上の関連文書を検索する検索部と、
前記関連文書のトピックを抽出する抽出部と、
表示順序および文書の要約を生成する学習済みモデルを用いて、
ユーザの閲覧状況に応じた前記関連文書の表示順序を決定する決定部と、
前記関連文書を前記学習済みモデル
に入力することで、前記表示順序が上位であると決定された関連文書から順に、前記トピックごと
の前記関連文書の要約を生成する生成部と、
を具備する文書検索装置。
【請求項2】
前記トピックごと
の前記関連文書の要約を
、グループ化した表示態様で表示する表示制御部をさらに具備する、請求項1に記載の文書検索装置。
【請求項3】
前記表示制御部は、関連文書の数が多いトピックから順に表示する、請求項2に記載の文書検索装置。
【請求項4】
前記表示制御部は、前記トピックに対して、時系列に沿った前記トピックの出現頻度に基づくラベルを付与する請求項2または請求項3に記載の文書検索装置。
【請求項5】
前記関連文書は、第1文書と前記第1文書に関連する第2文書とが対となる構造を有する文書である、請求項1から請求項4のいずれか1項に記載の文書検索装置。
【請求項6】
前記生成部は、少なくとも前記第2文書の要約を生成する、請求項5に記載の文書検索装置。
【請求項7】
前記関連文書は、第1文書と前記第1文書に関連する第2文書とが対となる構造を有する文書であり、
前記表示制御部は、同一のトピックを含むとしてグルーピングされた関連文書群において、前記第1文書と前記第2文書の要約とを1組として表示する、請求項2から請求項4のいずれか1項に記載の文書検索装置。
【請求項8】
前記第1文書は質問文であり、前記第2文書は前記質問文に対する回答文である、請求項5から請求項7のいずれか1項に記載の文書検索装置。
【請求項9】
検索手段が、複数の文書からクエリに関連する1以上の関連文書を検索し、
抽出手段が、前記関連文書のトピックを抽出し、
決定手段が、表示順序および文書の要約を生成する学習済みモデルを用いて、
ユーザの閲覧状況に応じた前記関連文書の表示順序を決定し、
生成手段が、前記関連文書を前記学習済みモデル
に入力することで、前記表示順序が上位であると決定された関連文書から順に、前記トピックごと
の前記関連文書の要約を生成する、文書検索方法。
【請求項10】
コンピュータを、
複数の文書からクエリに関連する1以上の関連文書を検索する検索手段と、
前記関連文書のトピックを抽出する抽出手段と、
表示順序および文書の要約を生成する学習済みモデルを用いて、
ユーザの閲覧状況に応じた前記関連文書の表示順序を決定する決定手段と、
前記関連文書を前記学習済みモデル
に入力することで、前記表示順序が上位であると決定された関連文書から順に、前記トピックごと
の前記関連文書の要約を生成する生成手段として機能させるための文書検索プログラム。
【請求項11】
比較対象となる複数の文書を入力データとし、ユーザが前記複数の文書のうちの1つに関心があることを示す関心情報を正解データとして第1モデルを学習することで、入力された文書のうち関心情報が付与される第1文書が上位となるように表示順序を決定する順序付けモデルを生成し、
前記第1モデルと一部の
隠れ層を共有する第2モデルに対し、前記第1文書と、前記第1文書と対となる第2文書とを入力データとし、前記第2文書の要約を正解データとして学習させることで、前記第2文書の要約を生成する要約生成モデルを生成する学習部を具備する、学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、文書検索装置、方法、プログラムおよび学習装置に関する。
【背景技術】
【0002】
文書の電子データ化の普及に伴い、例えば国会の質問主意書、地方議会会議録での質疑応答といった電子データが蓄積されている。このような電子データを提供しているWebサイトでは、キーワード、会議名、開催回などをクエリとして目的の文書を検索する検索機能が提供される。
【0003】
しかし、上述の検索機能による絞り込み検索では、新たなトピックや論点が次々発生する文書から、あるトピックに対する一連の流れを把握することが難しい。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、上述の課題を解決するためになされたものであり、把握容易な検索結果を提供することを目的とする。
【課題を解決するための手段】
【0006】
本実施形態に係る文書検索装置は、検索部と、抽出部と、決定部と、生成部とを含む。検索部は、複数の文書からクエリに関連する1以上の関連文書を検索する。抽出部は、前記関連文書のトピックを抽出する。決定部は、表示順序および文書の要約を生成する学習済みモデルを用いて、前記関連文書の表示順序を決定する。生成部は、前記表示順序の決定結果と前記学習済みモデルとを用いて、前記トピックごとに前記関連文書の要約を生成する。
【図面の簡単な説明】
【0007】
【
図1】第1の実施形態に係る文書検索装置を示すブロック図。
【
図2】第1の実施形態に係る文書検索装置の動作を示すフローチャート。
【
図3】第1の実施形態に係るトピックの抽出処理の第1例を示す図。
【
図4】第1の実施形態に係るトピックの抽出処理の第2例を示す図。
【
図5】第1の実施形態に係るトピックの抽出処理の第3例を示す図。
【
図6】第1の実施形態に係る学習済みモデルの一例を示す図。
【
図7】第1の実施形態に係るクエリの検索結果の表示例を示す図。
【
図8】第1の実施形態に係るクエリの検索結果の別例を示す図。
【
図9】第2の実施形態に係る学習装置を示すブロック図。
【
図10】第2の実施形態に係る混合モデルの学習方法を説明する図。
【
図11】文書検索装置および学習装置のハードウェア構成の一例を示すブロック図。
【
図12】従来例に係るクエリの検索結果を表示例を示す図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら本実施形態に係る文書検索装置、方法、プログラムおよび学習装置について詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作を行うものとして、重複する説明を適宜省略する。
【0009】
(第1の実施形態)
第1の実施形態に係る文書検索装置について
図1のブロック図を参照して説明する。
第1の実施形態に係る文書検索装置10は、検索部101と、抽出部102と、決定部103と、生成部104と、表示制御部105とを含む。
【0010】
検索部101は、データサーバ20に格納される検索対象となる複数の文書から、クエリに関連する1以上の関連文書を検索する。クエリは、例えばユーザから入力されるキーワードである。データサーバ20に格納される検索対象となる文書は、例えば、議事録、国会の質問主意書、地方議会会議録などであり、質問文と回答文とが組となる文書を想定する。なお、これに限らず、対訳文などの第1文書と第1文書に関連する第2文書とが対となる対応構造を有する文書であればよい。
【0011】
抽出部102は、検索部101から検索結果となる1以上の関連文書を受け取り、関連文書のトピックに関する情報を抽出する。
決定部103は、抽出部102からトピックに関する情報を受け取り、順序付けおよび文書の要約を生成する学習済みモデルを用いて、関連文書の表示順序を決定する。
【0012】
生成部104は、決定部103による表示順序の決定結果と順序付けおよび文書の要約を生成する学習済みモデルとを用いて、トピックごとに、または後述のトピックグループごとに、関連文書の要約を生成する。
表示制御部105は、生成部104からトピックごとの関連文書の要約を受け取り、トピックごとに、またはトピックグループごとに、関連文書の要約をグルーピングして、外部のディスプレイなどに表示するように制御する。
【0013】
なお、学習済みモデルは、文書検索装置10において格納部(図示せず)などに保持されていてもよいし、外部サーバなどに保持されてもよい。学習済みモデルが外部サーバに保持される場合は、文書検索装置10が当該外部サーバにアクセスすることで利用すればよい。
【0014】
次に、第1の実施形態に係る文書検索装置10の動作について
図2のフローチャートを参照して説明する。
ステップS201では、検索部101が、クエリを取得する。
【0015】
ステップS202では、検索部101が、クエリを用いてデータサーバ20を検索し、当該クエリに関連する関連文書を検索結果として取得する。関連文書の取得方法としては、例えば、検索対象となる文書の長さおよび文書群に含まれる単語の出現統計量と、クエリとの包含関係から、文書の適合性の度合いを示す適合性スコアを算出する、BM25などの既存手法を用いることができる。
具体的に、適合性スコアは、以下の(1)式により算出される。
【0016】
【0017】
(1)式において、Dは、関連性スコアを算出したい文書を示し、Qは単語q1,...,qnを含むクエリを示す。また、右辺において、IDF(Inverse Document Frequency)は逆文書頻度を示しており、ある単語が出現する文書数の逆数に単語数を乗じてlogを適用したものなどが使われる。avgdlは文書集合の平均単語数を示す。|D|は文書Dの単語数を示す。k1とbとはそれぞれ任意のパラメータを示し、慣習的にk1=[1.2,2.0]、b=0.75が用いられる。
ステップS203では、検索部101が、検索結果として得られた関連文書のうち、関連性スコアが高い上位の文書から所定数の関連文書を取得する。例えば、検索部101が、所定数としてクエリに対する文書の関連度を算出し、関連性スコアの高い順に上位100件を処理対象の関連文書として取得する。なお、検索結果が所定数未満であれば、そのまま全ての関連文書について以降のステップの処理を実行すればよい。
【0018】
ステップS204では、抽出部102が、ステップS203で取得された関連文書ごとに、トピックを抽出する。抽出部102は、例えば、文書群に対して付与されたタグまたはラベルに相当する文書属性を手がかりとしてトピックを抽出する。
ステップS205では、決定部103が、トピックが抽出された関連文書について、分散表現を生成する。例えば、文書中の単語をword2vecなどの処理により、ベクトル表現化することにより、関連文書をベクトル表記する。
【0019】
ステップS206では、決定部103が、学習済みモデルを用いて、関連文書間で順序付けし、表示順序を決定する。
ステップS207では、生成部104が、学習済みモデルを用いて、ステップS206で決定した表示順序に基づき、表示順序が上位であると決定された関連文書の要約を生成する。
【0020】
ステップS208では、ステップS203で抽出された全ての文書を処理したか否かが判定される。全ての文書を処理した場合はステップS209に進み、全ての文書を処理していない、つまり未処理の文書が存在する場合は、ステップS205に戻り、次の処理対象となる関連文書について、同様の処理を繰り返す。
【0021】
ステップS209では、表示制御部105が、ここでは、トピックごとにグルーピングし、関連文書を要約表示する。具体的には、例えば、表示制御部105が、同じトピックとしてグルーピングされた関連文書の数が多いトピックから順に、トピックごとにグルーピングされた関連文書の要約を表示する。または、表示制御部105が、表示順序が上位として決定された関連文書の数が多いトピックから順に、トピックごとにグルーピングされた関連文書の要約を表示するようにしてもよい。また、表示制御部105は、後述するトピックをまとめ上げたトピックグループごとに、関連文書の要約を表示してもよい。以上で1つのクエリに対する文書検索装置10の動作を終了する。
【0022】
次に、ステップS204におけるトピックの抽出処理の第1例について
図3を参照して説明する。
図3は、一定期間の関連文書群におけるトピックの抽出およびグルーピングの例である。縦軸は文書リソースの種別を示し、横軸は時間を示す。
【0023】
トピックの抽出方法としては、例えばLDA(Latent Dirichlet Allocation)に基づくトピックモデルにより、文書に対応付けられたトピックに関する情報を抽出する。また、文書に出現する単語間の包含関係から、K-means法に代表されるクラスタリング手法によって、複数の文書をボトムアップしてまとめ上げることで、関連するトピックをグルーピングする。
【0024】
図3の例では、「国会答弁議事録」「衆参質問主意書」「厚労省専門委員会議事録」といった種別の文書リソースから、それぞれトピックを抽出する。2020年6月では、「国会答弁議事録」に含まれる文書群から、「コロナウイルス、厚労省、マスク、ワクチン、感染」といったトピックが、感染症に関するトピック群であるとしてグルーピングされ、まとめ上げられる。また、「給付、家賃支援、経産省」といったトピックが、政策に関するトピック群であるとしてグルーピングされ、まとめ上げられる。なお、まとめ上げられたトピック群をトピックグループとも呼ぶ。
【0025】
次に、ステップS204におけるトピックの抽出処理の第2例について
図4を参照して説明する。
図4は、
図3と同様に縦軸が文書リソースの種別を示し、横軸は時間を示す。
図4の例では、1つの文書リソースを対象とし、時系列に起因するトピックの遷移の差分を吸収した類似トピック(または類似トピックグループ)を示す。
【0026】
トピック抽出の対象となる文書リソースにおいて、例えば1月単位といった所定の単位期間で、文書群を時間軸方向に分割し(スライスし)、単位期間で分割された文書群41から、トピックを抽出する。生成されたトピックの内容は、各分割単位で独立している。
各分割単位の文書群41の間において、トピックに含まれる単語の分散表現ベクトルを算出し、当該分散表現ベクトル間の距離としてトピック同士の類似度を、例えばコサイン類似度などを計算することで、時系列にまたがって紐付けられる類似トピックを抽出できる。
【0027】
具体的には、例えば2020年6月頃の「コロナウイルス」のトピックが含まれるトピックグループと、過去の2003年3月頃の「SARS」のトピックが含まれるトピックグループとは、内在する単語が高い確率で共起しているため、ここでは類似度が閾値以上であると判定され、類似トピック(または類似トピックグループ)として抽出される。
【0028】
次に、ステップS204におけるトピックの抽出処理の第3例について
図5を参照して説明する。
図5は、トピックの特異性を算出する場合を示し、
図5上図は、
図3および
図4と同様の図である。
図5下図は、時系列に沿ったトピックのKL divergenceにより算出されるKL値のグラフである。
本実施形態における特異性とは、文書全体における出現単語の平均的な頻度分布と比較して、特定のトピックを含む関連文書と特定の時間幅に限定した場合に、当該文書中の出現単語の頻度分布から偏りがある場合をいう。KL divergenceによるKL値は、例えば(2)式で算出できる。
【0029】
【0030】
図5の例では、トピック「SARS」を含むトピックグループおよびトピック「コロナウイルス」を含むトピックグループに関する関連文書群は、相対的にKL値が高い。よって、当該トピックグループまたは区間では特異性が大きい、つまり新規な内容のトピックであることを示す。一方、相対的にKL値が低いトピックグループまたは区間では特異性が小さい、つまり一般的な内容のトピックであることを示す。
【0031】
次に、関連文書間の順序付けおよび要約生成のための学習済みモデルについて
図6を参照して説明する。
図6に示す学習済みモデルは、関連文書間の順序付けを行う順序付けモデル60と、要約を生成する要約生成モデル65とを含む混合モデルを学習させたモデルである。混合モデルは、多層ニューラルネットワークの構造を想定するが、これに限らず順序付けおよび要約生成を実行できるモデルであれば、どのようなものでもよい。
【0032】
順序付けモデル60は、入力層601と、隠れ層602と、順序付けネットワーク603とを含む。要約生成モデル65は、入力層651と、エンコーダ652と、デコーダ653と、出力層654とを含む。
さらに、学習済みモデルは、順序付けモデル60と要約生成モデル65との間で、一部の層を共有する。具体的には、順序付けモデル60の隠れ層602と、要約生成モデル65のエンコーダ652との間で少なくとも一部の層を共有する。
なお、要約生成モデル65は、本実施形態では、いわゆるTransformerと呼ばれるエンコーダ-デコーダモデルを想定するが、Transformerを利用した、BERT(Bidirectional Encoder Representations from Transformers)、T5(Text-to-Text Transfer Transformer)といった他のモデルでもよい。または、Transformerに限らず、RNN(Recuurent Neural Network)、LSTM(Long short-term memory)といったモデルでもよく、自然言語処理(NLP)の機械学習で一般的に用いられるモデルであれば、どのようなモデルを用いてもよい。
【0033】
また、説明の便宜上、1つの文書に対してそれぞれ処理する場合を示すよう、入力層601-1および601-2と、入力層651-1および651-2とを図示する。これに限らず、1つの入力層において、複数の文書を逐次処理してもよい。
【0034】
まず、順序付けモデル60の動作について説明する。
2つの入力層601のそれぞれに対し、順序付けの比較対象となる関連文書が入力される。入力される文書は、ここでは、質疑応答が記録された議事録を想定しており、質問文に相当する文書が入力されることを想定する。なお、質問文および回答文の組の文書が入力されてもよい。入力される文書は、例えば決定部103により、Word2Vecなどの処理が施されており、分散表現化(ベクトル表現化)されていることを想定する。
【0035】
隠れ層602は、1層以上のネットワーク構造であり、隠れ層602により、分散表現化された2つの文書がさらに抽象化される。
順序付けネットワーク603により、抽象化された2つの文書のどちらが上位に位置づけられるか、例えば表示順序を上位にする文書であるかが出力される。ここでは、ユーザが入力文書の詳細を確認した場合に、詳細を確認した文書の方が上位となるように順序付けモデル60が学習されていることを想定する。よって、詳細を確認した文書の方が上位となるように2つの文書間の関係が出力される。
【0036】
図6の例では、入力層601-1に文書A「感染症の・・・」が入力され、入力層601-2に順序づけの対象となる文書B「自動車の輸出・・・」が入力される。ここでは、文書Aのほうが文書Bよりも順序が上位の結果が得られた場合を想定し、順序付けモデル60の出力として「A>B」が出力される。
【0037】
次に、要約生成モデル65の動作について説明する。
2つの入力層651のそれぞれに対し、要約のための文書が入力される。入力層651-1には、順序付けモデル60において上位と判定された文書が入力される。
図6の例では、文書Aが文書Bよりも上位であると判定された場合を想定するため、入力層651-1には、文書Aが入力される。入力層651-2には、文書Aの対となる回答文であり、かつ要約対象である文書が文書A’として入力される。なお、要約対象は回答文に限らず、質問文である文書Aでもよい。この場合、入力層651-2に文書Aが入力される。もちろん、文書Aと文書A’との組が入力層651-2に入力され、文書Aおよび文書A’の両方の要約が出力されてもよい。
【0038】
エンコーダ652には、入力層651-1から文書Aが入力される。エンコーダ652により、文書Aがエンコードされ、中間データが生成される。
デコーダ653には、入力層651から文書Bが、エンコーダ652から中間データがそれぞれ入力され、文書A’がデコードされる。
出力層654には、デコードされた文書A’が入力され、文書A’の要約が出力される。すなわち、出力層654からは、つまり質問文の内容をふまえた回答文が出力される。
【0039】
図6の例では、入力層651-1には、順序付けモデル60の入力層601-1への入力と同じ文書「感染症の・・・」が入力される。入力層651-2には、デコーダ653への入力となる文書A’として、文書Aの回答文全体「ご指摘の内容に・・・」が入力される。出力層654からは、例えば文書A’の要旨が回答を控えると内容であったと想定すると、「回答を控えさせていただきます」といった文書A’の要約が出力される。
【0040】
次に、ステップS209におけるクエリの検索結果の表示例について
図7を参照して説明する。
図7は、ディスプレイなどに表示されるトピックグループごとの要約の表示例である。なお、ここではトピックグループごとの例を示すが、トピックごとにまとめて要約を表示してもよい。
【0041】
表示制御部105は、上述の様に、学習済みモデルより出力された順序付けに基づき、関連文書の数が多いトピックグループの順に表示する。なお、トピックの属性情報として、KL値を含んでもよい。この場合、KL値が高いトピックを含むトピックグループから順に表示してもよいし、カウント数に対してKL値を重み付けとして用い、KL値が高いほど、つまり新規なトピックであるほど表示順序が上位となるように計算され、表示されてもよい。
【0042】
また、表示制御部105は、第1トピックグループに含まれる関連文書と、第2トピックグループに含まれる関連文書との間で順序付けの結果の多数決により、どちらのトピックグループの表示順序を上位とするかを決定してもよい。つまり、例えば、第1トピックグループに含まれる関連文書と、第2トピックグループに含まれる関連文書とが順序付けモデルに入力され、第1トピックグループのほうが上位であると判定された数が多い場合、表示制御部105は、第1トピックグループの表示順序を、第2トピックグループよりも上位とすればよい。具体的に、
図7の例では、「コロナウイルス」を含むトピックグループに含まれる関連文書の数が、「石油ストーブ」を含むトピックグループに含まれる関連文書の数よりも多いため、「コロナウイルス」を含むトピックグループが上位に表示される。
【0043】
検索ウィンドウ71に、ユーザがクエリを入力すると、文書検索装置10により、トピックごとの時系列に沿った出現頻度を示すグラフ72と、トピックグループ73と、クエリの検索結果となる文書の要約をトピックごとにまとめた要約表示74~76が、順序付けモデルにより決定された順序で表示される。トピックグループ73では、それぞれのトピックグループに含まれるトピックも示される。
【0044】
図7の例では、「コロナ」と検索した場合、新型コロナウイルスのトピックを含むトピックグループが最上位であると決定された場合を想定し、新型コロナウイルスに関する質疑応答の組が、1つのトピックグループとして1つの囲み内に表示される。ここでは、質問文と、学習済みモデルにより得られる回答文の要約とが組となって表示される。
【0045】
なお、ここではトピックグループごとに背景を区別して表示する例を示すが、これに限らず、色、文字種、文字サイズ、ハイライト、太字、点滅といった装飾などで区別してもよく、一見してトピックまたはトピックグループが区別して把握できる態様であれば、どのように表示してもよい。
【0046】
次に、クエリの検索結果表示の別例について
図8を参照して説明する。
表示制御部105は、検索結果のトピックの出現頻度に応じて、トピックグループにラベルを付与して表示する。
ラベルの例としては、安全、品質のスローガンとして用いられる4H(初めて、久しぶり、頻繁、引き継ぎ)から抜粋することが挙げられる。
【0047】
例えば表示制御部105が、時系列でみて初めて出現したトピックグループであれば「初めて」のラベルを付与する。同様に、過去に同一のまたは類似のトピックが存在し、かつ当該同一のまたは類似のトピックが出現してから所定期間以上空いていれば「久しぶり」のラベルが付与される。過去に類似のトピックが存在し、かつ当該類似のトピックが出現してから所定期間内に複数回出現していれば「頻繁」のラベルを付与する。
【0048】
図8の例では、いわゆるハッシュタグの形式でトピックグループごとに、ラベル81「#頻繁」「#久しぶり」および「#初めて」が表示される。なお、「#頻繁(他63件)」といったようにトピック内の検索ヒット数を併せて表示してもよいし、「#久しぶり(2年前)」といったようにトピックに関する文書の前回の出現時期を併せて表示してもよい。
【0049】
以上に示した第1の実施形態によれば、クエリに関連する関連文書を取得し、関連文書のトピックを抽出し、順序付けおよび要約生成を実行するように学習された学習済みモデルを用いて関連文書間の順序付けおよび要約生成を実行する。また、関連文書に紐付くトピックが属するトピックごと(またはトピックグループごと)に文書の要約を表示させる。これにより、文書単位で単純に表示されるのではなく、文書が属するトピックおよびトピックグループの単位で表示されるため、トピックの関係性が一見して把握できる。また、各トピックグループにおいて少なくとも回答文が要約表示されることで、ディスプレイなどにおける限られた表示領域でも多くの情報を表示することができる。
【0050】
さらに、トピックの時間軸方向での出現頻度を算出することで、トピックおよびトピックグループにラベルを付与することができ、要約とは異なる観点の情報を提示できるため、限られた表示領域におけるスニペット表示でも、ユーザはより多くの情報を得ることができる。よって、把握容易な検索結果を提供することができる。
【0051】
(第2の実施形態)
第2の実施形態では、学習済みモデルを学習するための学習装置について、
図9を参照して説明する。
第2の実施形態に係る学習装置90は、モデル格納部901と、学習データ格納部902と、学習部903とを含む。
【0052】
モデル格納部901は、文書間の順序付けを実行するモデルと要約生成を実行するモデルとを含む、学習前の混合モデルを格納する。
【0053】
学習データ格納部902は、混合モデルを学習させるための、入力データと正解データとの組を学習データとして複数格納する。文書間の順序付けを実行するモデルに対しては、比較対象となる2つの文書(質問文)を入力データとし、2つの文書のうちの一方に付与される関心情報を正解データとした学習データを複数用意する。関心情報は、ユーザが文書をクリックするなどのアクションのログを取ることで得られる、ユーザが文書に関心を持って当該文書の詳細を閲覧したことを示す情報である。
一方、要約生成を実行するモデルに対しては、質問文と回答文とを入力データとし、回答文の要約を正解データとした学習データを複数用意する。要約は、既存のアルゴリズムを用いて、入力された回答文から生成されればよい。既存の要約アルゴリズムとは、例えば、TFIDF-max、LexRankおよびEmbRankが挙げられる。
【0054】
学習部903は、学習データ格納部902に格納される学習データを用いて、モデル格納部901に格納される混合モデルを学習させることで、学習済みモデルを生成する。学習データを用いたモデルの学習については、例えば一般的な教師ありの機械学習方法を用いればよい。
なお、学習装置90は、学習データ格納部902を含まず、学習データを格納する外部サーバなどから学習データを取得するようにしてもよい。
【0055】
次に、混合モデルの学習方法について
図10を参照して説明する。
順序付けモデル60に対して、関心情報がある文書である文書Aと、関心情報がない文書である文書Bとを入力データを入力し、関心情報がある文書Aが文書Bよりも上位である結果を正解データとして入力することで、順序付けモデル60の学習を実施する。当該学習を通じて、ユーザが詳細を確認した文書は、詳細が確認されていない文書よりも順位が上位になるように順序付けモデル60を学習することができる。
【0056】
一方、要約生成モデル65の学習においては、要約生成モデル65に対して、関心情報がある文書(質問文)と、質問文の対となる回答文とを入力データとして入力し、関心情報を得たときの要約アルゴリズムにより生成された回答文の要約を正解データとして入力することで、要約生成モデル65の学習を実施する。
【0057】
また、要約生成モデル65では、順序付けモデル60の隠れ層をエンコーダの一部の層として共有する。これにより、順序付けモデル60で関心情報の関する重みを学習した層によって、正解データとなる要約および要約アルゴリズムに対するユーザ観点による良し悪しの情報を伝搬させることができる。
【0058】
つまり、関心情報が得られる文書、例えばユーザにより詳細を確認するためにクリックされた文書は、ユーザが文書の価値を認めたという仮定の下、文書の順序だけではなく、同時にスニペットとして提示されている要約についても価値があるという仮定をおくことができる。よって、要約の元文書である回答文(または、対応する質問文)に適用された要約アルゴリズムが適切であるという教示を与えることができる。よって、いわゆるマルチタスク学習として、適切な要約文の生成を得ることができる。
【0059】
関心情報として複数のユーザのクリックログを用いる場合は、集団知としての文書の順序付けを行うことができる。また、関心情報として1人のユーザのクリックログを用いる場合は、ユーザ個別の関心に応じた文書の順序付けを行うことができる。
【0060】
なお、要約生成モデル65の正解データの第1の変形例として、複数の要約アルゴリズムのうちランダムに選択されたアルゴリズムを用いて生成された回答文の要約を入力してもよい。この場合、順序付けモデル60と共有している層により、正解データとして入力された要約アルゴリズムが、適切であるか否かを考慮した学習を実施できる。
また、要約生成モデル65の正解データの第2の変形例として、回答文の要約に加えて、質問文の要約も併せて正解データとして学習させてもよい。これにより、推論時には、質問文および回答文のそれぞれの要約を出力できる。
さらに、要約生成モデル65に対して、質問文を含む複数の文書を束ねたトピック文書群を入力データとし、トピック文書群の要約を正解データとして与え、学習させることで、文単位や質問文と回答文との対の単位ではなく、より大きな単位であるトピック単位での要約を出力できる。
【0061】
なお、学習装置90では、本実施形態のような混合モデルに限らず、マルチタスクをこなすようにモデルを学習させ、マルチタスクの学習済みモデルを生成してもよい。入力データと共に「順序付け」「要約」といったタスクを指定するラベルを付与することで、本実施形態で説明した混合モデルと同様の処理を実行できる。
【0062】
以上に示した第2の実施形態によれば、一部の層を共有した順序付けモデルと要約生成モデルとを含む混合モデルを学習することで、入力された文書について適切な順序付けおよび要約生成を実施でき、ユーザのクエリおよび関心を考慮した適切な検索結果および検索結果の要約を提示できる。
【0063】
次に、上述の実施形態に係る文書検索装置10および学習装置90のハードウェア構成の一例を
図11に示す。
文書検索装置10および学習装置90は、CPU(Central Processing Unit)51と、RAM(Random Access Memory)52と、ROM(Read Only Memory)53と、ストレージ54と、表示装置55と、入力装置56と、通信装置57とにより実現され、それぞれバスにより接続される。
【0064】
CPU51は、プログラムに従って演算処理および制御処理などを実行するプロセッサである。CPU51は、RAM52の所定領域を作業領域として、ROM53およびストレージ54などに記憶されたプログラムとの協働により各種処理を実行する。なお、CPU51によって、上述した文書検索装置10の各処理、学習装置90の各処理が実行されてもよい。
【0065】
RAM52は、SDRAM(Synchronous Dynamic Random Access Memory)などのメモリである。RAM52は、CPU51の作業領域として機能する。ROM53は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
【0066】
ストレージ54は、HDD等の磁気記録媒体、フラッシュメモリなどの半導体による記憶媒体、または、HDD(Hard Disc Drive)などの磁気的に記録可能な記憶媒体、または光学的に記録可能な記憶媒体などにデータを書き込みおよび読み出しをする装置である。ストレージ54は、CPU51からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。
【0067】
表示装置55は、LCD(Liquid Crystal Display)などの表示デバイスである。表示装置55は、CPU51からの表示信号に基づいて、各種情報を表示する。
入力装置56は、マウスおよびキーボード等の入力デバイスである。入力装置56は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をCPU51に出力する。
通信装置57は、CPU51からの制御に応じて外部機器とネットワークを介して通信する。
【0068】
(比較例)
図12に従来例となるユーザからのクエリに関する検索結果の表示例を示す。
図12に示すように、全文検索による検索結果が表示され、ユーザが入力したクエリに対して一致する質問文および回答文の全文が表示される。よって、比較例では、全文を表示するための領域が必要であるために表示領域に表示される質問文および回答文の総数が少なく、さらに全文記載されるため要点が把握しずらい。
【0069】
一方、本実施形態に係る文書検索装置によれば、文書単位で順に表示されるのではなく、文書が属するトピック単位(またはトピックグループ単位)で文書を要約して表示させ、かつ当該単位ごとに順序付けられて表示される。よって、把握容易な検索結果を提供することができる。
【0070】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した文書検索装置および学習装置の制御動作による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW、Blu-ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の文書検索装置および学習装置の制御と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0071】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【0072】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0073】
10…文書検索装置、20…データサーバ、41…文書群、51…CPU、52…RAM、53…ROM、54…ストレージ、55…表示装置、56…入力装置、57…通信装置、60…順序付けモデル、65…要約生成モデル、71…検索ウィンドウ、72…グラフ、73…トピックグループ、74~76…要約表示、81…ラベル、90…学習装置、101…検索部、102…抽出部、103…決定部、104…生成部、105…表示制御部、601-1,601-2…入力層、602…隠れ層、603…順序付けネットワーク、651-1,651-2…入力層、652…エンコーダ、653…デコーダ、654…出力層、901…モデル格納部、902…学習データ格納部、903…学習部。