JP2013218627A - 構造化文書からの情報抽出方法、装置、及びプログラム - Google Patents

構造化文書からの情報抽出方法、装置、及びプログラム Download PDF

Info

Publication number
JP2013218627A
JP2013218627A JP2012090840A JP2012090840A JP2013218627A JP 2013218627 A JP2013218627 A JP 2013218627A JP 2012090840 A JP2012090840 A JP 2012090840A JP 2012090840 A JP2012090840 A JP 2012090840A JP 2013218627 A JP2013218627 A JP 2013218627A
Authority
JP
Japan
Prior art keywords
element node
node
identifier
node identifier
specified
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.)
Pending
Application number
JP2012090840A
Other languages
English (en)
Inventor
Masashi Uchiyama
匡 内山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012090840A priority Critical patent/JP2013218627A/ja
Publication of JP2013218627A publication Critical patent/JP2013218627A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

【課題】様々な構造の文書を抽出対象文書とする場合でも、指定部分を精度良く抽出する。
【解決手段】単一要素ノード識別子生成部14が、ツリー構造に変換された参照文書について、指定された要素ノードからツリー構造のルートノードまでの各要素ノードについて、要素ノード名、属性ノード名とその属性ノードの値、及び要素ノードをルートノードとするサブツリーに含まれるテキストノードの値の組み合わせを生成し、その組み合わせとツリー構造の同一階層におけるその組み合わせの順番を示す数値索引を生成し、要素ノード識別子生成部16が、組み合わせと数値索引との組を、ルートノードから指定された要素ノードまで連鎖させた文字列を、指定された要素ノードの要素ノード識別子として生成する。
【選択図】図5

Description

