JP7522148B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

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

Info

Publication number
JP7522148B2
JP7522148B2 JP2022028551A JP2022028551A JP7522148B2 JP 7522148 B2 JP7522148 B2 JP 7522148B2 JP 2022028551 A JP2022028551 A JP 2022028551A JP 2022028551 A JP2022028551 A JP 2022028551A JP 7522148 B2 JP7522148 B2 JP 7522148B2
Authority
JP
Japan
Prior art keywords
search
query
positive
information processing
unlabeled
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.)
Active
Application number
JP2022028551A
Other languages
English (en)
Other versions
JP2023124656A (ja
Inventor
樹生 豊田
純 齋藤
広弥 小松
賢 熊谷
晃平 菅原
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2022028551A priority Critical patent/JP7522148B2/ja
Publication of JP2023124656A publication Critical patent/JP2023124656A/ja
Application granted granted Critical
Publication of JP7522148B2 publication Critical patent/JP7522148B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
従来、クエリ(query)に対して関連するエンティティ(entity)を返す際、エンティティリンキング(entity linking)が用いられる。エンティティリンキングとは、テキストを入力として関連するエンティティを返却する手法の総称である。例えば、非特許文献1には、Wikipedia(登録商標)の第一文に含まれる単語をホワイトリストとして採用し、周辺語として用いることで、主要語・周辺語としてエンティティを特定する技術が開示されている。
ウェブ検索クエリに対する周辺語を考慮した教師なしエンティティリンキング <URL:https://www.anlp.jp/proceedings/annual_meeting/2019/pdf_dir/F1-1.pdf>
しかしながら、上記の従来技術では、ホワイトリスト外の単語が周辺語にきた場合に判定できない。ウェブ検索の技術では、知識ベース(ナレッジベース)には、任意の対象(人、商品、映画等)をエンティティとし、エンティティとエンティティ同士の関係性とが対応付けられて登録されている。そして、ユーザが検索クエリを入力した際に、対応する1つまたは複数のエンティティを特定し、特定したエンティティ候補を表示し、ユーザが候補を選択したら、エンティティに対応する検索結果を出す。
例えば、ユーザが検索クエリとして歌のタイトルに含まれる単語(タイトル自体も含む)を入れると、各歌手のリスト(それぞれエンティティがある)を表示し、歌手が選択されると、その歌手や、その歌手の当該歌に関する検索結果が表示される。このような処理において、検索クエリと対応するエンティティを検索するのがエンティティリンカーであるが、従来のエンティティリンカーでは、ぴったりと合う厳密な正例だけだと、検索クエリと対応するエンティティを適切に検索するのが難しい。
ウェブ検索においては、しばしば複数意図を持つエンティティクエリが発行される。例えば、メディア作品名のクエリでは、漫画・ドラマ・アニメ・映画などの複数の意図がある。人物名のクエリでは、アナウンサー・歌手・スポーツ選手などの複数の意図がある。このようなクエリに対して、それぞれの意図に対応した絞り込み検索をできるようすることは検索体験を向上させるうえで重要である。
本願は、上記に鑑みてなされたものであって、複数意図のエンティティクエリに対する絞り込み検索のためのクエリ(絞り込み検索用クエリ)を生成し、絞り込み検索用クエリを用いてエンティティリンカーを改善することを目的とする。
本願に係る情報処理装置は、検索ログに蓄積された元クエリと再検索クエリとの組を順位付けして、複数意図を持つエンティティクエリに対する意図の絞り込みのための再検索の再検索クエリを生成する生成部と、元クエリと再検索クエリとの組のCRR(Cumulative Reciprocal Rank)の差を含めた複数の素性を用いてランダムフォレストによるPU(Positive Unlabeled)学習を行う学習部とを備えることを特徴とする。
実施形態の一態様によれば、絞り込み検索用クエリを用いてエンティティリンカーを改善することができる。
図1は、実施形態に係る情報処理方法の概要を示す説明図である。 図2は、実施形態に係る情報処理システムの構成例を示す図である。 図3は、実施形態に係る端末装置の構成例を示す図である。 図4は、実施形態に係るサーバ装置の構成例を示す図である。 図5は、利用者情報データベースの一例を示す図である。 図6は、履歴情報データベースの一例を示す図である。 図7は、実施形態に係る処理手順を示すフローチャートである。 図8は、ハードウェア構成の一例を示す図である。
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報処理方法の概要〕
まず、図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、図1では、複数意図のエンティティクエリに対する絞り込み検索のためのクエリを生成する場合を例に挙げて説明する。
図1に示すように、情報処理システム1は、端末装置10とサーバ装置100とを含む。端末装置10とサーバ装置100とは、ネットワークNを介して有線又は無線で互いに通信可能に接続される。本実施形態では、端末装置10は、サーバ装置100と連携する。
端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット端末等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
サーバ装置100は、検索サーバ(検索エンジン)として、各利用者Uの端末装置10から入力された検索クエリに基づいてウェブ検索を実行する情報処理装置であり、コンピュータやクラウドシステム等により実現される。なお、実際には、サーバ装置100は、外部の検索サーバ(検索エンジン)と連携する情報処理装置であってもよい。
また、サーバ装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供してもよい。
また、サーバ装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、サーバ装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引(EC:Electronic Commerce)、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、サーバ装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。
なお、サーバ装置100は、利用者Uに関する利用者情報を取得可能である。例えば、サーバ装置100は、利用者Uの性別、年代、居住地域といった利用者Uの属性に関する情報を取得する。そして、サーバ装置100は、利用者Uを示す識別情報(利用者ID等)とともに利用者Uの属性に関する情報を記憶して管理する。
また、サーバ装置100は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、サーバ装置100は、利用者Uの位置や日時の履歴である位置履歴を端末装置10から取得する。また、サーバ装置100は、利用者Uが入力した検索クエリの履歴である検索履歴を自身又は他の検索サーバ(検索エンジン)から取得する。また、サーバ装置100は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴をコンテンツサーバから取得する。また、サーバ装置100は、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)を電子商取引サーバや決済処理サーバから取得する。また、サーバ装置100は、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴を電子商取引サーバや決済処理サーバから取得してもよい。また、サーバ装置100は、利用者Uの投稿の履歴である投稿履歴を口コミの投稿サービスを提供する投稿サーバやSNSサーバから取得する。なお、上記の各種サーバ等は、サーバ装置100自体であってもよい。すなわち、サーバ装置100が上記の各種サーバ等として機能してもよい。
〔1-1.絞り込み検索のためのクエリ生成法の概要〕
本実施形態では、サーバ装置100は、複数意図を持つエンティティクエリに対する絞り込み検索のためのクエリ(再検索クエリ)の生成を行う。このとき、サーバ装置100は、複数の正例生成器とラベル未付与事例生成器を組み合わせることで訓練事例を自動生成する。また、サーバ装置100は、元クエリと再検索クエリとの組のCRR(Cumulative Reciprocal Rank)の差を含めた複数の素性を用いてRF(Random forest:ランダムフォレスト)によるPU(Positive Unlabeled)学習を行う。
本実施形態では、複数意図のエンティティクエリに対して絞り込み検索を行えるようにするための再検索クエリの生成方法として、検索ログに蓄積された元クエリと再検索クエリとの組を順位付けして利用することを示す。また、複数のラベル生成器を用いた訓練事例の自動生成法を示し、RF(Random forest)によるPU(Positive Unlabeled)学習を行えることを示す。
(リスト生成)
サーバ装置100は、元クエリqaに対して、再検索クエリqbの順位付けされたリストを生成する。このとき、次のクエリの要件を全て満たす候補のみを選択する。
(1)qa、qbはいずれもエンティティクエリである
(2)qaは複数のエンティティを指している
(3)qbは特定のエンティティを指す意図の絞り込みのクエリである。
本実施形態に係る挑戦的課題として、「意図の絞り込みではない再検索の除外」と「知識外の再検索候補の順位付け」とについて以下に示す。
(意図の絞り込みではない再検索の除外)
力点の変化を判定できなければならない。例えば“アガサクリスティ”→“アガサクリスティねじれた家”の場合は付加された“ねじれた家”に力点が変化している。こういった組は除外するべきである。また、周辺語を含まない部分一致はクエリの表層だけでは判定が難しい。例えば“東京”→“東京タワー”の場合は意図を絞り込んでいるわけではないため除外するべきである。一方、同じ部分一致でも取り違える可能性の高い組は絞り込みのための再検索として残す必要がある。例えば“ディーゼル”→“ディーゼルエンジン”などが挙げられる。
(知識外の再検索候補の順位付け)
所与の知識ベースに格納されているエンティティが再検索先の候補として最もふさわしくなるとは限らない。例えば“RHP”というクエリでは“バイトルRHP”(ホームページ作成サービス)などが再検索クエリの候補として挙げられる。しかし、これと対応するエンティティはWikipedia(登録商標)などの知識ベースには格納されていない。
〔1-2.フレームワーク〕
図1に示すように、サーバ装置100は、検索ログを二種類取得する(ステップS1)。一つ目は、学習時に参照する素性を抽出するための素性抽出用のログである。あらかじめ学習時に参照するための素性を保存しておく。二つ目は、順位付け対象となる元クエリと再検索クエリとの組を取得するためのログである。
続いて、サーバ装置100は、検索ログから取得された順位付け対象のクエリの組に対し、複数のラベル生成器を用いて正例とラベル未付与の事例とに分割する(ステップS2)。
続いて、サーバ装置100は、事例に対してRFによるPU学習を行い、順位付けのための回帰器の学習およびそれを用いた予測確率の付与を行う(ステップS3)。
〔1-3.検索ログの取得〕
サーバ装置100は、ウェブ検索のセッションログを取得する。このログから再検索クエリqbの発行された時刻t(qb)と元クエリqaの発行された時刻t(qa)の差が30秒以内のもののみを抽出する。セッションとは、ある特定のユーザが一定時間内に発行した一連のクエリとそれに伴うユーザ行動のことを指す。
〔1-4.正例生成器〕
本実施形態では、次の正例生成器のいずれか又は組合せを使用する。ただし、実際には、これらの例に限定されない。
(元クエリに対するエンティティリンカー)
元クエリを内製のエンティティリンカーの入力とし、エンティティIDを出力する。知識ベースからエンティティIDと紐づく正式名称を取得する。元クエリが正式名称に対する部分一致文字列になっている場合には元クエリと正式名称との組を正例とする。
(クエリの組に対するエンティティリンカー)
元クエリと再検索クエリとの組を内製のエンティティリンカーの入力とし、それぞれのエンティティIDを取得する。元クエリと再検索クエリでそれぞれ異なるエンティティIDを出力している組を残す。同一IDを指す再検索クエリが複数ある場合には生起確率の最も高い候補を選択する。最後に、次の条件をすべて満たす組を正例とする。
(1)人物エンティティ間、または、メディア作品間の遷移である
(2)元クエリに周辺語は含まれない(例えば、元クエリの主要語が空白で区切られている場合、空白の後の文字列は周辺語とはしない)
(3)遷移前後で主要語と周辺語の入れ替わりが起きていない
(クエリの組に対するCRRの差)
元クエリと再検索クエリとの組に対するCRR(Cumulative Reciprocal Rank)の差ΔCRRはクエリ自動補完の分野においてしばしば用いられる指標である。例えば、当該分野では、順位に対数を適用した重みづけ、セッション後半のクリック先を利用したスコア補正などいずれも派生的なΔCRRの定義をしている。本実施形態ではΔCRRを次のように表現する。
Figure 0007522148000001
ここで、Dbは再検索クエリqbによってクリックされうる文書の集合、r(qb、d)は再検索クエリqbに対する文書dの順位、r(qa、d)は元クエリqaに対する文書dの順位である。元クエリqaでは上位に順位付けできなかった文書を再検索クエリqbが上位にできればΔCRRは正の値をとる。このとき、再検索クエリqbはユーザにとって役に立ったとみなすことができる。
本実施形態では、r(qb、d)およびr(qa、d)の順位は所与のクエリに対するクリック先文書のCTR(Click Through Rate)の順位によって算出する。なお、滞在時間による足切りは行わない。CTRの算出に用いられた文書の延べ数が各10以上、かつ、再検索クエリ側の文書の延べ数が元クエリ側の延べ数の10%以上、かつ、ΔCRRが0より大きく1.5以下の場合に元クエリと再検索クエリとの組を正例とする。ΔCRRに対するしきい値の決定方法の詳細については後述する。
〔1-5.ラベル未付与事例生成器〕
本実施形態では、次のラベル未付与事例生成器のいずれか又は組合せを使用する。ただし、実際には、これらの例に限定されない。
(生成器1)
生成器1は、元クエリが曖昧さ回避ページと対応するエンティティの名称と一致する事例をラベル未付与とする。
(生成器2)
生成器2は、元クエリと再検索クエリとの組に対する正例の生成時に正例と判定されなかった事例のうち周辺語を含まずエンティティIDが異なるクエリの組をラベル未付与とする。
(生成器3)
生成器3は、ΔCRRによる正例の生成時に正例と判定されなかった事例をラベル未付与とする。
ここで、すでに正例と判定されていた事例については、ラベル未付与とはせず正例とする。
〔1-6.PU学習〕
本実施形態では次のようにPU学習を行う。まずラベル未付与の事例に対してラベルを付与する。
(1)正例およびラベル未付与の事例を訓練用とテスト用の2つに分割する。
(2)訓練用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成する。
(3)テスト用の正例に対してこの回帰器を適用し、ラベル付与確率g(x)の平均cを求める。
(4)テスト用のラベル未付与の事例に対して回帰器を適用し、w(x)=p(y=1|x、s=0)の重みによりラベリングを行う。ここでw(x)は定数である平均cへの依存を持つ。
(5)訓練用の事例とテスト用の事例を入れ替え、テスト用の正例およびラベル未付与の事例について、上記(2)~(4)のステップを行う。
全ての事例にラベルが付与されたら二分割交差検定を行い、各テスト用事例に対して付与された予測確率を順位付けに用いる。
(素性)
PU学習の際に用いる素性を表1に示す。
Figure 0007522148000002
なお、素性Assist(qa,qb)は、元クエリqaおよび再検索クエリqbが連続して発行されたときの検索補助の状況を表現するベクトル(18*18の最大324次元)であるが、取得期間のログでの生起回数が合計10未満である場合は除外する。
以下,詳細が必要な素性について説明する。
(クエリの分散表現)
クエリログからトークン数が2以上のレコードを抽出し、トークンの生起回数に基づくShifted Positive PMIの行列Xを生成する。この行列にRandomized SVD(Singular Value Decomposition)を適用し、X=UΣV*を得る。ここで、U、Vは直交行列、Σは特異値の対角行列である。トークンの分散表現に、下記の式(2)で示す行列を用いる。
Figure 0007522148000003
ここで、パラメータはα=1.0、negative-samplingの値k=5.0に設定する。クエリ発行時間間隔の制約を一旦解除してトークンの生起回数を計算した。制約下で生起しないトークンの分散表現は除外する。クエリの分散表現はトークンの分散表現の加算により生成する。クエリが1トークンで構成される場合は、クエリの分散表現はトークンの分散表現と等しくなる。
〔1-7.評価〕
〔1-7-1.データセット〕
各データセットの詳細を以下に示す。
(参照用素性)
所定の期間のセッションログを用いて素性を抽出した。
(内製のエンティティリンカー)
ある1日のモデル(モデルの訓練にはその日の内製知識ベースおよびその日以前の直近1年間の所定の検索サイトのクリックログを利用する)
(順位付け対象事例)
順位付け対象事例は、上記とは別の所定の期間に発行された元クエリと再検索クエリとの組である。上述した操作により順位付け対象事例に対して確率を付与した。正例は1,225,010事例、ラベル未付与事例は9,036,884事例であったが、PU学習前にランダムオーバーサンプリングにより両方の数を均等にした。このときの素性は前述の参照用素性を利用した。
(開発・評価事例)
順位付け対象事例のうち元クエリに対するエンティティリンカーの推定結果の一位が曖昧さ回避エンティティと対応し、かつ、元クエリあたりの再検索クエリの異なり数が50以上の事例のみを残した。まず元クエリ100事例を非復元抽出し、この元クエリを含む組を評価用とした。評価用として使用されなかった組からΔCRRが[0.5,2.0]の範囲の0.25刻みで各10事例ずつ非復元抽出した。この計70事例を開発用事例とした。
〔1-7-2.比較手法〕
比較手法を以下に示す。
(RF)
RF(Random forest)によりPU学習を行った。Sparkの機械学習ライブラリ(MLlib)であるSparkMLlib2.4.6を使用し、Randomized SVDにはCriteo/Spark-RSVDを使用した(URL:https://github.com/criteo/Spark-RSVD)。
(DCRR)
素性抽出用ログの期間に計算したDCRR(デルタCRR:ΔCRR)の値を適用した。このとき、しきい値を1.5に設定した。
なお、評価事例に対するDCRR以外の正例生成器の正例生成数はゼロであったため、比較手法から除外した。
〔1-7-3.評価方法〕
所定の日に所定の検索サイトに対してクエリを発行し、これらの事例に対して次の3段階のスコアを付与した。
スコア「1.0」:クエリの要件を満たし、かつ、検索結果1~2ページ目のいずれかの文書に対応している。
スコア「0.5」:クエリの要件を満たさないが、検索結果1ページ目の上位5件以内の文書と対応している。
スコア「0.0」:上記以外
〔1-7-4.正例生成器(ΔCRR)のしきい値の設定〕
開発事例に対して3段階のスコアを付与した。このとき、F値が最大となったしきい値1.5を設定した。なお、このときのF値は0.735であった。
〔1-7-5.評価結果〕
適合率、再現率、F値を計測した結果、適合率についてはDCRRがRFを12.4ポイント上回った。再現率およびF値については、RFがDCRRをそれぞれ12.3ポイント、4.4ポイント上回った。このように、RF(Random forest)により学習を行い、単独のラベル生成器を用いた場合と比較してF値が4.4ポイント向上した。すなわち、本実施形態により、CRRの差を単独で用いる場合よりもF値が4.4ポイント向上する。
〔2.情報処理システムの構成例〕
次に、図2を用いて、実施形態に係るサーバ装置100が含まれる情報処理システム1の構成について説明する。図2は、実施形態に係る情報処理システム1の構成例を示す図である。図2に示すように、実施形態に係る情報処理システム1は、端末装置10とサーバ装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
また、図2に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、図2では、図示の簡略化のため、端末装置10を1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。
端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。
また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、サーバ装置100と通信することができる。
サーバ装置100は、例えばPCやブレードサーバ(blade server)等のコンピュータ、あるいはメインフレーム又はワークステーション等である。なお、サーバ装置100は、クラウドコンピューティングにより実現されてもよい。
〔3.端末装置の構成例〕
次に、図3を用いて、端末装置10の構成について説明する。図3は、端末装置10の構成例を示す図である。図3に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
(通信部11)
通信部11は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、サーバ装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。図3に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33とを備える。
(送信部31)
送信部31は、例えば入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を、通信部11を介してサーバ装置100へ送信することができる。
(受信部32)
受信部32は、通信部11を介して、サーバ装置100から提供される各種情報や、サーバ装置100からの各種情報の要求を受信することができる。
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信されたサーバ装置100からの各種情報を表示部12へ出力して表示させることができる。
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
〔4.サーバ装置の構成例〕
次に、図4を用いて、実施形態に係るサーバ装置100の構成について説明する。図4は、実施形態に係るサーバ装置100の構成例を示す図である。図4に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを有する。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークNと有線又は無線で接続される。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD、SSD、光ディスク等の記憶装置によって実現される。図4に示すように、記憶部120は、利用者情報データベース121と、履歴情報データベース122と、検索ログ情報データベース123とを有する。
(利用者情報データベース121)
利用者情報データベース121は、利用者Uに関する利用者情報を記憶する。例えば、利用者情報データベース121は、利用者Uの属性等の種々の情報を記憶する。図5は、利用者情報データベース121の一例を示す図である。図5に示した例では、利用者情報データベース121は、「利用者ID(Identifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目を有する。
「利用者ID」は、利用者Uを識別するための識別情報を示す。なお、「利用者ID」は、利用者Uの連絡先(電話番号、メールアドレス等)であってもよいし、利用者Uの端末装置10を識別するための識別情報であってもよい。
また、「年齢」は、利用者IDにより識別される利用者Uの年齢を示す。なお、「年齢」は、利用者Uの具体的な年齢(例えば35歳など)を示す情報であってもよいし、利用者Uの年代(例えば30代など)を示す情報であってもよい。あるいは、「年齢」は、利用者Uの生年月日を示す情報であってもよいし、利用者Uの世代(例えば80年代生まれなど)を示す情報であってもよい。また、「性別」は、利用者IDにより識別される利用者Uの性別を示す。
また、「自宅」は、利用者IDにより識別される利用者Uの自宅の位置情報を示す。なお、図5に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
また、「勤務地」は、利用者IDにより識別される利用者Uの勤務地(学生の場合は学校)の位置情報を示す。なお、図5に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
また、「興味」は、利用者IDにより識別される利用者Uの興味を示す。すなわち、「興味」は、利用者IDにより識別される利用者Uが関心の高い対象を示す。例えば、「興味」は、利用者Uが検索エンジンに入力して検索した検索クエリ(キーワード)等であってもよい。なお、図5に示す例では、「興味」は、各利用者Uに1つずつ図示するが、複数であってもよい。
例えば、図5に示す例において、利用者ID「U1」により識別される利用者Uの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、自宅が「LC11」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、勤務地が「LC12」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、「スポーツ」に興味があることを示す。
ここで、図5に示す例では、「U1」、「LC11」及び「LC12」といった抽象的な値を用いて図示するが、「U1」、「LC11」及び「LC12」には、具体的な文字列や数値等の情報が記憶されるものとする。以下、他の情報に関する図においても、抽象的な値を図示する場合がある。
なお、利用者情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、利用者情報データベース121は、利用者Uの端末装置10に関する各種情報を記憶してもよい。また、利用者情報データベース121は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、利用者情報データベース121は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。
(履歴情報データベース122)
履歴情報データベース122は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。図6は、履歴情報データベース122の一例を示す図である。図6に示した例では、履歴情報データベース122は、「利用者ID」、「位置履歴」、「検索履歴」、「閲覧履歴」、「購入履歴」、「投稿履歴」といった項目を有する。
「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「位置履歴」は、利用者Uの位置や移動の履歴である位置履歴を示す。また、「検索履歴」は、利用者Uが入力した検索クエリの履歴である検索履歴を示す。また、「閲覧履歴」は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴を示す。また、「購入履歴」は、利用者Uによる購入の履歴である購入履歴を示す。また、「投稿履歴」は、利用者Uによる投稿の履歴である投稿履歴を示す。なお、「投稿履歴」は、利用者Uの所有物に関する質問を含んでいてもよい。
例えば、図6に示す例において、利用者ID「U1」により識別される利用者Uは、「位置履歴#1」の通りに移動し、「検索履歴#1」の通りに検索し、「閲覧履歴#1」の通りにコンテンツを閲覧し、「購入履歴#1」の通りに所定の店舗等で所定の商品等を購入し、「投稿履歴」の通りに投稿したことを示す。
ここで、図6に示す例では、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」といった抽象的な値を用いて図示するが、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」には、具体的な文字列や数値等の情報が記憶されるものとする。
なお、履歴情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース122は、利用者Uの所定のサービスの利用履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。
(検索ログ情報データベース123)
検索ログ情報データベース123は、二種類の検索ログを記憶する。一つ目は、学習時に参照する素性を抽出するための素性抽出用のログである。あらかじめ学習時に参照するための素性を保存しておく。二つ目は、順位付け対象となる元クエリと再検索クエリとの組を取得するためのログである。
すなわち、検索ログ情報データベース123は、PU学習の際に用いる素性に関する各種情報を記憶する。例えば、検索ログ情報データベース123は、表1に示したような素性を記憶する。なお、検索ログ情報データベース123は、表1に示した例に限らず、様々な素性を記憶してもよい。
また、検索ログ情報データベース123は、検索ログに蓄積された元クエリと再検索クエリとの組を記憶してもよい。例えば、検索ログ情報データベース123は、元クエリに対して、再検索クエリの順位付けされたリストを記憶してもよい。また、検索ログ情報データベース123は、元クエリと再検索クエリとの組と、その組に対するCRR(Cumulative Reciprocal Rank)の差ΔCRRとを紐付けて記憶してもよい。
さらに、検索ログ情報データベース123は、生成器に関する各種情報を記憶してもよい。例えば、検索ログ情報データベース123は、複数の正例生成器とラベル未付与事例生成器を記憶してもよい。また、検索ログ情報データベース123は、順位付けのための回帰器や、ラベル付与確率の回帰器を記憶してもよい。
なお、実際には、検索ログ情報データベース123は、履歴情報データベース122の一部であってもよい。例えば、記憶部120は、履歴情報データベース122の検索履歴として検索ログを記憶してもよい。
(制御部130)
図4に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、サーバ装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。図4に示す例では、制御部130は、取得部131と、生成部132と、学習部133と、提供部134とを有する。
(取得部131)
取得部131は、利用者Uにより入力された検索クエリを取得する。例えば、取得部131は、利用者Uが検索エンジン等に検索クエリを入力してキーワード検索を行った際に、通信部110を介して、当該検索クエリを取得する。すなわち、取得部131は、通信部110を介して、利用者Uにより検索エンジンやサイト又はアプリの検索窓に入力されたキーワードを取得する。
また、取得部131は、通信部110を介して、利用者Uに関する利用者情報を取得する。例えば、取得部131は、利用者Uの端末装置10から、利用者Uを示す識別情報(利用者ID等)や、利用者Uの位置情報、利用者Uの属性情報等を取得する。また、取得部131は、利用者Uのユーザ登録時に、利用者Uを示す識別情報や、利用者Uの属性情報等を取得してもよい。そして、取得部131は、利用者情報を、記憶部120の利用者情報データベース121に登録する。
また、取得部131は、通信部110を介して、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、取得部131は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報を取得する。そして、取得部131は、各種の履歴情報を、記憶部120の履歴情報データベース122に登録する。
さらに、取得部131は、検索ログを二種類取得する。検索ログの一つ目は、学習時に参照する素性を抽出するための素性抽出用のログである。検索ログの二つ目は、順位付け対象となる元クエリと再検索クエリとの組を取得するためのログである。
(生成部132)
生成部132は、複数意図を持つエンティティクエリに対する絞り込み検索のための再検索クエリを生成する。また、生成部132は、元クエリに対して、再検索クエリの順位付けされたリストを生成する。
生成部132は、検索ログから取得された順位付け対象のクエリの組に対し、複数のラベル生成器を用いて正例とラベル未付与の事例とに分割する。
生成部132は、複数の正例生成器とラベル未付与事例生成器を組み合わせることで訓練事例を自動生成する。
生成部132は、正例生成器の1つを用いて、元クエリをエンティティリンカーの入力とし、エンティティIDを出力し、知識ベースからエンティティIDと紐づく正式名称を取得し、元クエリが正式名称に対する部分一致文字列になっている場合には元クエリと正式名称との組を正例とする。
生成部132は、正例生成器の1つを用いて、元クエリと再検索クエリとの組をエンティティリンカーの入力とし、それぞれのエンティティIDを取得し、元クエリと再検索クエリでそれぞれ異なるエンティティIDを出力している組を残し、同一IDを指す再検索クエリが複数ある場合には生起確率の最も高い候補を選択し、所定の条件を満たす組を正例とする。
生成部132は、所定の条件として、人物エンティティ間、または、メディア作品間の遷移であり、元クエリに周辺語は含まれず、遷移前後で主要語と周辺語の入れ替わりが起きていないという条件を満たす組を正例とする。
生成部132は、正例生成器の1つを用いて、元クエリと再検索クエリとの組に対するCRRの差を算出し、CRRの差が0より大きく1.5以下の場合に元クエリと再検索クエリとの組を正例とする。
生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリが曖昧さ回避ページと対応するエンティティの名称と一致する事例をラベル未付与とする。
生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリと再検索クエリとの組に対する正例の生成時に正例と判定されなかった事例のうち周辺語を含まずエンティティIDが異なるクエリの組をラベル未付与とする。
生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリと再検索クエリとの組に対するCRRの差による正例の生成時に正例と判定されなかった事例をラベル未付与とする。
生成部132は、すでに正例と判定されていた事例については、ラベル未付与とはせず正例とする。
(学習部133)
学習部133は、元クエリと再検索クエリとの組のCRR(Cumulative Reciprocal Rank)の差を含めた複数の素性を用いてRF(Random forest:ランダムフォレスト)によるPU(Positive Unlabeled)学習を行う。
学習部133は、ラベル未付与の事例に対してラベルを付与する。このとき、学習部133は、正例およびラベル未付与の事例を訓練用とテスト用の2つに分割する。
まず、学習部133は、訓練用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成し、テスト用の正例に対して該回帰器を適用し、ラベル付与確率の平均を求め、テスト用のラベル未付与の事例に対して該回帰器を適用し、定数である該平均への依存を持つ重みによりラベリングを行う。
次に、学習部133は、訓練用の事例とテスト用の事例を入れ替えて、同様に、テスト用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成し、訓練用の正例に対して該回帰器を適用し、ラベル付与確率の平均を求め、訓練用のラベル未付与の事例に対して該回帰器を適用し、定数である該平均への依存を持つ重みによりラベリングを行う。
そして、学習部133は、全ての事例にラベルが付与されたら二分割交差検定を行い、各テスト用事例に対して付与された予測確率を順位付けに用いる。
(提供部134)
提供部134は、通信部110を介して、検索クエリを入力した利用者Uの端末装置10に、最尤なエンティティに対応する検索結果を提供する。
〔5.処理手順〕
次に、図7を用いて実施形態に係るサーバ装置100による処理手順について説明する。図7は、実施形態に係る処理手順を示すフローチャートである。なお、以下に示す処理手順は、サーバ装置100の制御部130によって繰り返し実行される。
図7に示すように、サーバ装置100の取得部131は、検索ログを二種類取得する(ステップS101)。検索ログの一つ目は、学習時に参照する素性を抽出するための素性抽出用のログである。検索ログの二つ目は、順位付け対象となる元クエリと再検索クエリとの組を取得するためのログである。
続いて、サーバ装置100の生成部132は、複数意図を持つエンティティクエリに対する絞り込み検索のための再検索クエリを生成する(ステップS102)。
続いて、サーバ装置100の生成部132は、検索ログから取得された順位付け対象のクエリの組に対し、複数のラベル生成器を用いて正例とラベル未付与の事例とに分割する(ステップS103)。このとき、生成部132は、複数の正例生成器とラベル未付与事例生成器を組み合わせることで訓練事例を自動生成する。
まず、サーバ装置100の生成部132は、正例生成器を用いて、所定の元クエリと正式名称との組を正例とする(ステップS103-1)。
例えば、図示は省略するが、生成部132は、正例生成器の1つを用いて、元クエリをエンティティリンカーの入力とし、エンティティIDを出力し、知識ベースからエンティティIDと紐づく正式名称を取得し、元クエリが正式名称に対する部分一致文字列になっている場合には元クエリと正式名称との組を正例とする(ステップS103-1A)。
また、生成部132は、正例生成器の1つを用いて、元クエリと再検索クエリとの組をエンティティリンカーの入力とし、それぞれのエンティティIDを取得し、元クエリと再検索クエリでそれぞれ異なるエンティティIDを出力している組を残し、同一IDを指す再検索クエリが複数ある場合には生起確率の最も高い候補を選択し、所定の条件を満たす組を正例とする(ステップS103-1B)。
例えば、生成部132は、所定の条件として、人物エンティティ間、または、メディア作品間の遷移であり、元クエリに周辺語は含まれず、遷移前後で主要語と周辺語の入れ替わりが起きていないという条件を満たす組を正例とする。
また、生成部132は、正例生成器の1つを用いて、元クエリと再検索クエリとの組に対するCRRの差を算出し、CRRの差が0より大きく1.5以下の場合に元クエリと再検索クエリとの組を正例とする(ステップS103-1C)。
次に、サーバ装置100の生成部132は、ラベル未付与事例生成器を用いて、所定の事例をラベル未付与とする(ステップS103-2)。
例えば、図示は省略するが、生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリが曖昧さ回避ページと対応するエンティティの名称と一致する事例をラベル未付与とする(ステップS103-2A)。
また、生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリと再検索クエリとの組に対する正例の生成時に正例と判定されなかった事例のうち周辺語を含まずエンティティIDが異なるクエリの組をラベル未付与とする(ステップS103-2B)。
また、生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリと再検索クエリとの組に対するCRRの差による正例の生成時に正例と判定されなかった事例をラベル未付与とする(ステップS103-2C)。
なお、サーバ装置100の生成部132は、すでに正例と判定されていた事例については、ラベル未付与とはせず正例とする。
続いて、サーバ装置100の学習部133は、RF(Random forest:ランダムフォレスト)によるPU(Positive Unlabeled)学習を行う(ステップS104)。
まず、学習部133は、ラベル未付与の事例に対してラベルを付与するため、正例およびラベル未付与の事例を訓練用とテスト用の2つに分割する(ステップS104-1)。
そして、学習部133は、訓練用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成し、テスト用の正例に対して該回帰器を適用し、ラベル付与確率の平均を求め、テスト用のラベル未付与の事例に対して該回帰器を適用し、定数である該平均への依存を持つ重みによりラベリングを行う(ステップS104-2)。
続いて、学習部133は、訓練用の事例とテスト用の事例を入れ替えて、同様に、テスト用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成し、訓練用の正例に対して該回帰器を適用し、ラベル付与確率の平均を求め、訓練用のラベル未付与の事例に対して該回帰器を適用し、定数である該平均への依存を持つ重みによりラベリングを行う(ステップS104-3)。
そして、サーバ装置100の学習部133は、全ての事例にラベルが付与されたら二分割交差検定を行い、各テスト用事例に対して付与された予測確率を順位付けに用いる(ステップS104-4)。
続いて、サーバ装置100の生成部132は、元クエリに対して、再検索クエリの順位付けされたリストを生成する(ステップS105)。
〔6.変形例〕
上述した端末装置10及びサーバ装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
上記の実施形態において、サーバ装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態におけるサーバ装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10はサーバ装置100と連携しているため、利用者Uから見れば、サーバ装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、サーバ装置100を備えているともいえる。
また、上記の実施形態において、サーバ装置100は、クエリの単語系列の候補エンティティによりラティス構造を構築し、最尤なエンティティ系列を求めてもよい。また、サーバ装置100は、最尤なエンティティ系列を求める際に、クエリを入力した利用者Uの属性情報や履歴情報等を考慮するようにしてもよい。例えば、サーバ装置100は、クエリを入力した利用者Uの属性情報や履歴情報等に応じて、単語系列に対するエンティティの生起確率や、経路のスコア等に重み付けを行ってもよい。
〔7.効果〕
上述してきたように、本願に係る情報処理装置(サーバ装置100)は、複数意図を持つエンティティクエリに対する絞り込み検索のための再検索クエリを生成する生成部132と、元クエリと再検索クエリとの組のCRR(Cumulative Reciprocal Rank)の差を含めた複数の素性を用いてランダムフォレストによるPU(Positive Unlabeled)学習を行う学習部133とを備える。
生成部132は、元クエリに対して、再検索クエリの順位付けされたリストを生成する。
本願に係る情報処理装置は、検索ログを二種類取得する取得部131をさらに備える。検索ログの一つ目は、学習時に参照する素性を抽出するための素性抽出用のログである。検索ログの二つ目は、順位付け対象となる元クエリと再検索クエリとの組を取得するためのログである。
生成部132は、検索ログから取得された順位付け対象のクエリの組に対し、複数のラベル生成器を用いて正例とラベル未付与の事例とに分割する。
生成部132は、複数の正例生成器とラベル未付与事例生成器を組み合わせることで訓練事例を自動生成する。
生成部132は、正例生成器の1つを用いて、元クエリをエンティティリンカーの入力とし、エンティティIDを出力し、知識ベースからエンティティIDと紐づく正式名称を取得し、元クエリが正式名称に対する部分一致文字列になっている場合には元クエリと正式名称との組を正例とする。
生成部132は、正例生成器の1つを用いて、元クエリと再検索クエリとの組をエンティティリンカーの入力とし、それぞれのエンティティIDを取得し、元クエリと再検索クエリでそれぞれ異なるエンティティIDを出力している組を残し、同一IDを指す再検索クエリが複数ある場合には生起確率の最も高い候補を選択し、所定の条件を満たす組を正例とする。
生成部132は、所定の条件として、人物エンティティ間、または、メディア作品間の遷移であり、元クエリに周辺語は含まれず、遷移前後で主要語と周辺語の入れ替わりが起きていないという条件を満たす組を正例とする。
生成部132は、正例生成器の1つを用いて、元クエリと再検索クエリとの組に対するCRRの差を算出し、CRRの差が0より大きく1.5以下の場合に元クエリと再検索クエリとの組を正例とする。
生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリが曖昧さ回避ページと対応するエンティティの名称と一致する事例をラベル未付与とする。
生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリと再検索クエリとの組に対する正例の生成時に正例と判定されなかった事例のうち周辺語を含まずエンティティIDが異なるクエリの組をラベル未付与とする。
生成部132は、ラベル未付与事例生成器の1つを用いて、元クエリと再検索クエリとの組に対するCRRの差による正例の生成時に正例と判定されなかった事例をラベル未付与とする。
生成部132は、すでに正例と判定されていた事例については、ラベル未付与とはせず正例とする。
学習部133は、ラベル未付与の事例に対してラベルを付与する。
学習部133は、正例およびラベル未付与の事例を訓練用とテスト用の2つに分割し、訓練用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成し、テスト用の正例に対して該回帰器を適用し、ラベル付与確率の平均を求め、テスト用のラベル未付与の事例に対して該回帰器を適用し、定数である該平均への依存を持つ重みによりラベリングを行い、訓練用の事例とテスト用の事例を入れ替えて、テスト用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成し、訓練用の正例に対して該回帰器を適用し、ラベル付与確率の平均を求め、訓練用のラベル未付与の事例に対して該回帰器を適用し、定数である該平均への依存を持つ重みによりラベリングを行い、全ての事例にラベルが付与されたら二分割交差検定を行い、各テスト用事例に対して付与された予測確率を順位付けに用いる。
上述した各処理のいずれかもしくは組合せにより、本願に係る情報処理装置は、絞り込み検索用クエリを用いてエンティティリンカーを改善することができる。
〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10やサーバ装置100は、例えば図8に示すような構成のコンピュータ1000によって実現される。以下、サーバ装置100を例に挙げて説明する。図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USB(Universal Serial Bus)メモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000がサーバ装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
〔9.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
例えば、上述したサーバ装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
1 情報処理システム
10 端末装置
100 サーバ装置
110 通信部
120 記憶部
121 利用者情報データベース
122 履歴情報データベース
123 検索ログ情報データベース
130 制御部
131 取得部
132 生成部
133 学習部
134 提供部

Claims (17)

  1. 検索ログに蓄積された元クエリと再検索クエリとの組を順位付けして、複数意図を持つエンティティクエリに対する意図の絞り込みのための再検索の再検索クエリを生成する生成部と、
    元クエリと再検索クエリとの組のCRRの差を含めた複数の素性を用いてランダムフォレストによるPU学習を行う学習部と
    を備えることを特徴とする情報処理装置。
  2. 前記生成部は、元クエリに対して、再検索クエリの順位付けされたリストを生成する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 検索ログを二種類取得する取得部と
    をさらに備え、
    前記検索ログの一つ目は、学習時に参照する素性を抽出するための素性抽出用のログであり、
    前記検索ログの二つ目は、順位付け対象となる元クエリと再検索クエリとの組を取得するためのログである
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記生成部は、前記検索ログから取得された順位付け対象のクエリの組に対し、複数のラベル生成器を用いて正例とラベル未付与の事例とに分割する
    をさらに備えることを特徴とする請求項3に記載の情報処理装置。
  5. 前記生成部は、複数の正例生成器と複数のラベル未付与事例生成器を組み合わせることで訓練事例を自動生成する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記生成部は、正例生成器の1つを用いて、元クエリをエンティティリンカーの入力とし、エンティティIDを出力し、知識ベースからエンティティIDと紐づく正式名称を取得し、元クエリが正式名称に対する部分一致文字列になっている場合には元クエリと正式名称との組を正例とする
    ことを特徴とする請求項4又は5に記載の情報処理装置。
  7. 前記生成部は、正例生成器の1つを用いて、元クエリと再検索クエリとの組をエンティティリンカーの入力とし、それぞれのエンティティIDを取得し、元クエリと再検索クエリでそれぞれ異なるエンティティIDを出力している組を残し、同一IDを指す再検索クエリが複数ある場合には生起確率の最も高い候補を選択し、所定の条件を満たす組を正例とする
    ことを特徴とする請求項4~6のうちいずれか1つに記載の情報処理装置。
  8. 前記生成部は、前記所定の条件として、人物エンティティ間、または、メディア作品間の遷移であり、元クエリに周辺語は含まれず、遷移前後で主要語と周辺語の入れ替わりが起きていないという条件を満たす組を正例とする
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記生成部は、正例生成器の1つを用いて、元クエリと再検索クエリとの組に対するCRRの差を算出し、前記CRRの差が0より大きく1.5以下の場合に元クエリと再検索クエリとの組を正例とする
    ことを特徴とする請求項4~8のうちいずれか1つに記載の情報処理装置。
  10. 前記生成部は、ラベル未付与事例生成器の1つを用いて、元クエリが曖昧さ回避ページと対応するエンティティの名称と一致する事例をラベル未付与とする
    ことを特徴とする請求項4~9のうちいずれか1つに記載の情報処理装置。
  11. 前記生成部は、ラベル未付与事例生成器の1つを用いて、元クエリと再検索クエリとの組に対する正例の生成時に正例と判定されなかった事例のうち周辺語を含まずエンティティIDが異なるクエリの組をラベル未付与とする
    ことを特徴とする請求項4~10のうちいずれか1つに記載の情報処理装置。
  12. 前記生成部は、ラベル未付与事例生成器の1つを用いて、元クエリと再検索クエリとの組に対するCRRの差による正例の生成時に正例と判定されなかった事例をラベル未付与とする
    ことを特徴とする請求項4~11のうちいずれか1つに記載の情報処理装置。
  13. 前記生成部は、すでに正例と判定されていた事例については、ラベル未付与とはせず正例とする
    ことを特徴とする請求項4~12のうちいずれか1つに記載の情報処理装置。
  14. 前記学習部は、ラベル未付与の事例に対してラベルを付与する
    ことを特徴とする請求項4~13のうちいずれか1つに記載の情報処理装置。
  15. 前記学習部は、
    正例およびラベル未付与の事例を訓練用とテスト用の2つに分割し、
    訓練用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成し、テスト用の正例に対して該回帰器を適用し、ラベル付与確率の平均を求め、テスト用のラベル未付与の事例に対して該回帰器を適用し、定数である該平均への依存を持つ重みによりラベリングを行い、
    訓練用の事例とテスト用の事例を入れ替えて、
    テスト用の正例およびラベル未付与の事例を入力とし、ラベル付与確率の回帰器を生成し、訓練用の正例に対して該回帰器を適用し、ラベル付与確率の平均を求め、訓練用のラベル未付与の事例に対して該回帰器を適用し、定数である該平均への依存を持つ重みによりラベリングを行い、
    全ての事例にラベルが付与されたら二分割交差検定を行い、各テスト用事例に対して付与された予測確率を順位付けに用いる
    ことを特徴とする請求項14に記載の情報処理装置。
  16. 情報処理装置が実行する情報処理方法であって、
    検索ログに蓄積された元クエリと再検索クエリとの組を順位付けして、複数意図を持つエンティティクエリに対する意図の絞り込みのための再検索の再検索クエリを生成する生成工程と、
    元クエリと再検索クエリとの組のCRRの差を含めた複数の素性を用いてランダムフォレストによるPU学習を行う学習工程と
    を含むことを特徴とする情報処理方法。
  17. 検索ログに蓄積された元クエリと再検索クエリとの組を順位付けして、複数意図を持つエンティティクエリに対する意図の絞り込みのための再検索の再検索クエリを生成する生成手順と、
    元クエリと再検索クエリとの組のCRRの差を含めた複数の素性を用いてランダムフォレストによるPU学習を行う学習手順と
    をコンピュータに実行させるための情報処理プログラム。
JP2022028551A 2022-02-25 2022-02-25 情報処理装置、情報処理方法及び情報処理プログラム Active JP7522148B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022028551A JP7522148B2 (ja) 2022-02-25 2022-02-25 情報処理装置、情報処理方法及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022028551A JP7522148B2 (ja) 2022-02-25 2022-02-25 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2023124656A JP2023124656A (ja) 2023-09-06
JP7522148B2 true JP7522148B2 (ja) 2024-07-24

Family

ID=87886004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022028551A Active JP7522148B2 (ja) 2022-02-25 2022-02-25 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP7522148B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021179987A (ja) 2020-05-11 2021-11-18 ネイバー コーポレーションNAVER Corporation ショッピング検索結果の拡張方法およびシステム
JP2022013688A (ja) 2020-07-03 2022-01-18 アセントコリア カンパニーリミテッド 検索意図を提供するためのサービス提供装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021179987A (ja) 2020-05-11 2021-11-18 ネイバー コーポレーションNAVER Corporation ショッピング検索結果の拡張方法およびシステム
JP2022013688A (ja) 2020-07-03 2022-01-18 アセントコリア カンパニーリミテッド 検索意図を提供するためのサービス提供装置及び方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHOKOUHI, Milad、他4名,Query Suggestion and Data Fusion in Contextual Disambiguation,Proceedings of the 24th International Conference on World Wide Web [online],2015年03月18日,pp.971-980,インターネット:<URL: https://doi.org/10.1145/2736277.2741646>
豊田 樹生、他3名,ウェブ検索クエリのための部分一致文字列に対するエンティティ名称予測モデルの提案,言語処理学会第27回年次大会 発表論文集 [online],日本,言語処理学会,2021年03月08日,第590-594頁
金子 弘明、他2名,適合性フィードバックにおけるユーザ負荷軽減手法,情報処理学会 研究報告 自然言語処理(NL) [online] ,日本,情報処理学会,2013年11月07日,Vol.2013-NL-214,No.3,第1-8頁

Also Published As

Publication number Publication date
JP2023124656A (ja) 2023-09-06

Similar Documents

Publication Publication Date Title
JP7174782B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7159373B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7187597B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7522148B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7145247B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7212665B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7459026B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7453199B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7193519B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7077431B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20220374478A1 (en) Information processing device, information processing method, and non-transitory computer readable storage medium
JP7337123B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7470826B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7168640B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7145997B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7459021B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2023102373A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2023102384A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7532585B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7191136B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2023014734A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2023105760A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2024117933A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2024154899A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2023043779A (ja) 情報処理装置、情報処理方法及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230315

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20231026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240711

R150 Certificate of patent or registration of utility model

Ref document number: 7522148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150