(57)【特許請求の範囲】
【請求項１】
文書構造を有する入力文書から、汎用的な固有表現を抽出するとともに、抽出された汎用的な固有表現について予め定義されているカテゴリを示す意味分類名情報を得る第１の抽出手段と、
前記入力文書から、前記入力文書の意味役割を特徴付ける意味役割語を抽出するとともに、抽出された意味役割語について予め定義されているカテゴリを示す意味役割情報を得る第２の抽出手段と、
前記入力文書を解析して基本的な文書構造である木構造に関する情報を求める解析手段と、
前記入力文書から抽出された各々の汎用的な固有表現及び各々の意味役割語についてそれぞれ、当該汎用的な固有表現又は意味役割語のスコアを求めるとともに、当該汎用的な固有表現又は意味役割語が前記木構造において出現する形態が、予め定められた出現する形態（該出現する形態として、少なくとも、前記木構造において兄弟ノードの先頭に出現する形態、前記木構造においてテキストノード中に単独で出現する形態、及び前記木構造において見出しタグ中に出現する形態が予め定められている。）のいずれかに該当するものについては、当該汎用的な固有表現又は意味役割語のスコアを、当該形態に応じた方法で増加させる補正を行い、複数の文書タイプのそれぞれについて予め定義された、当該文書タイプを有する文書中に出現すると期待される汎用的な固有表現に対応する意味分類名情報及び当該文書タイプを有する文書中に出現すると期待される意味役割語に対応する意味役割情報が記載された文書モデルの各々を対象として、当該文書モデルに記載されている意味分類名情報及び意味役割情報と、前記入力文書から得られた前記意味分類名情報及び前記意味役割情報との間の類似度を、当該意味分類名情報に対応する汎用的な固有表現について求められた前記スコア及び当該意味役割情報に対応する意味役割語について求められた前記スコアの総和を計算することによって求め、各々の文書タイプに係る前記文書モデルについてそれぞれ求められた類似度に基づいて、前記入力文書の文書タイプを選択する選択手段と、
前記入力文書について選択された前記文書タイプに基づいて、前記入力文書の部分構造を検出する検出手段と、
前記文書タイプに対して予め定義されている意味タグを、前記入力文書から検出された前記部分構造に付与する付与手段とを備えたことを特徴とする文書処理装置。
【請求項２】
前記入力文書から抽出された汎用的な固有表現又は意味役割語が前記木構造において出現する形態には、当該汎用的な固有表現又は意味役割語が前記木構造において出現する階層深さが含まれ、
前記選択手段は、前記入力文書から抽出された汎用的な固有表現又は意味役割語について、当該汎用的な固有表現又は意味役割語に係る前記スコアを、当該汎用的な固有表現又は意味役割語が前記木構造において出現する階層深さに応じた方法で増加させる補正を行うことを特徴とする請求項１に記載の文書処理装置。
【請求項３】
文書構造を有する入力文書から、汎用的な固有表現を抽出するとともに、抽出された汎用的な固有表現について予め定義されているカテゴリを示す意味分類名情報を得る第１の抽出手段と、
前記入力文書から、前記入力文書の意味役割を特徴付ける意味役割語を抽出するとともに、抽出された意味役割語について予め定義されているカテゴリを示す意味役割情報を得る第２の抽出手段と、
前記入力文書を解析して基本的な文書構造である木構造に関する情報を求める解析手段と、
前記入力文書から抽出された各々の汎用的な固有表現及び各々の意味役割語についてそれぞれ、当該汎用的な固有表現又は意味役割語のスコアを求めるとともに、当該汎用的な固有表現又は意味役割語のスコアを、当該汎用的な固有表現又は意味役割語が前記木構造において出現する階層深さに応じた方法で増加させる補正を行い、複数の文書タイプのそれぞれについて予め定義された、当該文書タイプを有する文書中に出現すると期待される汎用的な固有表現に対応する意味分類名情報及び当該文書タイプを有する文書中に出現すると期待される意味役割語に対応する意味役割情報が記載された文書モデルの各々を対象として、当該文書モデルに記載されている意味分類名情報及び意味役割情報と、前記入力文書から得られた前記意味分類名情報及び前記意味役割情報との間の類似度を、当該意味分類名情報に対応する汎用的な固有表現について求められた前記スコア及び当該意味役割情報に対応する意味役割語について求められた前記スコアの総和を計算することによって求め、各々の文書タイプに係る前記文書モデルについてそれぞれ求められた類似度に基づいて、前記入力文書の文書タイプを選択する選択手段と、
前記入力文書について選択された前記文書タイプに基づいて、前記入力文書の部分構造を検出する検出手段と、
前記文書タイプに対して予め定義されている意味タグを、前記入力文書から検出された前記部分構造に付与する付与手段とを備えたことを特徴とする文書処理装置。
【請求項４】
前記選択手段は、前記スコアを求めるにあたって、前記入力文書中における当該汎用的な固有表現又は意味役割語の出現回数を、当該汎用的な固有表現又は意味役割語に係る前記スコアの初期値とすることを特徴とする請求項１ないし３のいずれか１項に記載の文書処理装置。
【請求項５】
前記検出手段は、選択された前記文書タイプについて予めルール定義されている宣言的な条件の記述を適用することにより、前記入力文書の大局的な構造が条件と適合することが確認された場合にのみ、さらに詳細な部分構造を検出する処理を行うことを特徴とする請求項１ないし３のいずれか１項に記載の文書処理装置。
【請求項６】
前記検出手段は、選択された前記文書タイプについて予めルール定義されている、前記詳細な部分構造の検出のための条件の記述である構造又は語の一致条件の指定に、確率的な指定記述を可能としたことを特徴とする請求項５に記載の文書処理装置。
【請求項７】
前記検出手段は、選択された前記文書タイプについて予めルール定義されている、前記詳細な部分構造の検出のための条件を適用する際に、前記入力文書に出現している部分構造の出現頻度、意味役割語の出現頻度、又は汎用固有表現抽出の出現頻度の統計情報の利用を可能としたことを特徴とする請求項５に記載の文書処理装置。
【請求項８】
前記大局的な構造の条件は、繰り返し出現する部分構造であり、
前記検出手段は、前記繰り返し出現する部分構造に繰り返して出現する同表記の文字列を特定し、これを前記詳細な部分構造の検出のための条件を適用する対象から除外することを特徴とする請求項６または７に記載の文書処理装置。
【請求項９】
前記検出手段は、前記入力文書の部分構造を検出する際に、繰り返し出現する部分構造を特定する手段と、繰り返しの部分構造に係るテキストノード数及び階層深さに基づき、繰り返しの部分構造の複雑さの順序付けを行なう手段と、最も複雑な部分構造を選択する手段とを含むことを特徴とする請求項１ないし３のいずれか１項に記載の文書処理装置。
【請求項１０】
前記付与手段は、前記検出手段により得られた検出結果に基づき、特定された部分構造を変数として変換後の構造を記述するルールに従い、未知語又はタグが未付与の箇所を含んだ部分構造へのタグ付与を行うことを特徴とする請求項１ないし３のいずれか１項に記載の文書処理装置。
【請求項１１】
求められた前記文書構造に関する情報と、抽出された前記汎用的な固有表現及び求められた前記意味分類名情報並びに抽出された前記意味役割語及び求められた前記意味役割情報とを関連付けて保持する保持手段を更に備えたことを特徴とする請求項１ないし１０のいずれか１項に記載の文書処理装置。
【請求項１２】
第１の抽出手段、第２の抽出手段、解析手段、選択手段、検出手段及び付与手段を備えた文書処理装置の文書処理方法であって、
前記第１の抽出手段が、文書構造を有する入力文書から、汎用的な固有表現を抽出するとともに、抽出された汎用的な固有表現について予め定義されているカテゴリを示す意味分類名情報を得るステップと、
前記第２の抽出手段が、前記入力文書から、前記入力文書の意味役割を特徴付ける意味役割語を抽出するとともに、抽出された意味役割語について予め定義されているカテゴリを示す意味役割情報を得るステップと、
前記解析手段が、前記入力文書を解析して基本的な文書構造である木構造に関する情報を求めるステップと、
前記選択手段が、前記入力文書から抽出された各々の汎用的な固有表現及び各々の意味役割語についてそれぞれ、当該汎用的な固有表現又は意味役割語のスコアを求めるとともに、当該汎用的な固有表現又は意味役割語が前記木構造において出現する形態が、予め定められた出現する形態（該出現する形態として、少なくとも、前記木構造において兄弟ノードの先頭に出現する形態、前記木構造においてテキストノード中に単独で出現する形態、及び前記木構造において見出しタグ中に出現する形態が予め定められている。）のいずれかに該当するものについては、当該汎用的な固有表現又は意味役割語のスコアを、当該形態に応じた方法で増加させる補正を行い、複数の文書タイプのそれぞれについて予め定義された、当該文書タイプを有する文書中に出現すると期待される汎用的な固有表現に対応する意味分類名情報及び当該文書タイプを有する文書中に出現すると期待される意味役割語に対応する意味役割情報が記載された文書モデルの各々を対象として、当該文書モデルに記載されている意味分類名情報及び意味役割情報と、前記入力文書から得られた前記意味分類名情報及び前記意味役割情報との間の類似度を、当該意味分類名情報に対応する汎用的な固有表現について求められた前記スコア及び当該意味役割情報に対応する意味役割語について求められた前記スコアの総和を計算することによって求め、各々の文書タイプに係る前記文書モデルについてそれぞれ求められた類似度に基づいて、前記入力文書の文書タイプを選択するステップと、
前記検出手段が、前記入力文書について選択された前記文書タイプに基づいて、前記入力文書の部分構造を検出するステップと、
前記付与手段が、前記文書タイプに対して予め定義されている意味タグを、前記入力文書から検出された前記部分構造に付与するステップとを有することを特徴とする文書処理方法。
【請求項１３】
前記入力文書から抽出された汎用的な固有表現又は意味役割語が前記木構造において出現する形態には、当該汎用的な固有表現又は意味役割語が前記木構造において出現する階層深さが含まれ、
前記選択手段は、前記入力文書から抽出された汎用的な固有表現又は意味役割語について、当該汎用的な固有表現又は意味役割語に係る前記スコアを、当該汎用的な固有表現又は意味役割語が前記木構造において出現する階層深さに応じた方法で増加させる補正を行うことを特徴とする請求項１２に記載の文書処理方法。
【請求項１４】
第１の抽出手段、第２の抽出手段、解析手段、選択手段、検出手段及び付与手段を備えた文書処理装置の文書処理方法であって、
前記第１の抽出手段が、文書構造を有する入力文書から、汎用的な固有表現を抽出するとともに、抽出された汎用的な固有表現について予め定義されているカテゴリを示す意味分類名情報を得るステップと、
前記第２の抽出手段が、前記入力文書から、前記入力文書の意味役割を特徴付ける意味役割語を抽出するとともに、抽出された意味役割語について予め定義されているカテゴリを示す意味役割情報を得るステップと、
前記解析手段が、前記入力文書を解析して基本的な文書構造である木構造に関する情報を求めるステップと、
前記選択手段が、前記入力文書から抽出された各々の汎用的な固有表現及び各々の意味役割語についてそれぞれ、当該汎用的な固有表現又は意味役割語のスコアを求めるとともに、当該汎用的な固有表現又は意味役割語のスコアを、当該汎用的な固有表現又は意味役割語が前記木構造において出現する階層深さに応じた方法で増加させる補正を行い、複数の文書タイプのそれぞれについて予め定義された、当該文書タイプを有する文書中に出現すると期待される汎用的な固有表現に対応する意味分類名情報及び当該文書タイプを有する文書中に出現すると期待される意味役割語に対応する意味役割情報が記載された文書モデルの各々を対象として、当該文書モデルに記載されている意味分類名情報及び意味役割情報と、前記入力文書から得られた前記意味分類名情報及び前記意味役割情報との間の類似度を、当該意味分類名情報に対応する汎用的な固有表現について求められた前記スコア及び当該意味役割情報に対応する意味役割語について求められた前記スコアの総和を計算することによって求め、各々の文書タイプに係る前記文書モデルについてそれぞれ求められた類似度に基づいて、前記入力文書の文書タイプを選択するステップと、
前記検出手段が、前記入力文書について選択された前記文書タイプに基づいて、前記入力文書の部分構造を検出するステップと、
前記付与手段が、前記文書タイプに対して予め定義されている意味タグを、前記入力文書から検出された前記部分構造に付与するステップとを有することを特徴とする文書処理方法。
【請求項１５】
前記選択手段は、前記入力文書から抽出された汎用的な固有表現又は意味役割語について、前記入力文書中における当該汎用的な固有表現又は意味役割語の出現回数を、当該汎用的な固有表現又は意味役割語に係るスコアの初期値として、当該汎用的な固有表現又は意味役割語に係るスコアを求めることを特徴とする請求項１２ないし１４のいずれか１項に記載の文書処理方法。
【請求項１６】
前記文書処理装置は、保持手段を更に備えるものであり、
前記文書処理方法は、前記保持手段が、求められた前記文書構造に関する情報と、抽出された前記汎用的な固有表現及び求められた前記意味分類名情報並びに抽出された前記意味役割語及び求められた前記意味役割情報とを関連付けて保持するステップを更に有することを特徴とする請求項１２ないし１５のいずれか１項に記載文書処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書に含まれる固有表現を計算機によって自動抽出する文書処理装置及び文書処理方法に関する。
【背景技術】
【０００２】
近年、Ｗｅｂ文書や企業内文書などの多様な電子化文書に対して、文書中から日付や地名、人名、組織名、製品名といった固有表現を自動抽出することが試みられている。
【０００３】
固有表現や数量表現を自動抽出してタグを付与しておくことにより、このタグを手掛かりとした機械処理が可能となる。
【０００４】
例えば、検索対象を特定のタグ（＜会社名＞や＜著者名＞など）に限定するような絞込検索が可能となる。また、文書中や文中でタグが出現するパターンと、それに対する特定の処理ルールを定義しておくことにより、文書分類、ＱＡ検索、情報抽出、カタログ化、フォーマット変換といった様々な応用が可能となる。
【０００５】
こうした目的のために付与されたタグは、機械処理のために文書中の意味を抽出したものと考えることができ、その役割と目的から「意味タグ」などと呼ばれることがある。
【０００６】
この意味タグすなわち固有表現や数量表現を自動抽出するための手段としては、抽出したい表現を予め辞書として登録したり、あるいは、より柔軟な抽出を可能とするために、抽出したい表現を品詞の組み合わせパターンとして用意しておくことによって、入力文書と照合した表現を得る方法などがある。また、正解つきサンプル文書を用意し、機械学習の手法により半自動でルールを生成する手段などがある。
【特許文献１】特許２００１−３２５２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、処理対象となる文書に新語や造語が多く含まれている場合、従来の技術では、継続的にサンプル文書を収集するとともに、固有表現抽出のための辞書やルールを拡充し続ける必要があった。
【０００８】
このような作業は多くのコストを必要とするため、広範囲にわたる文書から新語や造語を的確に抽出し、適切な意味タグを自動付与することは困難であった。
【０００９】
本発明は、上記事情を考慮してなされたもので、多様な文書に対して適切な意味タグを付与することのできる文書処理装置及び文書処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る文書処理装置は、文書構造を有する入力文書から、汎用的な固有表現を抽出するとともに、抽出された汎用的な固有表現について予め定義されているカテゴリを示す意味分類名情報を得る第１の抽出手段と、前記入力文書から、前記入力文書の意味役割を特徴付ける意味役割語を抽出するとともに、抽出された意味役割語について予め定義されているカテゴリを示す意味役割情報を得る第２の抽出手段と、前記入力文書を解析して基本的な文書構造である木構造に関する情報を求める解析手段と、前記入力文書から抽出された各々の汎用的な固有表現及び各々の意味役割語についてそれぞれ、当該汎用的な固有表現又は意味役割語のスコアを求めるとともに、当該汎用的な固有表現又は意味役割語が前記木構造において出現する形態が、予め定められた出現する形態（該出現する形態として、少なくとも、前記木構造において兄弟ノードの先頭に出現する形態、前記木構造においてテキストノード中に単独で出現する形態、及び前記木構造において見出しタグ中に出現する形態が予め定められている。）のいずれかに該当するものについては、当該汎用的な固有表現又は意味役割語のスコアを、当該形態に応じた方法で増加させる補正を行い、複数の文書タイプのそれぞれについて予め定義された、当該文書タイプを有する文書中に出現すると期待される汎用的な固有表現に対応する意味分類名情報及び当該文書タイプを有する文書中に出現すると期待される意味役割語に対応する意味役割情報が記載された文書モデルの各々を対象として、当該文書モデルに記載されている意味分類名情報及び意味役割情報と、前記入力文書から得られた前記意味分類名情報及び前記意味役割情報との間の類似度を、当該意味分類名情報に対応する汎用的な固有表現について求められた前記スコア及び当該意味役割情報に対応する意味役割語について求められた前記スコアの総和を計算することによって求め、各々の文書タイプに係る前記文書モデルについてそれぞれ求められた類似度に基づいて、前記入力文書の文書タイプを選択する選択手段と、前記入力文書について選択された前記文書タイプに基づいて、前記入力文書の部分構造を検出する検出手段と、前記文書タイプに対して予め定義されている意味タグを、前記入力文書から検出された前記部分構造に付与する付与手段とを備えたことを特徴とする。  
また、本発明に係る文書処理装置は、文書構造を有する入力文書から、汎用的な固有表現を抽出するとともに、抽出された汎用的な固有表現について予め定義されているカテゴリを示す意味分類名情報を得る第１の抽出手段と、前記入力文書から、前記入力文書の意味役割を特徴付ける意味役割語を抽出するとともに、抽出された意味役割語について予め定義されているカテゴリを示す意味役割情報を得る第２の抽出手段と、前記入力文書を解析して基本的な文書構造である木構造に関する情報を求める解析手段と、前記入力文書から抽出された各々の汎用的な固有表現及び各々の意味役割語についてそれぞれ、当該汎用的な固有表現又は意味役割語のスコアを求めるとともに、当該汎用的な固有表現又は意味役割語のスコアを、当該汎用的な固有表現又は意味役割語が前記木構造において出現する階層深さに応じた方法で増加させる補正を行い、複数の文書タイプのそれぞれについて予め定義された、当該文書タイプを有する文書中に出現すると期待される汎用的な固有表現に対応する意味分類名情報及び当該文書タイプを有する文書中に出現すると期待される意味役割語に対応する意味役割情報が記載された文書モデルの各々を対象として、当該文書モデルに記載されている意味分類名情報及び意味役割情報と、前記入力文書から得られた前記意味分類名情報及び前記意味役割情報との間の類似度を、当該意味分類名情報に対応する汎用的な固有表現について求められた前記スコア及び当該意味役割情報に対応する意味役割語について求められた前記スコアの総和を計算することによって求め、各々の文書タイプに係る前記文書モデルについてそれぞれ求められた類似度に基づいて、前記入力文書の文書タイプを選択する選択手段と、前記入力文書について選択された前記文書タイプに基づいて、前記入力文書の部分構造を検出する検出手段と、前記文書タイプに対して予め定義されている意味タグを、前記入力文書から検出された前記部分構造に付与する付与手段とを備えたことを特徴とする。
【００１１】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。  
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムとしても成立し、該プログラムを記録したコンピュータ読み取り可能な記録媒体としても成立する。
【発明の効果】
【００１２】
本発明は、上記事情を考慮してなされたもので、多様な文書に対して適切な意味タグを付与することのできる文書処理装置及び文書処理方法を提供することを目的とする。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施形態について説明する。
【００１４】
図１に、本発明の一実施形態に係る文書処理装置の構成例を示す。
【００１５】
図１に示されるように、文書処理装置は、汎用固有表現抽出部１１、意味役割語抽出部１２、汎用文書構造解析部１３、文書構造記述部１４、文書タイプ判定部１５、詳細文書構造検出部１６、意味タグ付与部１７、入力部（図示せず）、出力部（図示せず）を備えている。
【００１６】
また、文書処理装置は、汎用固有表現抽出辞書及び又は汎用固有表現抽出ルールを含む汎用固有表現抽出辞書・ルール２１、意味役割語辞書２２、文書モデルデータベース２３、意味タグ付与ルール２４（の各記憶部）を備えている。なお、これら種々の辞書等の情報の保持には、同一の記憶装置を用いてもよいし、異なる記憶装置を用いてもよい。
【００１７】
図２に、本実施形態の文書処理装置の処理手順例を示す。
【００１８】
まず、入力部（図示せず）により、処理対象となる文書（入力文書）を入力する（ステップＳ１）。例えば、記録媒体に記録された文書を入力するようにしてもよいし、ネットワークを介して文書を入力あるいは受け付けするようにしてもよいし、ユーザがキーボードから文書を入力するようにしてもよい。
【００１９】
次に、汎用固有表現抽出部１１により、汎用固有表現抽出処理を行う（ステップＳ２）。汎用固有表現抽出処理では、入力文書から、例えば、日時表現、一般的な人名、製品のカテゴリ名などの汎用的な固有表現を抽出する。
【００２０】
次に、意味役割語抽出部１２により、意味役割語抽出処理を行う（ステップＳ３）。意味役割語抽出処理では、入力文書から、例えば、「ニュースリリース」、「トラックバック」などの部分文書の意味役割を表現している意味役割語を抽出する。
【００２１】
次に、汎用文書構造解析部１３により、汎用文書構造解析処理を行う（ステップＳ４）。汎用文書構造解析処理では、入力文書の汎用文書構造情報を解析し、例えば、タイトル、章見出し、表、箇条書き、図、パラグラフ、フォント、文字修飾情報などの構造を検出する。
【００２２】
次に、文書構造記述部１４により、文書構造記述処理を行う（ステップＳ５）。文書構造記述処理では、汎用固有表現と意味役割語と文書構造とを関連付けて、入力文書の文書構造形式を作成する。
【００２３】
なお、ステップＳ２〜Ｓ４の処理は、上記の順番以外の任意の順番で行ってもよいし、それらの全部又は一部を並行して行ってもよい。
【００２４】
次に、文書タイプ判定部１５により、文書タイプ判定処理を行う（ステップＳ６）。文書タイプ判定処理では、入力文書の文書構造と、あらかじめ複数の文書タイプ（文書の種別）ごとに作成してある文書モデルの文書構造それぞれとを比較して、入力文書の文書タイプを判定する。
【００２５】
次に、詳細文書構造検出部１６により、詳細文書構造検出処理を行う（ステップＳ７）。詳細文書構造検出処理では、判定された文書タイプに対してあらかじめ定義されている詳細文書構造に基づいて、入力文書の部分構造を検出する。
【００２６】
次に、意味タグ付与部１７により、意味タグ付与処理を行う（ステップＳ８）。意味タグ付与処理では、文書タイプの詳細文書構造に対してあらかじめ定義されている意味タグを、入力文書の部分構造に付与する。
【００２７】
そして、出力部（図示せず）から、入力文書に意味タグを付与したもの（出力文書）を出力する（ステップＳ９）。例えば、出力文書を記録媒体に保存するようにしてもよいし、出力文書をネットワークを介して提供あるいは返送するようにしてもよいし、表示装置の表示画面に出力文書を表示するようにしてもよい。
【００２８】
本実施形態では、あらかじめ複数の文書タイプごとに文書構造に応じたタグ付与ルールを定義しておくとともに、入力文書の文書タイプを自動判別して意味タグの付与を行うことにより、多様な文書に対する適切な意味タグ付けを実現することができる。
【００２９】
本実施形態によれば、多様な文書において、語や部分構造に対する適切な意味を自動付与することが可能となるため、ＱＡ検索や文書分類、自動要約、デバイスや制約に応じた文書変換、さらには、自動処理を目的とした文書へのメタデータ自動付与など様々な文書自動処理が可能となる。
【００３０】
以下、本実施形態について具体例を参照しながらより詳しく説明する（なお、以下で用いる具体例は、個々の処理等について説明することを主目的とするものである）。
【００３１】
まず、本実施形態において処理対象とする入力文書について説明する。
【００３２】
図３に、第１の入力文書例を示す。
【００３３】
この入力文書例は、近年、ｗｅｂ上で広く流通しているＨＴＭＬ形式やＸＨＴＭＬ形式などのタグ付き文書を想定したものである。これらの文書形式は、文書内容を表すテキストの他に、構造情報や表示に関する制御情報などがタグ“＜＞”によって文中に埋め込まれている。タグで示す情報とは、文字の強調や拡大・縮小といった文字装飾等の表示制御情報のほか、表構造や箇条書きといった構造定義情報、あるいは他文書へのリンクや画像へのリンク情報などがある。これらのタグは、ブラウザによって閲覧時に解釈されるため、通常、ユーザは、タグの示す情報が解釈されたレンダリング結果を見ることになる（なお、ユーザは、例えば、ＨＴＭＬ文書のソースを表示させることによって、タグを見ることができる）。本実施形態では、このような性質を持つ文書を処理対象として想定して説明する。
【００３４】
なお、本実施形態は、ＨＴＭＬ形式やＸＨＴＭＬ形式だけでなく、それら以外の形式を持つ文書にも適用可能である。
【００３５】
＜汎用固有表現抽出処理＞
次に、汎用固有表現抽出部１１による汎用固有表現抽出処理（図２のステップＳ２）について説明する。
【００３６】
汎用固有表現抽出部１１は、入力文書から、汎用的な固有表現を抽出する。ここで、汎用的な固有表現とは、分野を問わず汎用的に意味付けが期待できる表現であり、例えば、数量の表現、日付や日時の表現、一般的な人名、会社名あるいは企業名、製品のカテゴリ名、地名等の場所の名称、ＵＲＬ、電話番号など、種々のものが考えられる。
【００３７】
図４に、汎用固有表現抽出処理の手順例を示す。
【００３８】
まず、入力文書からタグ情報を除去し、文書内容が記載されたテキスト文を取り出す処理（これを入力文書解析処理と呼ぶ）を行う（ステップＳ１１）。図３の入力文書例に対する処理結果例を図５に示す。
【００３９】
次に、上記処理にて取り出されたテキスト文から順に一文を取り出し（ステップＳ１２）、以下の繰り返し処理を行う。
【００４０】
まず、取り出した一文に対して形態素解析処理を施す（ステップＳ１３）。形態素解析処理とは、事前に定義してある形態素解析辞書（図示せず）に基づき、文書を文節に区切った上で、各々の文節に品詞付けを行う処理であり、種々の既存手法が知られている。
【００４１】
次に、汎用固有表現抽出辞書・ルール２１の記憶部から、事前に用意してある汎用固有表現抽出辞書及び又は汎用固有表現抽出ルールを読み込む（ステップＳ１４）。
【００４２】
汎用固有表現抽出ルールには、例えば、品詞の組み合わせや、正規表現記述などを利用した定義を記載しておくことによって、テキスト文中から、日付表現や時間表現、ＵＲＬ、人名、企業名などを抽出する。また、汎用固有表現抽出辞書には、例えば、汎用的な製品のカテゴリ名などを直接登録しておき、文書中にこれらの表現が出現した場合には、対応するカテゴリ名と合わせて抽出する。図６に、汎用固有表現抽出辞書例を示す。
【００４３】
次に、読み込んだ汎用固有表現抽出辞書・ルールを、文節に区切られた形態素解析結果に対して適用する（ステップＳ１５）。
【００４４】
そして、形態素解析結果中に汎用固有表現抽出辞書・ルールに適合するパターンがある場合には（ステップＳ１６）、その抽出された汎用的な固有表現を出力する（ステップＳ１７）。
【００４５】
ここで、上記取り出されたテキスト文に含まれる各一文のうち、未処理の一文があれば（ステップＳ１８）、ステップＳ１２に戻って繰り返し処理を続ける。
【００４６】
なお、上記取り出されたテキスト文に含まれる全ての一文に対して処理を終えたならば（ステップＳ１８）、この処理を終了する。
【００４７】
図７に、汎用固有表現の抽出結果例を示す。この例では、（汎用固有）表現、意味分類名、文書の先頭から何番目のテキスト内容（ノード）か、該当する番号のテキストで、文頭から何文字目から何文字目にわたって出現しているか、といった項目が、順にセミコロンによって区切られて出力されている。図７に記述した具体例では、表現“メモリーオーディオプレーヤー”が抽出されており、これは“ＩＴ＿ＰＲＯＤＵＣＴ”という意味分類名を持ち、文書の先頭から数えて３番目のテキストノードに出現しており、さらにそのテキスト中の１文字目から１４文字目の位置に当たることを示している。
【００４８】
＜意味役割語抽出処理＞
次に、意味役割語抽出部１２による意味役割語抽出処理（図２のステップＳ３）について説明する。
【００４９】
意味役割語抽出部１２は、入力文書から、意味役割語を抽出する。
【００５０】
まず、入力文書解析処理と同様、入力文書からタグ情報を除去することによってテキスト文を取り出す。
【００５１】
取り出されたテキスト文に対し、意味役割語辞書記憶部２２に事前に用意してある意味役割語辞書２２を適用する。
【００５２】
意味役割語辞書には、文書の種別や文書中の部分構造を特徴付けるような表現として、“ニュース”や“プレスリリース”あるいは“ニュースリリース”、“新聞”、“発売”、“順位”、“アルバム”、“トラックバック”、“仕様”、“特長”といった表現を登録しておき、文書中にこれらの表現が出現した場合には、対応付けられている意味役割と併せて抽出する。図８に、意味役割語辞書例を示す。
【００５３】
これらの辞書登録作業は、人手によって各文書タイプに特徴的な語句を目視で拾い出して登録してもよい。また、事前に対象分野の文書を収集しておき、それらの文書中に出現する語にＴＦ−ＩＤＦ値を算出するなどして得られた特徴的な語を登録してもよい。
【００５４】
図９に、意味役割語の抽出結果例を示す。この例では、汎用固有表現抽出結果例と同様、抽出結果の各項目が、（意味役割）表現、対応する意味役割、文書中の何番目のテキストノードに出現しているか、該当するテキストノードの何文字目から何文字目に出現したか、といった情報が、順にセミコロンによって区切られて出力されている。図９に記述した具体例では、表現“ニュースリリース”は、“ＮＥＷＳ”という意味役割名が関連付けられており、それは入力文書中の第１番目のテキストノード中に出現していて、さらにそのテキストにおいて１文字目から８文字目の文字列に相当していることを示している。
【００５５】
＜汎用文書構造解析処理＞
次に、汎用文書構造解析部１３による汎用文書構造解析処理（図２のステップＳ４）について説明する。
【００５６】
汎用文書構造解析部１３は、入力文書に事前に付与されている構造情報（本例では、ＨＴＭＬ（ＸＨＴＭＬ）の構造情報）を解析する。ここでは、この汎用文書構造解析結果を、木構造の形式で保持する。
【００５７】
図１０に、汎用文書構造解析処理の手順例を示す。
【００５８】
まず、格納先構造である木構造のルートを作成する（ステップＳ２１）。以下、解析結果は、このルートノードの子要素として付与されていくことになる。
【００５９】
これ以降は、以下のような繰り返し処理を行う。
【００６０】
まず、入力文書から一文字を取り出す（ステップＳ２２）。
【００６１】
取り出した一文字が、入力文書の終端であれば（ステップＳ２３）、処理を終了する。
【００６２】
読み込んだ文字が開きタグ記号“＜”であれば（ステップＳ２４）、文書からさらに一文字読み込み（ステップＳ２５）、それが開始タグか終了タグかの判定を行う。
【００６３】
開始タグであった場合には（ステップＳ２５）、格納先の現在着目しているノードから深さを１増加させ（ステップＳ２９）、親ノードからリンクを張り（ステップＳ３０）、さらに、閉じタグ記号“＞”が出現するまで入力文書から文字列を読み込み、読み込んだ文字列をタグ名として格納し（ステップＳ３１）、ステップＳ２２に戻る。
【００６４】
また、終端タグであった場合には（ステップＳ２７）、ノードの深さを１減少させた上で、タグ名を読み飛し（ステップＳ３２）、ステップＳ２２に戻る。
【００６５】
また、ステップＳ２４で開始タグでなかった場合またはステップＳ２７で終端タグでなかった場合には、テキスト内容として文字を格納し（ステップＳ２８）、ステップＳ２２に戻る。
【００６６】
図１１に、上記処理の結果、格納された木構造形式の一例を示す。この具体例では、入力文書のＢＯＤＹタグをルートとして、出現したタグ名＜Ａ  ｈｒｅｆ＞、＜Ｈ２＞、＜ＩＭＧ＞等を順に読み込み、そのタグで囲まれているテキストを子要素として保持しておく。また、＜ＴＡＢＬＥ＞の下には、＜ＴＲ＞タグ、＜ＴＤ＞タグが出現しているが、これらも子要素として順に構造を保持したまま、出現しているテキストをぶら下げていく。
【００６７】
このようにして、入力文書構造を木構造として保持したまま、続く処理に移る。
【００６８】
＜文書構造記述処理＞
次に、文書構造記述部１４による文書構造記述処理（図２のステップＳ５）について説明する。
【００６９】
文書構造記述部１４は、これまでの処理（図２のステップＳ２〜Ｓ４）で得られた汎用固有表現抽出結果及び意味役割語抽出結果、並びに汎用文書構造解析結果をもとに、これらの解析結果を統合し、文書構造形式で格納する。
【００７０】
図１２に、文書構造記述処理の手順例を示す。
【００７１】
まず、文書構造を記述し、解析結果を蓄えておくための、汎用固有表現格納リストと意味役割語格納リストを初期化する（ステップＳ４１）。
【００７２】
図１３に、汎用固有表現格納リストの構造例を示し、図１４に、意味役割語格納リストの構造例を示す。図１３及び図１４に示すように、これらのリストは、これまでの解析の結果得られた汎用固有表現抽出結果又は意味役割語抽出結果から、出現した語彙をそれぞれベクトル表記したものである（なお、リスト中の数値は、対応する語彙の重み（例えば、出現回数）を表している）。この初期化とは、出現した語彙の種類数の次元を持ったベクトルを作成することに相当する。
【００７３】
次に、汎用文書構造解析結果からテキストノードを、深さ優先で順に読み込むとともに、ノード深さの値を保持しておく（ステップＳ４２）。ノードの深さは、後段の処理で処理順序に依存するために、この時点で確保しておく。
【００７４】
次に、汎用文書構造解析結果に未処理にテキストノードが存在しない限り（ステップＳ４３）、それぞれのテキストノードに対して、抽出済み汎用固有表現が存在するかどうか確認し、存在した場合には（ステップＳ４４）、汎用固有表現格納リストの対応するデータを＋１する（ステップＳ４５）とともに、意味役割語が含まれているかどうかを確認し、意味役割語が含まれている場合には（ステップＳ４６）、同様に意味役割語格納リストの対応する値を＋１する（ステップＳ４７）。
【００７５】
なお、ステップＳ４４／Ｓ４５の処理と、ステップＳ４６／Ｓ４７の処理とは、この逆の順序で行ってもよいし、並行して行ってもよい。
【００７６】
さて、上記のようにして全てのテキストノードに対して、汎用固有表現抽出結果と意味役割語抽出結果が存在しているかどうかの確認を行うことが終えたら、次に、処理対象ノードを最も深いテキストノードとして（ステップＳ４８）、次の操作を行う。
【００７７】
まず、テキストノードの情報を文書構造記述に追加する（ステップＳ４９）。
【００７８】
次に、追加したノードの兄弟ノードにテキストノードが存在すれば（ステップＳ５０）、兄弟ノードに含まれるテキストノードの情報を文書構造記述に追加する（ステップＳ５１）。
【００７９】
ここでは、文書構造の要素をＮＬで表現することし、その引数“［］”には、あるノード以下に含まれる兄弟ノードの数（ノードリスト数）を記すものとする。
【００８０】
図１５において、文書構造記述例では、テキストノード“品名”、“ＷＥ−ＭＰ７２０Ｘ”、“ＷＥ−ＭＰ７３０Ｘ”の３点のテキストノードを１段まとめ上げた表記として、ＮＬ［３］が記載されている。同様に、 “Ａ社マーケティング本部は・・・”については、 “ＮＬ［１］”となる。
【００８１】
次に、追加したノードを処理対象から除外し、深さを一段上がる（ステップＳ５２）。
【００８２】
このようにして兄弟ノードに存在するテキスト情報を文書構造記述に追加しながら文書構造記述をまとめ上げていくが、このまとめ上げで木構造を深いほうから浅いほうへ上がっていく際に、兄弟ノードが存在しない場合には、それまでの結果を括弧で囲む。
【００８３】
例えば、上記のＮＬ［３］の例では、＜ＴＲ＞、＜ＴＡＢＬＥ＞と上がって行く場合にテキストノードが存在しないため、それ以降のテキストノードとまとめ上げる際の区別のために、“（ＮＬ［３］）”と表記する。このようにして、テキストノードの出現位置と各テキストノードリストの数を保持したまま、例えば、図１５の “（ＮＬ［１］  （ＮＬ［３］）  ＮＬ［１］  ＮＬ［１］）”などのように、文書構造記述を作成することができる。
【００８４】
このようにして、文書構造結果に未処理のテキストノードが存在しなくなるまで（ステップＳ５３）、テキストノードのまとめ上げを行う。
【００８５】
なお、この文書構造記述の各要素には、汎用固有表現格納リスト及び意味役割語格納リストを関連付けておく。
【００８６】
＜文書タイプ判定処理＞
次に、文書タイプ判定部１５による文書タイプ判定処理（図２のステップＳ６）について説明する。
【００８７】
文書タイプ判定部１５は、これまでの処理により得られた文書構造形式と、文書モデルデータベース２３に事前に登録されている、複数の文書タイプごとに作成された文書モデルとを比較し、入力文書の文書タイプを判定する。
【００８８】
図１６に、文書タイプ判定処理の手順例を示す。
【００８９】
まず、入力文書の解析結果である文書構造記述情報を読み込む（ステップＳ６１）。
【００９０】
次に、事前に定義してあるスコア表に基づき、入力文書の文書構造記述情報を更新する（ステップＳ６２）。
【００９１】
ここでは、文書中に出現した汎用固有表現抽出結果と意味役割解析結果について、その重み付けを、後述する補正値に従って、変更する（すなわち、汎用固有表現格納リストと意味役割語格納リストの各要素の重みを変更する）。
【００９２】
図１７（ａ）、（b）に、このスコア表の例を示す。まず、それぞれの結果である抽出した表現や語の出現状況が特徴的な場合について加点を行う。具体的には、抽出した表現や語が、兄弟ノードの先頭に出現している場合や、テキストノード中に、その表現や語が単独で出現している場合、あるいは、見出しタグとして“＜Ｈ１＞，＜Ｈ２＞，＜Ｈ３＞”などのタグ以下に記載されている場合などには、それぞれの表現や語に、表定義に基づき加点することによって、重み付けを増す。また、文書構造の深さで見た場合に、例えば出現深さが浅いところに出ている語句に重みづけを持たせるなどのスコア付けを行う。図１７（ｃ）に、補正値の例を示す。
【００９３】
なお、上記のスコア表や、補正値の算出結果は一例であり、これ以外にも種々のバリエーションが可能である。
【００９４】
このようにして、文書構造記述の各要素に出現した固有表現や意味役割語の重みに対して、補正値を考慮して更新を行う。
【００９５】
その更新の結果を受けて、スコアの高い固有表現、そして、スコアの高い意味役割語の順に、リスト形式で並べる。
【００９６】
図１８（ａ）に補正情報の一例、（ｂ）に汎用固有表現格納リスト及び意味役割語格納リストの一例、（ｃ）に作成された最終的な文書構造記述リストの一例を示す。この例では、意味役割語として“ニュースリリース”であるＮＥＷＳや、“品名”であるＣＡＴＡＬＯＧ、さらに“発売”を意味するＲＥＬＥＡＳＥに相当する意味役割語が重要な語となってリストの前方に出現している他、汎用固有表現の抽出結果として製品カテゴリ名を意味するＩＴ＿ＰＲＯＤＵＣＴ、および会社名を意味するＣＯＭＰＡＮＹが出現しているものとする。
【００９７】
次に、文書モデルデータベース２３から、ある文書タイプの文書モデルを一つ取り上げる（ステップＳ６３）。
【００９８】
図１８（ｄ）に、この文書モデルの例で文書タイプのタイプ定義例を示す。この文書モデルには、文書タイプごとに文書中に出現することが期待される意味役割語や汎用固有表現が記載されている。
【００９９】
例えば、『ニュース一般』という文書タイプには、意味役割語では“ニュース”や“新聞”などを意味するＮＥＷＳや、“事件”、“事故”といった表記を意味するＩＮＣＩＤＥＮＴが比較的重要視されて含まれる他、汎用固有表現として人名や企業名の出現も記載されている。
【０１００】
同様に、文書タイプ『ニュースＩＴ』というＩＴ系のニュースの場合には、意味役割語のＮＥＷＳに相当する文言の他、ＣＡＴＡＬＯＧとして“品名”，“仕様”，“型番”やＲＥＬＥＡＳＥに相当する“新発売”，“発表”，“リリース”などの意味役割語の出現を仮定している。さらに固有表現として、＜ＩＴ＿ＰＲＯＤＵＣＴ＞というＩＴ系の製品カテゴリ名や、＜ＣＯＭＰＡＮＹ＞という企業名の出現も仮定している。
【０１０１】
このようにして定義されている文書モデルに対し、入力文書解析結果を比較して類似度を算出する（ステップＳ６４）。
【０１０２】
そして、ステップＳ６１〜Ｓ６５を、各文書タイプの文書モデルについて行った後、最も高い類似度を持つ文書モデルの文書タイプを、入力文書の文書タイプとして判定する（ステップＳ６６）。なお、ここでの類似タイプの出力では、出力を上位１件に限って出力する他に、例えば、適当な閾値を設定することにより１０以上のスコアのものを提示するなど、種々の方法が可能である。
【０１０３】
例えば、上記の具体例において、入力文書の解析の結果、出現した語彙・表現を、先頭から順に点数付けして、類似度を求める例を示すと、  
ニュース一般＝｛ＮＥＷＳ：８｝＝８，  
ニュースＩＴ＝｛ＮＥＷＳ：８  ＣＡＴＡＬＯＧ：３  ＲＥＬＥＡＳＥ：８＋３  ＩＴ＿ＰＲＯＤＵＣＴ：２  ＣＯＭＰＡＮＹ：２｝＝２６  
カタログ＝｛ＣＡＴＡＬＯＧ：３  ＮＥＷＳ：８  ＩＴ＿ＰＲＯＤＵＣＴ：２｝＝１３，  
ブログ＝｛ＴＲＡＣＫＢＡＣＫ：０  ＤＩＡＲＹ：０  ＤＡＴＥ＿ＤＡＹ：０  ＰＥＲＳＯＮ：０｝＝０  
となる。
【０１０４】
従って、類似度の順に例えば上位２件を取り出すと、本入力文書のタイプは『ニュースＩＴ』、もしくは次候補として『カタログＩＴ』であることがわかる。
【０１０５】
なお、上記の類似度を求める方法は一例であり、これ以外にも種々のバリエーションが可能である。
【０１０６】
また、上記処理手順例において、繰り返し処理の途中で、あらかじめ定められた類似度を越える類似度を持つ文書モデルが、１又は２以上の所定数得られた場合には、繰り返し処理を打ち切って、当該文書モデルの文書タイプを、入力文書の文書タイプとして判定する方法も可能である。
【０１０７】
＜詳細文書構造検出処理＞
次に、詳細文書構造検出部１６による詳細文書構造検出処理（図２のステップＳ７）について説明する。
【０１０８】
詳細文書構造検出部１６は、文書タイプに対してあらかじめ定義されている詳細文書構造情報に基づいて、入力文書の部分構造を検出し、詳細情報のラベルを付与する。
【０１０９】
なお、ここでは、入力文書タイプは前段の類似度判定により最も類似度が高かった『ニュースＩＴ』であるという前提で処理を続ける場合を例にとって説明する。
【０１１０】
図１９に、文書タイプ『ニュースＩＴ』の場合の文書モデルに対して予め定義された詳細文書構造情報の例を示す。
【０１１１】
この詳細文書構造情報は、リスト形式で記述されており、これを宣言的言語と見た場合に、それぞれの述語に相当する“ｓｐｅｃ＿ｔａｂｌｅ”、“ｐａｒａ”、“ｔｉｔｌｅ”、“ｋｅｙｗｏｒｄ”が目的とする詳細情報のラベル名であり、それぞれの引数は入力文書中に該当する箇所を探し出すための条件記述となっている。
【０１１２】
図１９の例では、まず、右側からｋｅｙｗｏｒｄ（［ＮＥＷＳ］）となっており、これは、文書中の先頭から見た場合に意味役割語“ＮＥＷＳ”が出現している箇所に“ｋｅｙｗｏｒｄ”という詳細情報のラベルを付与することを意味する。
【０１１３】
次に、“ｔｉｔｌｅ（［（Ｈ１｜Ｈ２｜Ｈ３），（ＮＥＷＳ｜ＩＴ＿ＰＲＯＤＵＣＴ｜ＲＥＬＥＡＳＥ）］”という記載があるが、これは、先程の“ｋｅｙｗｏｒｄ”と特定された箇所よりも後方の位置から、文書構造として“Ｈ１”，“Ｈ２”，“Ｈ３”が出現するいわゆる見出しの文書構造を有し、かつ、そのテキストノード中の語に、意味役割語として“ＮＥＷＳ”か“ＩＴ＿ＰＲＯＤＵＣＴ”か“ＲＥＬＥＡＳＥ”を含む箇所が出現していれば、その部分構造に“ｔｉｔｌｅ”という詳細情報をラベル付けするという意味である。
【０１１４】
さらに、“ｓｐｅｃ＿ｔａｂｌｅ（［（ＮＬ，ＴＤ），ＣＡＴＡＬＯＧ）］）｜ｐａｒａ（［ｐ］，＊）”という記載があるが、これは先程の“ｔｉｔｌｅ”付けされた箇所よりも後方の位置に対して、まず、文書構造としてｐが出現していれば詳細情報のｐａｒａというラベル付けを、さらに、テキストノードのリスト（ＮＬ）が出現しており、そこが“ＴＤ”タグでまとめ上げられており、かつ、そのテキストノード中に意味役割語として“ＣＡＴＡＬＯＧ”が出現している箇所があれば、それら（テキストノード）に対して、詳細情報“ｓｐｅｃ＿ｔａｂｌｅ”という仕様の表を意味するラベル付けを与えるというものである。
【０１１５】
このようにして、『ニュースＩＴ』と推定された文書に対しては、文書モデルの詳細情報が適用され、“ｔｉｔｌｅ＝タイトル”、“ｓｐｅｃ＿ｔａｂｌｅ＝仕様の表”、“ｐａｒａ＝パラグラフ”、“ｋｅｙｗｏｒｄ＝キーワード”に該当する箇所が特定され、ラベル付けして保持される。
【０１１６】
＜意味タグ付与処理＞
最後に、意味タグ付与部１７による意味タグ付与処理（図２のステップＳ８）について説明する。
【０１１７】
意味タグ付与部１７は、これまでの処理により、入力文書について判定された文書タイプに基づいて特定された詳細な文書構造をもとに、該詳細な文書構造に対してあらかじめ定義されている意味タグを、入力文書の部分構造に付与する。
【０１１８】
ここでは、意味タグ付与ルールに従って、意味タグを付与するものとする。
【０１１９】
図２０に、この意味タグ付与ルール例を示す。
【０１２０】
まず、  
ｒｕｌｅ１：−ｋｅｙｗｏｒｄ（Ｘ）  
＜ｓｐａｎ  ｃｌａｓｓ＝“ｋｅｙｗｏｒｄ”＞Ｘ＜／ｓｐａｎ＞  
という記述（図２０（ａ））は、先の詳細文書構造検出によってラベル付けされた“ｋｅｙｗｏｒｄ”の箇所に関して適用されるルールである。なお、このルールには、便宜的にｒｕｌｅ１という番号付けがされている。このルールの内容は、条件としてｋｅｙｗｏｒｄラベルの内容を変数Ｘにて保持し、その結果を＜ｓｐａｎ  ｃｌａｓｓ＝“ｋｅｙｗｏｒｄ”＞タグにて詳細化するということを表している。
【０１２１】
入力文書中を例にとれば、“ニュースリリース”というテキストノードに対して、＜ｓｐａｎ  ｃｌａｓｓ＝“ｋｅｙｗｏｒｄ”＞ニュースリリース＜／ｓｐａｎ＞という出力が得られる。
【０１２２】
次に、  
ｒｕｌｅ２：−ｔｉｔｌｅ（Ｘ  Ｙ＝ＳＲ［“ｕｎｋｎｏｗｎ＿ｎｕｍ”］）  
＜ｓｐａｎ  ｃｌａｓｓ＝“ｔｉｔｌｅ”＞Ｘ＜／ｓｐａｎ＞  
＜ｓｐａｎ  ｃｌａｓｓ＝“ＩＴ＿ＰＲＯＤＵＣＴ”＞Ｙ＜／ｓｐａｎ＞  
という記述（図２０（ｂ））は、先の詳細文書構造検出によってラベル付けされた“ｔｉｔｌｅ”の箇所に関して適用されるルールであり、まず、先のｒｕｌｅ１と同様に、内容をＸで保持し、その内容を＜ｓｐａｎ  ｃｌａｓｓ＝“ｔｉｔｌｅ”＞タグで囲むということを意味している。
【０１２３】
さらに、この“ｔｉｔｌｅ”とラベル付けされた部分構造の中に、汎用固有表現として“ｕｎｋｎｏｗｎ＿ｎｕｍ（未知の番号）”とされている箇所に対しては、ＩＴ＿ＰＲＯＤＵＣＴという固有表現を付与する。
【０１２４】
次に、  
ｒｕｌｅ３：−ｔｉｔｌｅ（ＳＲ［Ｘ］  Ｙ＝ＳＲ［“ｕｎｋｎｏｗｎ＿ｎｕｍ”］｜Ｚ＝［“ＴＤ”］）  
＜ｓｐａｎ  ｃｌａｓｓ＝“ｓｐｅｃ＿ｔａｂｌｅ＿ｌａｂｅｌ”＞Ｘ＜／ｓｐａｎ＞  
＜ｓｐａｎ  ｃｌａｓｓ＝“ＩＴ＿ＰＲＯＤＵＣＴ”＞Ｙ＜／ｓｐａｎ＞  
＜ｓｐａｎ  ｃｌａｓｓ＝“ｓｐｅｃ＿ｔａｂｌｅ”＞Ｚ＜／ｓｐａｎ＞  
という記述（図２０（ｃ））は、３つの内容から成り立っており、まず、先の詳細文書構造検出によってｔｉｔｌｅラベルが付与された最初の意味役割語に関しては、＜ｓｐａｎ  ｃｌａｓｓ＝“ｓｐｅｃ＿ｔａｂｌｅ＿ｌａｂｅｌ”＞のタグを付与する。次に、汎用固有表現にて“ｕｎｋｎｏｗｎ＿ｎｕｍ”と付与されている箇所に対しては、新たにＩＴ＿ＰＲＯＤＵＣＴというＩＴ製品名を意味する固有表現を付与する。そして最後に、ｔｉｔｌｅラベルが付与されている内部構造のうち“ＴＤ”タグで囲まれている箇所に関しては、それらを＜ｓｐａｎ  ｃｌａｓｓ＝“ｓｐｅｃ＿ｔａｂｌｅ”＞というタグで囲んで出力するということを表している。
【０１２５】
また、ルール  
ｒｕｌｅ４：−ｐａｒａ（Ｘ）  
＜ｓｐａｎ  ｃｌａｓｓ＝“ｐａｒａ”＞Ｘ＜／ｓｐａｎ＞  
という記述（図２０（d））は、ｒｕｌｅ１、ｒｕｌｅ２と同様、詳細文書構造検出によってｐａｒａと判定された部分構造に関しては、＜ｓｐａｎ  ｃｌａｓｓ＝“ｐａｒａ”＞のタグを付与することを示している。
【０１２６】
次に、  
ｒｕｌｅ＿ｘ：−ＳＲ［Ｘ］  
＜ｓｐａｎ  ｃｌａｓｓ＝“＄ＳＲ”＞Ｘ＜／ｓｐａｎ＞  
という記述（図２０（ｅ））は、以上のルールが適用されていない意味役割語Ｘに関して、その意味役割をｃｌａｓｓの属性値としてタグを付与しておくことを意味している。
【０１２７】
例えば、“発売”という意味役割語に関しては、ＲＥＬＥＡＳＥという意味役割が割り当てられていたが、その内容をタグ名（の属性値）として付与し、＜ｓｐａｎ  ｃｌａｓｓ＝“ＲＥＬＥＡＳＥ”＞発売＜／ｓｐａｎ＞とタグ付けを行う。
【０１２８】
次に、  
ｒｕｌｅ＿ｙ：−ＳＣ［Ｙ］  
＜ｓｐａｎ  ｃｌａｓｓ＝“＄ＳＣ”＞Ｙ＜／ｓｐａｎ＞  
という記述（図２０（ｆ））は、以上のルールが適用されていない汎用固有表現に対して、その汎用固有表現のクラスをｃｌａｓｓの属性値として付与することを示している。
【０１２９】
例えば、“Ａ社”という固有表現には“ＣＯＭＰＡＮＹ”という固有表現のクラスが割り当てられていたが、その情報を元に、＜ｓｐａｎ  ｃｌａｓｓ＝“ＣＯＭＰＡＮＹ”＞Ａ社＜／ｓｐａｎ＞というタグを付与する。
【０１３０】
図２１に、このように、以上のルールの適用によって得られた最終出力結果例を示す。
【０１３１】
以下では、これまでの説明で用いた第１の入力文書例とは異なる第２の入力文書例を用いて本実施形態について説明する。
【０１３２】
図２２〜図２５に、第２の入力文書例を示す。
【０１３３】
＜汎用固有表現抽出処理＞
この入力文書に対して、汎用固有表現抽出部１１により、まず、テキストノードから、解析対象となるテキスト文が収集される。
【０１３４】
図２６に、テキスト文の抽出結果を示す。
【０１３５】
このテキスト文に対して、汎用固有表現の抽出が行なわれる。
【０１３６】
図２７に、この結果を示す。
【０１３７】
＜意味役割語抽出処理＞
次に、意味役割語抽出部１２により、先の汎用固有表現抽出処理と同様、まず、テキストノードからテキスト文が抽出された後、そのテキスト文を対象として意味役割語抽出が行なわれる。
【０１３８】
図２８に、抽出された意味役割語の例を示す。
【０１３９】
＜汎用文書構造解析処理＞
続いて、汎用文書構造解析部１３により、入力文書構造の解析が行なわれる。
【０１４０】
入力文書中の構造情報を解析し、タグ間の上下・兄弟関係と、どのタグ（ノード）にどのテキストが属するかの関係を保持しながら、入力文書の構造を木構造形式で格納していく。
【０１４１】
図２９に、格納された結果である木構造の例を示す。
【０１４２】
＜文書構造記述処理＞
さらに、文書構造記述部１４により、ここまでの処理結果である汎用固有表現抽出結果と、意味役割語抽出結果と、汎用構造解析結果をもとに、入力文書の文書構造記述形式をリストの形で作成する。
【０１４３】
図３０に、構造記述形式の作成例を示す。
【０１４４】
まず、入力文書構造には“☆Ｊ−ＰＯＰ／アルバム”の記載がある部分ノード（アーティスト毎の情報）が３点あるが、これらの構造は同等のため、作成例中ではそのうち１点を代表して記載する。
【０１４５】
まず、最も深いテキストノードである、“ｋａｒａｈａ”、“［ＮＥＷ］！”、“ｚ−ｉｎｄｓ．”に関しては、テキストノードが兄弟ノードであるため、これらをまとめ上げて“（ＮＬ［１］  ＮＬ［１］  ＮＬ［１］）”と表記する。このまとめ上げに対して、更にノードをルート方向に上ると兄弟方向にテキストノードとして“２００５年“、“店在庫検索＆通販”、“☆Ｊ−ＰＯＰ／アルバム”が出現する。
【０１４６】
これらの出現をリストとして左右の出現状況を保存しながら、リストを追加していくと、まずリスト“ＮＬ［１］  ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  ＮＬ［１］）  ＮＬ［１］”が得られる。
【０１４７】
さらに、ノードをルート方向に上ると、解説文であるテキスト“アイドルグループｚ−ｉｎｄｓは・・・”が出現するため、これをリストに追加して、“（ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  ＮＬ［１］）  ＮＬ［１］））”が得られる。
【０１４８】
また、文書前方に出現している“邦楽作品”や“新作情報”が記載されているノードに関しても、同様に纏め上げを行なっていくと、“（ＮＬ［４］  （（ＮＬ［２］）  ＮＬ［１］））”の記載結果が得られる。
【０１４９】
同様に、文書末尾に出現している“個人情報に対する考え方”、“サービス利用規約”に関して纏め上げを行なうと“（ＮＬ［２］）”の記載結果が得られる。
【０１５０】
最後にこれらを統合して“（（ＮＬ［２］）  （ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  ＮＬ［１］）  ＮＬ［１］）＊３  （ＮＬ［４］  （（ＮＬ［２］）  ＮＬ［１］）））”を得ることができるが、この場合、アーティスト毎の情報を示したノードに関しては３つのリストは同様の構造を有しているため、繰り返し表現として“＊３”として表記を簡素化した。
【０１５１】
リストのこの位置には、実際には“（ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  ＮＬ［１］）  ＮＬ［１］）”の表記が繰り返して３回出現することを意味している。
【０１５２】
＜文書タイプ判定処理＞
続いて、文書タイプ判定部１５において、このようにして得られた文書構造をもとに、文書タイプの判定を行なう。
【０１５３】
ここでは、文書タイプとして“カタログリスト”が得られたものとする。
【０１５４】
＜詳細文書構造検出処理＞
続いて、詳細文書構造検出部１６において、詳細な文書構造の検出を行う。
【０１５５】
ここでは、文書タイプ“カタログリスト”に関する構造詳細化の具体例を、入力文書と比較しながら詳述する。
【０１５６】
まず、図３１に、文書タイプ“カタログリスト”に関する構造詳細化ルールを示す。
【０１５７】
ここで、構造詳細化ルールは、宣言的な述語形式で記述するものとする。
【０１５８】
まず、Ａｌｌ（Ａ）で始まる１行目に記載されている内容であるが、これは対象文書に３つの部分構造情報を付与することを意味し、それぞれａｒｔｉｓｔ（アーティスト名）、ｔｉｔｌｅ（タイトル名）、ｄｅｓｃｒｉｐｔｉｏｎ（解説文）であり、さらにその出現が、ａｒｔｉｓｔ，ｔｉｔｌｅ，ｄｅｓｃｒｉｐｔｉｏｎの出現順であることを定義している。
【０１５９】
さらにＡｌｌ（Ａ）で始まる２行目に記載されている内容は、先の定義と同様、対象文書に３つの部分構造情報を付与することを意味し、それぞれａｒｔｉｓｔ（アーティスト名）、ｔｉｔｌｅ（タイトル名）、ｄｅｓｃｒｉｐｔｉｏｎ（解説文）であるが、さらにその出現順序は先ほどの定義に冗長性を加え、ｔｉｔｌｅ，ａｒｔｉｓｔ，ｄｅｓｃｒｉｐｔｉｏｎの出現順でもよいことを示している。
【０１６０】
次の行に記載されている内容は、ａｒｔｉｓｔの付与される入力文書構造の条件を示しており、まず述語“ＬＣＮ（Ｘ）”を満たす必要がある。
【０１６１】
この条件は、解析された入力文書において、繰り返しがあるような汎化構造を特定することを意味している。
【０１６２】
述語“ＬＣＮ”の具体例を図３２を用いて説明する。まず、構造記述形式リストから繰り返し構造を意味する数値の値で例えば平均よりも多いものを取り出す。
【０１６３】
ここでは、文書の前方に出現している“ＮＬ［４］”のテキスト構造として“タイトル”、“アーティスト”、“曲名”、“品番で検索”が出現している構造の他、各アーティスト情報が記載された“（ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  ＮＬ［１］）  ＮＬ［１］）＊３”のリストおよびその部分構造が該当する。
【０１６４】
このうち、汎化構造としてのリスト内部の情報を見てみると、“ＮＬ［４］”はリスト数４である。一方各アーティスト情報が記載されたリストは、まず最も深い部分に存在するリスト構造は、要素数が３であり、ノードリストは１階層である。次に、それを包含する一段大きなリスト構造は、要素数が６であり、ノードリストは２階層をなしていることがわかる。さらにこれらを包含するリスト構造は、そのリスト数が７であり、さらにリストも３階層の構造を有していることがわかる。
【０１６５】
このことから後者の“（ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  （ＮＬ［１］  ＮＬ［１］  ＮＬ［１］）  ＮＬ［１］）＊３”が最も複雑な内部構造を有しているため、この条件を満たす繰り返し汎化構造であるとする。
【０１６６】
ここでａｒｔｉｓｔ付与のための条件説明に戻ると、次にｔｅｘｔ（Ｘ，  ［ｕｎｋｎｏｗｎ＃１］）の記載がある。
【０１６７】
これは、意味付けの対象がテキストノードであり、その値を＃１とラベル付けすることを意味する。このラベル付け“＃１”は、他のルールで適合する箇所との排他制御のためであり、ここでマッチングした結果に対しては、ラベル付けが異なる他のルール処理は適用しないものとする。
【０１６８】
次の条件として、“ＳＣ（Ｘ，［ＰＥＲＳＯＮ］，０．１）”の記載があるが、これは意味付け対象が汎用固有表現抽出で“［ＰＥＲＳＯＮ］（人名）”と付与された箇所に関しては、ａｒｔｉｓｔ付与の確度を高めるという意味を示している。
【０１６９】
図３３の（１）の部分構造例では対象となるテキストノードに対して汎用固有表現抽出として人名が付与される箇所がないが、（３）の部分構造例においては、“［ＮＥＷ！］”の兄弟ノードに“佐藤”の出現があるため、部分構造のこの位置に出現するテキストへａｒｔｉｓｔの付与が他の位置への付与よりも確度が高くなる。結局、ａｒｔｉｓｔ付与の条件は以上であるため、最終的に“佐藤静香”が出現しているテキストノードと同じ位置に出現している全４つのテキストノードに対して、ａｒｔｉｓｔの意味が付与される。
【０１７０】
次に、ｔｉｔｌｅで始まる条件記述であるが、これは先のａｒｔｉｓｔの場合と同様、繰り返し構造が確認できる汎化構造を特定しており、先ほどのアーティスト情報が記載された３箇所の部分構造が特定される。更に、条件の限定として、対象となる部分構造がテキストノードであり、その文字列は繰り返して出現しておらず（＝“ｕｎｋｎｏｗｎ”）、かつａｒｔｉｓｔで特定されたテキストとも異なる（＝“＃２”）ことを示している。
【０１７１】
従って、“ＬＣＮ”で特定された部分構造のテキストのうちで、“☆Ｊ−ＰＯＰ／アルバム”および“［ＮＥＷ！］”は、同様の文言が部分構造に共通に出現しているため除外される。
【０１７２】
その結果、図３３の部分構造（１）を例に取ると“ｋａｒｅｈａ”の文字列が位置するテキストノードが、このｔｉｔｌｅの意味付与対象となる。
【０１７３】
次に、ｄｅｓｃｒｉｐｔｉｏｎで始まる条件記述であるが、これも先までの例と同様に、繰り返し構造が認められる汎化構造を特定した上で、さらに対象がテキストであって、その長さが１０以上であるという条件を対象箇所の８割が満たすことを指定している。
【０１７４】
さらに対象箇所に付与される条件として、意味役割語で音楽（＝“ＭＵＳＩＣ”）に関連する“ベスト”や“アルバム”、“インディーズ”といった文言が少なくとも１割の箇所で含まれなければならないことを指定している。その結果、対象となるテキストでは、図３３の（１）の例における“アイドルグループｚ−ｉｎｄｓ．・・・”の文書が長さの条件を満たしている一方、他の２つの部分構造でも長さの制約を満たしており、かつ意味役割語の出現制約も満たしていることから、この位置に出現するテキストに関して、ｄｅｓｃｒｉｐｔｉｏｎの意味付けが行なわれる。
【０１７５】
最後のｃａｔａｌｏｇ＿ｉｔｅｍの例であるが、これもａｒｔｉｓｔやｔｉｔｌｅと同様、“ＬＣＮ”が指定する繰り返しの汎化構造を対象として、その部分構造に対してｃａｔａｌｏｇ＿ｉｔｅｍという意味を付与するという指定である。
【０１７６】
＜意味タグ付与処理＞
最後に、意味タグ付与部１７において、これまでの処理により特定された詳細な文書構造をもとに、入力文書に対してタグ付与を行う。
【０１７７】
ここでは、部分構造の詳細化結果に対して、図３４に例示するような意味タグ付与ルール２４を適用するものとする。
【０１７８】
図３５〜図３８に、この結果得られた出力文書構造例を示す。
【０１７９】
楽曲タイトルに“＜ｓｐａｎ  ｃｌａｓｓ＝“ｔｉｔｌｅ“＞”タグ、アーティスト名に“＜ｓｐａｎ  ｃｌａｓｓ＝“ａｒｔｉｓｔ“＞”タグ、更に解説のあるテキスト文に“＜ｓｐａｎ  ｃｌａｓｓ＝“ｄｅｓｃｒｉｐｔｉｏｎ”＞”タグ、またこれらの構造を包含する部分構造に“＜ｓｐａｎ  ｃｌａｓｓ＝“ｃａｔａｌｏｇ＿ｉｔｅｍ”＞”タグが付与される。
【０１８０】
なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。  
また、本実施形態は、コンピュータに所定の手順を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【０１８１】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１８２】
【図１】本発明の一実施形態に係る文書処理装置の構成例を示す図
【図２】同実施形態に係る文書処理装置の処理手順の一例を示すフローチャート
【図３】第１の入力文書例を示す図
【図４】汎用固有表現の抽出手順の一例を示すフローチャート
【図５】入力文書からタグ情報を除去して得られるテキスト文の一例を示す図
【図６】汎用固有表現抽出辞書の一例を示す図
【図７】汎用固有表現の抽出結果の一例を示す図
【図８】意味役割語辞書の一例を示す図
【図９】意味役割語の抽出結果の一例を示す図
【図１０】汎用文書構造解析の処理手順の一例を示すフローチャート
【図１１】汎用文書構造の解析結果の一例を示す図
【図１２】文書構造記述の処理手順の一例を示すフローチャート
【図１３】汎用固有表現格納リストの一例を示す図
【図１４】意味役割語格納リストの一例を示す図
【図１５】文書構造記述の一例を示す図
【図１６】文書タイプ判定の処理手順の一例を示すフローチャート
【図１７】スコア表の例及び補正情報の例を示す図
【図１８】文書構造記述リストの例及び文書モデルの例を示す図
【図１９】文書モデルの詳細情報の一例及び入力文書への適用例を示す図
【図２０】意味タグ付与ルールの例を示す図
【図２１】第１の出力文書例を示す図
【図２２】第２の入力文書例を示す図
【図２３】第２の入力文書例（図２２の続きの部分）を示す図
【図２４】第２の入力文書例（図２３の続きの部分）を示す図
【図２５】第２の入力文書例（図２４の続きの部分）を示す図
【図２６】テキスト抽出結果の一例を示す図
【図２７】汎用固有表現の抽出結果の一例を示す図
【図２８】意味役割語の抽出結果の一例を示す図
【図２９】汎用構造の解析結果の一例を示す図
【図３０】文書構造記述の一例を示す図
【図３１】構造詳細化の一例を示す図
【図３２】繰り返し汎化構造特定について説明するための図
【図３３】意味付与について説明するための図
【図３４】意味タグ付与ルールの例を示す図
【図３５】第２の出力文書例を示す図
【図３６】第２の出力文書例（図３５の続きの部分）を示す図
【図３７】第２の出力文書例（図３６の続きの部分）を示す図
【図３８】第２の出力文書例（図３７の続きの部分）を示す図
【符号の説明】
【０１８３】
１１…汎用固有表現抽出部、１２…意味役割語抽出部、１３…汎用文書構造解析部、１４…文書構造記述部、１５…文書タイプ判定部、１６…詳細文書構造検出部、１７…意味タグ付与部、２１…汎用固有表現抽出辞書・ルール、２２…意味役割語辞書、２３…文書モデルデータベース、２４…意味タグ付与ルール、１００…入力文書、１０１…出力文書
【図１】
0004521343.tif 000002
【図２】
0004521343.tif 000003
【図３】
0004521343.tif 000004
【図４】
0004521343.tif 000005
【図５】
0004521343.tif 000006
【図６】
0004521343.tif 000007
【図７】
0004521343.tif 000008
【図８】
0004521343.tif 000009
【図９】
0004521343.tif 000010
【図１０】
0004521343.tif 000011
【図１１】
0004521343.tif 000012
【図１２】
0004521343.tif 000013
【図１３】
0004521343.tif 000014
【図１４】
0004521343.tif 000015
【図１５】
0004521343.tif 000016
【図１６】
0004521343.tif 000017
【図１７】
0004521343.tif 000018
【図１８】
0004521343.tif 000019
【図１９】
0004521343.tif 000020
【図２０】
0004521343.tif 000021
【図２１】
0004521343.tif 000022
【図２２】
0004521343.tif 000023
【図２３】
0004521343.tif 000024
【図２４】
0004521343.tif 000025
【図２５】
0004521343.tif 000026
【図２６】
0004521343.tif 000027
【図２７】
0004521343.tif 000028
【図２８】
0004521343.tif 000029
【図２９】
0004521343.tif 000030
【図３０】
0004521343.tif 000031
【図３１】
0004521343.tif 000032
【図３２】
0004521343.tif 000033
【図３３】
0004521343.tif 000034
【図３４】
0004521343.tif 000035
【図３５】
0004521343.tif 000036
【図３６】
0004521343.tif 000037
【図３７】
0004521343.tif 000038
【図３８】
0004521343.tif 000039