図面 (/)

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

出願人 ヤフー株式会社
発明者 山崎朋哉
出願日 2019年3月19日 (1年9ヶ月経過) 出願番号 2019-051425
公開日 2020年9月24日 (3ヶ月経過) 公開番号 2020-154583
状態 未査定
技術分野 検索装置
主要キーワード 統計的指標 ナレッジベース 二部グラフ ペンギン 動画配信サイト クラス値 専用通信線 部分集合内
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年9月24日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (14)

課題

所定の概念体系によってエンティティ概念形式化されたデータベース上において、クラスが決定されていないエンティティのクラスを自動的に決定する情報処理装置情報処理方法及びプログラムを提供する。

解決手段

情報処理装置100は、制御部110において、クラスが決定済みの第1エンティティに関連したコンテンツ検索ログと、クラスが未決定の第2エンティティに関連したコンテンツの検索ログとのそれぞれから、一つ以上のコンテキストタームを抽出する抽出部112と、抽出部112によって抽出された一つ以上のコンテキストタームと、第1エンティティのクラスとに基づいて、第2エンティティのクラスを決定するクラス決定部116と、を備える。

概要

背景

エンティティ間関係性を適切に示すデータベース構築する技術が知られている(例えば、特許文献1参照)。

概要

所定の概念体系によってエンティティ概念形式化されたデータベース上において、クラスが決定されていないエンティティのクラスを自動的に決定する情報処理装置情報処理方法及びプログラムを提供する。情報処理装置100は、制御部110において、クラスが決定済みの第1エンティティに関連したコンテンツ検索ログと、クラスが未決定の第2エンティティに関連したコンテンツの検索ログとのそれぞれから、一つ以上のコンテキストタームを抽出する抽出部112と、抽出部112によって抽出された一つ以上のコンテキストタームと、第1エンティティのクラスとに基づいて、第2エンティティのクラスを決定するクラス決定部116と、を備える。

目的

特開2017−208015号公報






例えば、インターネット上で新しいディジタルコンテンツ公開された場合、そのコンテンツに関する新規のエンティティを既存のデータベースに登録することが望まれている

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

クラスが決定済みの第1エンティティに関連したコンテンツ検索ログと、前記クラスが未決定の第2エンティティに関連したコンテンツの検索ログとのそれぞれから、一つ以上のコンテキストタームを抽出する抽出部と、前記抽出部によって抽出された前記一つ以上のコンテキストタームと、前記第1エンティティのクラスとに基づいて、前記第2エンティティのクラスを決定する決定部と、を備える情報処理装置

請求項2

前記決定部は、ラベルスプレッディング法を利用して、前記一つ以上のコンテキストタームと、前記第1エンティティのクラスとから、前記第2エンティティのクラスを決定する、請求項1に記載の情報処理装置。

請求項3

前記第1エンティティおよび前記第2エンティティが互いに独立したノードとして含まれる第1の部分集合と、前記一つ以上のコンテキストタームが互いに独立したノードとして含まれる第2の部分集合とに基づいて、二部グラフを生成する生成部を更に備え、前記決定部は、前記生成部によって生成された前記二部グラフに基づいて、前記第2エンティティのクラスを決定する、請求項2に記載の情報処理装置。

請求項4

前記決定部は、前記第1の部分集合および前記第2の部分集合に含まれる複数のノードのそれぞれの前記クラスを示す値を要素とした第1行列と、前記第1の部分集合に含まれるノードと前記第2の部分集合に含まれるノードとを接続するエッジ重み係数を要素とした第2行列との積で前記第1行列を更新することで、前記第2エンティティのクラスを決定する、請求項3に記載の情報処理装置。

請求項5

前記決定部は、前記第1行列が収束するまで、前記第1行列と前記第2行列との積で前記第1行列を更新することを繰り返し、前記第1行列を更新することを繰り返す過程で、前記第1エンティティのクラスを再決定する、請求項4に記載の情報処理装置。

請求項6

前記重み係数は、前記コンテンツの検索結果から得られる統計的指標値に基づいて決定される、請求項4または5に記載の情報処理装置。

請求項7

前記決定部は、ラベルプロパゲーティング法を利用して、前記一つ以上のコンテキストタームと、前記第1エンティティのクラスとから、前記第2エンティティのクラスを決定する、請求項1に記載の情報処理装置。

請求項8

コンピュータが、クラスが決定済みの第1エンティティに関連したコンテンツの検索ログと、前記クラスが未決定の第2エンティティに関連したコンテンツの検索ログとのそれぞれから、一つ以上のコンテキストタームを抽出し、前記抽出した前記一つ以上のコンテキストタームと、前記第1エンティティのクラスとに基づいて、前記第2エンティティのクラスを決定する、情報処理方法

請求項9

コンピュータに、クラスが決定済みの第1エンティティに関連したコンテンツの検索ログと、前記クラスが未決定の第2エンティティに関連したコンテンツの検索ログとのそれぞれから、一つ以上のコンテキストタームを抽出する処理と、前記抽出した前記一つ以上のコンテキストタームと、前記第1エンティティのクラスとに基づいて、前記第2エンティティのクラスを決定する処理と、を実行させるためのプログラム

