JP2020046942A - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2020046942A
JP2020046942A JP2018174911A JP2018174911A JP2020046942A JP 2020046942 A JP2020046942 A JP 2020046942A JP 2018174911 A JP2018174911 A JP 2018174911A JP 2018174911 A JP2018174911 A JP 2018174911A JP 2020046942 A JP2020046942 A JP 2020046942A
Authority
JP
Japan
Prior art keywords
distributed
queries
input
user
query
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
JP2018174911A
Other languages
English (en)
Other versions
JP7088795B2 (ja
Inventor
一騎 山内
Kazuki Yamauchi
一騎 山内
琢郎 森
Takuro Mori
琢郎 森
伸次 池宮
Shinji Ikemiya
伸次 池宮
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.)
LY Corp
Original Assignee
Z Holdings Corp
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 Z Holdings Corp filed Critical Z Holdings Corp
Priority to JP2018174911A priority Critical patent/JP7088795B2/ja
Publication of JP2020046942A publication Critical patent/JP2020046942A/ja
Application granted granted Critical
Publication of JP7088795B2 publication Critical patent/JP7088795B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】クエリの分散表現の精度を向上させることである。【解決手段】情報処理装置は、情報を検索するために入力された複数のクエリを取得する取得部と、前記取得部により取得された複数のクエリのそれぞれの分散表現を生成する生成部と、前記複数のクエリのそれぞれを入力したユーザの重複度に基づいて、前記生成部により生成された複数の分散表現の中から、互いに関連した分散表現を選択する選択部と、を備える。【選択図】図2

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
自然言語処理の分野などでは、ニューラルネットワークを利用して得た単語や文の分散表現が機械学習などに利用されている。一方で、複数のクエリの互いの関連度をスコアとして導出する技術が知られている(例えば、特許文献1参照)。
特開2017−228114号公報
しかしながら、従来の技術では、単語や文として入力されたクエリの分散表現が、そのクエリの特徴を十分に表し切れておらず、分散表現の精度が十分でない場合があった。この結果、クエリの分散表現を利用した言語処理の精度が十分でない場合があった。
本発明は、上記の課題に鑑みてなされたものであり、クエリの分散表現の精度を向上させることができる情報処理装置、情報処理方法、およびプログラムを提供することを目的としている。
本発明の一態様は、情報を検索するために入力された複数のクエリを取得する取得部と、前記取得部により取得された複数のクエリのそれぞれの分散表現を生成する生成部と、前記複数のクエリのそれぞれを入力したユーザの重複度に基づいて、前記生成部により生成された複数の分散表現の中から、互いに関連した分散表現を選択する選択部と、を備える情報処理装置である。
本発明の一態様によれば、クエリの分散表現の精度を向上させることができる。
第1実施形態の情報処理装置100を含む情報処理システム1の一例を示す図である。 第1実施形態における情報処理装置100の構成の一例を示す図である。 第1実施形態における制御部110の一連の処理の流れを示すフローチャートである。 基準ワードベクトルの近傍に分布するワードベクトルを選択する様子を模式的に示す図である。 N個のワードベクトルのそれぞれの生成元である各クエリについて、基準ワードベクトルの生成元であるクエリとの関連度のスコアを導出する様子を模式的に示す図である。 基準ワードベクトルに関連するワードベクトルを選択する処理を所定回数k繰り返したときの様子を模式的に示す図である。 本手法の正解率の一例を表した図である。 実施形態の情報処理装置100のハードウェア構成の一例を示す図である。
以下、本発明を適用した情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。
[概要]
情報処理装置は、一以上のプロセッサにより実現される。情報処理装置は、情報を検索するために入力された複数のクエリを取得し、取得した複数のクエリのそれぞれの分散表現を生成する。クエリの分散表現は、クエリを複数の特徴によって表現した情報であり、例えば、複数の特徴を要素とする多次元のベクトルによって表される。
情報処理装置は、複数のクエリの分散表現を生成すると、複数の分散表現の生成元である複数のクエリのそれぞれを入力したユーザに関する所定の指標値に基づいて、複数の分散表現の中から、互いに関連した分散表現を選択する。ユーザに関する所定の指標値は、例えば、複数のクエリのそれぞれを入力したユーザの重複度であってもよいし、複数のクエリのそれぞれを入力したユーザの類似度であってもよい。
また、情報処理装置は、ユーザに関する所定の指標値に代えて、あるいは加えて、複数のクエリのそれぞれに関する所定の指標値に基づいて、複数の分散表現の中から、互いに関連した分散表現を選択してもよい。クエリに関する所定の指標値は、例えば、複数のクエリのそれぞれがユーザにより入力された時刻であってよい。
このように、情報処理装置は、ユーザの重複度や、ユーザの類似度、クエリの入力時刻といった指標値に基づいて、複数のクエリの分散表現の中から互いに関連するクエリを選択することで、クエリの分散表現の精度を向上させることができる。
<第1実施形態>
[全体構成]
図1は、第1実施形態の情報処理装置100を含む情報処理システム1の一例を示す図である。第1実施形態における情報処理システム1は、例えば、一つ以上の端末装置10と、情報提供装置20と、情報処理装置100とを備える。これらの装置は、例えば、ネットワークNWを介して互いに接続される。
図1に示す各装置は、ネットワークNWを介して種々の情報を送受信する。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、プロバイダ端末、無線通信網、無線基地局、専用回線などを含む。なお、図1に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。
端末装置10は、例えば、スマートフォンなどの携帯電話、タブレット端末、各種パーソナルコンピュータなどの、入力装置、表示装置、通信装置、記憶装置、および演算装置を備える端末装置である。通信装置は、NIC(Network Interface Card)などのネットワークカード、無線通信モジュールなどを含む。端末装置10では、ウェブブラウザやアプリケーションプログラムなどのUA(User Agent)が起動し、ユーザの入力内容に応じたリクエストを情報提供装置20に送信する。また、UAが起動された端末装置10は、情報提供装置20から取得した情報に基づいて、表示装置に各種画像を表示させる。
情報提供装置20は、例えば、ウェブブラウザからのリクエスト(例えばHTTP(Hypertext Transfer Protocol)リクエストやクエリなど)に応じてウェブページを端末装置10に提供するウェブサーバであってよい。ウェブページには、コンテンツが含まれる。コンテンツは、例えば、ブログやウェブサイトなどに掲載される文書データであってもよいし、静止画像データ、動画像データ、または音声データなどであってもよい。また、情報提供装置20は、アプリケーションプログラムからのリクエストに応じて画像や音声などのコンテンツを端末装置10に提供するアプリサーバであってもよい。例えば、情報提供装置20は、文書検索や画像検索といった、あるデータベースから所望のコンテンツを検索するサービス(以下、検索サービスと称する)を、ウェブサイトやアプリケーションを介して、端末装置10を利用するユーザに提供する。ユーザが検索サービスを利用してデータベースから所望のコンテンツを検索する際に、端末装置10に対してクエリを入力した場合、情報提供装置20は、その端末装置10からクエリを受信し、受信したクエリに応じたコンテンツを含むウェブページなどを端末装置10に送信する。
情報処理装置100は、検索サービスの利用時に入力された複数のクエリを、情報提供装置20から取得し、取得した複数のクエリのそれぞれの分散表現を生成する。そして、情報処理装置100は、生成した複数の分散表現の中から互いに関連した分散表現を選択し、その選択結果に関する情報を情報提供装置20に送信する。これを受けて、情報提供装置20は、例えば、情報処理装置100から受信した分散表現に関する情報に基づいて、検索サービスの精度を改善する。
[情報処理装置の構成]
図2は、第1実施形態における情報処理装置100の構成の一例を示す図である。図示のように、情報処理装置100は、例えば、通信部102と、制御部110と、記憶部130とを備える。
通信部102は、例えば、NIC等の通信インターフェースを含む。通信部102は、ネットワークNWを介して、情報提供装置20などと通信する。
制御部110は、例えば、取得部112と、生成部114と、選択部116と、出力制御部118とを備える。これらの構成要素は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサ(あるいはプロセッサ回路)が、記憶部130に記憶されたプログラム(ソフトウェア)を実行することにより実現される。また、制御部110の構成要素のうち一部または全部は、例えば、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等のハードウェア(回路部:circuitry)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。また、プロセッサにより参照されるプログラムは、予め記憶部130に格納されていてもよいし、DVDやCD−ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体が情報処理装置100のドライブ装置に装着されることで記憶媒体から記憶部130にインストールされてもよい。
記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置により実現される。記憶部130には、ファームウェアやアプリケーションプログラムなどの各種プログラムのほかに、検索クエリ情報132や行動履歴情報134、生成器情報136などが格納される。
検索クエリ情報132は、例えば、検索サービスの利用時に入力された各クエリに対して、入力日時や、入力したユーザの識別情報(以下、ユーザID)などが対応付けられた情報である。
行動履歴情報134は、例えば、検索サービスを利用した各ユーザの行動履歴を含む情報であり、各ユーザのユーザIDに対して、ユーザが検索サービスを利用した日時(検索日時)や、ユーザが検索時に入力したクエリ、ユーザが閲覧したウェブページのURL(Uniform Resource Locator)などが対応付けられた情報である。
生成器情報136は、クエリから分散表現を生成するための生成器を定義した情報(プログラムまたはデータ構造)である。生成器は、クエリを表す一つの単語(ワード)や複数の単語からなる語句(フレーズ)が入力されると、予め決められた要素数(次元数)の多次元ベクトル(以下、ワードベクトルと称する)を分散表現として出力するように予め学習されたニューラルネットワークによって実現される。
生成器情報136には、例えば、各ニューラルネットワークを構成する入力層、一以上の隠れ層(中間層)、出力層の其々に含まれるニューロン(ユニット)が互いにどのように結合されるのかという結合情報や、結合されたニューロン間で入出力されるデータに付与される結合係数がいくつであるのかという重み情報などが含まれる。結合情報は、例えば、各層に含まれるニューロン数や、各ニューロンの結合先のニューロンの種類を指定する情報、各ニューロンを実現する活性化関数、隠れ層のニューロン間に設けられたゲートなどの情報を含む。ニューロンを実現する活性化関数は、例えば、入力符号に応じて動作を切り替える関数(ReLU関数やELU関数)であってもよいし、シグモイド関数や、ステップ関数、ハイパボリックタンジェント関数であってもよいし、恒等関数であってもよい。ゲートは、例えば、活性化関数によって返される値(例えば1または0)に応じて、ニューロン間で伝達されるデータを選択的に通過させたり、重み付けたりする。結合係数は、活性化関数のパラメータであり、例えば、ニューラルネットワークの隠れ層において、ある層のニューロンから、より深い層のニューロンにデータが出力される際に、出力データに対して付与される重みを含む。また、結合係数は、各層の固有のバイアス成分などを含んでもよい。
生成器情報136により定義される生成器は、例えば、コーパスに含まれる複数の単語または語句の中から、基準となる単語または語句を選択し、選択した単語または語句から、その単語または語句の前後に出現する単語または語句を予測するSkip-Gramや、コーパスに含まれる、ある文脈に着目し、その着目した文脈の中のある単語または語句を、前後に出現する単語または語句から予測するCountinuous Bag-of-Words(CBOW)といったニューラルネットワークによって実現される。このようなニューラルネットワークは、fastTextやword2vecといったモデルに利用されている。fastTextは、word2vecと異なり、学習時に単語または語句の部分語(その単語や語句を構成する各文字)のまとまりを考慮して、活用形が異なるなどして表記が揺れる語句や単語を同じ単語や語句として扱っている。コーパスは、例えば、インターネット上で発信された情報を集約した百科事典に含まれる文書であってもよいし、検索クエリ情報132に含まれる複数のクエリの集合(所謂クエリログ)であってもよい。
生成器情報136は、例えば、百科事典に含まれる文書をコーパスにして、クエリからワードベクトルを生成するfastText(以下、第1生成器と称する)や、クエリの集合をコーパスにして、クエリからワードベクトルを生成するfastText(以下、第2生成器と称する)、クエリの集合をコーパスにして、クエリからワードベクトルを生成するword2vec(以下、第3生成器と称する)といった複数の生成器を定義してよい。
[処理フロー]
以下、第1実施形態における制御部110の一連の処理の流れをフローチャートに即して説明する。図3は、第1実施形態における制御部110の一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で繰り返し行われてもよい。
まず、取得部112は、通信部102を介して、情報提供装置20から、検索サービスの利用時に入力された複数のクエリや、各クエリの入力日時、各クエリを入力したユーザのユーザIDなどを取得し(S100)、取得したこれらの情報を検索クエリ情報132として記憶部130に記憶させる。
次に、生成部114は、記憶部130に記憶された検索クエリ情報132および生成器情報136を参照し、検索クエリ情報132に含まれる複数のクエリのそれぞれを、生成器情報136によって定義された生成器に入力することで、生成器に各クエリのワードベクトルを生成させる(S102)。
例えば、生成器情報136によって、第1生成器、第2生成器、および第3生成器の3つの生成器が定義されている場合、生成部114は、3つの生成器のそれぞれにクエリを入力することで、各クエリについて、互いに異なる3種類のワードベクトルを生成してもよい。
次に、選択部116は、生成部114によって生成された複数のワードベクトルの中から、ある基準とするワードベクトル(以下、基準ワードベクトルと称する)を選択する(S104)。基準ワードベクトルは、「第1分散表現」の一例である。
次に、選択部116は、選択した基準ワードベクトルの近傍に分布する所定数Nのワードベクトルを選択する(S106)。近傍とは、ワードベクトルに含まれる各要素を基底としたときに、その基底によって張られる多次元の空間において、基準ワードベクトルとの相対的な距離が近いことである。
例えば、選択部116は、基準ワードベクトルと、他のワードベクトルとの類似度(例えばコサイン類似度)を導出し、その導出した類似度を距離に換算することで、基準ワードベクトルに近い上位所定数Nのワードベクトルを選択する。基準ワードベクトルに近い上位所定数Nのワードベクトルは、「第2分散表現」の一例である。
図4は、基準ワードベクトルの近傍に分布するワードベクトルを選択する様子を模式的に示す図である。図中Vは、基準ワードベクトルを表している。例えばN=9とした場合、選択部116は、図示の例のように、多次元の空間において、基準ワードベクトルVに近い上位9個のワードベクトルV〜Vを選択する。
次に、選択部116は、選択したN個のワードベクトルのそれぞれの生成元であるクエリと、基準ワードベクトルの生成元であるクエリとの互いの関連度を導出する(S108)。例えば、選択部116は、数式(1)に基づいて、クエリ間の関連度を導出する。
Figure 2020046942
数式(1)中のScore(A,B)は、あるクエリAおよびBの互いの関連度を表すスコアである。クエリAまたはクエリBのうちの一方は、基準ワードベクトルの生成元であるクエリであるものとする。数式(1)に示すように、Score(A,B)は、クエリAとクエリBとの双方を入力したユーザの数(Auser∩Buser)を、クエリAを入力したユーザの数(Auser)で除算した値(式中の分子)を、更に、クエリBを入力したユーザの数(Buser)を、全ユーザの数(ALLuser)で除算した値(式中の分母)で除算した値として導出される。
関連度のスコアScore(A,B)は、Auser∩Buserに基づくことから、クエリAを入力したユーザと、クエリBを入力したユーザとが互いに重複する度合い(重複度)を表した指標値でもあり、互いに異なるクエリのそれぞれを入力したユーザの重複度が大きいほど、スコアScore(A,B)が大きくなり、互いに異なるクエリのそれぞれを入力したユーザの重複度が小さいほど、スコアScore(A,B)が小さくなる。すなわち、互いに異なるクエリのそれぞれを入力したユーザの重複度が大きいほど、スコアScore(A,B)(=クエリAとクエリBの関連度)が大きくなり、互いに異なるクエリのそれぞれを入力したユーザの重複度が小さいほど、スコアScore(A,B)(=クエリAとクエリBの関連度)が小さくなる。
図5は、N個のワードベクトルのそれぞれの生成元である各クエリについて、基準ワードベクトルの生成元であるクエリとの関連度のスコアを導出する様子を模式的に示す図である。上述した図4の例のように、N=9である場合、9個のワードベクトルV〜Vのそれぞれの生成元であるクエリについて、基準ワードベクトルVの生成元であるクエリとの関連度のスコアS1〜S9を、それら2つのクエリを入力したユーザの重複度に基づいて導出する。
選択部116は、N個のワードベクトルのそれぞれの生成元である各クエリについて、基準ワードベクトルの生成元であるクエリとの関連度のスコアScoreを導出すると、N個のワードベクトルの中から、基準ワードベクトルのクエリとの関連度のスコアScoreが閾値未満のワードベクトルを削除し(S110)、基準ワードベクトルのクエリとの関連度のスコアScoreが閾値以上のワードベクトルを、基準ワードベクトルに関連したワードベクトルとして選択する。
このように、ワードベクトル同士の類似度が大きいという条件に加えて、そのワードベクトルの生成元であるクエリを入力したユーザの重複度が大きい(すなわちクエリ間の関連度が大きい)という条件を満たすワードベクトルだけを選別することで、クエリの分散表現の精度を向上させることができる。
次に、出力制御部118は、通信部102を制御して、選択部116によって選択されたN個のワードベクトルのうち、クエリの関連度に基づいて削除されずに残ったワードベクトル、すなわち、基準ワードベクトルのクエリとの関連度のスコアScoreが閾値以上のワードベクトルを、基準ワードベクトルに関連したワードベクトルとして情報提供装置20に送信する(S112)。
なお、出力制御部118は、ワードベクトルに代えて、あるいは加えて、その送信対象のワードベクトルの生成元であるクエリを情報提供装置20に送信してもよい。情報提供装置20は、情報処理装置100から、ワードベクトルまたはクエリを受信すると、その受信した情報を自身が備えるHDDなどの記憶装置に記憶させておく。そして、情報提供装置20は、ウェブページなどを介して検索サービスを提供した端末装置10から、検索のためのクエリを受信すると、情報処理装置100から受信したワードベクトルまたはクエリのうち、端末装置10から受信したクエリとの関連度が大きいワードベクトルまたはクエリを抽出し、抽出した情報を、検索を推奨するクエリなどとして端末装置10に送信する。これによって、ユーザは検索サービスを利用して興味や関心をもつコンテンツを検索することができる。
次に、制御部110は、S104からS112の処理を所定回数k繰り返したか否かを判定し(S114)、所定回数k繰り返していないと判定した場合、S104に処理を戻し、前回選択した基準ワードベクトルと異なる他のワードベクトルを新たな基準ワードベクトルとして選択し、新たな基準ワードベクトルに類似する上位N個のワードベクトルの中から、クエリ間の関連度のスコアScore(A,B)が閾値以上のワードベクトルを、新たな基準ワードベクトルに関連するワードベクトルとして選択する。一方、制御部110は、S104からS112の処理を所定回数k繰り返したと判定した場合、本フローチャートの処理を終了する。
図6は、基準ワードベクトルに関連するワードベクトルを選択する処理を所定回数k繰り返したときの様子を模式的に示す図である。図示の例のように、検索クエリ情報132に含まれる複数のクエリの其々のワードベクトルの集合を母集団としたときに、1回目からk回目の各処理において、制御部110は、母集団の中から、ある基準ワードベクトルVRiに類似するN個のワードベクトルを選択し、更に、そのN個のワードベクトルの中から、基準ワードベクトルのクエリとの関連度のスコアScoreが閾値未満のD個のワードベクトルを差し引いた残りの(N−D)個のワードベクトルを、基準ワードベクトルVRiに関連するワードベクトルとして選択する。iは、1以上k以下の数である。例えば、1回目からk回目の各処理において、母集団から基準ワードベクトルVRiに関連するワードベクトルが選択されると、ある判定基準の下、選択されたワードベクトルのクエリが、基準ワードベクトルVRiのクエリと意味が同じまたは近いのかを人間などが判断して、本手法を評価してよい。図示の例では、1回目からk回目の各処理において、基準ワードベクトルVRiに関連するワードベクトルのクエリのうち、基準ワードベクトルVRiのクエリと意味が同じまたは近いクエリの数を、基準ワードベクトルVRiに関連するワードベクトルのクエリの総数で除算した割合が、正解率として導出されている。
図7は、本手法の正解率の一例を表した図である。図中の本手法とは、上述したように、母集団から基準ワードベクトルに関連するワードベクトルを選択する際に、まず、基準ワードベクトルに類似する上位N個のワードベクトルを選択し、その選択したN個のワードベクトルの中から、クエリ間の関連度のスコアScore(A,B)に基づいて、更に、ワードベクトルを絞り込む手法である。一方、比較手法とは、母集団から基準ワードベクトルに関連するワードベクトルを選択する際に、まず、基準ワードベクトルに類似する上位N個のワードベクトルを選択し、その選択したN個のワードベクトルを基準ワードベクトルに関連するワードベクトルとする手法である。
例えば、母集団とする複数のワードベクトルが第1生成器を利用して生成された場合、基準ワードベクトルに関連するものとして選択されたワードベクトルの正解率は、本手法では84[%]であり、比較手法では76[%]であり、その差分は+8[%]であった。また、母集団とする複数のワードベクトルが第2生成器を利用して生成された場合、基準ワードベクトルに関連するものとして選択されたワードベクトルの正解率は、本手法では66[%]であり、比較手法では30[%]であり、その差分は+36[%]であった。また、母集団とする複数のワードベクトルが第3生成器を利用して生成された場合、基準ワードベクトルに関連するものとして選択されたワードベクトルの正解率は、本手法では81[%]であり、比較手法では67[%]であり、その差分は+14[%]であった。このように、比較手法に比べて本手法の方が、互いに意味が近い分散表現を選択することができる。
以上説明した第1実施形態によれば、情報を検索するために入力された複数のクエリを取得し、取得した複数のクエリのそれぞれの分散表現であるワードベクトルを生成し、複数のクエリのそれぞれを入力したユーザの重複度に基づいて、生成した複数のワードベクトルの中から、互いに関連したワードベクトルを選択することにより、クエリの分散表現の精度を向上させることができる。
<第2実施形態>
以下、第2実施形態について説明する。上述した第1実施形態では、基準ワードベクトルに類似する上位N個のワードベクトルを選択した後に、そのN個のワードベクトルのそれぞれの生成元のクエリと、基準ワードベクトルの生成元のクエリとを入力したユーザの重複度(クエリ間の関連度のスコアScore(A,B))に基づいて、N個のワードベクトルを絞り込むものとして説明した。
これに対して、第2実施形態では、基準ワードベクトルに類似する上位N個のワードベクトルを選択した後に、そのN個のワードベクトルのそれぞれの生成元のクエリを入力したユーザと、基準ワードベクトルの生成元のクエリとを入力したユーザとの類似度に基づいて、N個のワードベクトルを絞り込む点で上述した第1実施形態と相違する。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。
第2実施形態の生成部114は、クエリの分散表現としてワードベクトルを生成するのと同様に、クエリを入力したユーザの分散表現としてユーザベクトルを生成する。具体的には、生成部114は、行動履歴情報134を参照し、各ユーザの行動履歴から、コンテンツの閲覧回数などを要素とする多次元のベクトルを、ユーザベクトルとして生成してよい。
第2実施形態の選択部116は、生成部114によって各ユーザのユーザベクトルが生成されると、基準ワードベクトルに類似する上位N個のワードベクトルを選択した後に、そのN個のワードベクトルのそれぞれの生成元のクエリを入力したユーザと、基準ワードベクトルの生成元のクエリとを入力したユーザとの類似度に基づいて、N個のワードベクトルの中から、基準ワードベクトルに関連するワードベクトルを選択する。例えば、選択部116は、N個のワードベクトルのそれぞれの生成元のクエリを入力したユーザAのユーザベクトルと、基準ワードベクトルの生成元のクエリを入力したユーザBのユーザベクトルとのコサイン類似度を導出し、その導出したコサイン類似度が閾値以上のユーザベクトルの組み合わせに対応したワードベクトルを、基準ワードベクトルに関連するワードベクトルを選択する。
以上説明した第2実施形態によれば、情報を検索するために入力された複数のクエリを取得し、取得した複数のクエリのそれぞれの分散表現であるワードベクトルを生成し、複数のクエリのそれぞれを入力したユーザの類似度に基づいて、生成した複数のワードベクトルの中から、互いに関連したワードベクトルを選択することにより、上述した実施形態と同様に、クエリの分散表現の精度を向上させることができる。
<第3実施形態>
以下、第3実施形態について説明する。上述した第1実施形態では、基準ワードベクトルに類似する上位N個のワードベクトルを選択した後に、そのN個のワードベクトルのそれぞれの生成元のクエリと、基準ワードベクトルの生成元のクエリとを入力したユーザの重複度(クエリ間の関連度のスコアScore(A,B))に基づいて、N個のワードベクトルを絞り込むものとして説明した。また、上述した第2実施形態では、基準ワードベクトルに類似する上位N個のワードベクトルを選択した後に、そのN個のワードベクトルのそれぞれの生成元のクエリを入力したユーザと、基準ワードベクトルの生成元のクエリとを入力したユーザとの類似度に基づいて、N個のワードベクトルを絞り込むものとして説明した。
これに対して、第3実施形態では、基準ワードベクトルに類似する上位N個のワードベクトルを選択した後に、そのN個のワードベクトルのそれぞれの生成元のクエリがユーザにより入力された時刻に基づいて、N個のワードベクトルを絞り込む点で上述した第1実施形態および第2実施形態と相違する。以下、第1実施形態および第2実施形態との相違点を中心に説明し、第1実施形態および第2実施形態と共通する点については説明を省略する。なお、第3実施形態の説明において、第1実施形態および第2実施形態と同じ部分については同一符号を付して説明する。
第3実施形態の選択部116は、基準ワードベクトルに類似する上位N個のワードベクトルを選択した後に、そのN個のワードベクトルのそれぞれの生成元のクエリがユーザにより入力された時刻に基づいて、N個のワードベクトルの中から、基準ワードベクトルに関連するワードベクトルを選択する。例えば、あるユーザがあるクエリAとクエリBを入力した場合、選択部116は、それらのクエリA、Bが入力された時刻が同じタイミングと見做せる場合、クエリ間の関連度のスコアScore(A,B)を大きくし、クエリA、Bが入力された時刻が異なるタイミングと見做せる場合、クエリ間の関連度のスコアScore(A,B)を小さくしてよい。
具体的には、選択部116は、クエリA、Bが入力された時刻が同じセッションに含まれる場合、それらのクエリA、Bが同じタイミングで入力されたものと見做して、クエリ間の関連度のスコアScore(A,B)を大きくし、クエリA、Bが入力された時刻が互いに異なるセッションに含まれる場合、それらのクエリA、Bが異なるタイミングで入力されたものと見做して、クエリ間の関連度のスコアScore(A,B)を小さくしてよい。
セッションとは、例えば、ユーザが、あるコンテンツを閲覧してからコンバージョンに至るまでの期間であってよい。コンバージョンとは、例えば、商品などのコンテンツを購入したり、動画などのコンテンツを視聴したり、広告などのコンテンツを閲覧したりすることである。また、セッションは、ユーザが、あるコンテンツを閲覧してから、他のコンテンツを閲覧するまでの期間であってもよいし、あるコンテンツを閲覧してから、ウェブブラウザなどのアプリケーションを終了するまでの期間であってもよいし、あるコンテンツを閲覧してから、所定時間経過(タイムアウト)するまでの期間であってもよい。
また、選択部116は、クエリAが入力されたからクエリBが入力されるまでの期間が短いほどクエリ間の関連度のスコアScore(A,B)を大きくし、クエリAが入力されたからクエリBが入力されるまでの期間が長いほどクエリ間の関連度のスコアScore(A,B)を小さくしてもよい。
このように、クエリの入力時刻が同じまたは近いほど、クエリ間の関連度のスコアScore(A,B)を大きくするため、N個のワードベクトルの中から、基準ワードベクトルに関連したワードベクトルを選択する際に、基準ワードベクトルに対する関連性が低いワードベクトルを取り除くことができる。
以上説明した第3実施形態によれば、情報を検索するために入力された複数のクエリを取得し、取得した複数のクエリのそれぞれの分散表現であるワードベクトルを生成し、複数のクエリのそれぞれの入力時刻に基づいて、生成した複数のワードベクトルの中から、互いに関連したワードベクトルを選択することにより、上述した実施形態と同様に、クエリの分散表現の精度を向上させることができる。
<第4実施形態>
以下、第4実施形態について説明する。第4実施形態では、母集団とする複数のワードベクトルのそれぞれの生成元のクエリと、基準ワードベクトルの生成元のクエリとを入力したユーザの重複度(クエリ間の関連度のスコアScore(A,B))に基づいて、ワードベクトルのそれぞれを重み付ける点で上述した第1実施形態から第3実施形態と相違する。以下、第1実施形態から第3実施形態との相違点を中心に説明し、第1実施形態から第3実施形態と共通する点については説明を省略する。なお、第4実施形態の説明において、第1実施形態から第3実施形態と同じ部分については同一符号を付して説明する。
第4実施形態の選択部116は、母集団とする複数のワードベクトルのそれぞれの生成元のクエリと、基準ワードベクトルの生成元のクエリとを入力したユーザの重複度に基づいて、クエリ間の関連度のスコアScore(A,B)を導出する。そして、選択部116は、クエリ間の関連度のスコアScore(A,B)に応じて、複数のワードベクトルのそれぞれを重み付ける。
例えば、選択部116は、ユーザの重複度が大きいほど、基準ワードベクトルに対する類似度(例えばコサイン類似度)が大きくなるように、ワードベクトルに値の大きい重み係数を乗算する。一方、選択部116は、ユーザの重複度が小さいほど、基準ワードベクトルに対する類似度(例えばコサイン類似度)が小さくなるように、ワードベクトルに値の小さい重み係数を乗算する。
選択部116は、母集団とする複数のワードベクトルのそれぞれを重み付けると、その重み付けた複数のワードベクトルの中から、基準ワードベクトルに類似する上位N個のワードベクトルを選択し、その選択したN個のワードベクトルのそれぞれの生成元のクエリと、基準ワードベクトルの生成元のクエリとの関連度や、それらクエリを入力したユーザとの類似度、それらクエリの入力時刻などに基づいて、N個のワードベクトルの中から、基準ワードベクトルに関連するワードベクトルを選択する。このように、母集団とする複数のワードベクトルを重み付けておくことで、母集団の中から、基準ワードベクトルに類似する上位N個のワードベクトルを選択する際に、より基準ワードベクトルに意味が近くなるワードベクトルを選び出すことができる。この結果、上述した実施形態と同様に、クエリの分散表現の精度を向上させることができる。
<ハードウェア構成>
上述した実施形態の情報処理装置100は、例えば、図8に示すようなハードウェア構成により実現される。図8は、実施形態の情報処理装置100のハードウェア構成の一例を示す図である。
情報処理装置100は、NIC100−1、CPU100−2、RAM100−3、ROM100−4、フラッシュメモリやHDDなどの二次記憶装置100−5、およびドライブ装置100−6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置100−6には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置100−5、またはドライブ装置100−6に装着された可搬型記憶媒体に格納されたプログラムがDMAコントローラ(不図示)などによってRAM100−3に展開され、CPU100−2によって実行されることで、制御部110が実現される。制御部110が参照するプログラムは、ネットワークNWを介して他の装置からダウンロードされてもよい。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1…情報処理システム、10…端末装置、20…情報提供装置、100…情報処理装置、102…通信部、110…制御部、112…取得部、114…生成部、116…選択部、118…出力制御部、130…記憶部