本発明は、構造化文書からの情報抽出方法、装置、及びプログラムに係り、特に、HTML等の構造化文書から、事前に所望の部分を指定し、類似した構造を有する別の構造化文書から、指定した部分を特定して抽出する構造化文書からの情報抽出方法、装置、及びプログラムに関する。
ウェブ検索システム等において、ECサイト等におけるHTML等の構造化文書の集合から、商品名や価格等の商品情報が記載されている部分を特定し、抽出して索引化することで、的確な検索結果を表示したいというニーズがある。
また、日々更新されるHTML等の構造化文書から、一部分だけを指定したいというニーズがある。例えば、ユーザが毎日見るウェブサイトから注目部分だけを集めて、スクラップすることで、必要な情報だけを容易に一覧することができる。また、そのスクラップされた部分の情報源が日々更新される場合、更新された文書から指定した部分を再度スクラップすることで、常に最新の情報を一覧できる。
このようなニーズに応えるために、HTMLタグと書式属性との組み合わせによって、構造化文書から必要な部分を特定する方法が提案されている(例えば、特許文献1参照)。
特開2004−38263号公報
しかしながら、参照文書を用いて、HTMLタグと書式属性との組み合わせとして事前に指定した部分を、参照文書と類似した構造を有する抽出対象文書において正しく特定できない場合がある。以下に具体例を挙げて説明する。
図1に参照文書とする構造化文書の例を示す。図1は構造化文書の記述言語として一般的なHTMLを用いて記述した例である。DIVノードにはこのノードが文書中で特別な意味を持つノードであることを意味するid属性が、ULノードにはこのノードのレイアウトを指示するclass属性が記述されている。
図2は、図1の構造化文書をツリー構造に変換したものである。DIVノード及びULノードにはそれぞれid属性、class属性に対応する属性ノードが属しており、これを#attributeとして図示した。DIVノードに属する属性ノードのノード名は“id”であり、ノード値は“list”である。また、ULノードに属する属性ノードのノード名は“class”であり、ノード値は“normal”である。また、4つあるSPANノード及び同じく4つあるBノードにはテキストノードが属しており、これを#textとして図示した。1番目のSPANノードに属するテキストノードのノード値は“電電一郎”、1番目のBノードに属するテキストノードのノード値は“氏名:”である。
構造化文書における要素ノードを指定する方式としてXPathが用いられる(参考文献1:"XPath and XPointer" John E. Simpson, O'Reilly & Associates, Inc. USA, Aug., 2002.)。図1の氏名、都道府県、市区町村、郵便番号の各値(電電一郎、神奈川県、横須賀市、239−0847)に対応するXPathは様々な記述が可能だが、特許文献1の方式をXPathを用いて表記すれば以下のようになる。
氏名:/html[1]/body[1]/div[@id='list'][1]/ul[@class='normal'[1]/li[1]/span[1]
都道府県:/html[1]/body[1]/div[@id='list'][1]/ul[@class='normal'[1]/li[1]/span[2]
市区町村:/html[1]/body[1]/div[@id='list'][1]/ul[@class='normal'[1]/li[1]/span[3]
郵便番号:/html[1]/body[1]/div[@id='list'][1]/ul[@class='normal'[1]/li[1]/span[4]
上記のXPathを、抽出対象文書である図3の構造化文書へ適用すると、氏名、都道府県、市区町村、郵便番号として以下の各値が抽出される。
氏名:電電二郎
都道府県:180−8585
市区町村:東京都
郵便番号:武蔵野市
この例では、図1では4行目にあった郵便番号の行が、図3では2行目にあるために、1行目の氏名以外については、正しい値が抽出されない。
同じように、上記のXPathを、抽出対象文書である図4の構造化文書へ適用すると、氏名、都道府県、市区町村、郵便番号として以下の各値が抽出される。
氏名:電電三郎
都道府県:日本電信電話株式会社
市区町村:180−8585
郵便番号:東京都
この例では、図4の2行目に会社名の行が挿入されたために、1行目の氏名以外については、正しい値が抽出されない。
これらの例から分かるように、予め指定した部分を抽出しようとすると、抽出対象文書において、氏名、都道府県、市区町村、郵便番号がこの順番で記述されている必要がある。このように、従来技術が適用可能な抽出対象文書の構造には、強い制約があり、様々な構造の文書を抽出対象文書とする場合には、指定部分の抽出精度が低下する、という問題がある。
本発明は、上記問題点に鑑みて成されたものであり、様々な構造の文書を抽出対象文書とする場合でも、指定部分を精度良く抽出することができる構造化文書からの情報抽出方法、装置、及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明の構造化文書からの情報抽出方法は、部分指定手段と、抽出手段とを含む構造化文書からの情報抽出装置における構造化文書からの情報抽出方法であって、前記部分指定手段が、ツリー構造の参照文書について、指定部分に対応する要素ノードから前記ツリー構造のルートノードまでの各要素ノードについて、該要素ノードの要素ノード名、該要素ノードに属する属性ノードの属性ノード名と該属性ノードの値、及び該要素ノードをルートノードとするサブツリーに含まれるテキストノードの値の組み合わせから単一要素ノード識別子を生成し、前記単一要素ノード識別子と前記ツリー構造の同一階層における該単一要素ノード識別子の順番を示す数値索引を生成し、前記単一要素ノード識別子と前記数値索引との組を、前記ツリー構造のルートノードから前記指定部分に対応する要素ノードまで連鎖させた文字列を、前記指定部分に対応する要素ノードの要素ノード識別子として生成し、生成した要素ノード識別子に、前記指定部分を識別するための指定部分IDを対応付け、前記抽出手段が、ツリー構造の抽出対象文書から、指定部分を示す指定部分IDに対応付けられた要素ノード識別子と同一の要素ノード識別子を持つ要素ノードを特定し、特定した要素ノードに対応する前記抽出対象文書の部分を抽出する方法である。
これにより、要素ノードの要素ノード名、要素ノードに属する属性ノードの属性ノード名とその属性ノードの値が一部不定である場合でも、当該要素ノードに含まれるテキストノードの値を手掛かりとして指定部分を抽出することができるため、様々な構造の文書を抽出対象文書とする場合でも、指定部分を精度良く抽出することができる。
また、前記部分指定手段は、複数の参照文書に基づいて生成された複数の要素ノード識別子について、各要素ノード識別子を構成する単一要素ノード識別子を比較し、共通しない前記要素ノード名、前記属性ノード名と該属性ノードの値、及び前記テキストノードの値を、前記単一要素ノード識別子と組の数値索引と共に除外して、前記要素ノード識別子を生成することができる。これにより、複数の参照文書においてそれぞれ指定した部分から、必要な部分を指示する手掛かりのみを用いて、要素ノード識別子を記述することが可能となる。
また、前記部分指定手段は、各要素ノードについて前記単一要素ノード識別子を生成する際に、該要素ノードをルートノードとするサブツリーに含まれるテキストノードの値から、該要素ノードの直下にないテキストノードの値を除外することができる。これにより、指定部分の抽出精度を低下させずに、要素ノード識別子を短い文字列で記述することが可能となる。
また、前記部分指定手段は、要素ノード識別子を構成する単一要素ノード識別子をリーフから順に1つずつ追加して連結することにより生成される識別子であって、該要素ノード識別子を用いて特定される指定部分と同じ部分を特定する識別子のうち、最も短い識別子を縮約された要素ノード識別子として生成することができる。これにより、指定部分の抽出精度を低下させずに、要素ノード識別子を短い文字列で記述することが可能となる。
また、本発明の構造化文書からの情報抽出装置は、ツリー構造の参照文書について、指定部分に対応する要素ノードから前記ツリー構造のルートノードまでの各要素ノードについて、該要素ノードの要素ノード名、該要素ノードに属する属性ノードの属性ノード名と該属性ノードの値、及び該要素ノードをルートノードとするサブツリーに含まれるテキストノードの値の組み合わせから単一要素ノード識別子を生成し、前記単一要素ノード識別子と前記ツリー構造の同一階層における該単一要素ノード識別子の順番を示す数値索引を生成し、前記単一要素ノード識別子と前記数値索引との組を、前記ツリー構造のルートノードから前記指定部分に対応する要素ノードまで連鎖させた文字列を、前記指定部分に対応する要素ノードの要素ノード識別子として生成し、生成した要素ノード識別子に、前記指定部分を識別するための指定部分IDを対応付ける部分指定手段と、ツリー構造の抽出対象文書から、指定部分を示す指定部分IDに対応付けられた要素ノード識別子と同一の要素ノード識別子を持つ要素ノードを特定し、特定した要素ノードに対応する前記抽出対象文書の部分を抽出する抽出手段と、を含んで構成することができる。
また、本発明の構造化文書からの情報抽出プログラムは、コンピュータに、上記の構造化文書からの情報抽出方法の各手順を実行させるためのプログラムである。
以上説明したように、本発明の構造化文書からの情報抽出方法、装置、及びプログラムによれば、要素ノードの要素ノード名、要素ノードに属する属性ノードの属性ノード名とその属性ノードの値が一部不定である場合でも、当該要素ノードに含まれるテキストノードの値を手掛かりとして指定部分を抽出することができるため、様々な構造の文書を抽出対象文書とする場合でも、指定部分を精度良く抽出することができる、という効果が得られる。
構造化文書の一例を示す図である。 構造化文書をツリー構造に変換した一例を示す図である。 構造化文書の他の例を示す図である。 構造化文書の他の例を示す図である。 本発明の実施の形態の構造化文書からの情報抽出装置の機能的構成を示すブロック図である。 本発明の実施の形態の情報抽出装置における部分指定処理の流れを示すフローチャートである。 二つの要素ノード識別子の比較を説明するための図である。 要素ノード識別子の縮約を説明するための図である。 本発明の実施の形態の情報抽出装置における抽出処理の流れを示すフローチャートである。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<装置構成>
本発明の実施の形態に係る構造化文書からの情報抽出装置10(以下、単に「情報抽出装置10」ともいう)は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する部分指定処理及び抽出処理を含む構造化文書からの情報抽出処理ルーチンを実行するためのプログラムを記憶したROM(Read Only Memory)とを備えたコンピュータで構成されている。このコンピュータは、機能的には、図1に示すように、参照文書入力部11と、ツリー変換部12と、部分指定部14と、抽出対象文書入力部18と、抽出部19と、抽出結果出力部20とを含んだ構成で表すことができる。
参照文書入力部11は、情報抽出装置10にHTMLファイルとして入力された構造化文書である参照文書を受け付け、ツリー変換部12へ受け渡す。
抽出対象文書入力部18は、情報抽出装置10にHTMLファイルとして入力された構造化文書である抽出対象文書、及び後述する指定部分IDを含む抽出要求を受け付け、ツリー変換部12へ受け渡す。
ツリー変換部12は、入力された参照文書または抽出対象文書の文書構造を解析し、ツリー構造を有するデータに変換する。ツリー構造に変換された参照文書は、抽出ノード指定部13へ受け渡され、ツリー構造に変換された抽出対象文書は、抽出部19に受け渡される。
抽出ノード指定部13は、要素ノード識別子を生成すべき要素ノードの指定を受け付ける。要素ノードの指定は、例えば、ユーザが図示しないマウスやキーボード等の入力装置を用いて、抽出したい部分として参照文書において指定する部分(以下、「指定部分」という)に対応する要素ノードを指定することにより行う。
部分指定部14は、さらに、単一要素ノード識別子生成部15と、要素ノード識別子生成部16と、要素ノード識別子縮約部17とを含んだ構成で表すことができる。
単一要素ノード識別子生成部15は、ツリー構造に変換された参照文書において、指定された要素ノードを起点として、指定された要素ノードからツリー構造のルートノードまでの各要素ノードについて、要素ノードの要素ノード名、要素ノードに属する属性ノードの属性ノード名と属性ノードの値、及び要素ノードをルートノードとするサブツリーに含まれるテキストノードの値を抽出し、これらの組み合わせを生成する。また、単一要素ノード識別子生成部15は、上記の組み合わせとツリー構造の同一階層におけるその組み合わせの順番を示す数値索引を生成し、上記の組み合わせとその数値索引とを組にした単一要素ノード識別子を生成する。
さらに、単一要素ノード識別子生成部15は、単一要素ノード識別子の生成過程において、抽出されたテキストノードの値をテキストノード値記憶部21に記憶し、これを参照することにより、後述する新たなテキストノード値についてのみ、単一要素ノード識別子として追加する。
要素ノード識別子生成部16は、参照文書を表すツリーのルートノードから指定された要素ノードまでの各要素ノードについて、単一要素ノード識別子生成部15で生成された単一要素ノード識別子を連鎖させた文字列を、指定された要素ノードについての要素ノード識別子として生成する。
要素ノード識別子縮約部17は、複数の参照文書に基づいて生成された複数の要素ノード識別子について、各要素ノード識別子を構成する単一要素ノード識別子を比較し、共通しない要素ノード名、属性ノード名と属性ノードの値、及びテキストノードの値を、単一要素ノード識別子と組の数値索引と共に除外して、要素ノード識別子を縮約する。
また、要素ノード識別子縮約部17は、要素ノード識別子を構成する単一要素ノード識別子をリーフから順に1つずつ追加して連結することにより生成される縮約識別子であって、要素ノード識別子を用いて特定される指定部分と同じ部分を特定する縮約識別子のうち、最も短い縮約識別子を縮約された要素ノード識別子として生成する。
さらに、要素ノード識別子縮約部17は、生成及び縮約した要素ノード識別子を、指定部分を識別するための指定部分IDと対応付けて、要素ノード識別子記憶部22に記憶する。
抽出部19は、要素ノード識別子記憶部22から、指定部分を示す指定部分IDに対応付けられた要素ノード識別子を取得し、ツリー構造に変換された抽出対象文書において、取得した要素ノード識別子と同一の要素ノード識別子を持つ要素ノードを特定し、特定した要素ノードに含まれるテキストノードの値を抽出する。
抽出結果出力部20は、抽出部19により抽出されたテキストノードの値を、抽出結果として出力する。
<情報抽出装置の作用>
次に、本実施の形態に係る情報抽出装置10の作用について説明する。本装置に参照文書が入力されると、図6に示す部分指定処理を実行する。また、本装置に抽出対象文書及び抽出要求が入力されると、図9に示す抽出処理を実行する。以下、各処理について詳述する。
まず、部分指定処理(図6)について説明する。ここでは、図1及び図2に示すHTMLファイルを参照文書とする場合について説明する。
ステップ100で、参照文書入力部11が、入力された参照文書であるHTMLファイルを受け付ける。ここでは、図1に示すHTMLファイルを受け付けたものとする。次に、ステップ102で、ツリー変換部12が、上記ステップ100で受け付けた参照文書の文書構造を解析し、ツリー構造を有するデータに変換する。ここでは、前述のように、図2に示すようなツリー構造に変換される。
次に、ステップ104で、抽出ノード指定部13が、要素ノード識別子を生成すべき要素ノードの指定を受け付ける。ここでは、都道府県の値を指定部分として、この指定部分に対応する要素ノードであるSPANノードが指定されるものとする。
次に、ステップ106で、上記ステップ104で指定された要素ノードを処理要素ノードに設定し、以下のステップ108〜112の処理で、処理要素ノードについての単一要素ノード識別子を生成する。
詳細には、ステップ108で、単一要素ノード識別子生成部15が、処理要素ノード(ここでは、指定された要素ノード)のノード名を抽出する。ここでは、“SPAN”が抽出される。また、単一要素ノード識別子生成部15が、処理要素ノードの属性ノード名とその値を抽出する。ここでは、処理要素ノードに属する属性ノードは存在しないため、該当するノード名及び値は抽出されない。また、単一要素ノード識別子生成部15が、処理要素ノードをルートノードとするサブツリーに含まれるテキストノードの値を抽出する。ここでは、“神奈川県”が抽出される。
次に、ステップ110で、単一要素ノード識別子生成部15が、上記ステップ108で抽出した要素ノード名、属性ノード名と値、テキストノードの値の組み合わせが、ツリーの同一階層において、何番目に出現するかを判定し、数値索引とする。ここでは、“SPAN”と“神奈川県”との組み合わせはただ一つなので、数値索引は“1”となる。
次に、ステップ112で、単一要素ノード識別子生成部15が、上記ステップ108で抽出した組み合わせと、上記ステップ110で生成した数値索引とを連結して、処理要素ノードの単一要素ノード識別子を生成する。XPathを用いて、ここで生成された単一要素ノード識別子を記述すると、
/span[contains(.,'神奈川県')][1]
となる。
次に、ステップ114で、現在の処理要素ノードが、上記ステップ102で変換された参照文書のツリー構造のルートノードか否かを判定する。処理要素ノードがルートノードではない場合には、ステップ116へ移行し、ルートノードの場合には、ステップ118へ移行する。ここでは、処理要素ノードはツリー構造のルートノードではないため、ステップ116へ移行し、現在の処理要素ノードの親ノードを処理要素ノードに設定して、ステップ108へ戻る。ここでは、LIノードが処理要素ノードに設定される。
LIノードを処理要素ノードとして、上記ステップ108〜112と同様の処理により単一要素ノード識別子を生成する。この場合、処理要素ノードをルートノードとするサブツリーに含まれるテキストノードは二つあり、その値は“都道府県”及び“神奈川県”である。繰り返し処理における本ステップでは、テキストノードの新しい値のみを抽出する。この例では、“神奈川県”は、現在の処理要素ノードの子ノードであるSPANノードを処理要素ノードとして処理した1つ前のステップ108において、既に抽出済みの値であるので、ここでは“都道府県”のみが抽出される。ここで生成された単一要素ノード識別子は、
/li[contains(.,'都道府県')][1]
となる。
さらに、ステップ114で処理要素ノードがツリー構造のルートノードであると判定されるまで、上記ステップ108〜116の処理を繰り返すことで、以下の単一要素ノード識別子が順に生成される。
/ul[contains(@class,'normal')][contains(.,'239-0847')][contains(.,'市区町村:')][contains(.,'横須賀市')][contains(.,'氏名:')][contains(.,'郵便番号:')][contains(.,'電電一郎')][1]
/div[@id='list'][1]
/body[1]
/html[1]
次に、ステップ118で、要素ノード識別子生成部16が、上記ステップ112で生成された単一要素ノード識別子をツリー構造のルートノードから順に連鎖させた文字列を、上記ステップ104で指定した要素ノードに対する要素ノード識別子として生成する。ここでは、下記(1)式に示す要素ノード識別子が生成される。
/html[1]/body[1]/div[@id='list'][1]/ul[contains(@class,'normal')][contains(.,'239-0847')][contains(.,'市区町村:')][contains(.,'横須賀市')][contains(.,'氏名:')][contains(.,'郵便番号:')][contains(.,'電電一郎')][1]/li[contains(.,'都道府県:')][1]/span[contains(.,'神奈川県')][1] ・・・(1)
次に、ステップ120で、次の参照文書が入力されたか否かを判定し、入力された場合には、ステップ100へ戻り、入力されていない場合には、ステップ122へ移行する。ここでは、図3のHTMLファイルが入力されたものとして、ステップ100へ戻る。図1のHTMLファイルを用いて都道府県の値を指定した場合と同様に、上記ステップ100〜118の処理を行うことで、下記(2)式に示す要素ノード識別子が生成される。
/html[1]/body[1]/div[@id='list'][1]/ul[contains(@class,'normal')][contains(.,'市区町村:')][contains(.,'武蔵野市')][contains(.,'氏名:')][contains(.,'郵便番号:')][contains(.,'電電二郎')][contains(.,'180-8585')][1]/li[contains(.,'都道府県:')][1]/span[contains(.,'東京都')][1] ・・・(2)
次に、ステップ122で、要素ノード識別子縮約部17が、ここまでで得られた二つの要素ノード識別子を比較し、要素ノード識別子間で共通しない要素ノード名、属性ノード名とその値、テキストノードの値を除外する。単一要素ノード識別子の一部が変更された場合、出現順が変わる可能性があるため数値索引も合わせて除外する。二つの要素ノード識別子であるXPathにおいて、共通しない部分に取り消し線を付し、図7に示す。これより、下記(3)式の要素ノード識別子を得ることができる。
/html[1]/body[1]/div[@id='list'][1]/ul[contains(@class,'normal')][contains(.,'市区町村:')][contains(.,'氏名:')][contains(.,'郵便番号:')]/li[contains(.,'都道府県:')][1]/SPAN ・・・(3)
次に、ステップ124で、要素ノード識別子縮約部17が、図8に示すように、要素ノード識別子を構成する単一要素ノード識別子をリーフから順に1つずつ追加して連結することにより複数の縮約識別子を生成する。ここで、先頭がルートノードで始まらない識別子については、XPathの書式に則って先頭を“//”とした。
図8(a)の縮約識別子は、図3に示すHTMLファイルから、“電電二郎”、“180−8585”、“東京都”、“武蔵野市”の4つの値を抽出する。図8(b)〜(e)の縮約識別子はいずれも“東京都”を抽出する。元の要素ノード識別子((3)式)は“東京都”を抽出するものであるので、同じ“東京都”を抽出する縮約識別子(b)〜(e)のうち、最も短い(b)、すなわち
//li[contains(.,'都道府県:')][1]/SPAN
を(3)式に示す要素ノード識別子を縮約した要素ノード識別子として採用し、指定部分(都道府県の値)を示す指定部分IDと対応付けて、要素ノード識別子記憶部22に保存して、部分指定処理を終了する。
次に、抽出処理(図9)について説明する。ここでは、図4に示すHTML文書を抽出対象文書とする場合について説明する。
ステップ130で、抽出対象文書入力部18が、入力された抽出対象文書であるHTMLファイル、及び指定部分IDを含む抽出要求を受け付ける。次に、ステップ132で、ツリー変換部12が、上記ステップ130で受け付けた抽出対象文書の文書構造を解析し、ツリー構造を有するデータに変換する。
次に、ステップ134で、抽出部19が、要素ノード識別子記憶部22から、上記ステップ130で受け付けた抽出要求に含まれる指定部分IDに対応付けられた要素ノード識別子を取得する。ここでは、上記部分指定処理で要素ノード識別子記憶部22に保存された図8(b)の要素ノード識別子が取得されるものとする。
次に、ステップ136で、抽出部19が、上記ステップ132でツリー構造に変換された抽出対象文書において、上記ステップ134で取得した要素ノード識別子と同一の要素ノード識別子を持つ要素ノードを特定する。
次に、ステップ138で、抽出部19が、特定した要素ノードに含まれるテキストノードの値を抽出する。ここでは、“東京都”が抽出される。そして、抽出結果出力部20が、抽出したテキストノードの値を抽出結果として出力し、抽出処理を終了する。
このように、要素ノードをルートノードとするサブツリーに含まれるテキストノードの値も用いた要素ノード識別子を用いることで、図1及び図3に示すように行の順番が異なるHTMLファイルや、図4に示すように“会社名”の行が追加されたHTMLファイルからも、適切な値を抽出することができる。
また、適切に値を抽出できない場合は、抽出対象文書を新たな参照文書として、再度要素ノード識別子を生成することでより良い結果を得ることができる。
要素ノード識別子をXPathで記述することによって、部分特定部14は既存技術であるXSLT(参考文献2:"XSLT, Second Edition" Doug Tidwell, O’Reilly & Associates, Inc. USA, Jun., 2008.)にしたがって実施することができる。
以上説明したように、本実施の形態に係る情報抽出装置によれば、参照文書を用いて構造化文書の任意の部分を事前に指定し、抽出対象文書において指定部分を特定するために、構造化文書をツリー構造に変換し、指定部分に対応する要素ノードの識別子を生成する段階において、各要素ノードをルートノードとするサブツリーに含まれるテキストノードの値を含めて単一要素ノード識別子を生成することにより、要素ノードに対応する要素ノード名、要素ノードに属する属性ノード名とその値が一部不定である場合でも、要素ノードに含まれるテキストノードの値を手掛かりとして、指定部分の抽出精度の低下を防止することができる。
また、複数の参照文書に基づいて生成された複数の要素ノード識別子について、各要素ノード識別子を構成する単一要素ノード識別子を比較し、共通しない要素ノード名、属性ノード名とその属性ノードの値、及びテキストノードの値を、単一要素ノード識別子と組の数値索引と共に除外することで、複数の参照文書においてそれぞれ指定した部分から、必要な部分を指示する手掛かりのみを用いて、要素ノード識別子を記述することが可能となる。
また、単一要素ノード識別子を生成する際に、各要素ノードをルートノードとするサブツリーに含まれるテキストノードの値から、該要素ノードの直下にないテキストノードの値を除外することにより、指定部分の抽出精度を低下させずに、要素ノード識別子を短い文字列で記述することが可能となる。
また、要素ノード識別子を構成する単一要素ノード識別子をリーフから順に1つずつ追加して連結することにより生成される識別子であって、要素ノード識別子を用いて特定される指定部分と同じ部分を特定する識別子のうち、最も短い識別子を縮約された要素ノード識別子として生成することにより、指定部分の抽出精度を低下させずに、要素ノード識別子を短い文字列で記述することが可能となる。
本発明は、上記実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上述の情報抽出装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
10 構造化文書からの情報抽出装置
11 参照文書入力部
12 ツリー変換部
13 抽出ノード指定部
14 部分指定部
15 単一要素ノード識別子生成部
16 要素ノード識別子生成部
17 要素ノード識別子縮約部
18 抽出対象文書入力部
19 抽出部
20 抽出結果出力部
21 テキストノード値記憶部
22 要素ノード識別子記憶部

Claims (6)

  1. 部分指定手段と、抽出手段とを含む構造化文書からの情報抽出装置における構造化文書からの情報抽出方法であって、
    前記部分指定手段が、
    ツリー構造の参照文書について、指定部分に対応する要素ノードから前記ツリー構造のルートノードまでの各要素ノードについて、該要素ノードの要素ノード名、該要素ノードに属する属性ノードの属性ノード名と該属性ノードの値、及び該要素ノードをルートノードとするサブツリーに含まれるテキストノードの値の組み合わせから単一要素ノード識別子を生成し、
    前記単一要素ノード識別子と前記ツリー構造の同一階層における該単一要素ノード識別子の順番を示す数値索引を生成し、
    前記単一要素ノード識別子と前記数値索引との組を、前記ツリー構造のルートノードから前記指定部分に対応する要素ノードまで連鎖させた文字列を、前記指定部分に対応する要素ノードの要素ノード識別子として生成し、
    生成した要素ノード識別子に、前記指定部分を識別するための指定部分IDを対応付け、
    前記抽出手段が、
    ツリー構造の抽出対象文書から、指定部分を示す指定部分IDに対応付けられた要素ノード識別子と同一の要素ノード識別子を持つ要素ノードを特定し、特定した要素ノードに対応する前記抽出対象文書の部分を抽出する
    構造化文書からの情報抽出方法。
  2. 前記部分指定手段は、複数の参照文書に基づいて生成された複数の要素ノード識別子について、各要素ノード識別子を構成する単一要素ノード識別子を比較し、共通しない前記要素ノード名、前記属性ノード名と該属性ノードの値、及び前記テキストノードの値を、前記単一要素ノード識別子と組の数値索引と共に除外して、前記要素ノード識別子を生成する請求項1記載の構造化文書からの情報抽出方法。
  3. 前記部分指定手段は、各要素ノードについて前記単一要素ノード識別子を生成する際に、該要素ノードをルートノードとするサブツリーに含まれるテキストノードの値から、該要素ノードの直下にないテキストノードの値を除外する請求項1または請求項2記載の構造化文書からの情報抽出方法。
  4. 前記部分指定手段は、要素ノード識別子を構成する単一要素ノード識別子をリーフから順に1つずつ追加して連結することにより生成される識別子であって、該要素ノード識別子を用いて特定される指定部分と同じ部分を特定する識別子のうち、最も短い識別子を縮約された要素ノード識別子として生成する請求項1〜請求項3のいずれか1項記載の構造化文書からの情報抽出方法。
  5. ツリー構造の参照文書について、指定部分に対応する要素ノードから前記ツリー構造のルートノードまでの各要素ノードについて、該要素ノードの要素ノード名、該要素ノードに属する属性ノードの属性ノード名と該属性ノードの値、及び該要素ノードをルートノードとするサブツリーに含まれるテキストノードの値の組み合わせから単一要素ノード識別子を生成し、前記単一要素ノード識別子と前記ツリー構造の同一階層における該単一要素ノード識別子の順番を示す数値索引を生成し、前記単一要素ノード識別子と前記数値索引との組を、前記ツリー構造のルートノードから前記指定部分に対応する要素ノードまで連鎖させた文字列を、前記指定部分に対応する要素ノードの要素ノード識別子として生成し、生成した要素ノード識別子に、前記指定部分を識別するための指定部分IDを対応付ける部分指定手段と、
    ツリー構造の抽出対象文書から、指定部分を示す指定部分IDに対応付けられた要素ノード識別子と同一の要素ノード識別子を持つ要素ノードを特定し、特定した要素ノードに対応する前記抽出対象文書の部分を抽出する抽出手段と、
    を含む構造化文書からの情報抽出装置。
  6. コンピュータに、請求項1〜請求項4のいずれか1項記載の構造化文書からの情報抽出方法の各手順を実行させるための構造化文書からの情報抽出プログラム。
JP2012090840A 2012-04-12 2012-04-12 構造化文書からの情報抽出方法、装置、及びプログラム Pending JP2013218627A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012090840A JP2013218627A (ja) 2012-04-12 2012-04-12 構造化文書からの情報抽出方法、装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012090840A JP2013218627A (ja) 2012-04-12 2012-04-12 構造化文書からの情報抽出方法、装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2013218627A true JP2013218627A (ja) 2013-10-24

Family

ID=49590620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012090840A Pending JP2013218627A (ja) 2012-04-12 2012-04-12 構造化文書からの情報抽出方法、装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP2013218627A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310446A (zh) * 2020-01-15 2020-06-19 中科鼎富(北京)科技发展有限公司 裁判文书的信息抽取方法及装置
US11170051B2 (en) 2017-08-30 2021-11-09 Fujitsu Limited Information processing device, information processing method, and dialog control system
JP2022020070A (ja) * 2021-03-05 2022-01-31 北京百度網訊科技有限公司 情報処理、情報推薦の方法および装置、電子デバイス及び記憶媒体

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318505A (ja) * 2003-04-16 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> 構造化文書の部分指定及び抽出方法及び構造化文書の部分指定装置及び構造化文書の抽出装置及び構造化文書の部分指定プログラム及び構造化文書の抽出プログラム
US20050034063A1 (en) * 2003-08-08 2005-02-10 Freedom Scientific, Inc. Document placemarker
US20050055355A1 (en) * 2003-09-05 2005-03-10 Oracle International Corporation Method and mechanism for efficient storage and query of XML documents based on paths
WO2009154241A1 (ja) * 2008-06-18 2009-12-23 日本電気株式会社 検索式生成システム、検索式生成方法、検索式生成用プログラム、及び記録媒体
WO2010147114A1 (ja) * 2009-06-15 2010-12-23 日本電気株式会社 検索式生成システム
WO2011108618A1 (ja) * 2010-03-01 2011-09-09 日本電気株式会社 検索式更新装置、検索式更新方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318505A (ja) * 2003-04-16 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> 構造化文書の部分指定及び抽出方法及び構造化文書の部分指定装置及び構造化文書の抽出装置及び構造化文書の部分指定プログラム及び構造化文書の抽出プログラム
US20050034063A1 (en) * 2003-08-08 2005-02-10 Freedom Scientific, Inc. Document placemarker
US20050055355A1 (en) * 2003-09-05 2005-03-10 Oracle International Corporation Method and mechanism for efficient storage and query of XML documents based on paths
WO2009154241A1 (ja) * 2008-06-18 2009-12-23 日本電気株式会社 検索式生成システム、検索式生成方法、検索式生成用プログラム、及び記録媒体
WO2010147114A1 (ja) * 2009-06-15 2010-12-23 日本電気株式会社 検索式生成システム
WO2011108618A1 (ja) * 2010-03-01 2011-09-09 日本電気株式会社 検索式更新装置、検索式更新方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11170051B2 (en) 2017-08-30 2021-11-09 Fujitsu Limited Information processing device, information processing method, and dialog control system
CN111310446A (zh) * 2020-01-15 2020-06-19 中科鼎富(北京)科技发展有限公司 裁判文书的信息抽取方法及装置
CN111310446B (zh) * 2020-01-15 2023-11-24 鼎富智能科技有限公司 裁判文书的信息抽取方法及装置
JP2022020070A (ja) * 2021-03-05 2022-01-31 北京百度網訊科技有限公司 情報処理、情報推薦の方法および装置、電子デバイス及び記憶媒体

Similar Documents

Publication Publication Date Title
JP6285943B2 (ja) 文字列変換の帰納的合成のための順位付け
US9639631B2 (en) Converting XML to JSON with configurable output
JP4878624B2 (ja) 文書処理装置および文書処理方法
JP5271808B2 (ja) 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法、および共通クエリグラフパターン生成用プログラム
JP2008090403A (ja) 文書検索装置、文書検索方法および文書検索プログラム
JP5185402B2 (ja) 文書検索装置、文書検索方法、及び文書検索プログラム
JP4247108B2 (ja) 構造化文書検索方法、構造化文書検索装置、及びプログラム
CN110020412B (zh) 一种生成imix标准报文的方法、装置及电子设备
CN108614808A (zh) Xml文档的排版方法及排版装置
JP2013218627A (ja) 構造化文書からの情報抽出方法、装置、及びプログラム
JP2010165272A (ja) 情報処理方法、情報処理装置、及びプログラム
JP2012059212A (ja) 抽出装置、抽出方法及び抽出プログラム
CN102708206B (zh) 一种数据格式的描述方法
JP2004348341A (ja) 構造化文書処理システム、構造化文書処理方法及びプログラム
JP6589317B2 (ja) 書換装置、処理方法とそのプログラム、および、情報処理装置
JP2008084128A (ja) 構造化文書の要素指定装置、要素指定方法及び要素指定プログラム
JP4904828B2 (ja) 情報分析知識管理装置、データ構造、情報分析装置、辞書生成方法およびプログラム
US10360243B2 (en) Storage medium, information presentation method, and information presentation apparatus
JP5068356B2 (ja) ブログ本文特定装置及びブログ本文特定方法
JP5903372B2 (ja) キーワード関連度スコア算出装置、キーワード関連度スコア算出方法、及びプログラム
Nenadić et al. Extending JSON-LD Framing Capabilities
JP5374456B2 (ja) 文書検索装置の動作方法およびこれをコンピュータに実行させるためのコンピュータプログラム
JP2008209996A (ja) 検索索引作成装置・検索索引作成方法及び検索索引作成プログラム
WO2017099059A1 (ja) 文書処理装置、方法および記憶媒体
JP6102444B2 (ja) 設計書管理プログラム、設計書管理方法および情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150324