技術分野

0001

本発明は、情報処理装置情報処理方法、およびプログラムに関する。

背景技術

0002

エンティティ間関係性を適切に示すデータベース構築する技術が知られている(例えば、特許文献1参照)。

先行技術

0003

特開2017−208015号公報

発明が解決しようとする課題

0004

例えば、インターネット上で新しいディジタルコンテンツ公開された場合、そのコンテンツに関する新規エンティティを既存のデータベースに登録することが望まれている。しかしながら、従来の技術では、データベースに新規に登録されたエンティティには、専らクラスと呼ばれる情報を付与できておらず、データベースを十分に有効活用することができていない場合があった。

0005

本発明は、上記の課題に鑑みてなされたものであり、データベースをより有効活用することができる情報処理装置、情報処理方法、およびプログラムを提供することを目的としている。

課題を解決するための手段

0006

本発明の一態様は、クラスが決定済みの第1エンティティに関連したコンテンツの検索ログと、前記クラスが未決定の第2エンティティに関連したコンテンツの検索ログとのそれぞれから、一つ以上のコンテキストタームを抽出する抽出部と、前記抽出部によって抽出された前記一つ以上のコンテキストタームと、前記第1エンティティのクラスとに基づいて、前記第2エンティティのクラスを決定する決定部と、を備える情報処理装置である。

発明の効果

0007

本発明の一態様によれば、データベースをより有効活用することができる情報処理装置、情報処理方法、およびプログラムを提供することができる。

図面の簡単な説明

0008

第1実施形態における情報処理装置100を含む情報処理システム1の一例を示す図である。
エンティティパネルの一例を示す図である。
第1実施形態における情報処理装置100の構成の一例を示す図である。
ナレッジベース132の一例を示す図である。
検索ログ134の一例を示す図である。
第1実施形態における制御部110による一連の処理の流れを示すフローチャートである。
コンテキストタームの抽出方法を説明するための図である。
二部グラフの一例を示す図である。
ベルスプレッディング法の一連の処理の流れを示すフローチャートである。
二部グラフの初期化の様子を模式的に示す図である。
クラス行列Fが収束したときの二部グラフを模式的に示す図である。
二部グラフの初期化の様子を模式的に示す図である。
実施形態の情報処理装置100のハードウェア構成の一例を示す図である。

実施例

0009

以下、本発明を適用した情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。

0010

概要
情報処理装置は、一以上のプロセッサによって実現される。情報処理装置は、オントロジーと呼ばれる所定の概念体系(または語彙体系)によってエンティティの概念形式化されたデータベース上において、未だクラスが決定されていないエンティティのクラスを自動的に決定する。

0011

データベースは、エンティティに関する情報と、エンティティ同士の意味的関係に関する情報とがグラフとして記述されたナレッジ型のデータベース(以下、ナレッジベースと称する)として表現される。ナレッジベースにおけるエンティティは、例えば、あるエンティティの実体(実世界で存在している物体)や、あるエンティティの概念(実世界または仮想世界の中で定義された概念)を表した情報である。より具体的には、エンティティは、例えば、「人間」、「機械」、「建物」、「組織」、「美」、「学問」、「旅行」といった抽象的な概念を表すエンティティあってもよいし、「○○タワー」のように「建物」という概念の実体や、「検索太郎(人名)」のように「人間」という概念の実体を表すエンティティであってもよい。

0012

このようなナレッジベースは、プロセッサ(コンピュータ)による処理を可能とするため、オントロジーによって定められたクラスとプロパティを用いて記述される。オントロジーとは、エンティティのクラスおよびプロパティを定義したものであると共に、クラスとプロパティとの間に成り立つ制約を集めたものである。

0013

クラスとは、後述するプロパティと呼ばれる性質が同じエンティティ同士を一つのグループにしたものである。例えば、くちばしを持ち、卵生脊椎動物であり、前肢になっている、という性質(プロパティ)を持つエンティティは、「」というクラスあるいはその下位のクラスに分類される。また、「鳥」というクラスの中で、飛べない、という性質を持つエンティティは、例えば、「ペンギン」や「ダチョウ」という、より下位のクラスに分類される。このように、クラスの体系は、上位と下位の関係を有する階層構造をなし、上位のクラスの性質は、下位のクラスに継承される。上述した例では、「鳥」というクラスの、「くちばしを持ち、卵生の脊椎動物であり、前肢が翼になっている」という性質は、「ペンギン」や「ダチョウ」という下位のクラスの性質にも含まれることになる。クラスを識別するためのクラス名自体は必ずしもクラスの意味を表している必要はないが、以下の説明では簡単のためにクラスの意味を表すクラス名が与えられていることとする。

0014