Claims (12)

  1. 情報を検索するために入力された複数のクエリを取得する取得部と、
    前記取得部により取得された複数のクエリのそれぞれの分散表現を生成する生成部と、
    前記複数のクエリのそれぞれを入力したユーザの重複度に基づいて、前記生成部により生成された複数の分散表現の中から、互いに関連した分散表現を選択する選択部と、
    を備える情報処理装置。
  2. 前記選択部は、
    前記複数の分散表現の中から、基準とする第1分散表現と類似する上位所定数の第2分散表現を選択し、
    前記選択した所定数の第2分散表現の中から、前記第2分散表現の生成元であるクエリを入力したユーザの重複度に基づいて、前記第1分散表現に関連した前記第2分散表現を選択する、
    請求項1に記載の情報処理装置。
  3. 前記選択部は、前記所定数の第2分散表現の中から、前記ユーザの重複度が閾値以上であるクエリから生成された前記第2分散表現を、前記第1分散表現に関連した前記第2分散表現として選択する、
    請求項2に記載の情報処理装置。
  4. 前記選択部は、
    前記ユーザの重複度に基づいて、前記生成部により生成された複数の分散表現のそれぞれを重み付け、
    前記重み付けた複数の分散表現の中から、互いに関連した分散表現を選択する、
    請求項1から3のうちいずれか一項に記載の情報処理装置。
  5. 前記選択部は、
    前記生成部により生成された複数の分散表現のそれぞれについて、前記ユーザの重複度が大きいほど、基準とする第1分散表現とより類似するように重み付け、
    前記重み付けた複数の分散表現の中から、前記第1分散表現に関連した第2分散表現を選択する、
    請求項4に記載の情報処理装置。
  6. 前記選択部は、更に、前記複数のクエリのそれぞれを入力したユーザの類似度に基づいて、前記生成部により生成された複数の分散表現の中から、互いに関連した分散表現を選択する、
    請求項1から5のうちいずれか一項に記載の情報処理装置。
  7. 前記選択部は、更に、前記複数のクエリのそれぞれがユーザにより入力された時刻に基づいて、前記生成部により生成された複数の分散表現の中から、互いに関連した分散表現を選択する、
    請求項1から6のうちいずれか一項に記載の情報処理装置。
  8. 情報を検索するために入力された複数のクエリを取得する取得部と、
    前記取得部により取得された複数のクエリのそれぞれの分散表現を生成する生成部と、
    前記複数のクエリのそれぞれを入力したユーザの類似度に基づいて、前記生成部により生成された複数の分散表現の中から、互いに関連した分散表現を選択する選択部と、
    を備える情報処理装置。
  9. 情報を検索するために入力された複数のクエリを取得する取得部と、
    前記取得部により取得された複数のクエリのそれぞれの分散表現を生成する生成部と、
    前記複数のクエリのそれぞれがユーザにより入力された時刻に基づいて、前記生成部により生成された複数の分散表現の中から、互いに関連した分散表現を選択する選択部と、
    を備える情報処理装置。
  10. 情報を検索するために入力された複数のクエリを取得する取得部と、
    前記取得部により取得された複数のクエリのそれぞれの分散表現を生成する生成部と、
    前記複数のクエリのそれぞれを入力したユーザに関する所定の指標値、または前記複数のクエリのそれぞれに関する所定の指標値に基づいて、前記生成部により生成された複数の分散表現の中から、互いに関連した分散表現を選択する選択部と、
    を備える情報処理装置。
  11. コンピュータが、
    情報を検索するために入力された複数のクエリを取得し、
    前記取得した複数のクエリのそれぞれの分散表現を生成し、
    前記複数のクエリのそれぞれを入力したユーザの重複度に基づいて、前記生成した複数の分散表現の中から、互いに関連した分散表現を選択する、
    情報処理方法。
  12. コンピュータに、
    情報を検索するために入力された複数のクエリを取得する処理と、
    前記取得した複数のクエリのそれぞれの分散表現を生成する処理と、
    前記複数のクエリのそれぞれを入力したユーザの重複度に基づいて、前記生成した複数の分散表現の中から、互いに関連した分散表現を選択する処理と、
    を実行させるためのプログラム。
