(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118289
(43)【公開日】2024-08-30
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
G06F 16/9032 20190101AFI20240823BHJP
G06Q 50/10 20120101ALI20240823BHJP
【FI】
G06F16/9032
G06Q50/10
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023024642
(22)【出願日】2023-02-20
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 国立大学法人 東京工業大学 情報理工学院 2022年度 応用AI・データサイエンス A Applied Artificial Intelligence and Data Science A http://www.ocw.titech.ac.jp/index.php?module=General&action=T0300&JWC=202226657
(71)【出願人】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】由川 拳都
(72)【発明者】
【氏名】柴田 知秀
(72)【発明者】
【氏名】山本 浩司
【テーマコード(参考)】
5B175
5L049
5L050
【Fターム(参考)】
5B175GA01
5B175GB03
5L049CC12
5L049CC17
5L050CC12
5L050CC17
(57)【要約】
【課題】関連する検索クエリを的確に提示することができる情報処理装置、情報処理方法、及び情報処理プログラムを提供すること。
【解決手段】本開示に係る情報処理装置は、利用者が利用者端末に入力した検索クエリを利用者端末から取得する取得部と、取得した検索クエリの言語表現をベクトル表現に変換する変換部と、変換部が変換したベクトル表現に基づいて、ベクトル表現に類似する関連検索クエリのベクトル表現を特定する特定部と、特定部が特定した関連検索クエリのベクトル表現を言語表現に逆変換する逆変換部と、逆変換部が逆変換した検索クエリを類似度が高い順に利用者端末に表示させる提案部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
利用者が利用者端末に入力した検索クエリを利用者端末から取得する取得部と、
取得した検索クエリの言語表現をベクトル表現に変換する変換部と、
前記変換部が変換したベクトル表現に基づいて、前記ベクトル表現に類似する関連検索クエリのベクトル表現を特定する特定部と、
前記特定部が特定した関連検索クエリのベクトル表現を言語表現に逆変換する逆変換部と、
前記逆変換部が逆変換した検索クエリを類似度が高い順に利用者端末に表示させる提案部と、を備える、
情報処理装置。
【請求項2】
前記変換部は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリの言語表現とベクトル表現の関係を学習したモデルを用いて、前記取得部が取得した検索クエリの言語表現をベクトル表現に変換する、
請求項1に記載の情報処理装置。
【請求項3】
前記特定部は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリとベクトル表現の関係を学習したモデルを用いて、関連検索クエリをベクトル表現に変換した後の、関連検索クエリのデータベースを参照して、前記変換部が変換したベクトル表現に類似する関連検索クエリのベクトル表現を特定する、
請求項1又は請求項2に記載の情報処理装置。
【請求項4】
利用者が利用者端末に入力した検索クエリを利用者端末から取得するステップと、
取得した検索クエリの言語表現をベクトル表現に変換するステップと、
変換したベクトル表現に基づいて、前記ベクトル表現に類似する関連検索クエリのベクトル表現を特定するステップと、
特定した関連検索クエリのベクトル表現を言語表現に逆変換するステップと、
逆変換した検索クエリを類似度が高い順に利用者端末に表示させるステップと、
を含む情報処理方法。
【請求項5】
利用者が利用者端末に入力した検索クエリを利用者端末から取得するステップと、
取得した検索クエリの言語表現をベクトル表現に変換するステップと、
変換したベクトル表現に基づいて、前記ベクトル表現に類似する関連検索クエリのベクトル表現を特定するステップと、
特定した関連検索クエリのベクトル表現を言語表現に逆変換するステップと、
逆変換した検索クエリを類似度が高い順に利用者端末に表示させるステップと、
をコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
検索エンジンを用いた情報検索サービスにおいて、検索クエリに関連する検索クエリを表示することによって、利用者の検索意図に沿った情報を提供できる可能性が高まると考えられる。
【0003】
例えば、下記の特許文献1には、検索に供されたキーワード及びこのキーワード以外の一つ以上のキーワードを含む検索クエリをキーワードに関連する検索クエリとして検索エンジンの検索ログから抽出する検索クエリ抽出手段と、抽出した検索クエリからキーワードを削除した語をキーワードの検索意図の候補として特定するキーワード検索意図候補特定手段と、を備えることを特徴とする検索意図辞書作成装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術を一例とする、関連する検索クエリを提示する技術においては、利用者の検索意図に沿って幅広く関連する検索クエリを提示することが課題となっていた。本開示は上記課題を鑑み、関連する検索クエリを的確に提示することができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本開示に係る情報処理装置は、利用者が利用者端末に入力した検索クエリを利用者端末から取得する取得部と、取得した検索クエリの言語表現をベクトル表現に変換する変換部と、前記変換部が変換したベクトル表現に基づいて、前記ベクトル表現に類似する関連検索クエリのベクトル表現を特定する特定部と、前記特定部が特定した関連検索クエリのベクトル表現を言語表現に逆変換する逆変換部と、前記逆変換部が逆変換した検索クエリを類似度が高い順に利用者端末に表示させる提案部と、を備える。
【発明の効果】
【0007】
本開示によれば、関連する検索クエリを的確に提示することができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理の一例を示す図である。
【
図2】
図2は、実施形態に係る情報処理システムの構成例を示す図である。
【
図3】
図3は、実施形態に係る情報処理装置の構成例を示す図である。
【
図4】
図4は、実施形態に係る情報処理装置の検索クエリ記憶部に記憶される情報の一例を示す図である。
【
図5】
図5は、実施形態に係る情報処理装置の関連検索クエリ記憶部に記憶される情報の一例を示す図である。
【
図6】
図6は、実施形態に係る情報処理装置のモデル記憶部に記憶される情報の一例を示す図である。
【
図7】
図7は、実施形態に係るベクトル検索モデルの学習方法のフローを示すフローチャートである。
【
図8】
図8は、実施形態に係る利用者端末の構成例を示す図である。
【
図9】
図9は、実施形態に係る情報処理の一例を示すフローチャートである。
【
図10】
図10は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本開示に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本開示に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。
【0010】
(実施形態)
〔1.実施形態に係る情報処理〕
〔1-1.実施形態に係る情報処理の一例〕
まず、
図1を用いて、実施形態に係る情報処理の一例について説明する。
図1は、実施形態に係る情報処理の一例を示す図である。
図1では、実施形態に係る情報処理が情報処理装置100、利用者端末200により実行される例を示す。以下、実施形態に係る情報処理についてステップごとに順を追って説明する。
【0011】
まず、情報処理装置100は、利用者端末200から利用者が入力した検索クエリを取得する(ステップS1)。ここで、検索クエリとは、検索エンジンに対する利用者の問い合わせを意味する。例えば、検索クエリは、所定の言語における単語や文章などの組み合わせによって表させる。一例を挙げて説明すると、情報処理装置100は、利用者端末200から利用者が入力した検索クエリとして、「アニメA」、「キャラ」、「一覧」という単語の組み合わせを取得する。このように、検索クエリは、複数の単語が組み合わせていてもよいし、一つの単語であってもよく、複数の文の組み合わせであってもよい。情報処理装置100は、利用者端末200から利用者が入力した検索クエリを取得したら、取得した検索クエリを後述して説明する検索クエリ記憶部121に記憶する。
【0012】
次に、情報処理装置100は、取得した検索クエリの言語表現をベクトル表現に変換する(ステップS2)。例えば、情報処理装置100は、ステップS1において取得した検索クエリである「アニメA」、「キャラ」、「一覧」という単語の組み合わせの言語表現をベクトル表現に変換する。例えば、情報処理装置100は、必要に応じて、クリーニング処理、形態素解析、正規化(標準形変換)、ストップワード除去などの処理を行った後に、ベクトル表現に変換してよい。なお、検索クエリの言語表現のベクトル表現への変換は、Word2Vec,Retrofitting,Glove,FastText,BERTなどを用いることにより実現されてよい。
【0013】
次に、情報処理装置100は、ベクトル表現に基づいて、類似度が高い関連検索クエリのベクトル表現を特定する(ステップS3)。例えば、情報処理装置100は、関連検索クエリのデータベース(例えば、後述して説明する関連検索クエリ記憶部122)に記憶された関連検索クエリのベクトル表現に対して、コサイン類似度を算出することにより、類似度を算出してよい。なお、コサイン類似度に限られず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現の間の類似度を計算してもよい。例えば、ベクトル表現同士のユークリッド距離や、双曲空間などの非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離などといった所定の距離関数の値を類似度として算出してもよい。そして、情報処理装置100は、算出した類似度に基づいて、例えば、類似度が所定の閾値以上の関連検索クエリのベクトル表現を、類似度が高い関連検索クエリのベクトル表現として特定してよい。
【0014】
次に、情報処理装置100は、特定されたベクトル表現を検索クエリに変換する(ステップS4)。例えば、情報処理装置100は、データベース(例えば、関連検索クエリ記憶部122)に記憶された関連検索クエリの言語表現と、ベクトル表現の対応関係に基づいて、ステップS3において特定された類似度が高い関連検索クエリのベクトル表現を、関連検索クエリの言語表現に変換してよい。
【0015】
次に、情報処理装置100は、関連検索クエリを利用者端末200に表示させる(ステップS5)。例えば、情報処理装置100は、ステップS4において言語表現に変換された関連検索クエリを、類似度が高い順に、利用者端末200に表示させてよい。
【0016】
これによれば、利用者が入力した検索クエリに関連する関連検索クエリをベクトル表現の類似度に基づいて幅広く抽出して、類似度が高い順に利用者に提示することができる。そのため、関連する検索クエリを的確に提示することができる情報処理装置を提供することができる。
【0017】
〔1-2.実施形態に係る情報処理の他の例〕
情報処理装置100は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリの言語表現とベクトル表現の関係を学習したモデルを用いて、取得した検索クエリの言語表現をベクトル表現に変換する。
【0018】
この情報処理について順を追って説明する。まず、情報処理装置100は、
図1に示したステップS1と同じ処理を実行する。ステップS1は、上述した処理と同じであるから説明を省略する。
【0019】
次に、情報処理装置100は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリの言語表現とベクトル表現の関係を学習したモデルを用いて、取得した検索クエリの言語表現をベクトル表現に変換する。(ステップS2-1)。ここで、セッションとは、利用者が連続してウェブ行動を実行していた期間のことを指し、利用者のウェブ行動の間隔が所定の期間以内(例えば、30分以内)であれば同一セッションとみなしてよい。すなわち、情報処理装置100は、利用者が所定の期間以内に連続して入力した検索クエリを正例として、同一セッションにおける検索クエリのベクトル表現が類似するように学習させたモデルを用いて、ステップS1において取得した検索クエリの言語表現をベクトル表現に変換する。
【0020】
なお、この場合の学習モデルは、例えば、BERTにSimCSEを適用して学習させることにより実現されてよい。SimCSEは、BERTのようなPLM(Pre-Trained Language Model)に対して対照学習を行うことで、STS(Semantic Textual Similarity)の性能を高める手法である。なお、対照学習とは、ラベル付けを行うことなく、データ同士を比較する仕組み用いて、膨大なデータをそのまま学習できる自己教師あり学習の一種である。
【0021】
次に、情報処理装置100は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリとベクトル表現の関係を学習したモデルを用いて、関連検索クエリをベクトル表現に変換した後の、関連検索クエリのデータベースを参照して、変換したベクトル表現に類似する関連検索クエリのベクトル表現を特定する。(ステップS3-1)。なお、この場合においては、関連検索クエリのデータベース(例えば、関連検索クエリ記憶部122)に記憶される関連検索クエリのベクトル表現は、ステップS2-1において検索クエリの言語表現をベクトル表現に変換するために用いたモデルと同じ、セッションが同一である検索クエリを正例として、対照学習によって検索クエリの言語表現とベクトル表現の関係を学習したモデルを用いてよい。
【0022】
次に、情報処理装置100は、
図1に示したステップS4からS5と同じ処理を実行する。ステップS4からS5は、上述した処理と同じであるから説明を省略する。
【0023】
これによれば、検索クエリに関連する関連検索クエリの抽出において、利用者の検索意図が類似していると考えられる同一セッションに連続して入力された検索クエリを類似度が高い検索クエリとして抽出することができる。そのため、関連する検索クエリを的確に提示することができる情報処理装置を提供することができる。
【0024】
〔2.情報処理システムの構成〕
次に、
図2を用いて実施形態に係る情報処理システムの構成について説明する。
図2は、実施形態に係る情報処理システムの構成例を示す図である。
図2に示すように、実施形態に係る情報処理システム1は、情報処理装置100と、利用者端末200と、ネットワークNを有する。以下、これらの構成について簡単に順を追って説明する。
【0025】
情報処理装置100は、例えばPC(Personal Computer)、WS(Work Station)、サーバの機能を備えるコンピュータなどの情報処理装置であってよい。情報処理装置100は、利用者端末200などからネットワークNを介して送信されてきた情報に基づいて処理を行う。
【0026】
利用者端末200は、利用者が利用する情報処理装置である。利用者端末200は、例えば、スマートフォン、タブレット型端末、デスクトップ型PC、ノート型PC、携帯電話機、PDA(Personal Digital Assistant)等の情報処理装置であってよい。なお、
図1に示す例においては、利用者端末200がスマートフォンである場合を示している。
【0027】
ネットワークNは、情報処理装置100と、利用者端末200を有線、又は無線により相互に通信可能に接続する。ネットワークNが有線の場合は、IEEE802.3に規定されるイーサネット(登録商標)(ETHERNET(登録商標))により実現されてよい。また、ネットワークNが無線の場合は、IEEE802.11に規定される無線LAN(Local Area Network)により実現されてよい。
【0028】
〔3.情報処理装置の構成〕
次に、
図3を用いて、情報処理装置100の構成について説明する。
【0029】
図3は、実施形態に係る情報処理装置の構成例を示す図である。
図3に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130と、を有する。
【0030】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)、無線LAN(Local Area Network)カード等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、利用者端末200などとの間で情報の送受信を行う。
【0031】
(記憶部120について)
記憶部120は、主記憶装置と外部記憶装置とを備える。主記憶装置は、制御部130が実行するプログラム、あるいは制御部130が処理するデータを記憶する。主記憶装置は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等のような半導体メモリ素子によって実現されてよい。外部記憶装置は、制御部130が処理するデータを保存する。外部記憶装置は、例えば、ハードディスクやSSD(Solid State Drive)、磁気テープ、光ディスク等によって実現されてよい。
【0032】
図3に示すように、記憶部120は、検索クエリ記憶部121と、関連検索クエリ記憶部122と、モデル記憶部123を有する。以下、これらの構成について順を追って説明する。
【0033】
(検索クエリ記憶部121について)
検索クエリ記憶部121は、利用者が入力した検索クエリを記憶する。ここで、
図4を用いて、検索クエリ記憶部121が記憶する情報の一例を説明する。
図4は、実施形態に係る情報処理装置の検索クエリ記憶部に記憶される情報の一例を示す図である。
【0034】
図4に示す例において、検索クエリ記憶部121は、「利用者ID」、「取得日時」、「検索クエリID」、「検索クエリ」という項目に係る情報を紐付けて記憶する。
【0035】
「利用者ID」は、利用者を識別する識別子であり、文字列や番号などによって表される。「取得日時」は、「検索クエリ」により示される検索クエリを取得した日時を示す。「検索クエリID」は、検索クエリを識別する識別子であり、文字列や番号などによって表される。「検索クエリ」は、「検索クエリID」に紐付けられた検索クエリである。
【0036】
すなわち、
図4においては、利用者ID「利用者ID#1」により識別される利用者が入力した検索クエリを取得日時「取得日時#1-1」に示される日時に取得して、当該の検索クエリが検索クエリID「検索クエリID#1-1」により識別され、検索クエリ「検索クエリ#1-1」として記憶されていることを示している。
【0037】
なお、検索クエリ記憶部121に記憶される情報は、「利用者ID」、「取得日時」、「検索クエリID」、「検索クエリ」という項目に係る情報に限定されるものではなく、その他の任意の検索クエリに関係する情報が記憶されてよい。
【0038】
(関連検索クエリ記憶部122について)
関連検索クエリ記憶部122は、検索クエリに関連する関連検索クエリを記憶する。ここで、
図5を用いて、関連検索クエリ記憶部122が記憶する情報の一例を説明する。
図5は、実施形態に係る情報処理装置の関連検索クエリ記憶部に記憶される情報の一例を示す図である。
【0039】
図5に示す例において、関連検索クエリ記憶部122は、「関連検索クエリID」、「関連検索クエリ」、「ベクトル表現」という項目に係る情報を紐付けて記憶する。
【0040】
「関連検索クエリID」は、関連検索クエリを識別する識別子であり、文字列や番号などによって表される。「関連検索クエリ」は、利用者によって検索クエリとして入力されたことがある検索クエリであり、例えば、文字列や文章などである。「ベクトル表現」は、「関連検索クエリ」が示す関連検索クエリの文字列や文章の言語表現をベクトル表現によって表したものである。なお、この場合のベクトル表現は、BERTのようなPLMによって言語表現をベクトル表現に変換されたものが記憶されていてもよいし、BERTのようなPLMに対して、SimCSEを用いて対照学習を行うことによって、ベクトル表現への変換性能を高めたモデルを用いて、ベクトル表現に変換されたものが記憶されていてもよい。
【0041】
すなわち、
図5においては、関連検索クエリID「関連検索クエリID#1」により識別された関連検索クエリが「関連検索クエリ#1」であり、当該の関連検索クエリのベクトル表現が「ベクトル表現#1」であることを示している。
【0042】
なお、関連検索クエリ記憶部122に記憶される情報は、「関連検索クエリID」、「関連検索クエリ」、「ベクトル表現」という項目に係る情報に限定されるものではなく、その他の任意の関連検索クエリに関係する情報が記憶されてよい。
【0043】
(モデル記憶部123について)
モデル記憶部123は、検索クエリの言語表現をベクトル表現に変換するモデルを記憶する。ここで、
図6を用いて、モデル記憶部123が記憶する情報の一例を説明する。
図6は、実施形態に係る情報処理装置のモデル記憶部に記憶される情報の一例を示す図である。
【0044】
図6に示す例において、モデル記憶部123は、「モデルID」、「モデルデータ」という項目に係る情報を紐付けて記憶する。
【0045】
「モデルID」は、検索クエリの言語表現をベクトル表現に変換する機械学習モデルを識別する識別子であり文字列や番号などによって表される。「モデルデータ」は、検索クエリの言語表現をベクトル表現に変換する機械学習モデルのモデルデータを示す。例えば、機械学習モデルは、ニューラルネットワークなどであってよい。
【0046】
すなわち、
図6において、モデルID「M#1」で識別されるモデルは、機械学習モデルM#1を示す。また、モデルデータ「MDT#1」は、機械学習モデルM#1のモデルデータを示す。
【0047】
なお、モデル記憶部123に記憶される情報は、「モデルID」、「モデルデータ」という項目に係る情報に限定されることなく、その他の任意の検索クエリの言語表現をベクトル表現に変換するモデルに関係する情報が記憶されてよい。
【0048】
(制御部130について)
次に、
図3に戻って、制御部130について説明する。制御部130は、情報処理装置100を制御するコントローラであり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100の記憶部120に記憶されている各種プログラムを読み出して、RAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0049】
制御部130は、
図3に示すように、取得部131と、変換部132と、特定部133と、逆変換部134と、提案部135を有する。制御部130は、記憶部120からプログラムを読み出して、RAMを作業領域として実行することで、これらの機能を実現して、以下に説明する情報処理の機能や作用を実現または実行する。以下、これらの処理を、順を追って説明する。
【0050】
(取得部131について)
取得部131は、利用者が利用者端末200に入力した検索クエリを利用者端末200から取得する。ここで、検索クエリは、所定の言語における単語や文章などの組み合わせによって表させる。例えば、取得部131は、利用者端末200から利用者が入力した検索クエリとして、「アニメA」、「キャラ」、「一覧」という単語の組み合わせを取得する。このように、検索クエリは、複数の単語が組み合わせていてもよいし、一つの単語であってもよく、複数の文の組み合わせであってもよい。取得部131は、利用者端末200から利用者が入力した検索クエリを取得したら、取得した検索クエリを検索クエリ記憶部121に記憶する。
【0051】
(変換部132について)
変換部132は、取得した検索クエリの言語表現をベクトル表現に変換する。例えば、変換部132は、必要に応じて、クリーニング処理、形態素解析、正規化(標準形変換)、ストップワード除去などの処理を行った後に、ベクトル表現に変換してよい。なお、変換部132における検索クエリの言語表現のベクトル表現への変換は、Word2Vec,Retrofitting,Glove,FastText,BERTなどを用いることにより実現されてよい。
【0052】
変換部132は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリの言語表現とベクトル表現の関係を学習したモデルを用いて、取得部131が取得した検索クエリの言語表現をベクトル表現に変換する。すなわち、変換部132は、利用者が所定の期間以内に連続して入力した検索クエリを正例として、同一セッションにおける検索クエリのベクトル表現が類似するように学習させたモデルを用いて、取得した検索クエリの言語表現をベクトル表現に変換する。なお、この場合の学習モデルは、例えば、BERTにSimCSEを適用して学習させることにより実現されてよい。
【0053】
また、変換部132は、前述の正例に加えて、負例として、検索クエリの文字面は似ているが、検索クエリの意味が異なり、当該の検索クエリのベクトル表現も異なる検索クエリを与えて学習させたモデルを用いて、取得した検索クエリの言語表現をベクトル表現に変換してもよい。例えば、ベクトル検索モデルのような検索エンジンに、「三十三間堂 拝観料」という検索クエリを入力した場合に、(ア)「京都 三十三間堂 拝観料」、(イ)「三十三間堂 拝観料 2022」、(ウ)「三月堂 拝観料」といった関連検索クエリが出力されたとする。そして、(ア)、及び(イ)については、利用者からクリックがあったものの、(ウ)については、クリックが無かったとする。この場合、正例として(ア)、及び(イ)の検索クエリを与えて、負例として(ウ)の検索クエリを与えて、BERTなどのモデルにSimCSEを適用して学習させる。
【0054】
このような学習方法について、
図7を用いて説明する。
図7は、実施形態に係るベクトル検索モデルの学習方法のフローを示すフローチャートである。
図7に示すように、実施形態に係るベクトル検索モデルの学習方法は、ステップS1からS3の第一段階と、ステップS4からS5の第二段階に分かれる。まず、ベクトル検索モデル(BERTなどのモデルにSimCSEを適用して学習させたモデルを用いた関連語の検索エンジン)を実サービスで稼働させることにより関連語を出力する(ステップS1)。次に、出力された関連語のうち、正例として、ベクトル検索モデルが出力した関連語のうちクリックされた、又はクリック割合が高いものを収集し、また、負例として、ベクトル検索モデルが出力した関連語のうちクリックされなかった、又はクリック割合が低いものを収集する(ステップS2)。そして、このような正例と負例を検索ログに保存する(ステップS3)。
【0055】
次に、実施形態に係るベクトル検索モデルの学習方法の第二段階として、ステップS4、及びS5について説明する。検索ログに保存された正例と負例をベクトル検索モデルに入力して学習させる(セッションデータを追加して学習させてもよい)(ステップS4)。次に、学習したベクトル検索モデルを実サービスにおいて稼働させる(ステップS5)。なお、以後、第一段階と第二段階を繰り返すことによって、さらに利用者の関連語の選択傾向を反映させたベクトル検索モデルを生成することができる。このようなベクトル検索モデルの学習方法によれば、実サービスにおける利用者の関連語の選択傾向を適宜に反映して、利用者の選択傾向の変化を汲み取ってベクトル検索モデルを調整することができる。そのため、利用者のニーズの移り変わりを反映したベクトル検索モデルを生成することができる。
【0056】
(特定部133について)
特定部133は、変換部132が変換したベクトル表現に基づいて、ベクトル表現に類似する関連検索クエリのベクトル表現を特定する。まず、特定部133は、関連検索クエリのデータベース(例えば、関連検索クエリ記憶部122)に記憶された関連検索クエリのベクトル表現に対して、コサイン類似度を算出することにより、類似度を算出する。なお、類似度の算出は、コサイン類似度に限られず、ベクトル間の距離尺度として適用可能な指標であれば、どのような指標に基づいて分散表現の間の類似度を計算してもよい。例えば、ベクトル表現同士のユークリッド距離や、双曲空間などの非ユークリッド空間中での距離、マンハッタン距離、マハラノビス距離などといった所定の距離関数の値を類似度として算出してもよい。そして、特定部133は、算出した類似度に基づいて、例えば、類似度が所定の閾値以上の関連検索クエリのベクトル表現を、類似度が高い関連検索クエリのベクトル表現として特定してよい。
【0057】
特定部133は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリとベクトル表現の関係を学習したモデルを用いて、関連検索クエリをベクトル表現に変換した後の、関連検索クエリのデータベース(例えば、関連検索クエリ記憶部122)を参照して、変換部132が変換したベクトル表現に類似する関連検索クエリのベクトル表現を特定する。すなわち、特定部133の関連検索クエリの特定に用いる、関連検索クエリのデータベース(例えば、関連検索クエリ記憶部122)に記憶される関連検索クエリのベクトル表現が、セッションが同一である検索クエリを正例として、対照学習によって検索クエリの言語表現とベクトル表現の関係を学習したモデルを用いて、関連検索クエリの言語表現がベクトル表現に変換されたものを用いる。
【0058】
(逆変換部134について)
逆変換部134は、特定部133が特定した関連検索クエリのベクトル表現を言語表現に逆変換する。例えば、逆変換部134は、データベース(例えば、関連検索クエリ記憶部122)に記憶された関連検索クエリの言語表現と、ベクトル表現の対応関係に基づいて、特定部133が特定した類似度が高い関連検索クエリのベクトル表現を、関連検索クエリの言語表現に変換してよい。
【0059】
(提案部135について)
提案部135は、逆変換部134が逆変換した関連検索クエリを類似度が高い順に利用者端末200に表示させる。例えば、「アニメA」、「キャラ」、「一覧」という検索クエリに対して、関連検索クエリとして「アニメA」、「キャラ一覧」という組み合わせAと、「アニメA」、「キャラ」という組み合わせBと、「アニメA」、「キャラ」、「人気」という組み合わせCが特定されたとする。そして、組み合わせAの類似度が0.8、組み合わせBの類似度が0.7、組み合わせCの類似度が0.5と計算されたとする。この場合、提案部135は、組み合わせA,組み合わせB,組み合わせCという順に利用者端末200に関連検索クエリを表示させる。
【0060】
〔4.利用者端末の構成〕
次に、
図8を用いて、実施形態に係る利用者端末200の構成について説明する。
図8は、実施形態に係る利用者端末の構成例を示す図である。
図8に示すように、利用者端末200は、通信部210と、入力部220と、出力部230と、制御部240を有する。
【0061】
通信部210は、例えば、NIC、無線LANカード等によって実現される。そして、通信部210は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、情報処理装置100との間で各種の情報の送受信を行う。
【0062】
入力部220は、利用者から各種の操作情報が入力される。例えば、入力部220は、タッチパネルにより表示面(例えば出力部230)を介して利用者からの各種操作を受け付けてもよい。また、入力部220は、利用者端末200に設けられたボタンや、利用者端末200に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
【0063】
出力部230は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現されるタブレット型端末等の表示画面であり、各種情報を表示するための表示装置である。つまり、利用者端末200は、入力部220がタッチパネルである場合は、出力部230である表示画面により利用者の入力を受け付け、利用者への出力も行う。また、出力部230は、スピーカーであってもよく、スピーカーにより音声を出力してよい。
【0064】
制御部240は、例えば、CPUやMPU等によって、利用者端末200に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部240は、例えば、ASICやFPGA等の集積回路により実現されてもよい。
【0065】
図8に示すように、制御部240は、受付部241と、提案部242を有する。
【0066】
受付部241は、利用者から検索クエリの入力を受け付ける。例えば、受付部241は、利用者から検索クエリとして、「アニメA」、「キャラ」、「一覧」という単語の組み合わせを受け付ける。なお、受付部241は、入力部220を介して、利用者から検索クエリの入力を受け付けてよい。
【0067】
提案部242は、利用者が入力した検索クエリに関連する関連検索クエリを提案する。例えば、情報処理装置100が関連検索クエリの組み合わせAの類似度が0.8、組み合わせBの類似度が0.7、組み合わせCの類似度が0.5と計算したとする。この場合、提案部242は、情報処理装置100の提案部135から送信された情報に基づいて、組み合わせA,組み合わせB,組み合わせCという順に出力部230に関連検索クエリを表示させる。
【0068】
〔5.情報処理のフロー〕
次に、
図9を用いて、実施形態に係る情報処理の手順について説明する。
図9は、実施形態に係る情報処理の一例を示すフローチャートである。以下、
図9に示すフローチャートに沿って、実施形態に係る情報処理の手順について説明する。
【0069】
まず、情報処理装置100は、利用者が利用者端末200に入力した検索クエリを利用者端末200から取得する(ステップS101)。次に、情報処理装置100は、取得した検索クエリの言語表現をベクトル表現に変換する(ステップS102)。そして、情報処理装置100は、変換したベクトル表現に基づいて、当該のベクトル表現に類似する関連検索クエリのベクトル表現を特定する(ステップS103)。そして、情報処理装置100は、特定した関連検索クエリのベクトル表現を言語表現に逆変換する(ステップS104)。そして、情報処理装置100は、逆変換した検索クエリを類似度が高い順に利用者端末200に表示させる(ステップS105)。
【0070】
これによれば、利用者が入力した検索クエリに関連する関連検索クエリをベクトル表現の類似度に基づいて幅広く抽出して、類似度が高い順に利用者に提示することができる。そのため、関連する検索クエリを的確に提示することができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することができる。
【0071】
〔6.ハードウェア構成〕
また、上述した実施形態に係る情報処理装置100は、例えば
図10に示すような構成のコンピュータ1000によって実現される。
図10は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0072】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータが記憶される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0073】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0074】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0075】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0076】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0077】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、情報処理装置100の制御部130の機能を実現する。
【0078】
〔7.構成と効果〕
本開示に係る情報処理装置100は、利用者が利用者端末200に入力した検索クエリを利用者端末200から取得する取得部131と、取得した検索クエリの言語表現をベクトル表現に変換する変換部132と、変換部132が変換したベクトル表現に基づいて、ベクトル表現に類似する関連検索クエリのベクトル表現を特定する特定部133と、特定部133が特定した関連検索クエリのベクトル表現を言語表現に逆変換する逆変換部134と、逆変換部134が逆変換した検索クエリを類似度が高い順に利用者端末200に表示させる提案部135と、を備える。
【0079】
この構成によれば、利用者が入力した検索クエリに関連する関連検索クエリをベクトル表現の類似度に基づいて幅広く抽出して、類似度が高い順に利用者に提示することができる。そのため、関連する検索クエリを的確に提示することができる情報処理装置を提供することができる。
【0080】
本開示に係る情報処理装置100の変換部132は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリの言語表現とベクトル表現の関係を学習したモデルを用いて、取得部131が取得した検索クエリの言語表現をベクトル表現に変換する。
【0081】
この構成によれば、検索クエリに関連する関連検索クエリの抽出において、利用者の検索意図が類似していると考えられる同一セッションに連続して入力された検索クエリを類似度が高い検索クエリとして抽出することができる。そのため、関連する検索クエリを的確に提示することができる情報処理装置100を提供することができる。
【0082】
本開示に係る情報処理装置100の特定部133は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリとベクトル表現の関係を学習したモデルを用いて、関連検索クエリをベクトル表現に変換した後の、関連検索クエリのデータベースを参照して、変換部132が変換したベクトル表現に類似する関連検索クエリのベクトル表現を特定する。
【0083】
この構成によれば、検索クエリに関連する関連検索クエリの抽出において、利用者の検索意図が類似していると考えられる同一セッションに連続して入力された検索クエリを類似度が高い検索クエリとして抽出することができる。そのため、関連する検索クエリを的確に提示することができる情報処理装置100を提供することができる。
【0084】
本開示に係る情報処理方法は、利用者が利用者端末200に入力した検索クエリを利用者端末200から取得するステップと、取得した検索クエリの言語表現をベクトル表現に変換するステップと、変換したベクトル表現に基づいて、ベクトル表現に類似する関連検索クエリのベクトル表現を特定するステップと、特定した関連検索クエリのベクトル表現を言語表現に逆変換するステップと、逆変換した検索クエリを類似度が高い順に利用者端末200に表示させるステップと、を含む。
【0085】
この構成によれば、利用者が入力した検索クエリに関連する関連検索クエリをベクトル表現の類似度に基づいて幅広く抽出して、類似度が高い順に利用者に提示することができる。そのため、関連する検索クエリを的確に提示することができる情報処理方法を提供することができる。
【0086】
本開示に係る情報処理プログラムは、利用者が利用者端末200に入力した検索クエリを利用者端末200から取得するステップと、取得した検索クエリの言語表現をベクトル表現に変換するステップと、変換したベクトル表現に基づいて、ベクトル表現に類似する関連検索クエリのベクトル表現を特定するステップと、特定した関連検索クエリのベクトル表現を言語表現に逆変換するステップと、逆変換した検索クエリを類似度が高い順に利用者端末200に表示させるステップと、をコンピュータに実行させる。
【0087】
この構成によれば、この構成によれば、利用者が入力した検索クエリに関連する関連検索クエリをベクトル表現の類似度に基づいて幅広く抽出して、類似度が高い順に利用者に提示することができる。そのため、関連する検索クエリを的確に提示することができる情報処理プログラムを提供することができる。
【0088】
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0089】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部131は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0090】
100 情報処理装置
110 通信部
120 記憶部
121 検索クエリ記憶部
122 関連検索クエリ記憶部
123 モデル記憶部
130 制御部
131 取得部
132 変換部
133 特定部
134 逆変換部
135 提案部
200 利用者端末
210 通信部
220 入力部
230 出力部
240 制御部
241 受付部
242 提案部
N ネットワーク
【手続補正書】
【提出日】2024-07-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
利用者が利用者端末に入力した検索クエリを利用者端末から取得する取得部と、
取得した検索クエリの言語表現をベクトル表現に変換する変換部と、
前記変換部が変換したベクトル表現に基づいて、前記ベクトル表現に類似する関連検索クエリのベクトル表現を特定する特定部と、
前記特定部が特定した関連検索クエリのベクトル表現を、予め記憶された関連検索クエリの言語表現とベクトル表現との所定の対応関係に基づいて、言語表現に逆変換する逆変換部と、
前記逆変換部が逆変換した検索クエリを類似度が高い順に利用者端末に表示させる提案部と、を備える、
情報処理装置。
【請求項2】
前記変換部は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリの言語表現とベクトル表現の関係を学習したモデルを用いて、前記取得部が取得した検索クエリの言語表現をベクトル表現に変換する、
請求項1に記載の情報処理装置。
【請求項3】
前記特定部は、セッションが同一である検索クエリを正例として、対照学習によって検索クエリとベクトル表現の関係を学習したモデルを用いて、関連検索クエリのベクトル表現を記憶した関連検索クエリのデータベースを参照して、前記変換部が変換したベクトル表現に類似する関連検索クエリのベクトル表現を特定する、
請求項1又は請求項2に記載の情報処理装置。
【請求項4】
情報処理装置で実行される情報処理方法であって、
利用者が利用者端末に入力した検索クエリを利用者端末から取得するステップと、
取得した検索クエリの言語表現をベクトル表現に変換するステップと、
変換したベクトル表現に基づいて、前記ベクトル表現に類似する関連検索クエリのベクトル表現を特定するステップと、
特定した関連検索クエリのベクトル表現を、予め記憶された関連検索クエリの言語表現とベクトル表現との所定の対応関係に基づいて、言語表現に逆変換するステップと、
逆変換した検索クエリを類似度が高い順に利用者端末に表示させるステップと、
を含む情報処理方法。
【請求項5】
利用者が利用者端末に入力した検索クエリを利用者端末から取得するステップと、
取得した検索クエリの言語表現をベクトル表現に変換するステップと、
変換したベクトル表現に基づいて、前記ベクトル表現に類似する関連検索クエリのベクトル表現を特定するステップと、
特定した関連検索クエリのベクトル表現を、予め記憶された関連検索クエリの言語表現とベクトル表現との所定の対応関係に基づいて、言語表現に逆変換するステップと、
逆変換した検索クエリを類似度が高い順に利用者端末に表示させるステップと、
をコンピュータに実行させる情報処理プログラム。