プロパティとは、エンティティの性質(または特徴)や、クラス間の関係を記述する属性である。例えば、プロパティは、「〜を体の構成要素としてもつ」という性質や、「〜に生息する」という性質を示す属性であってもよいし、「あるクラスが上位クラスであり、あるクラスが下位クラスである」というクラス間の上位下位の関係を示す属性であってもよい。プロパティを識別するためのプロパティ名自体は必ずしもプロパティの意味を表している必要はないが、以下の説明では簡単のためにプロパティの意味を表すプロパティ名が与えられていることとする。

0015

ナレッジベースの基本的な単位は、ノード間を、ノード間の関係を表すラベル付きの方向性をもつエッジでつないだ3つ組であり、上述したエンティティはノードであり、プロパティはエッジであり、プロパティを用いて記述したエンティティの情報の値もノードで表現する。このような、ノード、エッジ、およびノードの値の3つを組み合わせたグラフにより、エンティティに関する情報やエンティティ間の関係が明確に表現される。

0016

例えば、現実世界新しく映画ドラマといったコンテンツが制作され、インターネット上で、それらコンテンツを話題にしたブログ公式イトなどが公開されたとする。この場合、新規公開されたコンテンツのタイトルや、公式サイトのURL(Uniform Resource Locator)などが新規エンティティとして既存のナレッジベースに登録される。既存のナレッジベースに登録された時点では、新規エンティティのクラスは定まっておらず、専ら人間が手動で決定したり、コンピュータがエンティティの抽出元であるコンテンツの文脈解釈した上で、その文脈の意味に応じて自動的に決定したりする。しかしながら、ナレッジベース上では、依然としてクラスが定まっていない新規エンティティの数が多く、速やかにクラスを決定することが望まれている。

0017

そこで、情報処理装置は、ナレッジベースにおいて、既にクラスが決定されたエンティティ(以下、クラス定義済みエンティティと称する)に関連したコンテンツの検索ログと、未だクラスが決定されていないエンティティ(以下、クラス未定義エンティティと称する)とに関連したコンテンツの検索ログとのそれぞれから、一つ以上のコンテキストタームを抽出する。クラス定義済みエンティティは、「第1エンティティ」の一例であり、クラス未定義エンティティは、「第2エンティティ」の一例である。

0018

コンテキストタームとは、コンテンツを検索する際にユーザによって入力されるクエリに含まれ得るワード或いは表現である。例えば、「〇〇物語」というタイトルの書籍を検索する際に、ユーザが「〇〇物語_漫画」という文字列をクエリとして入力したとする。アンダーバースペースを表している。このような場合に、ナレッジベース上に、「〇〇物語」という名称のエンティティが存在する場合、「〇〇物語」の後にスペースを挟んで続く「漫画」という文字列がコンキスタームとなる。

0019

情報処理装置は、一つ以上のコンテキストタームを抽出すると、そのコンテキストタームと、クラス定義済みエンティティのクラスとに基づいて、クラス未定義エンティティのクラスを決定する。これによって、ナレッジベースの情報量が充実するため、ナレッジベースをより有効活用することができる。

0020

<第1実施形態>
[全体構成]
図1は、第1実施形態における情報処理装置100を含む情報処理システム1の一例を示す図である。第1実施形態における情報処理システム1は、例えば、一つ以上の端末装置10と、サービス提供装置20と、情報処理装置100とを備える。これらの装置のうち一部または全部は、ネットワークNWを介して互いに接続される。なお、これらの装置のうち一部は、仮想的な装置として他の装置に包含されてもよく、例えば、サービス提供装置20の機能の一部または全部が、情報処理装置100の機能によって実現される仮想マシンであってもよいし、これとは反対に、情報処理装置100の機能の一部または全部が、サービス提供装置20の機能によって実現される仮想マシンであってもよい。

0021

図1に示す各装置は、ネットワークNWを介して種々の情報を送受信する。ネットワークNWは、例えば、無線基地局、Wi‐Fiアクセスポイント通信回線プロバイダ、インターネットなどを含む。なお、図1に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。

0022

端末装置10は、例えば、スマートフォンなどの携帯電話タブレット端末、各種パーソナルコンピュータなどの、入力装置表示装置通信装置記憶装置、および演算装置を備える端末装置である。通信装置は、NIC(Network Interface Card)などのネットワークカード無線通信モジュールなどを含む。端末装置10では、ウェブブラウザアプリケーションプログラムなどのUA(User Agent)が起動し、ユーザの入力に応じたリクエストをサービス提供装置20に送信する。また、UAが起動された端末装置10は、サービス提供装置20から取得した情報に基づいて、表示装置に各種画像を表示させる。

0023

サービス提供装置20は、例えば、UAとして起動されたウェブブラウザからのリクエストに応じてウェブページを端末装置10に提供するウェブサーバである。ウェブページは、例えば、インターネット上において商品販売するショッピングサイトオークションサイトフリーマーケットサイトといった各種ウェブサイトを構成するウェブページであってよい。また、サービス提供装置20は、検索サイトやSNS(Social Networking Service)、メールサービスなどの各種サービスを提供するウェブページを端末装置10に提供してもよい。また、サービス提供装置20は、UAとして起動されたアプリケーションからのリクエストに応じてコンテンツを端末装置10に提供することで、販売サイトなどの各種ウェブサイトと同様のサービスを提供するアプリケーションサーバであってもよい。