JP2018174911A 2018-09-19 2018-09-19 情報処理装置、情報処理方法、およびプログラム Active JP7088795B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018174911A JP7088795B2 (ja) 2018-09-19 2018-09-19 情報処理装置、情報処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018174911A JP7088795B2 (ja) 2018-09-19 2018-09-19 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020046942A true JP2020046942A (ja) 2020-03-26
JP7088795B2 JP7088795B2 (ja) 2022-06-21

Family

ID=69901511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018174911A Active JP7088795B2 (ja) 2018-09-19 2018-09-19 情報処理装置、情報処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP7088795B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102417891B1 (ko) * 2016-12-14 2022-07-07 현대자동차주식회사 산소센서 제어 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309998A (ja) * 2004-04-23 2005-11-04 Fujitsu Ltd コンテンツナビゲーションプログラム、コンテンツナビゲーション方法及びコンテンツナビゲーション装置
JP2011258114A (ja) * 2010-06-11 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 関連語計算装置、関連語計算方法及び関連語計算プログラム
JP2012003532A (ja) * 2010-06-17 2012-01-05 Yahoo Japan Corp クエリサジェスチョン提供装置及び方法
JP2018060469A (ja) * 2016-10-07 2018-04-12 ヤフー株式会社 抽出装置、抽出方法、及び抽出プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064007B1 (en) 2011-01-05 2015-06-23 Google Inc. Co-click based similarity score of queries and keywords
JP6779047B2 (ja) 2016-06-23 2020-11-04 ヤフー株式会社 クエリ分析装置、クエリ分析方法、およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309998A (ja) * 2004-04-23 2005-11-04 Fujitsu Ltd コンテンツナビゲーションプログラム、コンテンツナビゲーション方法及びコンテンツナビゲーション装置
JP2011258114A (ja) * 2010-06-11 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 関連語計算装置、関連語計算方法及び関連語計算プログラム
JP2012003532A (ja) * 2010-06-17 2012-01-05 Yahoo Japan Corp クエリサジェスチョン提供装置及び方法
JP2018060469A (ja) * 2016-10-07 2018-04-12 ヤフー株式会社 抽出装置、抽出方法、及び抽出プログラム

