JP2011100403A - 情報処理装置、情報抽出方法、プログラム及び情報処理システム - Google Patents

情報処理装置、情報抽出方法、プログラム及び情報処理システム Download PDF

Info

Publication number
JP2011100403A
JP2011100403A JP2009256227A JP2009256227A JP2011100403A JP 2011100403 A JP2011100403 A JP 2011100403A JP 2009256227 A JP2009256227 A JP 2009256227A JP 2009256227 A JP2009256227 A JP 2009256227A JP 2011100403 A JP2011100403 A JP 2011100403A
Authority
JP
Japan
Prior art keywords
information
information processing
processing apparatus
node
rule
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.)
Withdrawn
Application number
JP2009256227A
Other languages
English (en)
Inventor
Masaaki Isotsu
政明 礒津
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009256227A priority Critical patent/JP2011100403A/ja
Priority to CN2010105400619A priority patent/CN102054024B/zh
Priority to US12/917,606 priority patent/US20110113046A1/en
Publication of JP2011100403A publication Critical patent/JP2011100403A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Abstract

【課題】Webページ又はWebページ内のブロックなどの情報ソースに適用すべき情報抽出のためのルールを適応的に選択すること。
【解決手段】マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部と、前記マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを前記データ記憶部に記憶されている前記2つ以上のルールから選択する選択部と、前記選択部により選択されたルールを用いて、前記部分から情報を抽出する抽出部と、を備える情報処理装置を提供する。
【選択図】図2

Description