0024

例えば、サービス提供装置20は、端末装置10からクエリを取得した場合、クエリによる検索結果を端末装置10に提供する。この際、サービス提供装置20は、クエリの検索結果の一覧を表示させるページの所定領域に、クエリとして入力された単語や語句の実体或いは概念がどういったものであるのかを表す文字列や画像を表示させる。以下、所定領域をエンティティパネルと称して説明する。

0025

図2は、エンティティパネルの一例を示す図である。例えば、現実世界において、「〇〇物語」というタイトルの漫画が存在しており、「検索太郎」という漫画家がその漫画を制作していたとする。この場合に、ユーザが端末装置10を利用して、検索サイトなどのクエリの入力欄に「〇〇物語」という文字列を入力した場合、サービス提供装置20は、ナレッジベースを参照し、「〇〇物語」という漫画の概要や漫画家名、他の漫画作品をエンティティパネルに表示させたり、「〇〇物語」に関する他の映画作品などをエンティティパネルに表示させたりする。なお、エンティティパネルは、検索サイトなどに限られず、ショッピングサイトや動画配信サイトなどにも表示されてよい。また、エンティティパネルを表示させることは、入力されたクエリに対応した検索結果を出力するものであれば、「検索」や「販売」といったサービスに限定されず、如何なるサービスにも適用されてよい。

0026

情報処理装置100は、オントロジーによってエンティティの概念が形式化されたナレッジベースにおいて、クラス未定義エンティティのクラスを決定する。ナレッジベースは、予め情報処理装置100に記憶されていてもよいし、情報処理装置100がウェブサイトを定期的にクロールすることで、ウェブサイトごとに生成してもよい。

0027

[情報処理装置の構成]
図3は、第1実施形態における情報処理装置100の構成の一例を示す図である。図示のように、情報処理装置100は、例えば、通信部102と、制御部110と、記憶部130とを備える。

0028

通信部102は、例えば、NIC(Network Interface Card)等の通信インターフェースDMA(Direct Memory Access)コントローラを含む。通信部102は、ネットワークNWを介して、サービス提供装置20や他のウェブサーバと通信する。

0029

制御部110は、例えば、抽出部112と、グラフ生成部114と、クラス決定部116とを備える。制御部110の構成要素は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサが記憶部130に格納されたプログラムを実行することにより実現される。また、制御部110の構成要素の一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific IntegratedCircuit)、FPGA(Field-Programmable Gate Array)などのハードウェア回路部;circuitry)により実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。

0030

記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などにより実現される。記憶部130には、ファームウェアやアプリケーションプログラムなどの各種プログラムの他に、ナレッジベース132と、検索ログ134とが格納される。

0031

図4は、ナレッジベース132の一例を示す図である。ナレッジベース132は、例えば、ウェブサイトやアプリケーションを媒体として提供される百科事典を基にして生成されたナレッジベースであり、図示の例では、エンティティE0を最上位のクラスとし、矢印で表されたエッジを介してエンティティE0に接続された矢印先のエンティティE1〜E6が下位クラスとして定義されている。

0032

エンティティE0には、「○○物語」という文字列がそのエンティティE0の名称を表すプロパティとして付与されており、そのエンティティE0に対して、「漫画家」というプロパティP1(エッジ)を介して、エンティティE1が接続されている。エンティティE1には、「検索太郎」という文字列がそのエンティティE1の名称を表すプロパティとして付与されている。従って、ナレッジベース132は、「○○大冒険」というエンティティE0の属性の一つである「漫画家」が、「検索太郎」であることを表現している。また、エンティティE0に対し、「掲載誌」というプロパティP2を介して「○○週刊誌」という名称のエンティティE2が接続されており、「出版日」というプロパティP3を介して「2013年」という名称のエンティティE3が接続されており、「URL」というプロパティP4を介して「https://****」という名称のエンティティE4が接続されており、「ジャンル」というプロパティP5を介して「漫画」という名称のエンティティE5が接続されており、「ジャンル」というプロパティP6を介して「映画」という名称のエンティティE6が接続されている。従って、図示のナレッジベース132は、「○○物語」について、「掲載誌」が「○○週刊誌」であり、「出版日」が「2013年」であり、「URL」が「https://****」であり、「ジャンル」が「漫画」と「映画」であることを有向グラフによって表している。なお、図4に例示するナレッジベース132は、あくまでも一例であり、適宜変更されてよい。

0033

図5は、検索ログ134の一例を示す図である。図示の例のように、検索ログ134は、クエリとして入力した文字列に対して、そのクエリの検索結果として提示された一以上のURLのうち、ユーザが実際にクリックしたURLや、そのURLのクリック回数などが対応付けられたデータである。

0034

処理フロー
以下、第1実施形態における制御部110による一連の処理の流れをフローチャートに即して説明する。図6は、第1実施形態における制御部110による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、所定の周期で繰り返し行われてよい。

