IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許7354019情報処理装置、情報処理方法、およびプログラム
<>
  • 特許-情報処理装置、情報処理方法、およびプログラム 図1
  • 特許-情報処理装置、情報処理方法、およびプログラム 図2
  • 特許-情報処理装置、情報処理方法、およびプログラム 図3
  • 特許-情報処理装置、情報処理方法、およびプログラム 図4
  • 特許-情報処理装置、情報処理方法、およびプログラム 図5
  • 特許-情報処理装置、情報処理方法、およびプログラム 図6
  • 特許-情報処理装置、情報処理方法、およびプログラム 図7
  • 特許-情報処理装置、情報処理方法、およびプログラム 図8
  • 特許-情報処理装置、情報処理方法、およびプログラム 図9
  • 特許-情報処理装置、情報処理方法、およびプログラム 図10
  • 特許-情報処理装置、情報処理方法、およびプログラム 図11
  • 特許-情報処理装置、情報処理方法、およびプログラム 図12
  • 特許-情報処理装置、情報処理方法、およびプログラム 図13
  • 特許-情報処理装置、情報処理方法、およびプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-22
(45)【発行日】2023-10-02
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
   G06F 16/383 20190101AFI20230925BHJP
   G06F 16/36 20190101ALI20230925BHJP
   G06F 16/95 20190101ALI20230925BHJP
