(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06F 16/335 20190101AFI20240312BHJP
G06F 16/36 20190101ALI20240312BHJP
【FI】
G06F16/335
G06F16/36
(21)【出願番号】P 2021171713
(22)【出願日】2021-10-20
【審査請求日】2023-01-13
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】熊谷 賢
(72)【発明者】
【氏名】小松 広弥
(72)【発明者】
【氏名】齋藤 純
(72)【発明者】
【氏名】菅原 晃平
(72)【発明者】
【氏名】豊田 樹生
(72)【発明者】
【氏名】築地 毅
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2019-074843(JP,A)
【文献】国際公開第2020/003928(WO,A1)
【文献】特開2016-105263(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
クエリの入力を受け付ける受付部と、
前記クエリの単語系列の候補エンティティによりラティス構造を構築し、最尤なエンティティ系列を求める算出部と、
前記最尤なエンティティ系列に応じた検索結果を提供する提供部と、
を備え、
前記算出部は、単語系列に対して候補エンティティを確率と共に列挙し、候補エンティティ同士の関連性を仮想文書の内積で算出し、前記確率と前記内積との対数和を取り、仮想ノードをラティス前後に設置し、仮想ノード間でスコアが最大となる経路を求め、最尤のエンティティ系列を得る
ことを特徴とする情報処理装置。
【請求項2】
前記算出部は、エンティティが紐づかない単語を、単語そのものからなる仮想文書と推定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記算出部は、CRFでの日本語形態素解析をクエリの単語系列に適用する
ことを特徴とする請求項
1又は2に記載の情報処理装置。
【請求項4】
前記算出部は、知識ベースに単語系列が紐づくエンティティが存在する場合、エンティティに紐づく全クリックログから構成される仮想文書のトピックベクトルを計算して文脈一貫性を評価する
ことを特徴とする請求項1~3のうちいずれか1つに記載の情報処理装置。
【請求項5】
前記算出部は、
知識ベースに単語系列が紐づくエンティティが存在しない場合、単一単語からなる仮想文書のトピックベクトルを計算し
て文脈一貫性を評価する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
【請求項6】
前記算出部は、任意長の単語系列からエンティティを特定する
ものであって、空白分割された単語だけでなく、単語列を特定可能であり、「A B C」というクエリに対し、「A B C」を空白で区切り、「A」と「B」と「C」との3つに分かれる第1パターン、「A B」と「C」との2つと1つに分かれる第2パターン、「A」と「B C」との1つと2つに分かれる第3パターン、「A B C」の1つに固まった第4パターン、の4パターンそれぞれについて計算して最もスコアが高いものを返す
ことを特徴とする請求項1~5のうちいずれか1つに記載の情報処理装置。
【請求項7】
前記算出部は、
エンティティを、クリックされた単語から生成したLDAのドキュメントとしてモデル化する際、隣り合う単語同士の関連性を考慮し、クエリを文としてモデル化する
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
【請求項8】
情報処理装置が実行する情報処理方法であって、
クエリの入力を受け付ける受付工程と、
前記クエリの単語系列の候補エンティティによりラティス構造を構築し、最尤なエンティティ系列を求める算出工程と、
前記最尤なエンティティ系列に応じた検索結果を提供する提供工程と、
を含み、
前記算出工程では、単語系列に対して候補エンティティを確率と共に列挙し、候補エンティティ同士の関連性を仮想文書の内積で算出し、前記確率と前記内積との対数和を取り、仮想ノードをラティス前後に設置し、仮想ノード間でスコアが最大となる経路を求め、最尤のエンティティ系列を得る
ことを特徴とする情報処理方法。
【請求項9】
クエリの入力を受け付ける受付手順と、
前記クエリの単語系列の候補エンティティによりラティス構造を構築し、最尤なエンティティ系列を求める算出手順と、
前記最尤なエンティティ系列に応じた検索結果を提供する提供手順と、
をコンピュータに実行させるための情報処理プログラムであって、
前記算出手順では、単語系列に対して候補エンティティを確率と共に列挙し、候補エンティティ同士の関連性を仮想文書の内積で算出し、前記確率と前記内積との対数和を取り、仮想ノードをラティス前後に設置し、仮想ノード間でスコアが最大となる経路を求め、最尤のエンティティ系列を得る
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、クエリ(query)に対して関連するエンティティ(entity)を返す際、エンティティリンキングが用いられる。エンティティリンキングとは、テキストを入力として関連するエンティティを返却する手法の総称である。例えば、「ソフトバンク(登録商標)」という単語に対して、「企業」が紐づく可能性もあれば、「球団」が紐づく可能性もある。このように、同一(類似)表記で異なるエンティティが存在するため、クリックログの頻度情報や文脈情報を判定結果に反映することは重要である。
【0003】
非特許文献1は、クリックログに基づいた確率モデルを導入することでクエリに対し、確率が高いエンティティを返す技術を開示している。非特許文献2は、Wikipedia(登録商標)の第一文に含まれる単語をホワイトリストとして採用し、周辺語として用いることで、主要語・周辺語としてエンティティを特定する手法を提案している。
【先行技術文献】
【非特許文献】
【0004】
【文献】Fast and Space-Efficient Entity Linking in Queries <URL:http://groups.di.unipi.it/~ottavian/files/wsdm15_fel.pdf>
【文献】ウェブ検索クエリに対する周辺語を考慮した教師なしエンティティリンキング <URL:https://www.anlp.jp/proceedings/annual_meeting/2019/pdf_dir/F1-1.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術では、ホワイトリスト外の単語が周辺語にきた場合に判定できない。例えば「ソフトバンク(登録商標) 試合」というクエリで検索した場合、「福岡ソフトバンクホークス(登録商標)」(球団)に関する検索結果が返ってくることが期待されるが、もしホワイトリストに「試合」という単語が含まれていない場合、このような判定が難しい。また、クエリに複数エンティティが紐づく場合や、2単語以上で1つのエンティティに紐づく場合(例えば、「new game 最新刊」というクエリで「new game(書籍)」のエンティティに紐づく場合)、クエリの単語数が多くなると頑健な判定が困難になる。
【0006】
本願は、上記に鑑みてなされたものであって、文脈一貫性を用いた頑健なエンティティリンキングを実現することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る情報処理装置は、クエリの入力を受け付ける受付部と、前記クエリの単語系列の候補エンティティによりラティス構造を構築し、最尤なエンティティ系列を求める算出部と、前記最尤なエンティティ系列に応じた検索結果を提供する提供部と、を備え、前記算出部は、単語系列に対して候補エンティティを確率と共に列挙し、候補エンティティ同士の関連性を仮想文書の内積で算出し、前記確率と前記内積との対数和を取り、仮想ノードをラティス前後に設置し、仮想ノード間でスコアが最大となる経路を求め、最尤のエンティティ系列を得ることを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、文脈一貫性を用いた頑健なエンティティリンキングを実現することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理方法の概要を示す説明図である。
【
図2】
図2は、評価実験のための評価データの例を示す図である。
【
図3】
図3は、実施形態に係る情報処理システムの構成例を示す図である。
【
図4】
図4は、実施形態に係る端末装置の構成例を示す図である。
【
図5】
図5は、実施形態に係る情報提供装置の構成例を示す図である。
【
図6】
図6は、利用者情報データベースの一例を示す図である。
【
図7】
図7は、履歴情報データベースの一例を示す図である。
【
図8】
図8は、関連性情報データベースの一例を示す図である。
【
図9】
図9は、実施形態に係る処理手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.情報処理方法の概要〕
まず、
図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。
図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、
図1では、文脈一貫性を用いた頑健なエンティティリンキングを実施する場合を例に挙げて説明する。
【0012】
図1に示すように、情報処理システム1は、端末装置10と情報提供装置100とを含む。端末装置10と情報提供装置100とは、ネットワークN(
図3参照)を介して有線又は無線で互いに通信可能に接続される。本実施形態では、端末装置10は、情報提供装置100と連携する。
【0013】
端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0014】
情報提供装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供する情報処理装置であり、サーバ装置やクラウドシステム等により実現される。
【0015】
また、情報提供装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、情報提供装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引(EC:Electronic Commerce)、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、情報提供装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。
【0016】
なお、情報提供装置100は、利用者Uに関する利用者情報を取得可能である。例えば、情報提供装置100は、利用者Uの性別、年代、居住地域といった利用者Uの属性に関する情報を取得する。そして、情報提供装置100は、利用者Uを示す識別情報(利用者ID等)とともに利用者Uの属性に関する情報を記憶して管理する。
【0017】
また、情報提供装置100は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、情報提供装置100は、利用者Uの位置や日時の履歴である位置履歴を端末装置10から取得する。また、情報提供装置100は、利用者Uが入力した検索クエリの履歴である検索履歴を検索サーバ(検索エンジン)から取得する。また、情報提供装置100は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴をコンテンツサーバから取得する。また、情報提供装置100は、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)を電子商取引サーバや決済処理サーバから取得する。また、情報提供装置100は、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴を電子商取引サーバや決済サーバから取得してもよい。また、情報提供装置100は、利用者Uの投稿の履歴である投稿履歴を口コミの投稿サービスを提供する投稿サーバやSNSサーバから取得する。
【0018】
〔1-1.目的関数〕
本実施形態では、情報提供装置100は、形態素解析の枠組みをエンティティリンキングへ拡張する。例えば、情報提供装置100は、単語系列Xに対してスコア最大のエンティティ系列Yを求める。下記の数式(1)は、単語系列Xが与えられたときに確率が最大となるエンティティ系列Yを求める式である。下記の数式(1)のうち(yt,yt-1)は、現在のエンティティは、その1つ前のエンティティにのみ影響を受けることを表している。Kは、観測素性に対して遷移素性をどれだけ強く反映させるかといった倍率を表している。
【0019】
【0020】
(観測素性)
情報提供装置100は、例えば非特許文献1に記載の手法であるFEL(Fast Entity Linking)の対数確率和最大化モデルを用いる。例えば、情報提供装置100は、下記の数式(2)のように、P(e|s)を用いて単語系列sに対するエンティティeの生起確率を求める。
【0021】
【0022】
(遷移素性)
情報提供装置100は、エンティティを、クリックされた単語から生成したLDA(Latent Dirichlet Allocation:潜在的ディリクレ配分法)のドキュメントとしてモデル化する。例えば、情報提供装置100は、非特許文献2に記載されているように、ドキュメントをクリックされた単語で構成される仮想的なドキュメントとして捉え、LDAでベクトル化する手法を用いてモデル化する。これにより、各エンティティには、それぞれ数百(例:500)次元からなるベクトルが付与される。なお、LDAは自然言語処理の一例である。実際には、word2vec等であってもよい。また、情報提供装置100は、エンティティ同士の関連性をエンティティ同士の内積で計算する。そして、情報提供装置100は、単語系列のエンティティ候補によりラティス構造を構築し、最尤なエンティティ系列を求める。例えば、情報提供装置100は、上記のように、ビタビアルゴリズム(Viterbi algorithm)によるスコア最大の経路推定を行う(数1参照)。
【0023】
〔1-2.アルゴリズム〕
図1に示すように、情報提供装置100は、ネットワークN(
図3参照)を介して、各利用者Uの端末装置10から、クエリの入力を受け付け、クエリに基づいて検索する(ステップS1)。
【0024】
続いて、情報提供装置100は、クエリの単語系列に対して候補エンティティを確率と共に列挙する(ステップS2)。
【0025】
続いて、情報提供装置100は、候補エンティティ同士の関連性を仮想文書の内積で算出する(ステップS3)。
【0026】
続いて、情報提供装置100は、経路のスコアは確率と内積の累積で表現されるので、確率と内積の対数和を取る(ステップS4)。
【0027】
続いて、情報提供装置100は、仮想ノードをラティス前後に設置し、仮想ノード間でスコアが最大となる経路を求め、最尤のエンティティ系列を得る(ステップS5)。
【0028】
続いて、情報提供装置100は、ネットワークN(
図3参照)を介して、各利用者Uの端末装置10に、最尤のエンティティ系列に応じた検索結果を返す(ステップS6)。
【0029】
具体的には、情報提供装置100は、単語系列に対して候補エンティティを確率と共に列挙する(
図1のノードに相当)。このとき、情報提供装置100は、P(e|s)で確率を算出する。また、情報提供装置100は、候補エンティティ同士の関連性を仮想文書の内積で算出する(
図1のエッジに相当)。また、情報提供装置100は、経路のスコアは確率(<=1)と内積(<=1)の累積で表現されるので対数和を取る。また、情報提供装置100は、仮想ノード「start」、「end」をラティス前後に設置し、「start」から「end」の間でスコアが最大となる経路を求める。
【0030】
このとき、情報提供装置100は、CRF(Conditional random field:条件付き確率場)での日本語形態素解析をクエリの単語系列に適用する(最尤のエンティティ系列を得る)。また、情報提供装置100は、エンティティが紐づかない単語は、単語そのものからなる仮想文書と推定する。そして、情報提供装置100は、エンティティと単語系列(non-entity)に対して統一的な扱い方で全体の一貫性を評価する。なお、情報提供装置100は、ハイパーパラメータβ(確率と内積の比率)を用いて、「正規化項=ノード数*1+エッジ数*β」として計算する。
【0031】
図1の例において、「キングダム 鈴木健」というクエリに対し、候補エンティティ同士の関連性を考慮しなければ、個々の単語ごとに判断され、「キングダム」という単語に対してスコアが最も高い「キングダム(漫画)」のエンティティが選択され、「鈴木健」という単語に対してスコアが最も高い「鈴木健(内野手)」のエンティティが選択され、「キングダム(漫画) 鈴木健(内野手)」の経路が返される。本実施形態では、候補エンティティ同士の関連性を考慮することで、「キングダム 鈴木健」というクエリに対し、「キングダム(プロレス) 鈴木健(プロレス記者)」の経路が返されるようにする。
【0032】
また、情報提供装置100は、単語系列のベクトル表現を計算し一貫性を評価する。例えば、情報提供装置100は、KB(Knowledge Base:知識ベース)に単語系列が紐づくエンティティが存在する場合、エンティティに紐づく全クリックログから構成される仮想文書のトピックベクトルを計算し一貫性を評価する。また、情報提供装置100は、KBに単語系列が紐づくエンティティが存在しない場合、単一単語からなる仮想文書のトピックベクトルを計算し一貫性を評価する。KBにエンティティが充実していくにつれて精度が上がる(存在しなくても、ある程度計算可能である)。また、情報提供装置100は、任意長の単語系列からエンティティを特定する。また、情報提供装置100は、空白分割された単語だけでなく、単語列を特定可能である。
【0033】
例えば、情報提供装置100は、「new game 最新刊」というクエリに対し、「new game」という書籍の生起確率と、「最新刊」という単語ベクトルとの内積を求め、生起確率と内積との対数の合計値が最高スコアとなる場合、「new game 最新刊」というクエリに対し、「new game(書籍) 最新刊(単語)」が最尤のエンティティ系列となる。このとき、内部的には、情報提供装置100は、「new game 最新刊」を空白で区切り、「new」と「game」と「最新刊」との3つに分かれるパターン(第1パターン)、「new game」と「最新刊」との2つと1つに分かれるパターン(第2パターン)、「new」と「game 最新刊」との1つと2つに分かれるパターン(第3パターン)、「new game 最新刊」の1つに固まったパターン(第4パターン)の4パターンそれぞれについて計算して最もスコアが高いものを返す。
【0034】
また、情報提供装置100は、クエリを文としてモデル化してもよい。このとき、情報提供装置100は、隣り合う単語同士の関連性を考慮する。例えば、情報提供装置100は、ユーザはランダムで単語を入力せず関連しそうなものを順に入れていく。また、情報提供装置100は、単語数が増えてもビタビアルゴリズムによりO(n)で計算可能である。例えば、ドキュメントとしてモデル化した場合、全組み合わせで計算量O(n^2)となる。
【0035】
〔1-3.評価実験〕
(評価データ)
図2は、評価実験のための評価データの例を示す図である。
図2に示すように、情報提供装置100は、球団親会社(12件)と野球コンテキスト語(20件)を空白連結して評価用クエリを定義する(計240件)。例えば、情報提供装置100は、球団親会社「オリックス」と野球コンテキスト「試合」を空白連結して評価用クエリ「オリックス 試合」を定義する。文脈を考慮しなければ球団ではなく、企業や地域(都道府県)等に判定されることもあり得る。評価実験の結果、これらの評価用クエリ(計240件)のうち、約13.8%改善した。
【0036】
クエリを文と見なして形態素解析や固有表現抽出する手法は存在するが、既存の手法は単語の品詞や固有表現を得るのみであり、エンティティリンキングをする手法は存在しない。また、形態素解析やFEL等の要素技術は既知だが、本実施形態のような組み合わせ方は従来存在せず新規である。
【0037】
(特徴量の設計)
本実施形態では、情報提供装置100は、観測素性(例:FEL)と遷移素性(例:トピックベクトル内積)とを特徴量として設計する。特徴量は有効なものの一例であり、追加することは可能である。また、本実施形態では、情報提供装置100は、単語系列のベクトル表現や、任意長の単語系列に紐づくエンティティの検出等を行う。
【0038】
〔2.情報処理システムの構成例〕
次に、
図3を用いて、実施形態に係る情報提供装置100が含まれる情報処理システム1の構成について説明する。
図3は、実施形態に係る情報処理システム1の構成例を示す図である。
図3に示すように、実施形態に係る情報処理システム1は、端末装置10と情報提供装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
【0039】
また、
図3に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、
図3では、図示の簡略化のため、端末装置10を1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。
【0040】
端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。
【0041】
また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、情報提供装置100と通信することができる。
【0042】
情報提供装置100は、例えばPCやサーバ装置、あるいはメインフレーム又はワークステーション等である。なお、情報提供装置100は、クラウドコンピューティングにより実現されてもよい。
【0043】
〔3.端末装置の構成例〕
次に、
図4を用いて、端末装置10の構成について説明する。
図4は、端末装置10の構成例を示す図である。
図4に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
【0044】
(通信部11)
通信部11は、ネットワークN(
図3参照)と有線又は無線で接続され、ネットワークNを介して、情報提供装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
【0045】
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
【0046】
(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
【0047】
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
【0048】
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
【0049】
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
【0050】
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
【0051】
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
【0052】
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
【0053】
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
【0054】
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。
図4に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
【0055】
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
【0056】
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
【0057】
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
【0058】
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。
【0059】
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
【0060】
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
【0061】
(制御部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とを備える。
【0062】
(送信部31)
送信部31は、例えば入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を、通信部11を介して情報提供装置100へ送信することができる。
【0063】
(受信部32)
受信部32は、通信部11を介して、情報提供装置100から提供される各種情報や、情報提供装置100からの各種情報の要求を受信することができる。
【0064】
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信された情報提供装置100からの各種情報を表示部12へ出力して表示させることができる。
【0065】
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
【0066】
〔4.情報提供装置の構成例〕
次に、
図5を用いて、実施形態に係る情報提供装置100の構成について説明する。
図5は、実施形態に係る情報提供装置100の構成例を示す図である。
図5に示すように、情報提供装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0067】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークN(
図3参照)と有線又は無線で接続される。
【0068】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD、SSD、光ディスク等の記憶装置によって実現される。
図5に示すように、記憶部120は、利用者情報データベース121と、履歴情報データベース122と、関連性情報データベース123とを有する。
【0069】
(利用者情報データベース121)
利用者情報データベース121は、利用者Uに関する利用者情報を記憶する。例えば、利用者情報データベース121は、利用者Uの属性等の種々の情報を記憶する。
図6は、利用者情報データベース121の一例を示す図である。
図6に示した例では、利用者情報データベース121は、「利用者ID(Identifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目を有する。
【0070】
「利用者ID」は、利用者Uを識別するための識別情報を示す。なお、「利用者ID」は、利用者Uの連絡先(電話番号、メールアドレス等)であってもよいし、利用者Uの端末装置10を識別するための識別情報であってもよい。
【0071】
また、「年齢」は、利用者IDにより識別される利用者Uの年齢を示す。なお、「年齢」は、利用者Uの具体的な年齢(例えば35歳など)を示す情報であってもよいし、利用者Uの年代(例えば30代など)を示す情報であってもよい。あるいは、「年齢」は、利用者Uの生年月日を示す情報であってもよいし、利用者Uの世代(例えば80年代生まれなど)を示す情報であってもよい。また、「性別」は、利用者IDにより識別される利用者Uの性別を示す。
【0072】
また、「自宅」は、利用者IDにより識別される利用者Uの自宅の位置情報を示す。なお、
図6に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
【0073】
また、「勤務地」は、利用者IDにより識別される利用者Uの勤務地(学生の場合は学校)の位置情報を示す。なお、
図6に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
【0074】
また、「興味」は、利用者IDにより識別される利用者Uの興味を示す。すなわち、「興味」は、利用者IDにより識別される利用者Uが関心の高い対象を示す。例えば、「興味」は、利用者Uが検索エンジンに入力して検索した検索クエリ(キーワード)等であってもよい。なお、
図6に示す例では、「興味」は、各利用者Uに1つずつ図示するが、複数であってもよい。
【0075】
例えば、
図6に示す例において、利用者ID「U1」により識別される利用者Uの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、自宅が「LC11」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、勤務地が「LC12」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、「スポーツ」に興味があることを示す。
【0076】
ここで、
図6に示す例では、「U1」、「LC11」及び「LC12」といった抽象的な値を用いて図示するが、「U1」、「LC11」及び「LC12」には、具体的な文字列や数値等の情報が記憶されるものとする。以下、他の情報に関する図においても、抽象的な値を図示する場合がある。
【0077】
なお、利用者情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、利用者情報データベース121は、利用者Uの端末装置10に関する各種情報を記憶してもよい。また、利用者情報データベース121は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、利用者情報データベース121は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。
【0078】
(履歴情報データベース122)
履歴情報データベース122は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。
図7は、履歴情報データベース122の一例を示す図である。
図7に示した例では、履歴情報データベース122は、「利用者ID」、「位置履歴」、「検索履歴」、「閲覧履歴」、「購買履歴」、「投稿履歴」といった項目を有する。
【0079】
「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「位置履歴」は、利用者Uの位置や移動の履歴である位置履歴を示す。また、「検索履歴」は、利用者Uが入力した検索クエリの履歴である検索履歴を示す。また、「閲覧履歴」は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴を示す。また、「購買履歴」は、利用者Uによる購買の履歴である購買履歴を示す。また、「投稿履歴」は、利用者Uによる投稿の履歴である投稿履歴を示す。なお、「投稿履歴」は、利用者Uの所有物に関する質問を含んでいてもよい。
【0080】
例えば、
図7に示す例において、利用者ID「U1」により識別される利用者Uは、「位置履歴#1」の通りに移動し、「検索履歴#1」の通りに検索し、「閲覧履歴#1」の通りにコンテンツを閲覧し、「購買履歴#1」の通りに所定の店舗等で所定の商品等を購入し、「投稿履歴」の通りに投稿したことを示す。
【0081】
ここで、
図7に示す例では、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購買履歴#1」及び「投稿履歴#1」といった抽象的な値を用いて図示するが、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購買履歴#1」及び「投稿履歴#1」には、具体的な文字列や数値等の情報が記憶されるものとする。
【0082】
なお、履歴情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース122は、利用者Uの所定のサービスの利用履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。
【0083】
(関連性情報データベース123)
関連性情報データベース123は、エンティティ同士の関連性に関する各種情報を記憶する。
図8は、関連性情報データベース123の一例を示す図である。
図8に示した例では、関連性情報データベース123は、「単語」、「候補」、「確率」といった項目を有する。
【0084】
「単語」は、クエリに含まれる単語を示す。「候補」は、当該単語と隣り合う単語の候補を示す。「確率」は、当該単語と候補との単語系列に対するエンティティの生起確率を示す。情報提供装置100は、この確率と、エンティティ同士の内積とに基づいて、エンティティ系列のスコアを算出する。
【0085】
例えば、
図8に示す例において、単語「A」と隣り合う単語の候補「A1」との単語系列に対するエンティティの生起確率「確率#A1」等が列挙されることを示す。
【0086】
ここで、
図8に示す例では、「A」、「A1」及び「確率#A1」といった抽象的な値を用いて図示するが、「A」、「A1」及び「確率#A1」には、具体的な文字列や数値等の情報が記憶されるものとする。
【0087】
なお、関連性情報データベース123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、関連性情報データベース123は、単語系列のエンティティ候補によるラティス構造に関する情報を記憶してもよい。また、関連性情報データベース123は、クエリを文としてモデル化したモデルに関する情報を記憶してもよい。また、関連性情報データベース123は、算出された内積やスコア等を記憶してもよい。
【0088】
(制御部130)
図5に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、情報提供装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。
図5に示す例では、制御部130は、取得部131と、算出部132と、提供部133とを有する。
【0089】
(取得部131)
取得部131は、利用者Uにより入力された検索クエリを取得する。例えば、取得部131は、利用者Uが検索エンジン等に検索クエリを入力してキーワード検索を行った際に、通信部110を介して、当該検索クエリを取得する。すなわち、取得部131は、通信部110を介して、利用者Uにより検索エンジンやサイト又はアプリの検索窓に入力されたキーワードを取得する。すなわち、取得部131は、クエリの入力を受け付ける受付部として機能する。
【0090】
また、取得部131は、通信部110を介して、利用者Uに関する利用者情報を取得する。例えば、取得部131は、利用者Uの端末装置10から、利用者Uを示す識別情報(利用者ID等)や、利用者Uの位置情報、利用者Uの属性情報等を取得する。また、取得部131は、利用者Uのユーザ登録時に、利用者Uを示す識別情報や、利用者Uの属性情報等を取得してもよい。そして、取得部131は、利用者情報を、記憶部120の利用者情報データベース121に登録する。
【0091】
また、取得部131は、通信部110を介して、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、取得部131は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報を取得する。そして、取得部131は、各種の履歴情報を、記憶部120の履歴情報データベース122に登録する。
【0092】
(算出部132)
算出部132は、クエリの単語系列の候補エンティティによりラティス構造を構築し、最尤なエンティティ系列を求める。例えば、算出部132は、単語系列に対して候補エンティティを確率と共に列挙し、候補エンティティ同士の関連性を仮想文書の内積で算出し、確率と内積との対数和を取り、仮想ノードをラティス前後に設置し、仮想ノード間でスコアが最大となる経路を求め、最尤のエンティティ系列を得る。
【0093】
このとき、算出部132は、CRFでの日本語形態素解析をクエリの単語系列に適用する。また、算出部132は、エンティティが紐づかない単語を、単語そのものからなる仮想文書と推定する。また、算出部132は、エンティティと単語系列に対して統一的な扱い方で全体の一貫性を評価する。
【0094】
また、算出部132は、単語系列のベクトル表現を計算し一貫性を評価する。また、算出部132は、任意長の単語系列からエンティティを特定する。また、算出部132は、隣り合う単語同士の関連性を考慮し、クエリを文としてモデル化する。
【0095】
そして、算出部132は、単語系列に対する候補エンティティに、算出された確率を紐づけて、記憶部120の関連性情報データベース123に登録する。また、算出部132は、算出された確率や内積、スコア等を処理のためにメモリやキャッシュ等に一時的に記憶する。
【0096】
(提供部133)
提供部133は、通信部110を介して、検索クエリを入力した利用者Uの端末装置10に、最尤なエンティティ系列に応じた検索結果を提供する。
【0097】
〔5.処理手順〕
次に、
図9を用いて実施形態に係る情報提供装置100による処理手順について説明する。
図9は、実施形態に係る処理手順を示すフローチャートである。なお、以下に示す処理手順は、情報提供装置100の制御部130によって繰り返し実行される。
【0098】
図9に示すように、情報提供装置100の取得部131は、通信部110を介して、利用者Uの端末装置10から、入力された検索クエリを取得する(ステップS101)。すなわち、取得部131は、受付部として、利用者Uにより入力された検索クエリを受け付ける。
【0099】
続いて、情報提供装置100の算出部132は、クエリの単語系列に対して候補エンティティを確率と共に列挙し、クエリの単語系列の候補エンティティによりラティス構造を構築する(ステップS102)。
【0100】
続いて、情報提供装置100の算出部132は、候補エンティティ同士の関連性を仮想文書の内積で算出する(ステップS103)。
【0101】
続いて、情報提供装置100の算出部132は、確率(<=1)と内積(<=1)との対数和を取り、確率と内積の累積で表現される経路のスコアを求める(ステップS104)。
【0102】
続いて、情報提供装置100の算出部132は、仮想ノードをラティス前後に設置する(ステップS105)。例えば、算出部132は、仮想ノード「start」、「end」をラティス前後に設置する。
【0103】
続いて、情報提供装置100の算出部132は、仮想ノード間でスコアが最大となる経路を求め、最尤のエンティティ系列を得る(ステップS106)。例えば、算出部132は、仮想ノード「start」から「end」の間でスコアが最大となる経路を求める。
【0104】
このとき、算出部132は、CRFでの日本語形態素解析をクエリの単語系列に適用する。また、算出部132は、エンティティが紐づかない単語を、単語そのものからなる仮想文書と推定する。また、算出部132は、エンティティと単語系列に対して統一的な扱い方で全体の一貫性を評価する。
【0105】
これにより、算出部132は、単語系列のベクトル表現を計算し一貫性を評価する。また、算出部132は、任意長の単語系列からエンティティを特定する。また、算出部132は、隣り合う単語同士の関連性を考慮し、クエリを文としてモデル化する。
【0106】
続いて、情報提供装置100の提供部133は、通信部110を介して、検索クエリを入力した利用者Uの端末装置10に、最尤なエンティティ系列に応じた検索結果を提供する(ステップS10)。
【0107】
〔6.変形例〕
上述した端末装置10及び情報提供装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0108】
上記の実施形態において、情報提供装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態における情報提供装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10は情報提供装置100と連携しているため、利用者Uから見れば、情報提供装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、情報提供装置100を備えているともいえる。
【0109】
また、上記の実施形態において、情報提供装置100は、最尤なエンティティ系列を求める際に、クエリを入力した利用者Uの属性情報や履歴情報等を考慮するようにしてもよい。例えば、情報提供装置100は、クエリを入力した利用者Uの属性情報や履歴情報等に応じて、単語系列に対するエンティティの生起確率や、経路のスコア等に重み付けを行ってもよい。
【0110】
〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10及び情報提供装置100)は、クエリの入力を受け付ける受付部(取得部131)と、クエリの単語系列の候補エンティティによりラティス構造を構築し、最尤なエンティティ系列を求める算出部132と、最尤なエンティティ系列に応じた検索結果を提供する提供部133と、を備えることを特徴とする。
【0111】
算出部132は、単語系列に対して候補エンティティを確率と共に列挙し、候補エンティティ同士の関連性を仮想文書の内積で算出し、確率と内積との対数和を取り、仮想ノードをラティス前後に設置し、仮想ノード間でスコアが最大となる経路を求め、最尤のエンティティ系列を得る。
【0112】
算出部132は、エンティティが紐づかない単語を、単語そのものからなる仮想文書と推定する。
【0113】
算出部132は、エンティティと単語系列に対して統一的な扱い方で全体の一貫性を評価する。
【0114】
算出部132は、CRFでの日本語形態素解析をクエリの単語系列に適用する。
【0115】
算出部132は、単語系列のベクトル表現を計算し一貫性を評価する。
【0116】
算出部132は、任意長の単語系列からエンティティを特定する。
【0117】
算出部132は、隣り合う単語同士の関連性を考慮し、クエリを文としてモデル化する。
【0118】
上述した各処理のいずれかもしくは組合せにより、本願に係る情報処理装置は、文脈一貫性を用いた頑健なエンティティリンキングを実現することができる。
【0119】
〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10や情報提供装置100は、例えば
図10に示すような構成のコンピュータ1000によって実現される。以下、情報提供装置100を例に挙げて説明する。
図10は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0120】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0121】
一次記憶装置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)、ファイルサーバ等であってもよい。
【0122】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。
【0123】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0124】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0125】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0126】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0127】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0128】
例えば、コンピュータ1000が情報提供装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0129】
〔9.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0130】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0131】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0132】
例えば、上述した情報提供装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0133】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0134】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0135】
1 情報処理システム
10 端末装置
100 情報提供装置
110 通信部
120 記憶部
121 利用者情報データベース
122 履歴情報データベース
123 関連性情報データベース
130 制御部
131 取得部
132 算出部
133 提供部