0035

まず、抽出部112は、ナレッジベース132に登録された複数のエンティティの中に、クラス未定義エンティティが存在するか否かを判定する(S100)。例えば、抽出部112は、ナレッジベース132に登録されてから間もないエンティティが存在する場合、クラス未定義エンティティが存在すると判定する。

0036

抽出部112は、クラス未定義エンティティが存在すると判定すると、検索ログ134から、コンテキストタームを抽出する(S102)。例えば、抽出部112は、クラス未定義エンティティに関連したコンテンツが検索される際にクエリとして入力された文字列の中からコンテキストタームを抽出する。

0037

図7は、コンテキストタームの抽出方法を説明するための図である。図中E1は、あるURLのエンティティを表しており、E2は、E1とは異なるURLのエンティティを表している。具体的には、エンティティE1は、映画関係のウェブサイトのURLを表し、エンティティE2は、漫画関係のウェブサイトのURLを表している。また、E3は、エンティティE1およびE2に対してエッジを介して接続されたエンティティを表しており、「〇〇物語」という文字列のエンティティを表している。エンティティE3にはプロパティが付与されておらず、そのクラスが未だ決定されていない。すなわち、エンティティE3は、クラス未定義エンティティであることを表している。そのため、エンティティE3は、「〇〇物語」というタイトルの映画を表しているのか、「〇〇物語」というタイトルの漫画を表しているのか、或いはその他の概念を表しているのか確定できない状態にある。

0038

図示の例では、エンティティE1のURLは、「〇〇物語_映画」というクエリを入力した一人または複数のユーザによってa回クリックされ、「〇〇物語_漫画」というクエリを入力した一人または複数のユーザによってb回クリックされていることを表している。また、エンティティE2のURLは、「〇〇物語_映画」というクエリを入力した一人または複数のユーザによってc回クリックされ、「〇〇物語_出演」というクエリを入力した一人または複数のユーザによってd回クリックされていることを表している。

0039

このような場合、抽出部112は、クラス未定義エンティティE3のコンテキストタームとして、「漫画」というコンテキストタームC1と、「映画」というコンテキストタームC2と、「出演」というコンテキストタームC3とを検索ログ134から抽出する。

0040

同様に、抽出部112は、クラス定義済みエンティティに関連したコンテンツが検索される際にクエリとして入力された文字列の中からコンテキストタームを抽出する。

0041

図6のフローチャートの説明に戻る。次に、グラフ生成部114は、抽出部112によって抽出された一つ以上のコンテキストタームと、クラス定義済みエンティティと、クラス未定義エンティティとを用いて、二部グラフ(Bipartite graph)を生成する(S104)。

0042

二部グラフとは、互いに独立したノード(頂点)を含む第1の部分集合と、同じく互いに独立したノードを含む第2の部分集合とが存在したときに、各部分集合内のノード同士の間にはエッジ(辺)が無く、第1の部分集合のノードと第2の部分集合のノードとの間にはエッジが存在し得るグラフである。本実施形態では、第1の部分集合には、クラス定義済みエンティティおよびクラス未定義エンティティが互いに独立したノードとして含まれ、第2の部分集合には、一つ以上のコンテキストタームが互いに独立したノードとして含まれる。

0043

図8は、二部グラフの一例を示す図である。図示の例では、第1の部分集合に、「〇〇物語」という文字列のエンティティE3と、「◇◇体験記」という文字列のエンティティE4と、「△△日記」という文字列のエンティティE5とが互いに独立したノードとして含まれている。また、第2の部分集合に、「漫画」という文字列のコンテキストタームC1と、「映画」という文字列のコンテキストタームC2と、「出演」という文字列のコンテキストタームC3とが互いに独立したノードとして含まれている。

0044

上述した例では、ナレッジベース132上で「〇〇物語」のエンティティE3に接続されたエンティティE1およびE2のURLに対応付けられたクエリから、コンテキストタームC1、C2、C3が抽出されている。従って、グラフ生成部114は、第1の部分集合にノードとして含まれるエンティティE3を、第2の部分集合のノードであるコンテキストタームC1、C2、C3のそれぞれにエッジを介して接続する。

0045

エンティティE4およびE5は、エンティティE3とコンテキストタームとが共通している。すなわち、グラフ生成部114は、クラス未定義エンティティのコンテキストタームと、クラス定義済みエンティティのコンテキストタームとが共通するように、ナレッジベース132に含まれる複数のクラス定義済みエンティティの中から第1の部分集合に含めるクラス定義済みエンティティを選出する。これによって、第1の部分集合内で、クラス定義済みエンティティとクラス未定義エンティティとがエッジを介して互いに接続されなくとも、第2の部分集合のコンテキストタームを介して間接的にこれらのエンティティ同士を接続することができる。

0046

グラフ生成部114は、第1の部分集合のノードと第2の部分集合のノードとをエッジを介して接続する際に、検索ログ134を参照し、各コンテキストタームの抽出元のクエリによって検索されたURLのクリック回数に応じて、各エッジを重みづける。

