JP2018173909A - 学習プログラム、学習方法および学習装置 - Google Patents

学習プログラム、学習方法および学習装置 Download PDF

Info

Publication number
JP2018173909A
JP2018173909A JP2017072972A JP2017072972A JP2018173909A JP 2018173909 A JP2018173909 A JP 2018173909A JP 2017072972 A JP2017072972 A JP 2017072972A JP 2017072972 A JP2017072972 A JP 2017072972A JP 2018173909 A JP2018173909 A JP 2018173909A
Authority
JP
Japan
Prior art keywords
query
document
model
score
conforming
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.)
Granted
Application number
JP2017072972A
Other languages
English (en)
Other versions
JP6819420B2 (ja
Inventor
拓哉 牧野
Takuya Makino
拓哉 牧野
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 JP2017072972A priority Critical patent/JP6819420B2/ja
Priority to US15/935,583 priority patent/US20180285742A1/en
Publication of JP2018173909A publication Critical patent/JP2018173909A/ja
Application granted granted Critical
Publication of JP6819420B2 publication Critical patent/JP6819420B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Operations Research (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】モデルの完成度の低下を抑制すること。
【解決手段】学習装置10は、クエリおよびクエリに適合する正解のラベルが付与された適合文書を取得し、クエリをN次元のベクトルへ変換する第1のモデルを参照することにより得られるクエリのN次元のベクトルと、文書をN次元のベクトルへ変換する第2のモデルを参照することにより得られる適合文書のN次元のベクトルとから、適合文書のスコアを算出し、クエリに適合しない不正解のラベルが付与された非適合文書の候補を取得し、候補ごとに、第2のモデルを参照することにより得られる候補のN次元のベクトルと、クエリのN次元のベクトルとから、候補のスコアを算出し、候補のスコアが最大である候補を非適合文書として選択し、適合文書のスコアと、非適合文書のスコアとに基づいて、第1のモデル及び第2のモデルを更新するか否かを制御する。
【選択図】図1

Description

本発明は、学習プログラム、学習方法および学習装置に関する。
WebやFAQ(Frequently Asked Questions)などの文書検索には、一例として、入力されるクエリと検索対象の文書集合との間でスコアが高い順に文書集合を並べ替えるランキングと呼ばれる技術が活用されている。
このランキングの精度向上には、一側面として、入力されるクエリとそのクエリに適合する文書のキーワードが必ずしも一致しないという状況が障害となっている。例えば、クエリが、パソコンの処理が遅いことを意味した「パソコンが重い」である場合、クエリに含まれる単語は「パソコン」および「重い」となるが、必ずしもクエリに適合する文書のキーワードの中に単語「パソコン」および単語「重い」が含まれるとは限らない。例えば、クエリに適合する文書には、キーワードとして「ラップトップがフリーズした場合」が含まれており、クエリに含まれる単語とは一致しない単語「ラップトップフリーズ」が含まれる場合がある。
このことから、ランキングの精度を向上させるための技術の一例として、SSI(Supervised Semantic Indexing)が提案されている。このSSIは、クエリおよび文書を同じ次元の密なベクトルへ変換し、ベクトル間の内積を計算する。この内積をクエリに対する文書のスコアとして、スコアが高い順に文書をランキングすることができる。SSIは、教師あり学習の枠組みで、クエリや文書をベクトルへ変換するモデルのパラメータを学習する。学習には、クエリに対する適合文書およびランダムに選んだ非適合文書が用いられる。
Bai,B. , Weston,J. , Grangier,D. , Collobert,R. , Sadamasa,K. , Qi,Y. , Chapelle,O. , Weinberger,K.著 「Supervised Semantic Indexing.」 In: Proceedings of the 18th CIKM. pp. 187−196.CIKM ’09 (2009)
しかしながら、上記の技術では、モデルの完成度に自ずから限界がある。
すなわち、SSIでは、非適合文書がランダムに選ばれるので、クエリとのスコアが低い文書ばかりが非適合文書として選ばれる結果、学習サンプルとして簡単な文書が非適合文書として選ばれる可能性がある。このように簡単な文書が非適合文書として選ばれた場合、モデルの更新頻度が減少する結果、モデルの完成度が低下してしまう場合もある。
1つの側面では、本発明は、モデルの完成度の低下を抑制できる学習プログラム、学習方法および学習装置を提供することを目的とする。
一態様では、学習プログラムは、クエリおよび前記クエリに適合する正解のラベルが付与された適合文書を取得し、クエリをN次元のベクトルへ変換する第1のモデルを参照することにより得られる前記クエリの前記N次元のベクトルと、文書を前記N次元のベクトルへ変換する第2のモデルを参照することにより得られる前記適合文書の前記N次元のベクトルとから、前記クエリに対する前記適合文書のスコアを算出し、前記クエリに適合しない不正解のラベルが付与された非適合文書の候補を取得し、前記候補ごとに、前記第2のモデルを参照することにより得られる前記候補の前記N次元のベクトルと、前記クエリの前記N次元のベクトルとから、前記クエリに対する前記候補のスコアを算出し、前記クエリに対する前記候補のスコアが最大である候補を前記非適合文書として選択し、前記クエリに対する前記適合文書のスコアと、前記クエリに対する前記非適合文書のスコアとに基づいて、前記第1のモデル及び前記第2のモデルを更新するか否かを制御する、処理をコンピュータに実行させる。
モデルの完成度の低下を抑制できる。
図1は、実施例1に係る学習装置の機能的構成を示すブロック図である。 図2は、クエリのベクトル変換の一例を示す図である。 図3は、文書のベクトル変換の一例を示す図である。 図4は、スコアの算出例の一例を示す図である。 図5は、ランキングの一例を示す図である。 図6は、検索方法の一例を示す図である。 図7は、非適合文書dの候補の一例を示す図である。 図8は、非適合文書の選択方法の一例を示す図である。 図9は、スコアの比較結果の一例を示す図である。 図10は、スコアの比較結果の一例を示す図である。 図11は、実施例1に係る学習処理の手順を示すフローチャートである。 図12は、実施例1及び実施例2に係る学習プログラムを実行するコンピュータのハードウェア構成例を示す図である。
以下に添付図面を参照して本願に係る学習プログラム、学習方法および学習装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
図1は、実施例1に係る学習装置の機能的構成を示すブロック図である。図1に示す学習装置10は、SSIのスコア計算においてクエリおよび文書をベクトルへ変換するモデルのパラメータを学習する学習処理を実現するものである。
[SSIのスコア計算]
SSIでは、クエリおよび文書が同じ次元のベクトルへ変換される。以下では、クエリのベクトル変換に用いるモデルのことを「第1のモデル」と記載し、文書のベクトル変換に用いるモデルのことを「第2のモデル」と記載する場合がある。
図2は、クエリのベクトル変換の一例を示す図である。図2に示すように、第1のモデル12Aは、クエリの単語に対するN(=3)次元のベクトルであり、ベクトルの各要素には、実数値のパラメータが保持される。第1のモデル12Aの行数は、学習に用いられたクエリに出現する単語数により定まる。また、第1のモデル12Aの列数には、モデルの設計者等により任意の次元数が設定される。例えば、Nに大きな値を設定するほど計算量および計算に使用するメモリ容量が大きくなる一方で精度は向上する。
図2には、一例として、入力されるクエリが「パソコン/が/重い」である場合のベクトル変換が示されている。この場合、クエリに含まれる単語ごとに当該単語に対応するベクトルが抽出される。すなわち、単語「パソコン」に対応する3次元の行ベクトル、単語「が」に対応する3次元の行ベクトルおよび単語「重い」に対応する3次元の行ベクトルが第1のモデル12Aから抽出される。これら3つの行ベクトルの要素和をとることにより、クエリのベクトルを得ることができる。すなわち、単語「パソコン」に対応するベクトル、単語「が」に対応するベクトルおよび単語「重い」に対応するベクトルの1列目のパラメータの和、2列目のパラメータの和および3列目のパラメータの和がクエリのベクトルとなる。
図3は、文書のベクトル変換の一例を示す図である。図3に示すように、第2のモデル12Bは、文書の単語に対するN(=3)次元のベクトルであり、ベクトルの各要素には、実数値のパラメータが保持される。第2のモデル12Bの行数は、学習に用いられた文書に出現する単語数により定まる。また、第2のモデル12Bの列数には、モデルの設計者等により任意の次元数が設定される。例えば、Nに大きな値を設定するほど計算量および計算に使用するメモリ容量が大きくなる一方で精度は向上する。なお、第1のモデル12A及び第2のモデル12Bの間で行ベクトルの次元数Nは共通する。
図3には、一例として、文書が「PC/が/フリーズ/し/た/場合」である場合のベクトル変換が示されている。この場合、文書に含まれる単語ごとに当該単語に対応するベクトルが抽出される。すなわち、単語「PC」に対応する3次元の行ベクトル、単語「が」に対応する3次元の行ベクトル、単語「フリーズ」に対応する3次元の行ベクトル、単語「し」に対応する3次元の行ベクトル、単語「た」に対応する3次元の行ベクトルおよび単語「場合」に対応する3次元の行ベクトルが第2のモデル12Bから抽出される。これら6つの行ベクトルの要素和をとることにより、文書のベクトルを得ることができる。すなわち、単語「PC」、単語「が」、単語「フリーズ」、単語「し」、単語「た」および単語「場合」に対応するベクトルの1列目のパラメータの和、2列目のパラメータの和および3列目のパラメータの和が文書のベクトルとなる。
これらクエリqのベクトル及び文書dのベクトルが得られた場合、クエリqに対する文書dのスコアf(q,d)は、一例として、クエリqのベクトルおよび文書dのベクトルの内積により求めることができる。図4は、スコアの算出例の一例を示す図である。図4には、クエリqの行ベクトルの要素が1列目から順に「0.3」、「0.6」、「0.2」であり、また、文書dの行ベクトルの要素が1列目から順に「0.2」、「0.5」、「0.1」である場合が示されている。この場合、スコアf(q,d)は、[0.3,0.6,0.2]×[0.2,0.5,0.1]=「0.3×0.2+0.6×0.5+0.2×0.1」の計算により「0.053」と算出できる。
このように算出されるスコアが高い順に文書を並べることにより、文書のランキングを実施できる。図5は、ランキングの一例を示す図である。図5の左側には、クエリ「パソコンが重い」に対する文書「PCがフリーズした」のスコア、クエリ「パソコンが重い」に対する文書「パソコンから音がでない」のスコア及びクエリ「パソコンが重い」に対する文書「ウィルススキャンの手順」のスコアが例示されている。この場合、スコアの大小関係は「11>−10>−110」となるので、図5の右側に示す通り、文書「PCがフリーズした」、文書「パソコンから音がでない」、文書「ウィルススキャンの手順」の順に文書が並べられる。
[SSIにおける学習]
以上のようなスコア計算の下、学習時には、クエリ、適合文書および非適合文書を含む学習サンプルごとに、第1のモデル12Aおよび第2のモデル12Bのパラメータが学習される。ここで言う「適合文書」とは、クエリに適合する正解のラベルが付与された文書を指す一方で、「非適合文書」とは、クエリに適合しない不正解のラベルが付与された文書を指す。
すなわち、第1のモデル12Aを参照して、学習サンプルのクエリに含まれる単語ごとに当該単語に対応するベクトルを抽出した上で各単語のベクトルの要素和をとることにより、クエリのベクトルが導出される。一方、第2のモデル12Bを参照して、学習サンプルの適合文書に含まれる単語ごとに当該単語に対応するベクトルを抽出した上で各単語のベクトルの要素和をとることにより、適合文書のベクトルが導出される。また、第2のモデル12Bを参照して、学習サンプルの非適合文書に含まれる単語ごとに当該単語に対応するベクトルを抽出した上で各単語のベクトルの要素和をとることにより、非適合文書のベクトルが導出される。
これらクエリのベクトル、適合文書のベクトル及び非適合文書のベクトルを用いて、クエリに対する適合文書のスコアと、クエリに対する非適合文書のスコアとが算出される。そして、クエリに対する非適合文書のスコアがクエリに対する適合文書のスコアよりも大きいことを条件に、第1のモデル12Aおよび第2のモデル12Bのパラメータが更新される。
ここで、背景技術の項で説明した通り、既存のSSIでは、適合文書でなければどのような文書であってもよいという基準の下、文書の集合から非適合文書がランダムに選ばれる。このため、クエリに対するスコアが低い文書ばかりが非適合文書として選ばれる結果、学習サンプルとして簡単な文書が非適合文書として選ばれる可能性がある。このように簡単な文書が非適合文書として選ばれた場合、モデルの更新頻度が減少する結果、モデルの完成度が低下してしまう場合もある。
そこで、本実施例に係る学習装置10は、学習サンプルにおける非適合文書を必ずしも1つの文書に固定しない。例えば、本実施例に係る学習装置10は、所定数Lの文書を非適合文書の候補とし、候補ごとにクエリに対する候補のスコアを算出した上で最大のスコアを持つ候補を非適合文書として選択する。その上で、本実施例に係る学習装置10は、非適合文書のスコアが適合文書のスコアよりも大きいか否かにより、第1のモデル12A及び第2のモデル12Bのパラメータを更新するか否かを制御する。これによって、クエリに対する非適合文書として簡単な文書が選択されることによりモデルの更新頻度が減少するのを抑制し、もってモデルの完成度の低下を抑制する。
[学習装置10の機能的構成]
図1に示す学習装置10は、上記の学習処理を実現するコンピュータである。
一実施形態として、学習装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の学習処理を実行する学習プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の学習プログラムをコンピュータに実行させることにより、コンピュータを学習装置10として機能させることができる。ここで言うコンピュータには、デスクトップ型またはノート型のパーソナルコンピュータの他、スマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末、さらには、PDA(Personal Digital Assistants)などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の学習処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、学習装置10は、複数の学習サンプルを含む学習データ、または、学習データをネットワークもしくは記憶メディアを介して呼び出すことができる識別情報を入力とし、当該学習データに対する上記の学習処理の実行結果、すなわちモデルの学習結果を出力する学習サービスを提供するサーバ装置として実装される。この場合、学習装置10は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の学習処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図1に示すように、学習装置10は、学習データ記憶部11と、モデル記憶部12と、第1の取得部13と、第1の算出部14と、第2の取得部15と、第2の算出部16と、選択部17と、更新部18とを有する。なお、学習装置10は、図1に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
学習データ記憶部11は、学習データを記憶する記憶部である。ここで、学習データには、一例として、m個の学習サンプル、いわゆる学習事例が含まれる。さらに、学習サンプルには、クエリqと、クエリqに適合する正解のラベルが付与された適合文書dとが含まれる。
モデル記憶部12は、モデルを記憶する記憶部である。
一実施形態として、モデル記憶部12には、クエリのベクトル変換に用いる第1のモデル12Aおよび文書のベクトル変換に用いる第2のモデル12Bが記憶される。このうち、第1のモデル12Aは、クエリの単語に対するN次元のベクトルであり、ベクトルの各要素には、実数値のパラメータが保持される。第1のモデル12Aの行ベクトルは、学習データに含まれるクエリに出現する単語ごとに生成される。また、第2のモデル12Bは、文書の単語に対するN次元のベクトルであり、ベクトルの各要素には、実数値のパラメータが保持される。第2のモデル12Bの行ベクトルは、学習データに含まれる適合文書および非適合文書に出現する単語ごとに生成される。また、第1のモデル12Aおよび第2のモデル12Bの行ベクトルには、モデルの設計者等により同一の次元数が設定される。例えば、Nに大きな値を設定するほど計算量および計算に使用するメモリ容量が大きくなる一方で精度は向上する。
第1の取得部13は、学習サンプルを取得する処理部である。
一実施形態として、第1の取得部13は、学習サンプルをカウントするループカウンタiの値を初期化する。そして、第1の取得部13は、学習データ記憶部11に記憶されたm個の学習サンプルのうちループカウンタiに対応する学習サンプルを取得する。その後、第1の取得部13は、ループカウンタiをインクリメントし、ループカウンタiの値が学習サンプルの総数mと等しくなるまで、学習データ記憶部11から学習サンプルを取得する処理を繰り返し実行する。
第1の算出部14は、クエリに対する適合文書のスコアを算出する処理部である。
一実施形態として、第1の算出部14は、第1の取得部13により学習サンプルが取得されたi番目のクエリqに対する適合文書dのスコアf(q,d)を算出する。例えば、第1の算出部14は、モデル記憶部12に記憶された第1のモデル12Aを参照して、学習サンプルのクエリに含まれる単語ごとに当該単語に対応するベクトルを抽出した上で各単語のベクトルの要素和をとることにより、クエリqのベクトルを導出する。さらに、第1の算出部14は、モデル記憶部12に記憶された第2のモデル12Bを参照して、学習サンプルの適合文書dに含まれる単語ごとに当該単語に対応するベクトルを抽出した上で各単語のベクトルの要素和をとることにより、適合文書dのベクトルを導出する。その上で、第1の算出部14は、クエリqのベクトルと、適合文書dのベクトルとの内積をとることにより、i番目のクエリqに対する適合文書dのスコアf(q,d)を算出する。
第2の取得部15は、クエリに対応する複数の非適合文書の候補を取得する処理部である。
一実施形態として、第2の取得部15は、第1の取得部13により学習サンプルが取得されたi番目のクエリqに含まれる単語を入力とし、キーワードの一致度に基づくランキングを行うことにより、ランキング結果から上位所定数Lの文書を非適合文書の候補c〜cとして取得することができる。
例えば、所定の文書集合から作成された検索用の索引データである転置インデックスを用いることにより、第2の取得部15は、i番目のクエリqに含まれる単語が出現する文書集合の検索を高速化することができる。図6は、検索方法の一例を示す図である。図6には、クエリq「パソコン/が/重い」に対応する転置インデックスが抜粋して示されているが、実際には、第2の取得部15が検索対象とする文書集合の転置インデックスが生成される。図6に示すように、転置インデックスは、索引とする見出し語ごとに文書内のテキストに見出し語を含む文書ID(IDentifier)が対応付けられたデータである。このような転置インデックスを用いる場合、第2の取得部15は、検索対象とする文書集合の中から、i番目のクエリqに含まれる単語「パソコン」または単語「重い」が出現する文書ID「1」、「3」、「5」及び「6」の文書を検索できる。
このようにi番目のクエリqに含まれる単語が出現する文書が検索された後、第2の取得部15は、検索結果として得られた文書集合を任意の手法でランキングする。一例として、第2の取得部15は、クエリに含まれる単語の集合のtfidf値が高い順に上記の検索結果として得られた文書集合を並び替えることによりランキングを行う。例えば、クエリに含まれる単語の集合をq、文書に含まれる単語の集合をdとするとき、tfidf(q,d)は、下記の式(1)にしたがって算出することができる。下記の式(1)における単語の出現頻度「tf(d,w)」は、下記の式(2)にしたがって算出することができる。また、下記の式(1)における逆文書頻度「idf(w,D)」は、下記の式(3)にしたがって算出することができる。ただし、下記の式(2)における「cnt(d,w)」は、集合d中のwの出現回数を表し、また、下記の式(3)における「df(w)」は、検索対象とする文書の集合Dの中でwが出現する文書数を表す。
Figure 2018173909
Figure 2018173909
Figure 2018173909
上記の式(1)により算出されるtfidf(q,d)は、文書中で高頻度に出現し、かつ他の文書に出現する頻度が稀であるほど高い値となる。それ故、「ある」、「いる」のようにどの文書にも出現する単語には低いtfidf値が算出されるので、文書中のキーワードと一致していてもランキングへの寄与は低い。
その後、第2の取得部15は、上記の検索結果として得られた文書集合をtfidf値が高い順に並び替えることにより得られたランキング結果のうち上位所定数Lの文書を非適合文書dの候補として取得する。このように取得される上位所定数Lの文書には、適合文書dと同一の文書は除外される。
図7は、非適合文書dの候補の一例を示す図である。図7に示すように、クエリqに含まれる単語が出現する文書集合を検索し、検索結果として得られた文書集合がランキングされたランキング結果のうち上位L件のランキング結果が非適合文書dの候補として取得される。そして、クエリq、適合文書dおよび上位L件のランキング結果が1つの学習サンプルとして第1のモデル及び第2のモデルのパラメータの学習に用いられる。図示の通り、クエリ「パソコンが重い」にも当該クエリに含まれる単語が出現する文書集合がランキングされたランキング結果のうち上位L件のランキング結果が非適合文書dの候補として取得されると共に、クエリ「ウィルスに感染した」にも当該クエリに含まれる単語が出現する文書集合がランキングされたランキング結果のうち上位L件のランキング結果が非適合文書dの候補として取得される。このように取得された非適合文書dの候補は、学習データ記憶部11に記憶された学習サンプルのうち当該クエリqに対応付けて登録することができる。これによって、2回目以降の学習時に第1の取得部13がクエリq、適合文書dおよび非適合文書dの候補を学習サンプルとして取得することにより、2回目以降の学習時に第2の取得部15の処理を省略することもできる。
第2の算出部16は、非適合文書の候補ごとにクエリに対する候補のスコアを算出する処理部である。
一実施形態として、第2の算出部16は、第2の取得部15により取得された非適合文書dの候補c〜cごとに、第1の取得部13により学習サンプルが取得されたi番目のクエリqに対するj番目の候補cのスコアf(q,c)を算出する。例えば、第2の算出部16は、モデル記憶部12に記憶された第1のモデル12Aを参照して、学習サンプルのクエリに含まれる単語ごとに当該単語に対応するベクトルを抽出した上で各単語のベクトルの要素和をとることにより、クエリqのベクトルを導出する。さらに、第2の算出部16は、モデル記憶部12に記憶された第2のモデル12Bを参照して、上位L件のランキング結果c〜cのうちj番目の非適合文書dの候補cに含まれる単語ごとに当該単語に対応するベクトルを抽出した上で各単語のベクトルの要素和をとることにより、j番目の非適合文書dの候補cのベクトルを導出する。その上で、第2の算出部16は、クエリqのベクトルと、j番目の非適合文書dの候補cのベクトルとの内積をとることにより、i番目のクエリqに対するj番目の非適合文書dの候補cのスコアf(q,c)を算出する。この候補をカウントする変数jを1〜Lまで更新することにより、第2算出部16は、クエリqに対する候補c〜cのスコアf(q,c)〜f(q,c)を算出する。
選択部17は、非適合文書の候補の中から非適合文書を選択する処理部である。
一実施形態として、選択部17は、第2の算出部16により非適合文書の候補ごとに算出されたスコアf(q,c)〜f(q,c)のうち最大値を持つ非適合文書の候補を非適合文書dとして選択する。図8は、非適合文書の選択方法の一例を示す図である。図8に示すように、選択部17は、第2の取得部15により取得されたL件の非適合文書の候補のうち第2の算出部16により最大値のスコアが算出された非適合文書の候補を非適合文書dとして選択する。図示の例では、L件の非適合文書の候補の中から、文書「パソコンから音がでない」が非適合文書dとして選択されている。
更新部18は、モデルの更新を行う処理部である。
一実施形態として、更新部18は、第1の算出部14により算出されたi番目のクエリqに対する適合文書dのスコアf(q,d)と、選択部17により選択されたi番目のクエリqに対する非適合文書dのスコアf(q,d)とを比較することにより、モデル記憶部12に記憶された第1のモデル12A及び第2のモデル12Bを更新するか否かを制御する。
図9は、スコアの比較結果の一例を示す図である。図9には、クエリqが「パソコンが重い」であり、適合文書dが「PCがフリーズした」であり、非適合文書dが「パソコンから音がでない」である場合の例が示されている。図9に示すように、クエリqに対する適合文書dのスコアf(q,d)がi番目のクエリqに対する非適合文書dのスコアf(q,d)よりも小さい場合、更新部18は、モデル記憶部12に記憶された第1のモデル12AのパラメータU及び第2のモデル12BのパラメータVを更新する。例えば、更新部18は、下記の式(4)を用いて第1のモデル12AのパラメータUを更新すると共に、下記の式(5)を用いて第2のモデル12BのパラメータVを更新する。下記の式(4)及び下記の式(5)における「λ」は、学習率を指す。すなわち、下記の式(4)にしたがって、第1のモデル12AのパラメータUのうち適合文書の単語に対応するクエリの単語のパラメータに値が足し込まれると共に非適合文書の単語に対応するクエリの単語のパラメータから値が差し引かれる。同様に、下記の式(5)にしたがって、第2のモデル12BのパラメータVのうちクエリの単語に対応する適合文書の単語のパラメータに値が足し込まれると共にクエリの単語に対応する非適合文書の単語のパラメータから値が差し引かれる。
Figure 2018173909
Figure 2018173909
図10は、スコアの比較結果の一例を示す図である。図10にも、クエリqが「パソコンが重い」であり、適合文書dが「PCがフリーズした」であり、非適合文書dが「パソコンから音がでない」である場合の例が示されている。図10に示すように、クエリqに対する適合文書dのスコアf(q,d)がi番目のクエリqに対する非適合文書dのスコアf(q,d)以上である場合、更新部18は、モデル記憶部12に記憶された第1のモデル12AのパラメータU及び第2のモデル12BのパラメータVを更新しない。
このようなパラメータの学習結果として得られた第1のモデル及び第2のモデルは、検索対象とする文書集合をランキングする場合にも適用できるが、キーワードの一致度に基づくランキングにより上位L件に絞り込まれた文書集合をリランキングする場合により好適に適用できる。
[処理の流れ]
図11は、実施例1に係る学習処理の手順を示すフローチャートである。この処理は、一例として、学習の開始指示が受け付けられた場合に実行される。図11に示すように、更新部18は、モデル記憶部12に記憶された第1のモデル12AのパラメータU及び第2のモデル12BのパラメータVに初期値を設定する(ステップS101)。例えば、平均「0」および標準偏差「1」の正規分布の範囲で乱数を発生させることにより、パラメータU及びパラメータVの初期値を与える。
続いて、第1の取得部13は、学習サンプルをカウントするループカウンタiの値を「1」に初期化し、学習データ記憶部11に記憶されたm個の学習サンプルのうちi番目の学習サンプルを取得する(ステップS102)。
そして、第1の算出部14は、i番目のクエリqに含まれる単語ごとに第1のモデル12Aから抽出されたN次元のベクトルの要素和をとることにより導出されたi番目のクエリqのN次元のベクトルと、適合文書dに含まれる単語ごとに第2のモデル12Bから抽出されたN次元のベクトルの要素和をとることにより導出された適合文書dのN次元のベクトルとから、i番目のクエリqに対する適合文書dのスコアf(q,d)を算出する(ステップS103)。
また、第2の取得部15は、ステップS102で取得されたi番目のクエリqに含まれる単語を入力とし、キーワードの一致度に基づくランキングを行う(ステップS104)。このステップS104の結果として得られたランキング結果から、第2の取得部15は、上位所定数Lの文書を非適合文書dの候補c〜cとして取得する(ステップS105)。
続いて、第2の算出部16は、第1のモデル12Aおよび第2のモデル12Bにしたがってi番目のクエリqに対する非適合文書dの候補c〜cのスコアf(q,c)〜f(q,c)を算出する(ステップS106)。
そして、選択部17は、ステップS105で取得された上位L件の非適合文書の候補のうちステップS106で最大値のスコアが算出された非適合文書の候補を非適合文書dとして選択する(ステップS107)。
その後、更新部18は、ステップS103で算出されたi番目のクエリqに対する適合文書dのスコアf(q,d)がステップS107で選択されたi番目のクエリqに対する非適合文書dのスコアf(q,d)に所定値、例えば「1」を足した値よりも小さいか否か、すなわちf(q,d)<f(q,d)+1を満たすか否かを判定する(ステップS108)。
ここで、f(q,d)<f(q,d)+1である場合(ステップS108Yes)、更新部18は、モデル記憶部12に記憶された第1のモデル12AのパラメータU及び第2のモデル12BのパラメータVを更新する(ステップS109)。一方、f(q,d)<f(q,d)+1でない場合(ステップS108No)、ステップS109の処理はスキップされる。
そして、全ての学習サンプルが取得されるまで、言い換えればループカウンタiがmと等しくない場合(ステップS110No)、ループカウンタiを1つインクリメントし、上記のステップS102〜ステップS109までの処理を繰り返し実行する。その後、全ての学習サンプルが取得された場合、言い換えればループカウンタiがmと等しい場合(ステップS110Yes)、処理を終了する。
なお、図11に示すフローチャートでは、ステップS103〜ステップS107までの処理をステップ番号順に実行する場合を例示したが、ステップS103の処理と、ステップS104からステップS107までの処理とは、並列して実行することもできるし、順不同で実行することもできる。
また、図11に示すフローチャートでは、学習データに含まれる全ての学習サンプルが学習されると処理が終了される場合を例示したが、第1のモデル及び第2のモデルにより所定の精度が得られるまで、上記のステップS102〜ステップS109の処理をさらにループさせることもできる。
[効果の一側面]
上述してきたように、本実施例に係る学習装置10は、所定数Lの非適合文書の候補ごとにクエリに対する候補のスコアを算出した上で最大のスコアを持つ候補を非適合文書として選択する。その上で、本実施例に係る学習装置10は、非適合文書のスコアが適合文書のスコアよりも大きいか否かにより、第1のモデル12A及び第2のモデル12Bのパラメータを更新するか否かを制御する。これによって、クエリに対する非適合文書として簡単な文書が選択されることによりモデルの更新頻度が減少するのを抑制できる。したがって、本実施例に係る学習装置10によれば、モデルの完成度の低下を抑制する。
このようなパラメータの学習結果として得られた第1のモデル及び第2のモデルは、検索対象とする文書集合をランキングする場合の他、キーワードの一致度に基づくランキングにより上位L件に絞り込まれた文書集合をリランキングする場合に高精度なランキングを実現できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第1の取得部13、第1の算出部14、第2の取得部15、第2の算出部16、選択部17または更新部18を学習装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、第1の取得部13、第1の算出部14、第2の取得部15、第2の算出部16、選択部17または更新部18を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の学習装置10の機能を実現するようにしてもよい。また、学習データ記憶部11またはモデル記憶部12に記憶される情報の全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の学習装置10の機能を実現するようにしてもかまわない。
[学習プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図12を用いて、上記の実施例と同様の機能を有する学習プログラムを実行するコンピュータの一例について説明する。
図12は、実施例1及び実施例2に係る学習プログラムを実行するコンピュータのハードウェア構成例を示す図である。図12に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図12に示すように、上記の実施例1で示した第1の取得部13、第1の算出部14、第2の取得部15、第2の算出部16、選択部17及び更新部18と同様の機能を発揮する学習プログラム170aが記憶される。この学習プログラム170aは、図1に示した第1の取得部13、第1の算出部14、第2の取得部15、第2の算出部16、選択部17または更新部18の各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170から学習プログラム170aを読み出した上でRAM180へ展開する。この結果、学習プログラム170aは、図12に示すように、学習プロセス180aとして機能する。この学習プロセス180aは、RAM180が有する記憶領域のうち学習プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、学習プロセス180aが実行する処理の一例として、図11に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記の学習プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に学習プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から学習プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに学習プログラム170aを記憶させておき、コンピュータ100がこれらから学習プログラム170aを取得して実行するようにしてもよい。
10 学習装置
11 学習データ記憶部
12 モデル記憶部
13 第1の取得部
14 第1の算出部
15 第2の取得部
16 第2の算出部
17 選択部
18 更新部

Claims (5)

  1. クエリおよび前記クエリに適合する正解のラベルが付与された適合文書を取得し、
    クエリをN次元のベクトルへ変換する第1のモデルを参照することにより得られる前記クエリの前記N次元のベクトルと、文書を前記N次元のベクトルへ変換する第2のモデルを参照することにより得られる前記適合文書の前記N次元のベクトルとから、前記クエリに対する前記適合文書のスコアを算出し、
    前記クエリに適合しない不正解のラベルが付与された非適合文書の候補を取得し、
    前記候補ごとに、前記第2のモデルを参照することにより得られる前記候補の前記N次元のベクトルと、前記クエリの前記N次元のベクトルとから、前記クエリに対する前記候補のスコアを算出し、
    前記クエリに対する前記候補のスコアが最大である候補を前記非適合文書として選択し、
    前記クエリに対する前記適合文書のスコアと、前記クエリに対する前記非適合文書のスコアとに基づいて、前記第1のモデル及び前記第2のモデルを更新するか否かを制御する、
    処理をコンピュータに実行させることを特徴とする学習プログラム。
  2. 前記非適合文書の候補を取得する処理は、前記クエリに含まれる単語と、所定の文書集合に含まれる単語とのキーワードの一致度に基づくランキングを行うことにより得られたランキング結果から上位所定数の文書を前記非適合文書の候補として取得することを特徴とする請求項1に記載の学習プログラム。
  3. 前記制御する処理は、前記クエリに対する前記適合文書のスコアが前記クエリに対する前記非適合文書のスコアよりも小さい場合、前記第1のモデル及び前記第2のモデルを更新することを特徴とする請求項1または2に記載の学習プログラム。
  4. クエリおよび前記クエリに適合する正解のラベルが付与された適合文書を取得し、
    クエリをN次元のベクトルへ変換する第1のモデルを参照することにより得られる前記クエリの前記N次元のベクトルと、文書を前記N次元のベクトルへ変換する第2のモデルを参照することにより得られる前記適合文書の前記N次元のベクトルとから、前記クエリに対する前記適合文書のスコアを算出し、
    前記クエリに適合しない不正解のラベルが付与された非適合文書の候補を取得し、
    前記候補ごとに、前記第2のモデルを参照することにより得られる前記候補の前記N次元のベクトルと、前記クエリの前記N次元のベクトルとから、前記クエリに対する前記候補のスコアを算出し、
    前記クエリに対する前記候補のスコアが最大である候補を前記非適合文書として選択し、
    前記クエリに対する前記適合文書のスコアと、前記クエリに対する前記非適合文書のスコアとに基づいて、前記第1のモデル及び前記第2のモデルを更新するか否かを制御する、
    処理をコンピュータが実行することを特徴とする学習方法。
  5. クエリおよび前記クエリに適合する正解のラベルが付与された適合文書を取得する第1の取得部と、
    クエリをN次元のベクトルへ変換する第1のモデルを参照することにより得られる前記クエリの前記N次元のベクトルと、文書を前記N次元のベクトルへ変換する第2のモデルを参照することにより得られる前記適合文書の前記N次元のベクトルとから、前記クエリに対する前記適合文書のスコアを算出する第1の算出部と、
    前記クエリに適合しない不正解のラベルが付与された非適合文書の候補を取得する第2の取得部と、
    前記候補ごとに、前記第2のモデルを参照することにより得られる前記候補の前記N次元のベクトルと、前記クエリの前記N次元のベクトルとから、前記クエリに対する前記候補のスコアを算出する第2の算出部と、
    前記クエリに対する前記候補のスコアが最大である候補を前記非適合文書として選択する選択部と、
    前記クエリに対する前記適合文書のスコアと、前記クエリに対する前記非適合文書のスコアとに基づいて、前記第1のモデル及び前記第2のモデルを更新するか否かを制御する更新部と、
    を有することを特徴とする学習装置。
JP2017072972A 2017-03-31 2017-03-31 学習プログラム、学習方法および学習装置 Active JP6819420B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017072972A JP6819420B2 (ja) 2017-03-31 2017-03-31 学習プログラム、学習方法および学習装置
US15/935,583 US20180285742A1 (en) 2017-03-31 2018-03-26 Learning method, learning apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017072972A JP6819420B2 (ja) 2017-03-31 2017-03-31 学習プログラム、学習方法および学習装置

Publications (2)

Publication Number Publication Date
JP2018173909A true JP2018173909A (ja) 2018-11-08
JP6819420B2 JP6819420B2 (ja) 2021-01-27

Family

ID=63669626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017072972A Active JP6819420B2 (ja) 2017-03-31 2017-03-31 学習プログラム、学習方法および学習装置

Country Status (2)

Country Link
US (1) US20180285742A1 (ja)
JP (1) JP6819420B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021097515A1 (en) * 2019-11-20 2021-05-27 Canva Pty Ltd Systems and methods for generating document score adjustments
US11768867B2 (en) 2021-12-16 2023-09-26 Rovi Guides, Inc. Systems and methods for generating interactable elements in text strings relating to media assets
US11853341B2 (en) * 2021-12-16 2023-12-26 Rovi Guides, Inc. Systems and methods for generating interactable elements in text strings relating to media assets
CN114334067B (zh) * 2022-03-10 2022-07-19 上海柯林布瑞信息技术有限公司 临床数据的标签处理方法和装置

Also Published As

Publication number Publication date
JP6819420B2 (ja) 2021-01-27
US20180285742A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
CN108804641B (zh) 一种文本相似度的计算方法、装置、设备和存储介质
CN110162695B (zh) 一种信息推送的方法及设备
CN107436875B (zh) 文本分类方法及装置
JP6634515B2 (ja) 自動質問応答システムにおける質問クラスタリング処理方法及び装置
JP6819420B2 (ja) 学習プログラム、学習方法および学習装置
US10482146B2 (en) Systems and methods for automatic customization of content filtering
CN110737756B (zh) 确定针对用户输入数据的应答的方法、装置、设备和介质
EP3210133A1 (en) Tagging personal photos with deep networks
CN109241243B (zh) 候选文档排序方法及装置
US20150309988A1 (en) Evaluating Crowd Sourced Information Using Crowd Sourced Metadata
JPWO2016001998A1 (ja) 類似度算出システム、類似度算出方法およびプログラム
US10268655B2 (en) Method, device, server and storage medium of searching a group based on social network
CN108182200B (zh) 基于语义相似度的关键词拓展方法和装置
CN112434533B (zh) 实体消歧方法、装置、电子设备及计算机可读存储介质
JP2017151926A (ja) 情報処理プログラム、情報処理装置および情報処理方法
JP2022117941A (ja) イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体
JP6311000B1 (ja) 生成装置、生成方法、及び生成プログラム
CN114490923A (zh) 相似文本匹配模型的训练方法、装置、设备及存储介质
JP2017219899A (ja) ナレッジ検索装置、ナレッジ検索方法、および、ナレッジ検索プログラム
CN112506864A (zh) 文件检索的方法、装置、电子设备及可读存储介质
CN117435685A (zh) 文档检索方法、装置、计算机设备、存储介质和产品
CN108170665B (zh) 基于综合相似度的关键词拓展方法和装置
CN107622048B (zh) 一种文本模式识别方法及系统
JP6495206B2 (ja) 文書概念ベース生成装置、文書概念検索装置、方法、及びプログラム
CN111723179B (zh) 基于概念图谱的反馈模型信息检索方法、系统及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201214

R150 Certificate of patent or registration of utility model

Ref document number: 6819420

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150