Also Published As

Publication number Publication date
JP7088795B2 (ja) 2022-06-21

Similar Documents

Publication Publication Date Title
US11971884B2 (en) Interactive search experience using machine learning
JP7160980B2 (ja) 情報提供装置、情報提供方法、およびプログラム
JP6745384B2 (ja) 情報をプッシュするための方法及び装置
JP6415619B2 (ja) 解析装置、解析方法、およびプログラム
US20180268307A1 (en) Analysis device, analysis method, and computer readable storage medium
JP6846390B2 (ja) ドメイン間の文法スロットによる分類
US20100250335A1 (en) System and method using text features for click prediction of sponsored search advertisements
US10685012B2 (en) Generating feature embeddings from a co-occurrence matrix
CN110597962A (zh) 搜索结果展示方法、装置、介质及电子设备
KR102326744B1 (ko) 사용자 참여형 키워드 선정 시스템의 제어 방법, 장치 및 프로그램
CN110717038B (zh) 对象分类方法及装置
JP6971103B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6924571B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2018128942A (ja) 解析装置、解析方法、およびプログラム
EP4379574A1 (en) Recommendation method and apparatus, training method and apparatus, device, and recommendation system
CN108280081B (zh) 生成网页的方法和装置
JP6630874B2 (ja) 検索ニーズの評価装置、評価システム、評価方法、及び評価モジュール生産方法
US20180239790A1 (en) Provision device, provision method and non-transitory computer readable storage medium
JP7088795B2 (ja) 情報処理装置、情報処理方法、およびプログラム
Lola et al. Chatbot for fitness management using IBM Watson
JP7268070B2 (ja) 回答装置、回答方法、回答プログラム
JP7031041B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6985181B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2019046019A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6160018B1 (ja) 情報解析装置、情報解析方法、および情報解析プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211206

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: 20220510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220609

R150 Certificate of patent or registration of utility model

Ref document number: 7088795

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350