0047

例えば、グラフ生成部114は、クリック回数そのものをエッジの重み係数wとしてもよいし、クリック回数に何らかの係数乗算したり、バイアス成分を加えたりした値をエッジの重み係数wとしてもよい。以下、一例として、エッジの重み係数wがクリック回数であるものとして説明する。なお、グラフ生成部114は、クリック回数に代えて、或いは加えて、インプレッション回数コンバージョン回数、コンバージョン率クリック率といった他の統計的指標値に基づいて各エッジを重み付けてもよい。

0048

上述した例では、ナレッジベース132上において、エンティティE3に接続されたエンティティE1およびE2のうち、エンティティE1のURLは、「漫画」というコンテキストタームC1を含むクエリを入力したユーザによってb回クリックされ、エンティティE2のURLは、「漫画」というコンテキストタームC1を含むクエリを入力したユーザによって一度もクリックされていない。

0049

そのため、グラフ生成部114は、二部グラフにおいて、第1の部分集合に含まれるエンティティE3と、第2の部分集合に含まれるコンテキストタームC1とを互いに接続するエッジの重み係数wを「b」に決定する。

0050

また、上述した例では、ナレッジベース132上において、エンティティE3に接続されたエンティティE1およびE2のうち、エンティティE1のURLは、「映画」というコンテキストタームC2を含むクエリを入力したユーザによってa回クリックされ、エンティティE2のURLは、「映画」というコンテキストタームC2を含むクエリを入力したユーザによってc回クリックされている。

0051

そのため、グラフ生成部114は、二部グラフにおいて、第1の部分集合に含まれるエンティティE3と、第2の部分集合に含まれるコンテキストタームC2とを互いに接続するエッジの重み係数wを「a+c」に決定する。

0052

また、上述した例では、ナレッジベース132上において、エンティティE3に接続されたエンティティE1およびE2のうち、エンティティE1のURLは、「出演」というコンテキストタームC3を含むクエリを入力したユーザによって一度もクリックされておらず、エンティティE2のURLは、「出演」というコンテキストタームC3を含むクエリを入力したユーザによってd回クリックされている。

0053

そのため、グラフ生成部114は、二部グラフにおいて、第1の部分集合に含まれるエンティティE3と、第2の部分集合に含まれるコンテキストタームC3とを互いに接続するエッジの重み係数wを「d」に決定する。

0054

グラフ生成部114は、各エッジの重み係数wを決定すると、数式(1)に基づいて、各エッジの重み係数wを正規化する。

0055

0056

例えば、第1の部分集合に含まれるi番目のノードと、第2の部分集合に含まれるj番目のノードとの間に接続されるエッジの重み係数wijは、その重み係数wijを、i番目のノードに接続される全エッジの重み係数の合計値除算することで正規化される。

0057

例えば、エンティティE3に着目した場合、エンティティE3は、コンテキストタームC1、C2、C3のそれぞれにエッジを介して接続されている。従って、グラフ生成部114は、エンティティE3とコンテキストタームC1との間のエッジの重み係数wを、「b/(a+b+c+d)」とし、エンティティE3とコンテキストタームC2との間のエッジの重み係数wを、「(a+c)/(a+b+c+d)」とし、エンティティE3とコンテキストタームC3との間のエッジの重み係数wを、「d/(a+b+c+d)」とする。

0058

このように、各エッジの重み係数wを正規化することで、第1の部分集合のノードと第2の部分集合のノードとの間を状態遷移確率によって表すことができる。

0059

図6のフローチャートの説明に戻る。次に、クラス決定部116は、ラベルスプレッディング法と呼ばれる半教師あり学習を利用して、クラス未定義エンティティのクラスを決定する(S106)。これによって本フローチャートの処理が終了する。

0060

[ラベルスプレッディング法]
図9は、ラベルスプレッディング法の一連の処理の流れを示すフローチャートである。本フローチャートの処理は、上述したS106の処理に相当する。

0061

まず、クラス決定部116は、グラフ生成部114によって生成された二部グラフの各ノードにクラスを割り当て、そのクラスを初期化する(S200)。

0062

図10は、二部グラフの初期化の様子を模式的に示す図である。図中Xは、二部グラフの各ノードを表している。また、図示の例では、説明を簡略化するために、第1の部分集合に含まれるノード数を3とし、第2の部分集合に含まれるノード数を1としている。これらの複数のノードXのうち、ノードX1およびX3は、クラス定義済みエンティティを表し、ノードX4は、クラス未定義エンティティを表すものとする。更に、クラス定義済みエンティティであるノードX1のクラスはαであり、クラス定義済みエンティティであるノードX3のクラスはβであるものとする。

0063

例えば、既存のナレッジベース132のオントロジーにおいて、α、β、γの計3種類のクラスが定められている場合、クラス決定部116は、二部グラフの各ノードに3種類のクラスをラベルとして割り当てる。そして、クラス決定部116は、クラス定義済みエンティティを除いた全ノードXのクラスを初期化する。

0064