本発明は、情報処理装置、情報抽出方法、プログラム及び情報処理システムに関する。
インターネットの普及に伴い、インターネットを通して公開されるWebページは多様なデジタル情報を包含するようになってきている。これらデジタル情報には、ユーザにとって有用な情報と不要な情報とが混在している。そこで、従来、Webページから所望の情報を自動的に抽出する手法の開発が進められている。
例えば、下記非特許文献1では、LR Wrapperと呼ばれる手法が提案されている。LR Wrapperによれば、HTML(HyperText Markup Language)文書における所望の情報の前後のタグの配置を規定するルールが予め定義され、そのルールに適合するWebページ内の情報が抽出される。しかし、LR Wrapperではマッチングの対象がWebページの全体であることから、ページ内に複数の異なる分野の情報が含まれる場合には、意図しない情報が抽出されてしまう可能性がある。これに対し、例えば、下記特許文献1及び下記特許文献2は、Webページを複数のブロックに分割した後、ブロックごとにキーワードとのマッチングを行う手法を提案している。また、例えば、下記特許文献3は、Webページを複数のブロックに分割した後、ブロックごとに情報を抽出すべきか否かを評価する手法を提案している。
上述した情報抽出技術の1つの応用例は、チャットや電子メールなどに代表されるテキストコミュニケーションである。例えば、チャットや電子メールにおいて文章を書いている最中に話題となるキーワードに関連する情報を自動的にインターネット等から取得することができれば、取得した情報を文章に盛り込むことで、より充実したコミュニケーションが実現され得る。特に、チャットなどのリアルタイム性の要求されるオンラインテキストコミュニケーションでは、コミュニケーションを円滑に進めるために、ユーザの代わりにアプリケーションが自動的に情報を抽出することのメリットは大きい。なお、インターネット等から取得される情報の1つ1つの断片は、スニペット(snippet)と呼ばれる。即ち、例えば上述したLR Wrapperは、Webページからスニペットを抽出する技術であるということもできる。
Nicholas Kushmerick, "Wrapper induction: efficiency and expressiveness", Artificial Intelligence, 2000, vol.118, p15-68
特開2007−279964号公報 特開2004−70405号公報 特開2007−47974号公報
しかしながら、多数のWebページから多様な情報を自動的に抽出するためには、上述した情報抽出技術の精度は未だ十分ではない。例えば、LR Wrapperなどにおいて用意されるルールを多数のWebページ(又はブロック)に一律に適用すると、個々のWebページ(又はブロック)にふさわしくないルールによって、適切でない情報が抽出されてしまう可能性が高まるという課題があった。また、個々のWebページ(又はブロック)とルールとのペアを予め定義しておくことも1つの手段として考えられるが、この場合には、ペアを予め定義するためのコストが無視できないものとなり、さらに未知のWebページへの応用が困難となっていた。
これに対し、情報ソース(即ち、Webページ又はWebページ内のブロックなど)の特徴に応じて、それら情報ソースに適用すべきルールを適応的に選択することができれば、自動的に抽出可能な情報の精度を向上させることができるものと考えられる。
そこで、本発明は、Webページ又はWebページ内のブロックなどの情報ソースに適用すべき情報抽出のためのルールを適応的に選択することのできる、新規かつ改良された情報処理装置、情報抽出方法、プログラム及び情報処理システムを提供しようとするものである。
本発明のある実施形態によれば、マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部と、上記マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを上記データ記憶部に記憶されている上記2つ以上のルールから選択する選択部と、上記選択部により選択されたルールを用いて、上記部分から情報を抽出する抽出部と、を備える情報処理装置が提供される。
また、上記所定の文字列は、上記マークアップ言語において使用可能な少なくとも1つのタグであってもよい。
また、上記選択部は、タグ以外の少なくとも1つの文字列の上記部分における出現頻度にさらに応じて、上記部分に適用すべきルールを選択してもよい。
また、上記情報処理装置は、上記マークアップ言語の少なくとも2種類のタグについての文書構造上の上下関係を定義する定義データに基づいて、上記入力文書から少なくとも上記定義データに含まれるタグ及び当該タグに関連するテキストをノードとするツリー構造を生成する解析部、をさらに備え、上記選択部は、上記解析部により生成された上記ツリー構造のうちの所定の深さの部分ツリーに対応する上記入力文書内の部分ごとに、当該部分に適用すべきルールを選択してもよい。
また、上記情報処理装置は、上記抽出部により上記入力文書内の1つ以上の部分ごとに抽出される情報を蓄積するデータベースと、他の情報処理装置から受信されるキーワードに適合する情報を上記データベースから検索する検索部と、をさらに備えてもよい。
また、上記データベースは、上記入力文書内の各部分に対応する見出し文字列と関連付けて、当該部分から抽出される情報を蓄積し、上記検索部は、上記キーワードに適合する見出し文字列と関連付けられた情報を検索の結果として上記データベースから取得してもよい。
また、上記検索部は、上記データベースから取得される情報のうち、上記他の情報処理装置から受信される表示に関する制約条件に応じて選択した情報を、上記他の情報処理装置へ送信してもよい。
また、上記データ記憶部は、上記所定の文字列の出現頻度に応じて分類される2つ以上のパターンのうちの各パターンと上記2つ以上のルールのうちの各ルールとを関連付けて記憶していてもよい。
また、本発明の別の実施形態によれば、マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部を備える情報処理装置を用いて、上記マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを上記データ記憶部に記憶されている上記2つ以上のルールから選択するステップと、選択されたルールを用いて、上記部分から情報を抽出するステップと、を含む情報抽出方法が提供される。
また、本発明の別の実施形態によれば、マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部を備える情報処理装置を制御するコンピュータを、上記マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを上記データ記憶部に記憶されている上記2つ以上のルールから選択する選択部と、上記選択部により選択されたルールを用いて、上記部分から情報を抽出する抽出部と、として機能させるためのプログラムが提供される。
また、本発明の別の実施形態によれば、検索キーワードを含む検索要求を送信し、当該検索要求に対する応答として提供される情報をユーザインタフェース上に表示させる端末装置と、上記マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部、マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを上記データ記憶部に記憶されている上記2つ以上のルールから選択する選択部、上記選択部により選択されたルールを用いて、上記部分から情報を抽出する抽出部、上記抽出部により上記入力文書内の1つ以上の部分ごとに抽出される情報を蓄積するデータベース、及び、上記端末装置から受信される検索キーワードに適合する情報を上記データベースから取得し、取得した情報を上記端末装置へ送信する検索部、を備える情報処理装置と、を含む情報処理システムが提供される。
以上説明したように、本発明に係る情報処理装置、情報抽出方法、プログラム及び情報処理システムによれば、Webページ又はWebページ内のブロックなどの情報ソースに適用すべき情報抽出のためのルールを適応的に選択することができる。
一実施形態に係る情報処理システムの概要を説明するための説明図である。 一実施形態に係る情報処理装置の構成の一例を示すブロック図である。 解析部の詳細な構成の一例を示すブロック図である。 マークアップ言語を用いて記述された文書をブラウザに表示させた表示内容の一例を示す説明図である。 図3の文書をテキスト形式で示す説明図である。 解析部のパーサにより図3の文書から生成される第1ツリー構造の一例を示す説明図である。 “h”タグが使用されている入力文書の一例を示す説明図である。 図7の入力文書から生成される第1ツリー構造の一例を示す説明図である。 図7の入力文書をブラウザに表示させた表示内容の一例を示す説明図である。 タグの上下関係を定義する定義データの一例を示す説明図である。 ツリー構造変換処理の流れの一例を示すフローチャートである。 ツリー構造変換処理の結果として生成される第2ツリー構造の一例を示す説明図である。 LR Wrapperの文法に従って記述されるルールの一例を示す説明図である。 LR Wrapperの文法に従って記述されるルールの他の例を示す説明図である。 情報抽出のためのルールに関連するデータ構成の一例を示す説明図である。 情報抽出のためのルールに関連するデータ構成の他の例を示す説明図である。 所定の文字列の出現頻度のパターンとルールとの関連付けを学習するための情報処理装置の構成の一例を示すブロック図である。 出現頻度のパターンとルールとの関連付けを学習するための学習処理の流れの一例を示すフローチャートである。 第2ツリー構造から認識されるブロックの一例について説明するための説明図である。 選択されたルールを用いた情報抽出処理について説明するための説明図である。 情報抽出の結果としてデータベースに蓄積されるスニペットの一例を説明するための説明図である。 一実施形態に係る端末装置の構成の一例を示すブロック図である。 端末装置の画面上に表示される画面の一例を示す説明図である。 情報処理装置から端末装置へのスニペットの提供の流れの一例を示すシーケンス図である。 汎用コンピュータの構成の一例を示すブロック図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
1.情報処理システムの概要
2.情報処理装置の構成例
2−1.入力文書の解析
2−2.データ記憶部の構成
2−3.ルールの学習
2−4.スニペットの抽出と蓄積
3.端末装置の構成例
3−1.ユーザインタフェースの例
3−2.スニペットの検索
4.ハードウェア構成の一例
5.まとめ
<1.情報処理システムの概要>
まず、本発明の一実施形態に係る情報処理システムの概要について説明する。図1は、本発明の一実施形態に係る情報処理システム1の概要を説明するための説明図である。図1を参照すると、情報処理システム1は、情報処理装置100及び端末装置200を含む。情報処理装置100は、ネットワーク3を介して端末装置200と接続されている。さらに、ネットワーク3には、1つ以上のWebサーバ5a、5b…が接続されている。
情報処理装置100は、マークアップ言語を用いて記述された文書をネットワーク3を介して取得し、取得した文書から情報を抽出するための装置である。情報処理装置100は、例えば、図1に示したようなPC(Personal Computer)又はワークステーションなどの汎用的なコンピュータであってよい。その代わりに、情報処理装置100は、例えば、ホームネットワークに設置されるデジタル家電機器などであってもよい。本実施形態において、情報処理装置100は、適応的に選択されるルールを用いて抽出した情報をクライアントである端末装置200に提供するサーバとして動作する。
端末装置200は、情報処理装置100により抽出された情報をネットワーク3を介して取得し、取得した情報をユーザに提示するための装置である。端末装置200もまたPC又はワークステーションなどの汎用的なコンピュータであってよい。その代わりに、端末装置200は、例えば、携帯電話等を含み得る移動端末装置、又はデジタル家電機器などであってもよい。
ネットワーク3は、情報処理装置100と端末装置200との間を接続する通信ネットワークである。ネットワーク3は、例えば、インターネット、IP−VPN(Internet Protocol−Virtual Private Network)、専用線、LAN(Local Area Network)又はWAN(Wide Area Network)などの任意の通信ネットワークであってよい。また、ネットワーク3が有線であるか無線であるかは問わない。
Webサーバ5a及び5bは、それぞれ、ネットワーク3を介して情報処理装置100からアクセス可能なWebサーバである。Webサーバ5a又は5bは、情報処理装置100からの要求に応じて、マークアップ言語を用いて記述された文書の一例であるWebページを送信する。なお、Webサーバ5a及び5bは、いずれも一般的なWebサーバであってよい。また、Webサーバ5a及び5bの代わりに、マークアップ言語を用いて記述された文書を蓄積したデータサーバ(あるいはファイルサーバ)が配置されてもよい。さらに、これらのサーバは、情報処理装置100の運用者とは異なる運用者によって運用されるサーバであってもよい。
情報処理装置100は、このような一例としての情報処理システム1において、ネットワーク3を介してWebサーバ5a若しくは5b又は他のソースからWebページ等の文書を取得する。そして、情報処理装置100は、取得したWebページから情報を抽出し、抽出した情報をデータベースに蓄積する。情報処理装置100により蓄積される個々の情報の断片を、本明細書ではスニペットと称する。さらに、情報処理装置100は、データベースに蓄積されたスニペットを、端末装置200からの要求に応じて端末装置200に提供する。まず、このような情報処理装置100の具体的な構成の一例について、次節にて詳しく説明する。
<2.情報処理装置の構成例>
図2は、本実施形態に係る情報処理装置100の構成の一例を示すブロック図である。図2を参照すると、情報処理装置100は、入力文書取得部110、解析部120、データ記憶部130、選択部150、抽出部160、データベース170、及び検索部180を主に備える。
[2−1.入力文書の解析]
入力文書取得部110は、例えば、図1に例示したWebサーバ5a若しくは5bから(又はその他のデータサーバなどから)、マークアップ言語を用いて記述された文書を取得する。ここでのマークアップ言語とは、例えば、SGML(Standard Generalized Markup Language)、SGMLのサブセットであるXML(eXtensible Markup Language)、HTML(HyperText Markup Language)又はTexなどであってよい。マークアップ言語を用いて記述された文書においては、例えば、文章の構成(段落分け、リストなど)やレイアウトなどが、文章をマークアップするタグ(言語によってコマンドとも呼ばれる)を用いて指定され得る。そして、入力文書取得部110は、取得した入力文書を解析部120へ出力する。
解析部120は、入力文書取得部110により取得される入力文書から、当該入力文書を記述するために用いられているマークアップ言語において使用可能なタグ及び当該タグに関連するテキストをノードとするツリー構造を生成する。より具体的には、解析部120は、上記マークアップ言語の少なくとも2種類のタグについての文書構造上の上下関係を定義する定義データに基づいて、少なくとも当該定義データに含まれるタグ及び当該タグに関連するテキストをノードとするツリー構造を、入力文書から生成する。
図3は、解析部120の詳細な構成の一例を示すブロック図である。図3を参照すると、解析部120は、パーサ(parser)122及びツリー構造変換部124を含む。このうち、パーサ122は、マークアップ言語を用いて記述された入力文書をパースする。例えば、入力文書がHTML形式の文書である場合には、パーサ122は、公知のHTMLパーサであってよい。一方、ツリー構造変換部124は、パーサ122によるパース処理の結果として得られる第1ツリー構造を、より情報の抽出に適した第2ツリー構造に変換する。
(パース処理)
図4〜図6を用いて、パーサ122によるパース処理により生成される第1ツリー構造ついて説明する。
図4は、本実施形態において取り扱う文書の一例であるHTML文書をWebブラウザを通して表示させた画面の一例を示す説明図である。図4を参照すると、タイトルバーに“企業情報”と書かれたWebページ12が示されている。
Webページ12には、文字サイズの大きい“沿革”及び“製品情報”の2つの大見出しが含まれている。そして、見出し“沿革”の下には、文字列“#text1”が表示されている。また、見出し“製品情報”の下には、中間的な文字サイズの“TV”及び“PC”という2つの中見出しが表示されている。さらに、見出し“TV”の下には、文字列“#text2”及び製品のサイズに対応する2項目のリスト(“52 Inch”、“48 Inch”)が表示されている。また、見出し“PC”の下には、文字列“#text3”が表示されている。
このようなWebページ12を見た閲覧者は、例えば、当該Webページ12により紹介されている企業が製品として“TV”と“PC”とを有しており、製品情報が画面領域22aに記述されていることを理解することができる。また、例えば、“TV”に関する製品情報が画面領域22bに記述されていることも理解され得る。
これに対し、図5は、図4に示したHTML文書の内容をWebブラウザを通すことなくテキスト形式で示した説明図である。
図5を参照すると、HTMLタグでマークアップされたHTML文書32が示されている。HTML文書32の内容は、開始タグと終了タグを用いた入れ子構造で記述されている。このうち、文書の一部分であるブロック26aは、図4の画面領域22aに対応する部分である。また、ブロック26bは、図4の画面領域22bに対応する部分である。
図6は、パース処理の結果として図5に示したHTML文書32から生成される、HTMLタグ及びHTMLタグによりマークアップされたテキストをノードとする第1ツリー構造の一例を示す説明図である。
図6を参照すると、HTML文書32は、n1〜n21の21個のノードにより構成されている。このうち、ノードn1(“html”タグ)の配下には、ノードn2(“head”タグ)及びノードn5(“body”タグ)が位置している。また、ノードn2の配下にはノードn3(“title”タグ)、ノードn3の配下にはノードn4(テキスト“企業情報”)が位置している。一方、ノードn5の配下には、ノードn6、n8、n9、n11、n13、n14、n19、及びn21の8つのノードが並列に位置しており、8つのノードの配下にさらに下位のノードが位置している。このうち、図5のブロック26aに対応するノードは、ノードn9〜n21である。また、図5のブロック26bに対応するノードは、ノードn11〜n18である。
ここで、例えば、HTML文書32から企業の製品情報を自動的に取得しようとして“製品情報”というキーワードでマッチングを行った場合、図6のノードn10がキーワードに一致する。しかし、上述したように、製品情報に対応するノードn9〜n21は並列に位置するノードn6〜n21の一部分でしかないため、マッチングにより特定されたノードn10から適切に製品情報に対応するノードを決定することは難しい。また、例えば、製品“TV”に関する情報や製品“PC”に関する情報など、その他の任意の情報を自動的に取得しようとする場合も同様である。
従って、パーサ122により生成される図6に例示した第1ツリー構造は、有意な情報の抽出には適していない。そこで、ツリー構造変換部124において、以下に図7〜図12を用いて説明するように、上述した第1ツリー構造をより情報の抽出に適した第2ツリー構造に変換する。
(ツリー構造変換処理)
上述したように、ツリー構造変換部124は、パーサ122によるパース処理の結果として得られる第1ツリー構造を、より情報の抽出に適した第2ツリー構造に変換する。本実施形態において、第2ツリー構造とは、マークアップ言語の少なくとも2種類のタグについての文書構造上の上下関係を定義する定義データに基づいて生成されるツリー構造である。第2ツリー構造は、少なくとも当該定義データに含まれるタグ及び当該タグに関連するテキストをノードとする。
ツリー構造変換部124によるツリー構造変換処理において用いられる定義データとは、例えば、入力文書に使用されるタグのうち、少なくとも見出しに関連するタグについての文書構造上の上下関係を定義したデータであってよい。見出しに関連するタグとは、例えば、HTMLにおける“h”タグに相当する。
図7〜図9は、“h”タグに関連する文書構造上の上下関係について説明するための説明図である。
まず、図7を参照すると、“h1”、“h2”及び“h3”の各タグを用いて記述された一例としての文書10が示されている。図7において、文書10のbody部には、“h1”タグによりマークアップされた1つの大見出し、大見出しの下の本文、“h2”タグによりマークアップされた2つの中見出し、及び“h3”タグによりマークアップされた2つの小見出しが含まれている。
図8は、図7に示した文書10をHTMLパーサを用いて構文解析することにより得られる第1ツリー構造のうち、“body”タグ以下の部分を示している。図8において、“h1”、“h2”及び“h3”の3種類の“h”タグに対応するタグノード、及び“本文”に対応するノードは、いずれも“body”タグの1階層下に並列に位置している。そして、各“h”タグのノードの下位に、各“h”タグによりマークアップされた見出し文字列のノードが位置している。
図9は、図7に示した文書10をWebブラウザを通して表示させた表示例を示している。図9を参照すると、“大見出し”は、“本文”及び他の全ての見出しを見出しの対象範囲に含んでいることが理解される。同様に、“中見出し1”は“小見出し1”を、“中見出し2”は“小見出し2”をそれぞれの見出しの対象範囲に含んでいることも理解され得る。即ち、HTMLにおける“h”タグを図8の第1ツリー構造のように並列に用いた場合でも、マークアップされたテキストの文書構造上の包含−被包含の関係、即ち上下関係が少なくとも視覚的には表現されている。そこで、本実施形態では、図10に一例として示したような“h”タグについての文書構造上の上下関係を定義する定義データを設ける。
図10を参照すると、定義データ40において、“h”タグについての上下関係が、“body”>“h1”>“h2”>“h3”>“h4”>“h5”>“h6”というように定義されている。定義データ40における不等号(“>”)は、左側のタグの方が右側のタグの上位に位置することを表している。定義データ40においては、“h1”〜“h6”までの“h”タグの上下関係が数字の順に定義され、さらに“body”タグが全ての“h”タグの上位に定義されている。こうした定義データは、例えば、図2に示したデータ記憶部130などに予め記憶される。そして、ツリー構造変換部124は、かかる定義データを使用して、上述した第1ツリー構造を第2ツリー構造に変換する。
なお、定義データは、“body”タグ及び“h”タグに関連する文書構造上の上下関係について定義したデータに限定されない。例えば、定義データにより上下関係を定義されるタグには、HTMLにおいてテキストのフォントサイズを指定する“font”タグが含まれていてもよい。また、定義データにより上下関係を定義されるタグには、スタイルシートにおいて規定される特定のクラスを属性を用いて指定するタグなど、その他の任意のタグが含まれていてもよい。
図11は、ツリー構造変換部124によるツリー構造変換処理の流れの一例を示すフローチャートである。
図11を参照すると、ツリー構造変換部124は、まず“body”タグに対応する“body”ノードを作成し、第2ツリー構造の開始ノードとする。そして、ツリー構造変換部124は、“body”ノードを注目ノードPとする(ステップS102)。
次に、ツリー構造変換部124は、第1ツリー構造において未だ処理されていないノードが残っているか否かを判定する(ステップS104)。ここで、未処理のノードが残っていれば、処理はS106へ進む。一方、未処理のノードが残っていなければ、処理は終了する。
S106では、ツリー構造変換部124は、第1ツリー構造において未だ処理されていないノードのうち、最先のノードを比較ノードXとする(ステップS106)。ここで、最先のノードとは、例えば、文書内で最も先に記載されたタグ又はテキストに対応するノードであってもよい。また、最先のノードとは、例えば、第1ツリー構造内での縦型探索において最も早く参照されるノードであってもよい。例えば、図8に示した第1ツリー構造において、“body”ノードまで処理済みである場合には、“h1”ノードが未処理の最先のノードとなる。また、“h1”ノードまで処理済みである場合には、“大見出し”ノードが未処理の最先のノードとなる。
次に、ツリー構造変換部124は、比較ノードXが上述した定義データにおいて文書構造上の上下関係を定義されたタグに対応するタグノードであるか否かを判定する(ステップS108)。例えば、図10に示した定義データ40が定義されている場合には、比較ノードXが“body”タグ又は“h1”〜“h6”までの“h”タグに対応するノードであれば、処理はS112へ進む。一方、比較ノードXが上記以外のノード(例えばタグにマークアップされた見出し文字列や本文に対応するノードなど)であれば、処理はS110へ進む。
S110では、注目ノードPの子ノードに、S106で設定された比較ノードXが追加される(ステップS110)。例えば、注目ノードPが図8に示した第1ツリー構造における“h1”ノードであって、比較ノードXが“本文”ノードである場合には、第2ツリー構造において“h1”ノードの下位に“本文”ノードが追加される。また、例えば、注目ノードPが図8に示した第1ツリー構造における“h2”ノードであって、比較ノードXが“中見出し1”ノードである場合には、第2ツリー構造において“h2”ノードの下位に“中見出し1”ノードが追加される。その後、処理はS104へ戻り、未処理のノードの有無が再度判定される。
一方、比較ノードXが文書構造上の上下関係を定義されたタグに対応するタグノードである場合には、S112において、注目ノードPと比較ノードXとの上下関係が比較される(ステップS112)。例えば、図10に示した定義データ40が定義されている場合に、注目ノードPが“body”ノードであって、比較ノードXが“h”タグに対応するタグノードである場合には、比較ノードX<注目ノードPと判定される。また、例えば、注目ノードPが“h1”ノードであって、比較ノードXも“h1”ノードである場合には、比較ノードX=注目ノードPと判定される。また、例えば、注目ノードPが“h2”ノードであって、比較ノードXが“h1”ノードである場合には、比較ノードX>注目ノードPと判定される。ここで、比較ノードX>注目ノードPである場合には、処理はS114へ進む。また、比較ノードX=注目ノードPである場合には、処理はS116へ進む。また、比較ノードX<注目ノードPである場合には、処理はS118へ進む。
次に、比較ノードX>注目ノードPである場合には、S114において、注目ノードPの親ノードが新たな注目ノードPとされる(ステップS114)。例えば、注目ノードPが図8に示した第1ツリー構造における1つ目の“h3”ノードであって、比較ノードXが2つ目“h2”ノードである場合には、1つ目の“h3”ノードの親の1つ目の“h2”ノードが注目ノードPとして再設定される。そして、処理はS112へ戻り、注目ノードPと比較ノードXとの上下関係が再度比較される。
また、比較ノードX=注目ノードPである場合には、S116において、第2ツリー構造での注目ノードPの親ノードの子ノード(即ち、兄弟ノード)として比較ノードXが追加される。例えば、注目ノードPが図8に示した第1ツリー構造における1つ目の“h2”ノードであって、比較ノードXが2つ目の“h2”ノードである場合には、1つ目の“h2”ノードの親ノードである“h1”ノードの子ノードとして2つ目の“h2”ノードが追加される。そして、追加された2つ目の“h2”ノードが新たな注目ノードPとなる。その後、処理はS104へ戻り、未処理のノードの有無が再度判定される。
また、比較ノードX<注目ノードPである場合には、S118において、第2ツリー構造での注目ノードPの子ノードとして比較ノードXが追加される。例えば、注目ノードPが図8に示した第1ツリー構造における1つ目の“h2”ノードであって、比較ノードXが1つ目の“h3”ノードである場合には、1つ目の“h2”ノードの子ノードとして“h3”ノードが追加される。そして、追加された“h3”ノードが新たな注目ノードPとなる。その後、処理はS104へ戻り、未処理のノードの有無が再度判定される。
このようなツリー構造変換部124によるツリー構造変換処理の結果、図8に一例として示した第1ツリー構造から図12に示す第2ツリー構造が生成される。
図12を参照すると、“body”ノードの1つ下の階層に“h1”ノードが位置し、さらに“h1”ノードの1つ下の階層に“大見出し”、“本文”、1つ目の“h2”ノード、及び2つ目の“h2”ノードが位置している。また、各“h2”ノードの1つ下の階層には、“中見出し1”ノード又は“中見出し2”ノード、及び各“h3”ノードがそれぞれ位置している。さらに、各“h3”ノードの1つ下の階層には、“小見出し1”ノード又は“小見出し2”ノードがそれぞれ位置している。この第2ツリー構造は、図9において視覚的に表現されていた文書10の文書構造上の包含−被包含の関係に対応している。ツリー構造変換部124は、かかる第2ツリー構造を例えばXML形式などにより表現するデータを、選択部150へ出力する。
[2−2.データ記憶部の構成]
データ記憶部130は、例えば、ハードディスク又は半導体メモリなどの記憶媒体を用いて構成され、解析部120のツリー構造変換部124により用いられる上述した定義データを予め記憶している。また、データ記憶部130は、マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶している。データ記憶部130により記憶されるルールは、例えば、LR Wrapperの文法に従って記述されるルールであってよい。その代わりに、データ記憶部130により記憶されるルールは、例えば、正規表現の式などであってもよい。より一般には、データ記憶部130により記憶されるルールは、マークアップ言語を用いて記述された文書から情報を抽出するための条件を指定する手段であってよい。
(ルールの例)
図13及び図14は、LR Wrapperの文法に従って記述されるルールの例を示す説明図である。
図13を参照すると、第1の例としてのルールR1が示されている。ルールR1は、3つの条件Cd11、Cd12及びCd13を含む。このうち、第1の条件Cd11は、前方に“<h2><h2><p>”、後方に“</p><h3></h3>”というタグのパターンを有する文書に適合する条件である。第2の条件Cd12は、前方に“<h3></h3><p>”、後方に“</p><h3></h3>”というタグのパターンを有する文書に適合する条件である。第3の条件Cd13は、前方に“<h3></h3><p>”、後方に“</p><h2></h2>”というタグのパターンを有する文書に適合する条件である。これらの条件を含むルールR1は、例えば、図13に示した文書10aの部分11aに適合する。そして、第1の条件Cd11により、例えば、情報S1(「世界で初めて○○製品を製造・販売し…」)が抽出され得る。また、第3の条件Cd13により、例えば、情報S2(「東京の他、ニューヨーク、ロンドンで上場され…」)が抽出され得る。なお、第2の条件Cd12によっても他の文字列が抽出され得るが、ここでは図示を省略している。
次に、図14を参照すると、第2の例としてのルールR2が示されている。ルールR2は、3つの条件Cd21、Cd22及びCd23を含む。このうち、第1の条件Cd21は、前方に“<h2></h2><ul><li>”、後方に“</li><li></li>”というタグのパターンを有する文書に適合する条件である。第2の条件Cd22は、前方に“<li></li><li>”、後方に“</li><li></li>”というタグのパターンを有する文書に適合する条件である。第3の条件Cd23は、前方に“<li></li><li>”、後方に“</li></ul>”というタグのパターンを有する文書に適合する条件である。これらの条件を含むルールR2は、例えば、図14に示した文書10bの部分11bに適合する。そして、第1の条件Cd21により、例えば、情報S3(「パーソナルコンピュータ」)が抽出され得る。また、第2の条件Cd22により、例えば、情報S4(「デジタルカメラ」)が抽出され得る。また、第3の条件Cd23により、例えば、情報S5(「デジタルフォトフレーム」)が抽出され得る。
なお、図13及び図14に示したルールR1及びR2は一例に過ぎない。データ記憶部130には、情報抽出のための少なくとも2つ以上のこのようなルールが、次に説明するデータ構成の下で、予め記憶される。
(データ構成の例)
データ記憶部130は、例えば、マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度と当該部分に適用すべきルールとを関連付けて記憶する。図15Aは、上述した情報抽出のためのルールに関連する、データ記憶部130におけるデータ構成の一例を示す説明図である。
図15Aを参照すると、入力文書の少なくとも一部分における所定の文字列の出現頻度と当該部分に適用すべきルールとを関連付けるためのルール管理テーブルT1が示されている。本実施形態において、所定の文字列とは、HTMLにおいて使用可能な3種類のタグ“h2”、“li”及び“p”である。ルール管理テーブルT1において、各タグの出現頻度は、“高”又は“低”の2つのランクに分類されている。この場合、3種類のタグの出現頻度に応じて、最大で8通りの出現頻度のパターンを定義することができる。
例えば、ルール管理テーブルT1の第1のエントリは、“h2”の出現頻度が“高”、“li”の出現頻度が“低”、“p”の出現頻度が“高”というパターンに、ルールR1が関連付けられることを示している。また、ルール管理テーブルT1の第2のエントリは、“h2”の出現頻度が“低”、“li”の出現頻度が“高”、“p”の出現頻度が“低”というパターンに、ルールR2が関連付けられることを示している。また、ルール管理テーブルT1の第3のエントリは、“h2”の出現頻度が“高”、“li”の出現頻度が“高”、“p”の出現頻度が“低”というパターンに、ルールR3が関連付けられることを示している。
なお、図15Aに示した3種類のタグ以外のタグが、各ルールと関連付けるべき出現頻度のパターンを区別するために使用されてもよい。また、タグではない文字列(テキストという)が出現頻度のパターンをさらに区別するために使用されてもよい。例えば、同じようなタグの配置が用いられる場合であっても、そこに含まれる見出し文字列(“製品”又は“サービス”など)に応じて情報の内容が異なることは少なくない。その際、一部の種類の情報のみを抽出したい場合には、特定の見出し文字列(例えば、“製品”など)の出現頻度をも考慮してパターンを区別するのが好適である。
図15Bは、情報抽出のためのルールに関連する、データ記憶部130におけるデータ構成の他の例を示す説明図である。図15Bを参照すると、HTMLにおいて使用可能な3種類のタグ“h2”、“li”及び“p”に加えて、テキスト“製品”を識別キーとするルール管理テーブルT2が示されている。そして、ルール管理テーブルT2において、“h2”の出現頻度が“高”、“li”の出現頻度が“低”、“p”の出現頻度が“高”というパターンが、テキスト“製品”の出現頻度に応じてさらに2つのパターンに分類されている。その一方のパターン(第1のエントリ)は、テキスト“製品”の出現頻度が「0より大」であり、当該パターンにルールR1aが関連付けられている。もう一方のパターン(第2のエントリ)はテキスト“製品”の出現頻度が「0」であり、当該パターンにルールR1bが関連付けられている。それ以外のエントリは、図15Aと同様であるため、ここでの説明は省略する。このように、タグ以外のテキストの出現頻度にさらに応じてルールを区別することで、情報抽出の精度をより高めることができる。
ここで、文字列(即ち、タグ又はテキスト)の「出現頻度」は、例えば、1つの入力文書内又は1つのブロック内の当該文字列の出現数であってもよい。また、文字列の「出現頻度」は、一定の文字数(又はバイト数)あたりの当該文字列の出現数であってもよい。さらに、「出現頻度」は、“高”及び“低”の2つのランクに分類される代わりに、より多くのランクに分類されてもよい。また、図15Bに例示したように、「出現頻度」は、例えば、“0”及び“0より大”の2つのランクに分類されてもよい(この場合は、当該文字列が存在しているか存在していないかを表す)。
[2−3.ルールの学習]
図15A及び図15Bに示したような、文字列の出現頻度のパターンとルールとの関連付けは、典型的には、事前の学習処理によって行われる。学習処理は、情報処理装置100が実行してもよく、又は他の情報処理装置が実行してもよい。
図16は、文字列の出現頻度のパターンとルールとの関連付けを学習するための情報処理装置102の構成の一例を示すブロック図である。図16を参照すると、情報処理装置102は、入力文書取得部110、解析部120、データ記憶部130、及び学習部140を備える。
学習部140は、マークアップ言語を用いて記述された学習の対象となる入力文書を入力文書取得部110から取得すると共に、当該入力文書から生成される上述した第2ツリー構造を解析部120から取得する。そして、学習部140は、図17を用いて説明する学習処理により、文字列の出現頻度のパターンとルールとの関連付けを学習し、その学習の結果をデータ記憶部130に記憶させる。
図17は、学習部140による学習処理の流れの一例を示すフローチャートである。図17を参照すると、まず、学習部140は、入力文書を入力文書取得部110から取得すると共に、当該入力文書から生成される第2ツリー構造を解析部120から取得する(ステップS202)。
次に、学習部140は、入力文書内のブロックごとの処理のループに入る(ステップS204)。ここで、入力文書内のブロックとは、解析部120により生成された第2ツリー構造のうちの所定の深さの部分ツリーに対応する、入力文書内の一部分に相当する。例えば、第2ツリー構造のうちの所定の深さの部分ツリーとは、図18に示した(図12に示したものと同じ)第2ツリー構造における、部分ツリー13a及び13bなどであってもよい。この場合、第2ツリー構造の最上位ノードから2レベル下方のノード以下の部分ツリー(又は末端ノードから2レベル上方のノード以下の部分ツリー)に対応する部分がブロックとして認識される。
そして、学習部140は、第2ツリー構造から認識したブロックごとに、まず、タグ及びテキストを抽出する(ステップS206)。次に、出現頻度のパターンを区分するためにテキストも利用する場合には、テキストを形態素解析することにより、当該テキスト内に含まれる個々の単語を抽出する(ステップS208、S210)。なお、スペース等の記号を用いて個々の単語が予め区切られている英語等の言語によりテキストが記述されている場合には、形態素解析は行われなくてもよい。次に、学習部140は、タグ(及びテキスト)の出現頻度のパターンをデータ記憶部130に登録する(ステップS212)。ここで、登録済みのいずれの出現頻度のパターンに新たなブロックの出現頻度のパターンを分類すべきかは、例えばベイジアンフィルタを用いて決定され得る。登録済みのいずれの出現頻度のパターンにも新たなブロックの出現頻度のパターンを分類できない場合には、その出現頻度のパターンが新たな出現頻度のパターンとしてデータ記憶部130に登録され得る。次に、学習部140は、データ記憶部130に登録した出現頻度のパターンを、(学習データとして既知の)当該パターンに適したルールに関連付ける(ステップS214)。
学習部140は、このようなステップS206〜S214の一連の処理を、第2ツリー構造から認識したブロックごとに繰り返す。そして、全てのブロックのループが終了すると、学習処理は終了する(ステップS216)。
[2−4.スニペットの抽出と蓄積]
情報処理装置100の選択部150は、上述した学習処理の結果としてデータ記憶部130に予め記憶されている図15A又は図15Bに例示したルール管理テーブルを用いて、入力文書内のブロックごとに適用すべきルールを2つ以上のルールから選択する。
より具体的には、選択部150は、解析部120により生成された第2ツリー構造のうちの所定の深さの部分ツリーに対応する入力文書内の一部分であるブロックごとに、当該ブロックにおける3種類のタグ“h2”、“li”及び“p”の出現頻度を計算する。次に、選択部150は、3種類のタグの出現頻度に対応するパターンを特定する。例えば、対象のブロックにおいてタグ“h2”及び“p”の出現頻度が高く、タグ“li”の出現頻度が低い場合には、図15Aのルール管理テーブルT1の第1のエントリのパターンが特定され得る。この場合、選択部150は、当該パターンと関連付けられたルールR1を、当該ブロックからの情報の抽出のために適用すべきルールとして選択する。
次に、抽出部160は、選択部150により選択されたルールを用いて、各ブロックから情報を抽出する。そして、抽出部160は、ブロックごとに抽出した情報を、順次データベース170に蓄積する。このとき、抽出部160は、ブロックごとに抽出した情報に情報の検索キーとなるラベルを付す。
図19は、抽出部160による情報抽出処理について説明するための説明図である。図19を参照すると、入力文書10a内でブロック11aが認識されている。そして、ブロック11aにおける3種類のタグ“h2”、“li”及び“p”の出現頻度に応じて、ブロック11aに適用すべきルールとしてルールR1が選択されている。かかる例において、抽出部160は、ルールR1をブロック11aに適用する。その結果、例えば、条件Cd11と適合する情報S1が抽出される。そして、抽出部160は、情報S1の上位ノードである見出しタグ(“h1”及び“h2”)によりマークアップされたテキストL1a(“XX会社”)及びL1b(“沿革”)を、抽出した情報S1にラベルとして付加し、スニペットを形成する。なお、ラベルとして付加するテキストは、かかる例に限定されず、例えば、Webページのタイトルを指定する“title”タグによりマークアップされたテキスト、又はその他の任意のテキストであってよい。
図20は、データベース170に蓄積されるスニペットについて説明するための説明図である。図20の例において、データベース170には、#1から#6までの6個のスニペットが蓄積されている。各スニペットは、情報を検索するためのキーとなるラベル、及び情報の内容を示すアイテムをそれぞれ含む。また、各スニペットには、アイテムの長さ(文字数)、及びスコアが与えられている。
スニペット#1は、図19の例において入力文書10a内のブロック11aにルールR1を適用することにより抽出されたスニペットである。スニペット#1のアイテムの長さは80、スコアは70である。スニペットのアイテムの長さは、端末装置200からの要求に応じてスニペットを提供する際のデータ量を制御するために用いられる。スニペットのスコアは、例えば、特徴的な単語をアイテムが含む場合に高い値となるTF‐IDF(Term Frequency‐Inverse Document Frequency)によるスコアであってもよい。その代わりに、スニペットのスコアは、例えば、情報が新しいほど高い値となるスコア、又はそうしたスコアとTF‐IDFとの組合せなどであってもよい。スニペットのスコアは、端末装置200からの要求に応じてスニペットを提供する際に、いずれのスニペットを優先的に提供するかを決定するために用いられる。
[2−5.スニペットの提供]
検索部180は、端末装置200から送信されるキーワードに適合するラベル又はアイテムを有するスニペットをデータベース170から検索し、検索の結果として取得されるスニペットを端末装置200へ送信する。このとき、検索部180は、データベース170から取得したスニペットのうち、端末装置200から送信される当該端末装置200での表示に関する制約条件に応じて選択したスニペットを、端末装置200へ送信してもよい。端末装置200から情報処理装置100へのスニペットの要求、及び情報処理装置100から端末装置200へのスニペットの提供については、次節においてさらに説明する。
<3.端末装置の構成例>
図21は、本実施形態に係る端末装置200の概略的な構成の一例を示すブロック図である。図21を参照すると、端末装置200は、ユーザインタフェース210及び検索要求部220を主に備える。
[3−1.ユーザインタフェースの例]
本実施形態において、ユーザインタフェース210は、スニペットをユーザに提示することのできるアプリケーションの一例としてのチャット機能を有する。図22は、ユーザインタフェース210により端末装置200の画面上に表示される画面の一例を示す説明図である。図22を参照すると、ユーザインタフェース210により端末装置200の画面上に表示される画面の一例としての画面212が示されている。画面212は、チャットウィンドウ214、スニペット一覧ウィンドウ216、及び動画表示ウィンドウ218を含む。
チャットウィンドウ214は、例えば、端末装置200のユーザ(ユーザA)が他の端末装置のユーザ(ユーザB)との間でチャットをするためのウィンドウである。チャットウィンドウ214において、ユーザAとユーザBとの間のテキストコミュニケーションが、画面の上から下に向けて順に表示されている。
スニペット一覧ウィンドウ216は、端末装置200が情報処理装置100から取得するスニペットの一覧を表示するためのウィンドウである。図22の例において、スニペット一覧ウィンドウ216には、スニペットSn1及びSn2が表示されている。端末装置200のユーザAは、例えば、このようにスニペット一覧ウィンドウ216に表示されたスニペットSn1をコピーしてチャットウィンドウ214の自身の発言に挿入することができる(発言St2参照)。スニペット一覧ウィンドウ216に表示されるスニペットは、例えば、検索要求部220によりチャットウィンドウ214から抽出されるキーワードK1に応じて、情報処理装置100において検索され、提供されたスニペットである。
動画表示ウィンドウ218には、例えば、放送されるテレビ番組、又は端末装置200において再生され若しくは端末装置200と他の端末装置との間で共有されるムービーなどが表示される。検索要求部220は、かかる動画表示ウィンドウ218に表示されるコンテンツから(字幕からの抽出又は音声認識などにより)取得されるキーワードを、情報処理装置100へのスニペットの検索要求に用いてもよい。
[3−2.スニペットの検索]
検索要求部220は、例えば、図22を用いて説明したチャットウィンドウ214に表示される発言の中から、特徴的なキーワードを抽出する。例えば、図22の例では、ユーザBによる発言St1に「XX会社」というキーワードK1が含まれている。検索要求部220は、例えば、このような発言から抽出したキーワードに適合するスニペットの提供を要求するためのスニペット要求を生成し、情報処理装置100へ送信する。
このとき、検索要求部220は、表示に関する制約条件を、スニペット要求に含めてもよい。表示に関する制約条件とは、例えば、スニペット一覧ウィンドウ216において表示可能なスニペットの数又はアイテムの長さの合計値などを含み得る。そして、検索要求部220は、情報処理装置100からスニペット要求への応答として提供されるスニペットの一覧を、スニペット一覧ウィンドウ216に表示させる。例えば、図22の例では、キーワードK1に応じて情報処理装置100において取得されたスニペットSn1及びSn2が、スニペット一覧ウィンドウ216に表示されている。
図23は、情報処理装置100から端末装置200へのスニペットの提供の流れの一例を示すシーケンス図である。
図23において、まず、端末装置200の検索要求部220は、チャットウィンドウ214内の発言、又は動画表示ウィンドウ218に表示されるコンテンツから、キーワードを抽出する(ステップS302)。次に、検索要求部220は、抽出したキーワードと表示上の制約条件とを含むスニペット要求を生成し、当該スニペット要求をネットワーク3を介して情報処理装置100へ送信する(ステップS304)。
情報処理装置100の検索部180は、端末装置200からスニペット要求を受信すると、スニペット要求に含まれるキーワードに適合するスニペットを、データベース170から検索する。例えば、スニペット要求に含まれるキーワードが「XX会社」を表すキーワードK1であれば、図20に例示したスニペット#1〜#6のうち、スニペット#1〜#5が取得される(ステップS312)。なお、ここで検索結果にスニペットが1件も含まれない場合(即ち、キーワードに適合するスニペットが存在しない場合)には、その後の処理はスキップされ(ステップS314)、端末装置200へエラーが通知される(ステップS318)。
検索結果に1件以上のスニペットが含まれている場合には、検索部180は、当該1件以上のスニペットから、スニペット要求に含まれる制約条件を満たすように、端末装置200に提供すべきスニペットを選択する(ステップS316)。例えば、スニペット一覧ウィンドウ216において表示可能なスニペットの数が4個、アイテムの長さの合計値が150であったと仮定する。その場合、検索部180は、まず、検索結果に含まれるスニペット#1〜#5(図20参照)のうち、スコアの高いスニペット#1、#2及び#3を順に選択する。この時点で選択されたスニペットの数は3個、アイテムの長さの合計値は141である。その後、次にスコアの高いスニペット#5(“デジタルフォトフレーム”)を選択すると、アイテムの長さの合計値が150を超えて制約条件を満たすことができない。この場合、検索部180は、スニペット#5ではなくスニペット#4(“デジタルカメラ”)を選択する。そして、検索部180は、スニペット要求に含まれる制約条件を満たすように選択したそれらのスニペット#1〜#4を、端末装置200へ送信する(ステップS318)。
端末装置200の検索要求部220は、情報処理装置100からスニペット(例えば上述したスニペット#1〜#4)を受信すると、受信したスニペットをユーザインタフェース210のスニペット一覧ウィンドウ216に表示する(ステップS322)。それにより、ユーザは、スニペット一覧ウィンドウ216に表示されたスニペットに含まれる所望の情報を、チャットに利用することができる(ステップS324)。
なお、情報処理装置100の検索部180は、データベース170に記憶されているスニペットごとのスコアを、端末装置200への提供の回数、又は端末装置200においてスニペットが利用された回数に応じて変化させてもよい。例えば、端末装置200へ一度提供したスニペットのスコアを下げておくことで、同じスニペットが繰返し端末装置200に提供されることを避けることができる。
<4.ハードウェア構成の一例>
本明細書において説明した情報処理装置100及び端末装置200の各機能は、専用のハードウェアに組み込まれたコンピュータ、又は図24に示した汎用コンピュータを用いて実行され得る。
図24において、CPU(Central Processing Unit)902は、汎用コンピュータの動作全般を制御する。ROM(Read Only Memory)904には、一連の処理の一部又は全部を記述したプログラム又はデータが格納される。RAM(Random Access Memory)906には、処理の実行時にCPU902により用いられるプログラムやデータなどが一時的に記憶される。
CPU902、ROM904、及びRAM906は、バス910を介して相互に接続される。バス910にはさらに、入出力インタフェース912が接続される。
入出力インタフェース912は、CPU902、ROM904、及びRAM906と、入力装置920、出力装置922、記憶装置924、通信装置926、及びドライブ930とを接続するためのインタフェースである。
入力装置920は、例えばボタン、スイッチ、レバー、マウスやキーボードなどの入力装置を介して、ユーザからの指示や情報入力を受け付ける。出力装置922は、例えばCRT(Cathode Ray Tube)、液晶ディスプレイ、OLED(Organic Light Emitting Diode)などの表示装置、又はスピーカなどの音声出力装置を介してユーザに情報を出力する。
記憶装置924は、例えばハードディスクドライブ又はフラッシュメモリなどにより構成され、プログラムやプログラムデータなどを記憶する。通信装置926は、ネットワーク3を介する通信処理を行う。ドライブ930は、必要に応じて汎用コンピュータに設けられ、例えばドライブ930にはリムーバブルメディア932が装着される。
上述した一実施形態に係る一連の処理をソフトウェアで実行する場合には、例えば図24に示したROM904、記憶装置924、又はリムーバブルメディア932に格納されたプログラムが、実行時にRAM906に読み込まれ、CPU902により実行される。
<5.まとめ>
ここまで、図1〜図24を用いて、本発明の一実施形態について説明した。本実施形態によれば、マークアップ言語を用いて記述された文書から情報を抽出するためのルールが、入力文書の少なくとも一部分(即ち、ブロック)における所定の文字列の出現頻度に応じて選択され、選択されたそのルールを用いて当該部分から情報が抽出される。それにより、用意されたルールのうちの適切なルールのみが各ブロックに適用されるため、Webページ等の情報ソースから不適切な情報が抽出される可能性が低減される。また、未知のWebページについても、使用されているマークアップ言語が共通する限り、本実施形態を適用して所定の文字列の出現頻度に応じてルールを適応的に選択することができる。従って、より幅広い情報ソースから効率的かつ高い精度で有意な情報を抽出することが可能となる。
また、本実施形態において、上記所定の文字列は、マークアップ言語において使用可能なタグである。例えば、HTMLにおける見出しに関連する“h”タグ、リストに関連する“ul”タグ若しくは“li”タグ、又は段落に関連する“p”タグ等の出現頻度に応じてルールを選択可能とすることで、HTMLを用いて記述されたWebページからの効率的な情報の抽出が可能となる。また、タグ以外の文字列(例えば特定の見出し文字列等)の出現頻度をも用いることで、さらに情報抽出の精度を高めることもできる。
また、本実施形態において、マークアップ言語の少なくとも2種類のタグについての文書構造上の上下関係を定義する定義データに基づいて入力文書から生成される上記第2ツリー構造の部分ツリーごとに、入力文書内のブロックが認識される。そして、適用すべきルールがそれらブロックごとに選択され、選択されたルールを用いて情報が抽出される。それにより、十分に構造的に記述されていないHTML文書についても、視覚的に把握され得る文書構造上の上下関係を的確に反映したブロックごとに、ルールの適応的な選択と情報の抽出を行うことができる。
また、本実施形態では、適応的に選択されたルールを用いて幅広いソースから抽出された情報がデータベースに蓄積され、端末装置からの要求に応じて提供される。その際、端末側の表示の制約条件に応じて、提供すべき情報が動的に選択される。それにより、チャット等のテキストコミュニケーションを実現する端末装置において、コミュニケーションをより充実させるための有意な情報を、表示の制約条件の範囲内で簡単に利用することが可能となる。即ち、ユーザにとっては、別途の検索画面を立ち上げてキーワード検索等を行うことなく、適応的に選択されたルールを用いて幅広いソースから抽出された情報をコミュニケーションの中で利用することが可能となる。
なお、ここでは、端末装置200において検索要求部220が自動的にキーワードを取得する例について説明した。しかしながら、ユーザインタフェース210にキーワード入力用のテキストボックスを追加的に設けてもよい。また、情報処理装置100から端末装置200へ提供されるスニペットのアイテムは、テキストのみならず、人物の顔写真などの画像、又はその他の種類のデータを含んでもよい。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
100 情報処理装置
110 入力文書取得部
120 解析部
130 データ記憶部
150 選択部
160 抽出部
170 データベース
180 検索部
200 端末装置(他の情報処理装置)
210 ユーザインタフェース
220 検索要求部

Claims (11)

  1. マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部と;
    前記マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを前記データ記憶部に記憶されている前記2つ以上のルールから選択する選択部と;
    前記選択部により選択されたルールを用いて、前記部分から情報を抽出する抽出部と;
    を備える情報処理装置。
  2. 前記所定の文字列は、前記マークアップ言語において使用可能な少なくとも1つのタグである、請求項1に記載の情報処理装置。
  3. 前記選択部は、タグ以外の少なくとも1つの文字列の前記部分における出現頻度にさらに応じて、前記部分に適用すべきルールを選択する、請求項2に記載の情報処理装置。
  4. 前記情報処理装置は、
    前記マークアップ言語の少なくとも2種類のタグについての文書構造上の上下関係を定義する定義データに基づいて、前記入力文書から少なくとも前記定義データに含まれるタグ及び当該タグに関連するテキストをノードとするツリー構造を生成する解析部、
    をさらに備え、
    前記選択部は、前記解析部により生成された前記ツリー構造のうちの所定の深さの部分ツリーに対応する前記入力文書内の部分ごとに、当該部分に適用すべきルールを選択する、
    請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記情報処理装置は、
    前記抽出部により前記入力文書内の1つ以上の部分ごとに抽出される情報を蓄積するデータベースと、
    他の情報処理装置から受信されるキーワードに適合する情報を前記データベースから検索する検索部と、
    をさらに備える、請求項1に記載の情報処理装置。
  6. 前記データベースは、前記入力文書内の各部分に対応する見出し文字列と関連付けて、当該部分から抽出される情報を蓄積し、
    前記検索部は、前記キーワードに適合する見出し文字列と関連付けられた情報を検索の結果として前記データベースから取得する、
    請求項5に記載の情報処理装置。
  7. 前記検索部は、前記データベースから取得される情報のうち、前記他の情報処理装置から受信される表示に関する制約条件に応じて選択した情報を、前記他の情報処理装置へ送信する、請求項6に記載の情報処理装置。
  8. 前記データ記憶部は、前記所定の文字列の出現頻度に応じて分類される2つ以上のパターンのうちの各パターンと前記2つ以上のルールのうちの各ルールとを関連付けて記憶している、請求項1に記載の情報処理装置。
  9. マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部を備える情報処理装置を用いて:
    前記マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを前記データ記憶部に記憶されている前記2つ以上のルールから選択するステップと;
    選択されたルールを用いて、前記部分から情報を抽出するステップと;
    を含む、情報抽出方法。
  10. マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部を備える情報処理装置を制御するコンピュータを:
    前記マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを前記データ記憶部に記憶されている前記2つ以上のルールから選択する選択部と;
    前記選択部により選択されたルールを用いて、前記部分から情報を抽出する抽出部と;
    として機能させるための、プログラム。
  11. 検索キーワードを含む検索要求を送信し、当該検索要求に対する応答として提供される情報をユーザインタフェース上に表示させる端末装置と:
    マークアップ言語を用いて記述された文書から情報を抽出するための2つ以上のルールを記憶しているデータ記憶部;
    前記マークアップ言語を用いて記述された入力文書の少なくとも一部分における所定の文字列の出現頻度に応じて、当該部分に適用すべきルールを前記データ記憶部に記憶されている前記2つ以上のルールから選択する選択部;
    前記選択部により選択されたルールを用いて、前記部分から情報を抽出する抽出部;
    前記抽出部により前記入力文書内の1つ以上の部分ごとに抽出される情報を蓄積するデータベース;
    及び、前記端末装置から受信される検索キーワードに適合する情報を前記データベースから取得し、取得した情報を前記端末装置へ送信する検索部;
    を備える情報処理装置と:
    を含む情報処理システム。
JP2009256227A 2009-11-09 2009-11-09 情報処理装置、情報抽出方法、プログラム及び情報処理システム Withdrawn JP2011100403A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009256227A JP2011100403A (ja) 2009-11-09 2009-11-09 情報処理装置、情報抽出方法、プログラム及び情報処理システム
CN2010105400619A CN102054024B (zh) 2009-11-09 2010-11-02 信息处理设备、信息提取方法、程序和信息处理系统
US12/917,606 US20110113046A1 (en) 2009-11-09 2010-11-02 Information processing apparatus, information extracting method, program, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009256227A JP2011100403A (ja) 2009-11-09 2009-11-09 情報処理装置、情報抽出方法、プログラム及び情報処理システム

Publications (1)

Publication Number Publication Date
JP2011100403A true JP2011100403A (ja) 2011-05-19

Family

ID=43958346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009256227A Withdrawn JP2011100403A (ja) 2009-11-09 2009-11-09 情報処理装置、情報抽出方法、プログラム及び情報処理システム

Country Status (3)

Country Link
US (1) US20110113046A1 (ja)
JP (1) JP2011100403A (ja)
CN (1) CN102054024B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003670A (ja) * 2011-06-13 2013-01-07 Yahoo Japan Corp 検索サーバ及び方法
WO2013038519A1 (ja) * 2011-09-14 2013-03-21 株式会社マイニングブラウニー ウェブページ解析装置およびウェブページ解析用プログラム
JP2014071644A (ja) * 2012-09-28 2014-04-21 Ntt Docomo Inc 情報処理装置
WO2016075829A1 (ja) * 2014-11-14 2016-05-19 富士通株式会社 データ取得プログラム、データ取得方法及びデータ取得装置
WO2018056299A1 (ja) * 2016-09-26 2018-03-29 日本電気株式会社 情報収集システム、情報収集方法、及び、記録媒体

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484025B1 (en) * 2012-10-04 2013-07-09 Google Inc. Mapping an audio utterance to an action using a classifier
KR20160059162A (ko) * 2014-11-18 2016-05-26 삼성전자주식회사 방송 수신 장치 및 그 제어 방법
JP6740803B2 (ja) * 2016-08-22 2020-08-19 富士ゼロックス株式会社 情報処理装置、情報処理システム、プログラム
CN106776538A (zh) * 2016-11-23 2017-05-31 国网福建省电力有限公司 企业非标准格式文档的信息提取方法
EP3617691A4 (en) * 2017-04-24 2020-05-13 Sony Corporation INFORMATION PROCESSING DEVICE, PARTICLE FRACTIONATION SYSTEM, PROGRAM AND PARTICLE FRACTIONATION METHOD
CN111966932A (zh) * 2019-05-20 2020-11-20 富士通株式会社 信息处理方法和信息处理设备
WO2021019773A1 (ja) * 2019-08-01 2021-02-04 日本電信電話株式会社 構造化文書処理学習装置、構造化文書処理装置、構造化文書処理学習方法、構造化文書処理方法及びプログラム
WO2021019772A1 (ja) * 2019-08-01 2021-02-04 日本電信電話株式会社 構造化文書処理装置、構造化文書処理方法及びプログラム
CN112148298A (zh) * 2020-09-11 2020-12-29 杭州安恒信息技术股份有限公司 Html数据解析方法、装置、计算机设备和存储介质
CN115862882B (zh) * 2022-12-02 2024-02-13 北京百度网讯科技有限公司 一种数据抽取方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3880504B2 (ja) * 2002-10-28 2007-02-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造化・階層化コンテンツ用処理装置、構造化・階層化コンテンツ用処理方法、及びプログラム
JP3781005B2 (ja) * 2002-12-12 2006-05-31 セイコーエプソン株式会社 文書抽出装置及び文書抽出プログラム並びに文書抽出方法
US7284006B2 (en) * 2003-11-14 2007-10-16 Microsoft Corporation Method and apparatus for browsing document content
US8768911B2 (en) * 2005-06-15 2014-07-01 Geronimo Development System and method for indexing and displaying document text that has been subsequently quoted
CN100461183C (zh) * 2007-07-10 2009-02-11 北京大学 网络搜索中基于多种规则的元数据自动抽取方法
CN101344889B (zh) * 2008-07-31 2011-04-13 中国农业大学 一种网络信息抽取的方法和系统
US9195739B2 (en) * 2009-02-20 2015-11-24 Microsoft Technology Licensing, Llc Identifying a discussion topic based on user interest information

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003670A (ja) * 2011-06-13 2013-01-07 Yahoo Japan Corp 検索サーバ及び方法
WO2013038519A1 (ja) * 2011-09-14 2013-03-21 株式会社マイニングブラウニー ウェブページ解析装置およびウェブページ解析用プログラム
JP2014071644A (ja) * 2012-09-28 2014-04-21 Ntt Docomo Inc 情報処理装置
WO2016075829A1 (ja) * 2014-11-14 2016-05-19 富士通株式会社 データ取得プログラム、データ取得方法及びデータ取得装置
JPWO2016075829A1 (ja) * 2014-11-14 2017-08-17 富士通株式会社 データ取得プログラム、データ取得方法及びデータ取得装置
US10769216B2 (en) 2014-11-14 2020-09-08 Fujitsu Limited Data acquisition method, data acquisition apparatus, and recording medium
WO2018056299A1 (ja) * 2016-09-26 2018-03-29 日本電気株式会社 情報収集システム、情報収集方法、及び、記録媒体
US11308091B2 (en) 2016-09-26 2022-04-19 Nec Corporation Information collection system, information collection method, and recording medium

Also Published As

Publication number Publication date
CN102054024A (zh) 2011-05-11
CN102054024B (zh) 2013-07-24
US20110113046A1 (en) 2011-05-12

Similar Documents

Publication Publication Date Title
JP2011100403A (ja) 情報処理装置、情報抽出方法、プログラム及び情報処理システム
CA2832909C (en) System and method for matching comment data to text data
US7788262B1 (en) Method and system for creating context based summary
US20140244692A1 (en) Converting xml to json with configurable output
US8874590B2 (en) Apparatus and method for supporting keyword input
US11093469B2 (en) Holistic document search
KR20100068532A (ko) 문서 데이터의 키워드 추출 및 연관어 네트워크 구성 장치 및 방법
CN102955848A (zh) 一种基于语义的三维模型检索系统和方法
CN108319583B (zh) 从中文语料库提取知识的方法与系统
Milicka et al. Information extraction from web sources based on multi-aspect content analysis
US8584007B2 (en) Information processing method, information processing apparatus, and program
KR101069278B1 (ko) 청구항 시각화 장치 및 방법
JP2020144846A (ja) ウェブページサーチ方法及びコンピュータ可読記憶媒体
JP2008077252A (ja) 文書ランキング方法、文書検索方法、文書ランキング装置、文書検索装置、及び記録媒体
WO2014049310A2 (en) Method and apparatuses for interactive searching of electronic documents
JP2014191777A (ja) 語義解析装置、及びプログラム
US10579660B2 (en) System and method for augmenting search results
JP2006139484A (ja) 情報検索方法及びそのシステム並びにコンピュータプログラム
JP2005011301A (ja) 文書処理装置及び文書処理プログラム
KR102280028B1 (ko) 빅데이터와 인공지능을 이용한 챗봇 기반 콘텐츠 관리 방법 및 장치
JP5843235B2 (ja) Web情報処理装置、web情報処理方法、およびプログラム
JP2004030021A (ja) 文書処理装置および方法
JP2017021412A (ja) 関係抽出装置、知識処理装置およびプログラム
JP4932227B2 (ja) 情報抽出方法
JP2024008018A (ja) タグ付与支援装置、プログラム及びコンテンツ検索装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130205