【FI】
G06F16/383
G06F16/36
G06F16/95
【請求項の数】 11
(21)【出願番号】P 2020035085
(22)【出願日】2020-03-02
(65)【公開番号】P2021140246
(43)【公開日】2021-09-16
【審査請求日】2021-10-20
【新規性喪失の例外の表示】特許法第30条第2項適用 ウェブサイトの掲載日 平成31年3月4日 ウェブサイトのアドレス(URL:https://www.anlp.jp/proceedings/annual_meeting/2019/) <資 料>言語処理学会 第25回年次大会 ウェブページ プリントアウト <資 料>言語処理学会 第25回年次大会 発表論文集(予稿集) 抜粋
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】豊田 樹生
(72)【発明者】
【氏名】夜久 真也
(72)【発明者】
【氏名】石川 葉子
(72)【発明者】
【氏名】土沢 誉太
(72)【発明者】
【氏名】宰川 潤二
【審査官】酒井 恭信
(56)【参考文献】
【文献】特表2013-534673(JP,A)
【文献】特開2012-008948(JP,A)
【文献】米国特許出願公開第2005/0222977(US,A1)
【文献】特開2019-164424(JP,A)
【文献】特開2008-102765(JP,A)
【文献】特開2012-003381(JP,A)
【文献】特開2013-186798(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
(57)【特許請求の範囲】
【請求項1】
クリックログから、クエリとして入力された1以上のワードと、当該クエリに対する検索結果ウェブページにおいてクリックされたリンク先であるウェブページのエンティティの文字列との組を複数抽出し、前記組ごとに、抽出された前記ワードと前記エンティティの文字列との各々に対して文字列処理を行い、文字列処理後の前記ワードと、文字列処理後の前記ワードを少なくとも一部に含む文字列処理後の前記エンティティの文字列との関連度を示す指標値を算出する算出部と、
算出された前記指標値に基づいて、新たに入力されたクエリと対応するエンティティを決定する決定部と
を備える情報処理装置。
【請求項2】
前記算出部は、前記ワードおよび前記エンティティの文字列の各々に対して文字表記を統一する正規化処理を行う、
請求項1に記載の情報処理装置。
【請求項3】
前記算出部は、
抽出された前記ワードと前記エンティティの文字列との組と、ナレッジグラフとに基づいて、前記ワードと前記エンティティの名前との組を生成し、
生成された前記ワードと前記エンティティの名前との組の各々に対する前記指標値を算出する、
請求項1または2に記載の情報処理装置。
【請求項4】
前記算出部は、前記クリックログにおいて、前記ウェブページへの遷移回数に基づいて前記指標値を算出する、
請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記指標値は、前記クリックログにおいて、前記ウェブページへの遷移回数が多くなるほど、前記指標値の値が大きくなるように定義される、
請求項4に記載の情報処理装置。
【請求項6】
前記算出部は、前記ワードおよび前記エンティティの文字列の各々を大文字または小文字に変換する文字列処理を行う、
請求項1から5のいずれか一項に記載の情報処理装置。
【請求項7】
前記算出部は、前記ワードおよび前記エンティティの文字列の各々から記号を削除する文字列処理を行う、
請求項1から6のいずれか一項に記載の情報処理装置。
【請求項8】
前記算出部は、前記ワードに複数の情報を要求する用語が含まれている場合、前記指標値を算出しない、
請求項1から7のいずれか一項に記載の情報処理装置。
【請求項9】
前記算出部は、前記ワードと対応する複数のエンティティの所在情報によって示される地理的な位置が互いに閾値以上離れている場合、前記指標値を算出しない、
請求項1から8のいずれか一項に記載の情報処理装置。
【請求項10】
コンピュータが、
クリックログから、クエリとして入力された1以上のワードと、当該クエリに対する検索結果ウェブページにおいてクリックされたリンク先であるウェブページのエンティティの文字列との組を複数抽出し、前記組ごとに、抽出された前記ワードと前記エンティティの文字列との各々に対して文字列処理を行い、文字列処理後の前記ワードと、文字列処理後の前記ワードを少なくとも一部に含む文字列処理後の前記エンティティの文字列との関連度を示す指標値を算出し、
算出された前記指標値に基づいて、新たに入力されたクエリと対応するエンティティを決定する、
情報処理方法。
【請求項11】
コンピュータに、
クリックログから、クエリとして入力された1以上のワードと、当該クエリに対する検索結果ウェブページにおいてクリックされたリンク先であるウェブページのエンティティの文字列との組を複数抽出させ、前記組ごとに、抽出された前記ワードと前記エンティティの文字列との各々に対して文字列処理を行わせ、文字列処理後の前記ワードと、文字列処理後の前記ワードを少なくとも一部に含む文字列処理後の前記エンティティの文字列との関連度を示す指標値を算出させ、
算出された前記指標値に基づいて、新たに入力されたクエリと対応するエンティティを決定させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
従来、ウェブからデータ(文書や画像など)を収集し、収集したデータを自動的にデータベース化するクローラが知られている(特許文献1参照)。クローラは、ウェブページ中のリンクを辿って、様々なIPアドレスのウェブページからデータを収集する。クローラによって収集されたデータは、ウェブ情報データベースに蓄積される。
【0003】
一方、検索エンジンは、ユーザによって入力された検索ワードを受信すると、受信した検索ワードに関連するウェブページやアプリページの情報(例えば、URL:Uniform Resource Locator)をウェブ情報データベースから取得し、取得した情報の一覧を検索結果として出力する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2012-69171号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
検索エンジンは、ユーザ満足度を向上させるため、ユーザによって入力された検索ワード(以下、「クエリ」とも言う)に関連するデータを検索結果とともに出力するように運用されている場合がある。これを実現するために、テキストデータとエンティティとを互いに対応付けて記憶したデータベースが用いられる場合がある。
【0006】
このデータベースにおいて、特定のエンティティに対応付けられているテキストデータと完全に一致する文字列がクエリとして入力された場合、その特定のエンティティに関する情報を検索結果とともに出力させることができる。一方、特定のエンティティに対応付けられているテキストデータと完全には一致しない文字列が入力された場合、エンティティの紐づけを行うことができない。この完全には一致しない文字列には、例えば、特定のエンティティに対応付けられているテキストデータと部分的に一致する文字列、該テキストデータから記号が除去された文字列、該テキストデータと表記(大文字、小文字など)が異なる文字列などが含まれる。
【0007】
上記の完全には一致しない文字列に対応するエンティティを出力させるために、これらの文字列をデータベースに記憶させる方法が考えられる。しかしながら、データベースにこれらの多数の文字列を記憶させると空間計算量が増大してしまい、データベースを用いた各種計算の速度が低下してしまう。また、やみくもに多数の文字列をデータベースに記憶させると、クエリに対応するエンティティの候補が増大してしまう。
【0008】
本発明は、このような事情を考慮してなされたものであり、ユーザにより入力されたクエリの検索意図を適切に評価してクエリに対応するエンティティを決定することができる情報処理装置を提供することを目的の一つとする。
【課題を解決するための手段】
【0009】
本発明の一態様は、クエリとして入力された1以上のワードと、エンティティの文字列との各々に対して文字列処理を行い、文字列処理後の前記ワードと、文字列処理後の前記ワードを少なくとも一部に含む文字列処理後の前記エンティティの文字列とを関連付けすることで、前記クエリと、前記エンティティとの関連度を示す指標値を算出する算出部と、算出された前記指標値に基づいて、前記クエリと関連づけられるエンティティを決定する決定部とを備える情報処理装置である。
【発明の効果】
【0010】
本発明の一態様によれば、ユーザにより入力されたクエリの検索意図を適切に評価してクエリに対応するエンティティを決定することができる。
【図面の簡単な説明】
【0011】
図1】本実施形態に係るナレッジデータサーバの使用環境及び構成を示す図である。
図2】本実施形態に係るナレッジグラフの一例を示す図である。
図3】本実施形態に係る「野球選手A」のウェブページの一例を示す図である。
図4】本実施形態に係る「野球チームB」のウェブページの一例を示す図である。
図5】本実施形態に係るコンテンツ情報の一例を示す図である。
図6】本実施形態に係る検索結果ウェブページの一例を示す図である。
図7】本実施形態に係る収集部により収集された関連ウェブページの一例を示す図である。
図8】本実施形態に係る収集部により収集された関連ウェブページの他の一例を示す図である。
図9】本実施形態に係る第1指標値情報の一例を示す図である。
図10】本実施形態に係るクリックログの一例を説明する図である。
図11】本実施形態に係る第2指標値情報D4の一例を示す図である。
図12】本実施形態に係るナレッジデータサーバの第1指標値を算出する動作の一例を示すフローチャートである。
図13】本実施形態のナレッジデータサーバの第2指標値を算出する動作の一例を示すフローチャートである。
図14】本実施形態に係るナレッジデータサーバのオンライン動作の一例を示す流れ図である。
【発明を実施するための形態】
【0012】
以下、図面を参照し、本発明の情報処理装置、情報処理方法、及びプログラムの実施形態について説明する。本実施形態においては、情報処理装置が、ナレッジデータサーバの一部を構成するものとして説明する。ナレッジデータサーバは、例えば、収集対象データ(例えば、画像やテキストデータ)を収集し、収集したデータに基づいてナレッジグラフを生成するサーバである。本実施形態において、ナレッジグラフは、エンティティやクラス、プロパティと、エンティティに関連する関連データが記載されているウェブページの所在情報とが関連付けられたデータである。
【0013】
エンティティとは、例えば、ある対象事物の実体(例えば、実世界で存在している物体)を表していてもよいし、ある対象事物の概念(例えば、実世界または仮想世界の中で定義された概念)を表していてもよい。例えば、対象事物が「建物」という概念である場合、エンティティは、「○○塔」や「○○ビルディング」などといった実体を表してよい。また、例えば、対象事物が「経済学」という概念である場合、エンティティは、「ミクロ経済学」や「マクロ経済学」などといった実体のない抽象的な概念を表してよい。以下、実施形態について詳細に説明する。
【0014】
<1-1.ナレッジデータサーバの使用環境>
図1は、本実施形態に係るナレッジデータサーバ100の使用環境及び構成を示す図である。ナレッジデータサーバ100は、端末装置200と、ウェブサーバ300と、クロール対象機器DVと、ネットワークNWを介して通信可能に接続される。ネットワークNWは、ワールドワイドウェブ(World Wide Web)を意味し、インターネットやイントラネットで標準的に用いられるHTML文書などを利用したシステムである。ネットワークNWは、無線基地局やプロバイダ装置、専用回線などを更に含んでよい。
【0015】
端末装置200は、ユーザによって使用される装置であり、例えば、スマートフォンなどの携帯電話、タブレット型コンピュータ、ノート型コンピュータ、デスクトップ型コンピュータなどである。ウェブサーバ300は、検索エンジンを用いて検索結果を表示するためのウェブページを生成し、端末装置200に提供するサーバである。
【0016】
ナレッジデータサーバ100は、例えば、制御部110と、記憶部120とを備える。記憶部120は、例えば、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。また、記憶部120の一部または全部は、NAS(Network Attached Storage)や外部のストレージサーバなど、ナレッジデータサーバ100がアクセス可能な外部装置であってもよい。記憶部120には、例えば、ナレッジグラフ(以下、「ナレッジグラフD1」)と、コンテンツ情報D2と、第1指標値情報D3と、第2指標値情報D2とが記憶される。
【0017】
図2は、本実施形態に係るナレッジグラフD1の一例を示す図である。ナレッジグラフD1において記述された事物は、オントロジーによって定義される。オントロジーとは、事物のクラスおよびプロパティを定義したものであり、クラスとプロパティとの間に成り立つ制約を集めたものである。
【0018】
クラスとは、オントロジーにおいて、同じ性質を持つ事物同士を一つのグループにしたものである。事物の性質がどういったものであるのか、すなわち事物がどのクラスに属するのかは、後述するプロパティにより決定される。
【0019】
例えば、くちばしを持ち、卵生の脊椎動物であり、前肢が翼になっている、という性質を持つ事物は、「鳥」というクラスに分類される。また、「鳥」というクラスの中で、飛べない、という性質を持つ事物は、例えば、「ペンギン」や「ダチョウ」という、より下位のクラスに分類される。このように、クラスの体系は、上位と下位の関係を有する階層構造となっていてよい。上位のクラスの性質は、下位のクラスに継承される。上述した例では、「鳥」というクラスの、「くちばしを持ち、卵生の脊椎動物であり、前肢が翼になっている」という性質は、「ペンギン」や「ダチョウ」という下位のクラスの性質にも含まれることになる。クラスを識別するためのクラス名は、例えば、「鳥」というクラスであれば、そのクラス名は「鳥」という文字列によって表されてよい。なお、クラス名は、必ずしも意味を表している必要はなく、例えば、「鳥」というクラスであっても、「情報1」や「C1」といった単なる識別情報を示す文字列が割り当てられてもよい。上述したエンティティ、すなわち事物は、オントロジーにより定義されたクラス体系の中に含まれる、いずれかのクラスに属するものとする。
【0020】
プロパティとは、事物の性質や特徴、クラス間の関係を記述する属性である。例えば、プロパティは、「~を体の構成要素としてもつ」という性質や、「~に生息する」という性質を示す属性であってもよいし、「あるクラスが上位クラスであり、あるクラスが下位クラスである」というクラス間の上位下位の関係を示す属性であってもよい。プロパティを識別するためのプロパティ名は、上述したクラス名と同様に、そのプロパティ名自体が意味を表していてもよいし、意味を表していなくてもよい。
【0021】
ナレッジグラフD1は、上述したクラスがノードとして表され、上述したプロパティがラベル付き、且つ方向性のあるエッジとして表された有向グラフである。このようなグラフ構造によって、事物についての情報がノードにより、事物間の関係がエッジによって判別可能となる。
【0022】
図2に示される例のナレッジグラフD1は、エンティティE1と、エンティティE2とが、「所属チーム」というプロパティ名のクラスに属する。本実施形態において、各エンティティには、各エンティティを識別することが可能な情報(以下、「エンティティ識別情報EID」)と、エンティティ名と、当該エンティティのウェブページの所在情報とが関連付けられる。所在情報とは、ウェブ上の位置を特定するための情報であり、例えば、URLである。所在情報が示すウェブページには、当該エンティティの関連データが記載されている。
【0023】
図2に示されるナレッジグラフD1において、エンティティE1には、エンティティ識別情報EIDの「0001」と、エンティティ名の「野球選手A」と、当該エンティティに関連する関連データが記載されているウェブページの所在情報である「http://百科事典ウェブページ/野球選手A」というURLとが対応付けられている。また、エンティティE2には、エンティティ識別情報EIDの「0002」と、エンティティ名「野球チームB」と、当該エンティティに関連する関連データが記載されているウェブページの所在情報である「http://百科事典ウェブページ/野球チームB」というURLとが対応付けられている。以降の説明において、エンティティに関連する関連データをエンティティの関連データと記載する。また、エンティティの関連データが記載されているウェブページを、エンティティのウェブページとも記載する。
【0024】
図3は、本実施形態に係る「野球選手A」のウェブページの一例を示す図である。「野球選手A」のウェブページには、「野球選手A」の関連データが記載されている。また、図4は、本実施形態に係る「野球チームB」のウェブページの一例を示す図である。「野球チームB」のウェブページには、「野球チームB」の関連データが記載されている。
【0025】
図5は、本実施形態に係るコンテンツ情報D2の一例を示す図である。コンテンツ情報D2とは、エンティティと、テキストデータとが関連付けられた情報である。コンテンツ情報D2は、ウェブページに含まれる関連データを収集した収集結果又は検索エンジンの検索ログに基づいて生成される。コンテンツ情報D2は、例えば、エンティティのウェブページに含まれるテキストデータが収集され、収集されたテキストデータと、エンティティとが関連付けられた情報である。また、コンテンツ情報D2は、例えば、エンティティがクエリとして入力された際、当該エンティティと共に入力されたテキストデータと、エンティティとが関連付けられた情報である。図5に示される一例のコンテンツ情報D2において、「野球選手A」というエンティティには、「3000本安打」というテキストデータが関連付けられ、「野球チームB」というエンティティには、「2017年優勝」というテキストデータが関連付けられる。
【0026】
図6は、本実施形態に係る検索結果ウェブページの一例を示す図である。図6に示されるように、端末装置200の表示部210には、クエリ入力領域211と、ナレッジパネル220と、検索結果230とが含まれる検索結果ウェブページが表示される。ナレッジパネル220には、クエリに対応するエンティティ221と、エンティティ221に関連する画像222と、エンティティ221に関連する関連情報223とが含まれる。ユーザは、端末装置200を用いて、端末装置200の表示部210に表示された検索ページにクエリを入力する。クエリとは、一つの検索ワードまたは複数の検索ワードの組み合わせである。端末装置200は、ユーザによって入力されたクエリをウェブサーバ300に送信する。
【0027】
ウェブサーバ300は、端末装置200から受信したクエリをナレッジデータサーバ100に送信する。ナレッジデータサーバ100は、受信したクエリに対応するエンティティに関連する情報をウェブサーバ300に送信する。また、ナレッジデータサーバ100は、ナレッジグラフD1に基づいて、判定したエンティティに対応付けられた所在情報をウェブサーバ300に送信する。ウェブサーバ300は、受信した所在情報に基づいて、当該所在情報が示すウェブページのうち、エンティティの関連データを抽出する。ウェブサーバ300は、抽出したエンティティの関連データ(この一例では、ナレッジパネル220に示す情報)を含めた検索結果ウェブページ(例えば、図6)を生成する。
【0028】
図6に示される例においては、クエリとして「3000本安打」が入力され、ナレッジパネル220には「3000本安打」に関連する画像や様々な情報が表示されている。ナレッジパネル220には、例えば、「3000本安打」を達成した「野球選手A」の画像222や、「野球選手A」の生年月日や出身地等の関連情報223が表示される。このように、検索結果230だけでなく、ナレッジパネル220を表示部210に表示することで、検索結果に対するユーザ満足度を向上させることができる。
【0029】
<1-2.ナレッジデータサーバ100の構成>
図1に戻り、制御部110は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。制御部110は、例えば、通信I/F(Interface)111、関連ページ収集部112と、第1指標値算出部113と、ログ収集部114と、第2指標値算出部115と、生起確率算出部116と、情報提供部117と、フィルター部118とを備える。また、これらの構成要素のうち一部または全部(内包する記憶部を除く)は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。第2指標値算出部115は、「算出部」の一例である。生起確率算出部116は、「決定部」の一例である。
【0030】
通信I/F111は、ネットワークNWを介した各機能部と、他の機器(例えば、クロールの対象機器(以下、クロール対象機器DV)、端末装置200、及びウェブサーバ300)との通信を仲介する。
【0031】
関連ページ収集部112は、コンテンツ情報D2から確率算出対象の任意のテキストデータ(以下、「セグメント」とも言う)を抽出し、抽出したセグメントに関連するウェブページ(以下、「関連ウェブページ」)を、ネットワークNWを介して収集する。関連ページ収集部112により収集されるウェブページとは、例えば、利用者によって編集可能な百科事典のウェブページ(以下、「百科事典ウェブページ」)や、セグメントをクエリとした場合の検索結果ウェブページである。
【0032】
図7は、関連ページ収集部112により収集された百科事典ウェブページの一例を示す図である。図7に示される例においては、関連ページ収集部112は、百科事典ウェブページのうち、コンテンツ情報D2が示す「野球選手A」のエンティティに関連付けられる「3000本安打」というセグメントが記載された関連ウェブページを収集する。関連ページ収集部112は、例えば、百科事典ウェブページのHTML(HyperText Markup Language)データを含む収集対象データを、ネットワークNWを介してクロール対象機器DVから収集する。関連ページ収集部112は、いわゆるクローラプログラムにより実現される。収集対象データは、ネットワークNW上(クロール対象機器DVの記憶領域内)にあり、ブラウザで閲覧可能なデータである。なお、収集対象データは、ブラウザに限らず、アプリケーションプログラムによって再生されるデータであってもよい。収集対象データは、例えば、HTMLのソースを示すテキストデータを含む関連ウェブページである。関連ページ収集部112は、百科事典ウェブページのうち、セグメントが記載された関連ウェブページが存在する場合、そのすべてを収集する。
【0033】
図8は、関連ページ収集部112により収集された検索結果ウェブページの一例を示す図である。図8に示される例においては、検索結果ウェブページは、コンテンツ情報D2が示すエンティティ「野球選手A」が検索結果として表示される、「3000本安打」というクエリ(図示するテキストTX21)が入力され、検索ボタン311がクリックされた場合の検索結果を示している。なお、「クリック」とは、選択することの一例であり、タッチ、タップその他の態様であってもよい。以下の説明では代表してクリックと称する。
【0034】
図1に戻り、第1指標値算出部113は、関連ページ収集部112によって収集された関連ウェブページに基づいて、セグメントとエンティティとの組に対して確率算出処理を行う。第1指標値算出部113は、セグメントが与えられたときの各エンティティに関連付けられる確率(関連度)(P(エンティティ|セグメント)(以下、「第1指標値」)を算出する。第1指標値算出部113は、例えば、以下の式(1)が示すP(e|s)の値を第1指標値として算出する。式(1)において、cは情報元を示し、eはエンティティを示し、sはセグメントを示している。情報元c=cは情報元が百科事典ウェブページであることを示し、情報元c=cは情報元がクリックログであることを示す。
【0035】
【数1】
【0036】
以下、関連ウェブページが百科事典ウェブページである場合の第1指標値の算出処理の詳細について説明し、次に、関連ウェブページが検索結果ウェブページである場合の第1指標値の算出処理の詳細について説明する。
【0037】
まず、関連ウェブページが百科事典ウェブページである場合について説明する。第1指標値算出部113は、百科事典ウェブページに含まれるテキストデータのうち、セグメントと関連付けられたエンティティを示すテキストデータが、リンク先を示すテキスト(以下、「アンカーテキスト」)として含まれる確率を算出する。図7に示す例において、関連ウェブページには、セグメント(この一例では、「3000本安打」(図示するテキストTX11)と関連付けられたエンティティ(この一例では、「野球選手A」)を示すテキストデータ(図示するテキストTX12~14)が含まれる。また、テキストTX12~14のうち、テキストTX12は、アンカーテキストである。また、テキストTX12に付与された他のウェブページのリンクは、ナレッジグラフD1において、セグメントに関連付けられたエンティティ(この一例では、「野球選手A」)に対応付けられた所在情報である。以降の説明において、セグメントと関連付けられたエンティティを示すテキストを、対象エンティティテキストデータと記載する。
【0038】
ここで、第1指標値算出部113は、以下の式(2)によって、セグメントを含むすべての百科事典ウェブページにおける対象エンティティテキストデータの数に対する、アンカーテキストの数によって求められる確率(以下、「アンカーテキスト確率」)を算出する。アンカーテキスト確率は、例えば、以下の式(2)により算出される。アンカーテキスト確率は、情報元cおよびセグメントsが与えられたときにアンカーテキストaが生成される確率を示す。式(2)におけるaは、アンカーテキスト確率を示している。
【0039】
【数2】
【0040】
また、第1指標値算出部113は、以下の式(3)によって、当該アンカーテキストのリンク先が、ナレッジグラフD1においてエンティティと関連付けられた所在情報に対応するエンティティのウェブページ(以下、「特定のウェブページ」)である確率(以下、「第1エンティティ確率」)を算出する。
【0041】
【数3】
【0042】
関連ページ収集部112により収集された関連ウェブページが図7に示されるウェブページのみである場合、第1指標値算出部113は、すべての関連ウェブページに含まれる対象エンティティテキストデータのうち、アンカーテキストである確率(つまり、アンカーテキスト確率)を「1/3」と算出する。図示するセグメントの中で、リンクが付与されるのは一つだからである。なお、同一の関連ウェブページ内において二つ以上のアンカーテキストが含まれる場合も一つとカウントしてよい。また、第1指標値算出部113は、当該アンカーテキストのリンク先が特定のウェブページである場合、第1エンティティ確率を「1」と算出する。
【0043】
次に、関連ウェブページが検索結果ウェブページの場合について説明する。第1指標値算出部113は、検索結果ウェブページに含まれるセグメントと関連付けられたエンティティをテキストとして含むリンク先が選択された確率を算出する。図8に示す例において、セグメントは、「3000本安打」(図示するテキストTX21)であり、セグメントと対応付けられたエンティティは、「野球選手A」である。図8に示される例では、関連ウェブページには、セグメントの関連ウェブページのリンクが付与されたテキストデータ(図示するテキストTX22~24)が含まれる。このうち、対象エンティティテキストデータ(この一例では、「野球選手A」)が含まれるのは、テキストTX22である。テキストTX22に付与されたリンク先は、例えば、ナレッジグラフD1において、セグメントに関連付けられたエンティティ(この一例では、「野球選手A」)に対応付けられた所在情報である。つまり、テキストTX22が有する他のウェブページのリンクは、特定のウェブページであり、一例として百科事典ウェブページである。なお、検索結果ウェブページには、リンクを有さないテキストであって、エンティティを示すテキストTX25が含まれてよい。
【0044】
第1指標値算出部113は、上記の式(2)によって、すべての検索結果ウェブページに含まれるそれぞれのリンクがクリックされた回数に対して、対象エンティティテキストデータを含むリンクがクリックされた回数の比として求められる確率(以下、「エンティティテキストクリック確率」)を算出する。式(2)におけるaは、エンティティテキストクリック確率を示している。
【0045】
また、第1指標値算出部113は、上記の式(3)によって、対象エンティティテキストデータを含むリンク先が、エンティティに関する特定のウェブページである確率(以下、「第2エンティティ確率」)を算出する。
【0046】
第1指標値算出部113は、上記の式(1)によって算出した第1指標値を、第1指標値情報D3として、記憶部120に記憶させる。図9は、本実施形態に係る第1指標値情報D3の一例を示す図である。図9に示す例では、セグメント「3000本安打」が与えられたときのエンティティ「野球選手A」が生成される確率(=第1指標値)として、「0.824」が記憶されている。
【0047】
図1に戻り、ログ収集部114は、ウェブサーバ300に記憶されている検索結果ウェブページのログ(例えば、クリックログ)を、ネットワークNWを介して収集する。ログ収集部114により収集されるクリックログには、例えば、検索結果ウェブページの表示のために利用されたクエリの情報と、該検索結果ウェブページに表示されたリンクのうち、ユーザによりクリックされたリンクのURLの情報とが含まれている。図10は、本実施形態に係るクリックログの一例を説明する図である。図10に示される例では、ユーザが、クエリとして「チームA」の文字列を入力して検索を行い、端末装置200に検索結果ウェブページP1が表示され、さらに、ユーザが、検索結果ウェブページP1に含まれるリンクのうち「東京チームA」の関連ページ(例えば、百科事典ウェブページP2)へのリンクをクリックした場合を示している。この場合、ウェブサーバ300において出力されるクリックログLには、ユーザによりクエリとして利用されたワード「チームA」の情報と、ユーザによりクリックされたリンク先である百科事典ウェブページP2のURLの情報とが含まれる。
【0048】
第2指標値算出部115は、あるクエリが与えられたときのクエリの補完先のセグメントが生成される確率(以下、「第2指標値」)を算出する。補完先のセグメントとは、クエリがエンティティの名前の文字列とは完全には一致しない場合に、該クエリがエンティティの名前の文字列と一致するように補完された文字列を示す。第2指標値算出部115は、例えば、クエリとして主要語および周辺語が与えられたときに、これらの主要語および周辺語に各セグメント(エンティティの名前)が関連付けられる確率を算出する。第2指標値は、「指標値」の一例である。
【0049】
主要語とは、ユーザの検索意図を最も特徴付けるクエリである。周辺語とは、主要語を補助的に特徴付けるクエリである。主要語には、例えば、エンティティの名前を示す文字列、エンティティの名前の文字列とは完全には一致しない文字列である。この完全には一致しない文字列には、例えば、エンティティの名前を示す文字列と部分的に一致する文字列、エンティティの名前を示す文字列から記号が除去された文字列、エンティティの名前を示す文字列と表記(大文字、小文字など)が異なる文字列などが含まれる。周辺語には、例えば、コンテキストが含まれる。コンテキストとは、エンティティの属性、種類等のエンティティを特徴付ける任意の情報を示す文字列である。
【0050】
第2指標値算出部115は、算出した第2指標値を、クエリ(主要語および周辺語)および補完先のセグメントに対応付けて、第2指標値情報D4に記憶させる。図11は、本実施形態に係る第2指標値情報D4の一例を示す図である。図11に示される例では、主要語「チームA」、周辺語「野球」、およびセグメント「東京チームA」に対して、第2指標値「0.952」が対応付けられている。
【0051】
すなわち、第2指標値算出部115は、クエリとして入力された1以上のワードと、エンティティの文字列との各々に対して文字列処理を行い、文字列処理後のワードと、文字列処理後のワードを少なくとも一部に含む文字列処理後のエンティティの文字列とを関連付けすることで、クエリと、エンティティとの関連度を示す第2指標値を算出する。第2指標値算出部115による第2指標値の算出方法については後述する。
【0052】
生起確率算出部116は、第1指標値算出部113により算出された第1指標値と、第2指標値算出部115により算出された第2指標値と、に基づいて、あるクエリが与えられたときのエンティティが生成される確率(以下「生起確率」)を算出する。
【0053】
情報提供部117は、生起確率算出部116により算出された生起確率に基づいて、ウェブサーバ300から受信したクエリに対応するエンティティを決定し、ナレッジグラフD1に基づいて決定したエンティティに対応付けられている所在情報を取得し、取得した所在情報をウェブサーバ300に送信する。
【0054】
<1-3.ナレッジデータサーバ100の第1オフライン動作>
以下、ナレッジデータサーバ100の第1オフライン動作について説明する。第1オフライン動作では、第1指標値を算出する。図12は、本実施形態に係るナレッジデータサーバ100の第1指標値を算出する動作の一例を示すフローチャートである。まず、関連ページ収集部112は、コンテンツ情報D2のうち、算出対象のテキストデータであるセグメントを抽出する(S110)。次に、関連ページ収集部112は、抽出したセグメントに基づいて、関連ウェブページ(百科事典ウェブページ及び検索結果ウェブページ)を収集する(S120)。次に、第1指標値算出部113は、アンカーテキスト確率及びエンティティテキストクリック確率を算出する(S130)。
【0055】
次に、第1指標値算出部113は、第1エンティティ確率及び第2エンティティ確率を算出する(S140)。そして、第1指標値算出部113は、例えば、百科事典ウェブページに基づくアンカーテキスト確率に第1エンティティ確率を乗じた値と、検索結果ウェブページに基づくエンティティテキストクリック確率に第2エンティティ確率を乗じた値との和を第1指標値として算出する(S150)。第1指標値算出部113は、算出した第1指標値を第1指標値情報D3として記憶部120に記憶させる。以上の動作を、ナレッジデータサーバ100は、コンテンツ情報D2に記憶された全テキストデータに対して行う。以上により、本フローチャートの処理を終了する。
【0056】
<1-4.ナレッジデータサーバ100の第2オフライン動作>
以下、ナレッジデータサーバ100の第2オフライン動作について説明する。第2オフライン動作では、第2指標値を算出する。図13は、本実施形態に係るナレッジデータサーバ100の第2指標値を算出する動作の一例を示すフローチャートである。まず、ログ収集部114は、ウェブサーバ300に記憶されている検索結果ウェブページのログ(例えば、クリックログ)を、ネットワークNWを介して収集する(S210)。
【0057】
次に、第2指標値算出部115は、ログ収集部114により収集されたクリックログの各レコードの中から、クエリと、エンティティとの組を抽出する(S220)。例えば、検索に利用されたクエリが「チームA」および「野球」の2語であり、このクエリと対応する検索結果ウェブページにおいて「東京チームA」の百科事典ウェブページへのリンクがクリックされている場合、(クエリ,エンティティの名前)の組として、(チームA 野球,東京チームA)が抽出される。第2指標値算出部115は、クリックログから、このようなクエリとエンティティの名前との組を複数抽出する。尚、クエリとエンティティとの組として抽出される「クエリ」は、1つのワードであってもよい。このエンティティの名前とは、ナレッジグラフD1に記憶されているエンティティの正式な名前である。例えば、エンティティとして「東京チームA」が抽出されている場合、第2指標値算出部115は、このエンティティ「東京チームA」の正式な名前を、ナレッジグラフD1から読み出す。例えば、第2指標値算出部115は、「東京チームA」という文字列や、「東京チームA」の百科事典ウェブページのURL等に基づいて、抽出されたエンティティである「東京チームA」と、ナレッジグラフD1上のエンティティの正式な名前との紐付けを行う。すなわち、第2指標値算出部115は、ワードと関連付けられるページのクリックログに基づいて、第2指標値を算出する。
【0058】
次に、第2指標値算出部115は、抽出されたクエリとエンティティとの組に含まれるクエリから展開可能な全ての主要語と、周辺語との組を列挙する(S230)。例えば、第2指標値算出部115は、抽出されたクエリが「チームA 野球」である場合、(主要語,周辺語)の組として、(チームA,野球)および(野球,チームA)の2組を列挙する。
【0059】
次に、第2指標値算出部115は、ステップS230において列挙された各組の主要語およびステップS220において抽出されたエンティティの名前に対して、小文字化、記号削除などの特定の正規化処理を行う(S240)。尚、エンティティの名前には、エンティティの別名等が含まれていてもよい。例えば、第2指標値算出部115は、ステップS230において列挙された主要語である「チームA」に対して、小文字化の正規化処理を行い、処理後の正規化文字列「チームa」を得る。また、第2指標値算出部115は、ステップS220において抽出されたエンティティの名前「東京チームA」に対して、小文字に変換する正規化処理を行い、処理後の正規化文字列「東京チームa」を得る。その他、第2指標値算出部115は、正規化前の文字列が記号(例えば、「・」「!」など)を含む場合には、記号を削除する正規化処理を行って処理後の正規化文字列を得る。すなわち、第2指標値算出部115は、ワードおよびエンティティの文字列の各々に対して文字表記を統一する正規化処理を行う。
【0060】
次に、第2指標値算出部115は、主要語の正規化文字列が、エンティティの名前の正規化文字列の部分文字列または同一文字列になっているか否かを判定する(S250)。例えば、主要語の正規化文字列が「チームa」であり、エンティティの名前の正規化文字列が「東京チームa」である場合、第2指標値算出部115は、主要語の正規化文字列が、エンティティの名前の正規化文字列の部分文字列であると判定する。
【0061】
第2指標値算出部115は、主要語の正規化文字列が、エンティティの名前の正規化文字列の部分文字列であると判定した場合、エンティティの名前sを、抽出されたクエリの組の集合S(Ss,Sc)に加える(S260)。
【0062】
第2指標値算出部115は、上記のように生成した集合S(Ss,Sc)に基づいて、第2指標値を算出する(S270)。例えば、第2指標値算出部115は、以下の式(4)により、第2指標値を算出する。
【0063】
【数4】
【0064】
上記の式(4)において、nとは、あるクエリが利用された場合に、検索結果ウェブページにおいて、特定のエンティティの関連ページ(例えば、百科事典ウェブページ)に遷移した回数(特定のエンティティの関連ページへのリンクがクリックされた回数)を示している。また、αは、エンティティ毎に予め設定された係数を示している。例えば、「チームA」の係数αは500に設定され、「東京チームA」の係数αは1に設定される。このように、係数αは、そのエンティティに対応する関連ページへの遷移の起こりにくさを示すものである。例えば、係数αは大きくなるほど、関連ページへの遷移が起こりにくくなることを示す。エンティティとしての「チームA」の関連ページへの遷移は少ない(エンティティとしての「チームA」の関連ページが存在しない場合にはそもそも遷移が無い)ため(遷移しにくい)、大きな値(500)が設定されている。また、エンティティとしての「東京チームA」の関連ページへの遷移は多いため(遷移しやすい)、小さな値が設定されている。sはエンティティの名前を示し、sはクエリに含まれる主要語を示し、sはクエリに含まれる周辺語を示す。すなわち、第2指標値算出部115は、クリックログにおいて、ワードを少なくとも一部に含むエンティティの関連ページへの遷移回数に基づいて第2前指標値を算出する。第2指標値は、クリックログにおいて、エンティティの関連ページへの遷移回数が多くなるほど、指標値の値が大きくなるように定義される。
【0065】
第2指標値算出部115は、算出した第2指標値を、クエリおよびエンティティの名前(セグメント)と対応付けて、第2指標値情報D4に記憶させる。以上により、本フローチャートの処理を終了する。
【0066】
<1-4.ナレッジデータサーバ100のオンライン動作>
図14は、本実施形態に係るナレッジデータサーバ100のオンライン動作の一例を示す流れ図である。まず、情報提供部117は、ウェブサーバ300からクエリを受信する(S310)。例えば、情報提供部117は、「チームA」と、「野球」との2つのワードを含むクエリを受信する。
【0067】
次に、生起確率算出部116は、第1指標値情報D3から、受信したクエリ(セグメント)に対応するエンティティごとの第1指標値を取得する(S320)。次に、生起確率算出部116は、第2指標値情報D3から、受信したクエリ(セグメント)に対応する補完後のセグメント毎の第2指標値を取得する(S330)。
【0068】
次に、生起確率算出部116は、取得された第1指標値および第2指標値に基づいて、エンティティごとの生起確率を算出する(S340)。生起確率算出部116は、例えば、以下の式(5)に基づいて、エンティティごとの生起確率を算出する。
【0069】
【数5】
【0070】
上記の式(5)において、qはクエリを示し、Sqはクエリqの持つSs,Scの組の集合を示す。すなわち、生起確率算出部116は、取得された第1指標値および第2指標値の乗算することで、エンティティごとの生起確率を算出し、そのうち、最も生起確率が高いエンティティを、受信したクエリに対応するエンティティ(受信したクエリに最も適切なエンティティ)として決定する(S350)。
【0071】
次に、情報提供部117は、ナレッジグラフD1に基づいて、生起確率算出部116により決定されたエンティティに対応付けられている所在情報を取得し、取得した所在情報をウェブサーバ300に送信する(S360)。以上により、本フローチャートの処理が終了する。
【0072】
<1-5.フィルター機能>
ナレッジデータサーバ100の第2オフライン動作では、クリックログに含まれるクエリに応じて、以下のようなフィルター処理が行われるようにしてもよい。
【0073】
[第1フィルター処理]
第2指標値算出部115は、ログ収集部114により収集されたクリックログの各レコードの中から抽出されたクエリのうち、「おすすめ」、「一覧」などの特定の用語をクエリとして含むレコードについては、クエリ補完処理(第2指標値の算出)を行わない。特定の用語とは、特定の1つの情報ではなく、複数の情報(広範囲な情報)の要求を意図する文字列である。「おすすめ」、「一覧」などの特定の用語を用いた検索では、ユーザは、1つの検索結果ではなく、リスト化された複数の検索結果の取得を希望していることが推定される。例えば、クエリとして「東京 美術館 おすすめ」という3ワードが使用された場合、ユーザは、東京の特定の美術館の情報を欲しているのではなく、リスト化された複数の美術館の情報を欲していることが推定される。この場合において、上記のように算出された第2指標値に基づいてエンティティとの紐づけを行うと、特定のエンティティのみが紐づけられてしまう(すなわち、特定のエンティティの生起確率が高くなってしまう)。このため、このような特定の用語をクエリとして含むレコードについては、第2指標値の算出を行わない。
【0074】
例えば、第2指標値算出部115は、ログ収集部114により収集されたクリックログの各レコードの中から抽出されたクエリのうち、末尾に「おすすめ」、「一覧」などの特定の用語を含むクエリを抽出し、抽出したクエリから特定の用語を除去する。そして、第2指標値算出部115は、特定の用語が除去されたクエリのうち、2以上のワードを含み且つ所定回数以上の検索がなされているクエリに対しては、第2指標値の算出を行わないようにする。ここで、2以上のワードを含むクエリに限定した理由は、特定の用語を除去した後に複数のワードを含むクエリは、特定の1つの情報ではなく、複数の情報(広範囲な情報)を要求している場合が多いためである。尚、この場合、ナレッジデータサーバ100のオンライン動作において、情報提供部117は、第1指標値のみに基づいて、受信したクエリに最も適切なエンティティを決定するようにしてよい。
【0075】
[第2フィルター処理]
第2指標値算出部115は、ログ収集部114により収集されたクリックログの各レコードの中から抽出されたクエリのうち、該クエリと関連付けられるエンティティの所在情報が示す地域が地理的に互いに離れている場合、クエリ補完処理(第2指標値の算出)を行わないようにしてよい。例えば、クエリとして「A小学校」というワードが使用され、該クエリと関連付けられるエンティティが「和歌山市立A小学校」と、「所沢市立A小学校」との2つが存在する場合、いずれのエンティティもユーザの検索意図に適合している可能性がある。この場合、エンティティとして「和歌山市立A小学校」または「所沢市立A小学校」のいずれか一方に関連付けられてしまうことは好ましくない。
【0076】
そこで、第2指標値算出部115は、ナレッジグラフD1から、クエリと紐付けられたエンティティの所在情報を取得し、取得した所在情報により示される地域が地理的に互いに閾値以上離れている場合(両者の距離が閾値以上である場合)、クエリ補完処理(第2指標値の算出)を行わない。クエリとして「A小学校」と関連付けられる「和歌山市立A小学校」の所在情報は「和歌山県」であり、一方、「所沢市立A小学校」の所在情報は「埼玉県」である。この場合、第2指標値算出部115は、取得した所在情報が地理的に離れていると判定し、クエリ補完処理(第2指標値の算出)を行わない。
【0077】
以上、説明したように、本実施形態のナレッジデータサーバ100は、クエリとして入力された1以上のワードと、エンティティの文字列との各々に対して文字列処理を行い、文字列処理後の前記ワードと、文字列処理後の前記ワードを少なくとも一部に含む文字列処理後の前記エンティティの文字列とを関連付けすることで、前記クエリと、前記エンティティとの関連度を示す指標値を算出する第2指標値算出部115(算出部)と、算出された前記指標値に基づいて、前記クエリと関連づけられるエンティティを決定する生起確率算出部(決定部)とを備える情報処理装置である。
【0078】
これによって、本実施形態のナレッジデータサーバ100は、ユーザにより入力された多様なクエリの検索意図を適切に評価することができる。本実施形態のナレッジデータサーバ100によれば、ユーザにより入力されたクエリが、ナレッジグラフに登録されているエンティティの名前と異なる場合(エンティティの部分文字列等の別名である場合)であっても、クエリと対応するエンティティに関する情報をユーザに提供することができる。また、本実施形態のナレッジデータサーバ100によれば、ナレッジグラフに別名に関する情報を記憶させる必要がない。このため、ナレッジグラフを用いた各種計算の速度低下を防ぐことができ、また、クエリに対応するエンティティの候補が増大してしまう事態を回避することができる。
【0079】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0080】
100…ナレッジデータサーバ
110…制御部
111…通信I/F
112…関連ページ収集部
113…第1指標値算出部
114…ログ収集部
115…第2指標値算出部
116…生起確率算出部
117…情報提供部
120…記憶部
200…端末装置
210…表示部
211…クエリ入力領域
220…ナレッジパネル
221…エンティティ
222…画像
223…関連情報
230…検索結果
300…ウェブサーバ
D1…ナレッジグラフ
D2…コンテンツ情報
D3…第1指標値情報
D4…第2指標値情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14