例えば、α、β、γの各クラスを数値で表した場合、クラス値が1.0であれば、そのノードXはそのクラスに属し、クラス値が0.0であれば、そのノードXはそのクラスに属さないということを意味する。クラス定義済みエンティティであるノードX1については、クラスαであることが既に定められているため、αのクラス値を1.0とし、他のクラス値を0.0とする。同様に、クラス定義済みエンティティであるノードX3については、クラスβであることが既に定められているため、βのクラス値を1.0とし、他のクラス値を0.0とする。クラス未定義エンティティであるノードX4については、未だクラスが定められていないため、全てのクラス値を0.0とする。また、コンテキストタームであるノードX2については、ナレッジベース132に含まれるエンティティではないものの、全てのクラス値が0.0であるクラスをラベルとして付与する。

0065

図9のフローチャートの説明に戻る。次に、クラス決定部116は、数式(2)に基づいて、クラス行列Fと重み行列Wとの積を計算し、クラス行列Fを更新する(S202)。式中Ft−1は、更新前のクラス行列を表し、Ftは、更新後のクラス行列を表している。

0066

0067

数式(3)は、図10に例示する二部グラフのクラス行列Fを表している。クラス行列Fは、「第1行列」の一例である。

0068

0069

クラス行列Fは、各ノードXのクラス値を行とした行列である。第1行は、ノードX1のクラス値を[α1β1γ1]=[1.0 0.0 0.0]というベクトルで表しており、第2行は、ノードX2のクラス値を[α2β2γ2]=[0.0 0.0 0.0]というベクトルで表しており、第3行は、ノードX3のクラス値を[α3 β3 γ3]=[0.0 1.0 0.0]というベクトルで表しており、第4行は、ノードX4のクラス値を[α4 β4 γ4]=[0.0 0.0 0.0]というベクトルで表している。

0070

数式(4)は、図10に例示する二部グラフの重み行列Wを表している。重み行列Wは、「第2行列」の一例である。

0071

0072

重み行列Wは、各エッジの正規化された重み係数wijを要素とした行列である。図10に例示する二部グラフでは、ノードX1およびノードX2間と、ノードX3およびノードX2間と、ノードX4およびノードX2間とに重み係数w付きエッジが接続されている。そのため、重み行列Wは、要素w12、w21、w23、w24、w32、w42を除いて、その他の全要素が0の行列となる。

0073

このように、クラス決定部116は、クラス行列Ft−1と重み行列Wとの積を計算すると、その積である行列を、新たなクラス行列Ftとする。これによって、クラス値が初期化されたノードX2、X4だけでなく、既にクラス値が決定されているノードX1、X3についても、そのクラス値が更新される。

0074

次に、クラス決定部116は、更新後のクラス行列Ftと更新前のクラス行列Ft−1とを比較し、更新後のクラス行列Ftが収束したか否かを判定する(S204)。ラベルスプレッディング法では、対象とするグラフが二部グラフであれば、ラベル(本実施形態ではクラス)の伝搬の繰り返すことで、ある一つの値に収束することが知られている。従って、クラス決定部116は、更新後のクラス行列Ftが収束していなければ、S202に処理を戻し、クラス行列Ftが収束するまで、クラス行列Ftを更新することを繰り返す。

0075

一方、クラス決定部116は、更新後のクラス行列Ftが収束した場合、そのクラス行列Ftの要素であるクラス値に基づいて、クラス定義済みエンティティのクラスを再決定するとともに、未定義エンティティのクラスを決定する(S206)。

0076

図11は、クラス行列Fが収束したときの二部グラフを模式的に示す図である。図示の例では、クラス定義済みエンティティを表すノードX1のクラス値は、αが0.8であり、βが0.2であり、γが0.0である。また、クラス定義済みエンティティを表すノードX3のクラス値は、αが0.3であり、βが0.7であり、γが0.0である。

0077

ラベルスプレッディング法の適用前では、ノードX1としたクラス定義済みエンティティは、αが唯一のクラスであり、ノードX3としたクラス定義済みエンティティは、βが唯一のクラスであった。

0078

一方、ラベルスプレッディング法の適用後では、ノードX1としたクラス定義済みエンティティのクラスは、αであることの尤度が最も大きく、βであることの尤度が次点で大きい。また、ノードX3としたクラス定義済みエンティティのクラスは、βであることの尤度が最も大きく、αであることの尤度が次点で大きい。従って、クラス決定部116は、ノードX1としたクラス定義済みエンティティのクラスがαおよびβであり、ノードX3としたクラス定義済みエンティティのクラスがαおよびβであると再決定する。

0079

また、ラベルスプレッディング法の適用前では、ノードX4としたクラス未定義エンティティは、いずれかのクラスであるのか決まっていなかった。

0080

一方、ラベルスプレッディング法の適用後では、ノードX4としたクラス未定義エンティティのクラスは、αであることの尤度が最も大きく、βおよびγであることの尤度が次点で大きい。従って、クラス決定部116は、ノードX4としたクラス定義済みエンティティのクラスがα、β、およびγであると決定する。

0081

また、クラス決定部116は、ラベルスプレッディング法を適用して収束したクラス値に基づいてクラスを決定する際に、そのクラス値に閾値を設定し、クラス値が閾値以上となったクラスのみを各エンティティのクラスとしてもよい。

0082

なお、第2の部分集合のノードX2であるコンテキストタームにもクラスをラベルとして割り振っているため、コンテキストタームのクラスも付随的に決定される。図示の例では、ノードX2としたコンテキストタームのクラスは、β、α、γの順に尤度が大きい。従って、クラス決定部116は、ノードX2としたコンテキストタームのクラスがα、β、およびγであると決定する。

0083

以上説明した第1実施形態によれば、情報処理装置100は、クラス定義済みエンティティに関連したコンテンツの検索ログから一つ以上のコンテキストタームを抽出するとともに、クラス未定義エンティティに関連したコンテンツの検索ログから一つ以上のコンテキストタームを抽出する。情報処理装置100は、クラス未定義エンティティと共通するコンテキストタームを抽出したクラス定義済みエンティティと、クラス未定義エンティティとを第1の部分集合とし、それらエンティティで共通するコンテキストタームを第2の部分集合とした二部グラフを生成する。そして、情報処理装置100は、二部グラフにラベルスプレッディング法を適用することで、少なくともクラス未定義エンティティのクラスを決定する。

0084

これによって、例えば、現実世界で新しい言葉流行したり、新作のコンテンツが公開されたりした場合であっても、既にクラスが決定されているナレッジベース132上のエンティティと、そのエンティティに関連付けられたコンテンツにアクセスするためにユーザが入力したクエリとに基づいて、流行語のエンティティや新作コンテンツのエンティティのクラスを速やかに決定することができる。この結果、ナレッジベースの情報量が充実するため、ナレッジベースをより有効活用することができる。

0085

<第1実施形態の変形例>
以下、第1実施形態の変形例について説明する。上述した第1実施形態では、二部グラフにラベルスプレッディング法を適用して、クラス未定義エンティティのクラスを決定し、更には、クラス定義済みエンティティのクラスも再決定するものとして説明したがこれに限られない。例えば、クラス決定部116は、二部グラフにラベルスプレッディング法を適用する代わりに、ラベルプロパゲーティング法を適用してクラス未定義エンティティのクラスを決定してもよい。ラベルプロパゲーティング法とは、ラベルスプレッディング法とは異なり、クラス行列Fにおいて、クラス定義済みエンティティのクラス値は初期値から変更しない手法である。このような手法を利用することでも、クラス未定義エンティティのクラスを決定することができる。

0086

<第2実施形態>
以下、第2実施形態について説明する。第2実施形態では、クラス未定義エンティティのクラスを新たに決定する際に、二部グラフの第2の部分集合に含めるコンテキストタームのクラスを初期化しない点で上述した第1実施形態と相違する。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。

0087

図12は、二部グラフの初期化の様子を模式的に示す図である。図に例示する二部グラフでは、クラス未定義エンティティを表すノードX4のクラスがα、β、およびγに決定された後に、新たなクラス未定義エンティティを表すノードX5が第1の部分集合に追加されている。図示の例では、ノードX5のコンテキストタームは、ノードX1、X3、X4のコンテキストタームと同じであり、ノードX2に対して、ノードX1、X3、X4、X5が重み付きエッジを介して接続されている。

0088

このような場合、クラス決定部116は、ノードX5にクラスを割り当て、そのクラス値を例えば0.0といった数値で初期化する。この際、クラス決定部116は、第1の部分集合に含まれるノードX1、X3、X4だけでなく、第2の部分集合に含まれるノードX2についても初期化せず、前回の処理結果であるクラス値を保持する。例えば、前回の処理でコンテキストタームを表すノードX2のクラス値が(α,β,γ)=(0.2,0.7,0.1)に決定されていた場合、クラス決定部116は、新たなクラス未定義エンティティを表すノードX5のクラス値を決定する際に、ノードX2のクラス値として(0.2,0.7,0.1)を利用する。このように、コンテキストタームのクラス値を次回以降も引き続き利用することで、クラス行列Fが収束までの処理回数を少なくすることができる。

0089

以上説明した第2実施形態によれば、情報処理装置100は、クラス未定義エンティティのクラスを新たに決定する際に、二部グラフの第2の部分集合に含めるコンテキストタームのクラスを初期化せず、前回のクラスを引き続き利用することで、クラス行列Fが収束までの処理回数を少なくすることができる。

0090

<ハードウェア構成>
上述した実施形態の情報処理装置100は、例えば、図13に示すようなハードウェア構成により実現される。図13は、実施形態の情報処理装置100のハードウェア構成の一例を示す図である。

0091

情報処理装置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を介して他の装置からダウンロードされてもよい。

0092

以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。

0093

1…情報処理システム、10…端末装置、20…サービス提供装置、100…情報処理装置、102…通信部、110…制御部、112…抽出部、114…グラフ生成部、116…クラス決定部、130…記憶部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