(57)【要約】【課題】文書から数値表現を抽出し、抽出した数値表現の属性名を検出し、属性名と数値に対して適切な尺度を対応づける。【解決方法】文書から数値表現、数値表現を値とする属性名、数値表現と属性名の組を特徴とする事物名を抽出し、属性名と数値に対して適切な尺度を対応づける。事物と、事物を特徴づける属性名、属性名の数値の３つを１つの組として文書中から抽出することで、抽出した数値を適切な尺度に対応づけられるようになる。その結果、正確に数量表現を扱えるようになり、数値表現を含むテキストマイニングや文書要約、文書検索を従来よりも精度よく実現できるようになる。【選択図】図１
2010117797.tif 000002
【特許請求の範囲】
【請求項１】
電子文書から数値と当該数値の単位を抽出する数値表現抽出部と、
前記文書から前記数値を属性値とする属性名を抽出する属性名抽出部と、
抽出した数値を属性名ごとに予め定められた尺度に対応付け、当該尺度の数値に変換する尺度選択部と
を有することを特徴とする数値表現処理装置。
【請求項２】
請求項１記載の数値表現処理装置において、前記尺度選択部は、属性名と当該属性名の数値表現の単位と尺度とを関係づけて登録したテーブルを有し、前記テーブルに登録された情報を使って、前記抽出した数値を前記尺度の数値に変換することを特徴とする数値表現処理装置。
【請求項３】
請求項２記載の数値表現処理装置において、属性名、数値表現と事物名の文型パターンが登録された事物名抽出用パターン辞書を備える事物名抽出部を有し、前記事物名抽出部は、前記数値表現抽出部で抽出した数値表現と前記属性名抽出部で抽出した属性名の組を有する事物名を文書から抽出することを特徴とする数値表現処理装置。
【請求項４】
請求項３記載の数値表現処理装置において、前記事物名抽出用パターン辞書には属性名と数値表現の単位の共起スコア及び事物名と属性名の共起スコアが登録されており、前記事物名抽出部は、前記文書から抽出された数値、当該数値の単位、及び当該数値の事物名を元に、前記事物名抽出用パターン辞書に登録された共起スコアを用いて、前記抽出された数値を値とする属性名を推定することを特徴とする数値表現処理装置。
【請求項５】
請求項４記載の数値表現処理装置において、前記事物名抽出部は、オントロジを使って数値表現を値とする属性名を推定することを特徴とする数値表現処理装置。
【請求項６】
請求項３記載の数値表現処理装置において、前記属性名抽出部は、同義な属性名が同一の代表名に対応付けられるようにして属性名と代表名の対を登録した辞書を有し、当該辞書を用いて前記文書から抽出した属性名に対応する代表名を取得することを特徴とする数値表現処理装置。
【請求項７】
請求項６記載の数値表現処理装置において、文書名、当該文書に含まれる数値をその事物名、属性名の代表名、前記属性名に対応付けられた尺度に変換された数値を記憶したテーブルを有することを特徴とする数値表現処理装置。
【請求項８】
請求項３記載の数値表現処理装置において、前記尺度選択部は年齢を生年に変換することを特徴とする数値表現処理装置。
【請求項９】
請求項３記載の数値表現処理装置において、前記尺度選択部は位置を表す数値表現を緯度・経度に変換することを特徴とする数値表現処理装置。
【請求項１０】
請求項３記載の数値表現処理装置において、前記尺度選択部は位置を表す数値表現を郵便番号に変換することを特徴とする数値表現処理装置。
【請求項１１】
請求項３記載の数値表現処理装置において、前記属性名抽出部は、属性名の一部となる接尾辞の情報を登録した辞書を有し、前記接尾辞の情報を使って属性名を推定することを特徴とする数値表現処理装置。
【請求項１２】
請求項３記載の数値表現処理装置において、前記属性名抽出部は、属性名とその属性名をとりうる対象の情報を登録した辞書を有し、前記辞書と照合して前記文書中から検出した属性名と、当該属性名の前後に出現する文字列のうち前記辞書に当該属性名をとりうる対象として登録されている文字列とを合わせて拡張した属性名を作成することを特徴とする数値表現処理装置。
【請求項１３】
請求項３記載の数値表現処理装置において、
テーブルに登録された情報を使って、数値表現を値とする属性名を推定する機能を持つことを特徴とする数値表現処理装置。
【請求項１４】
請求項３記載の数値表現処理装置において、属性名を使って簡略表記された単位から正規の単位表記を推定することを特徴とする数値表現処理装置。
【請求項１５】
請求項３記載の数値表現処理装置において、組み立て単位の構造を解析する機能を有することを特徴とする数値表現処理装置。
【請求項１６】
請求項７記載の数値表現処理装置において、事物名と属性名と数値の入力を受け付ける検索クエリ入力部、及び、前記検索クエリ入力部に入力された属性名を前記代表名に変換し、前記入力された数値を前記入力された属性名に対応する尺度の数値に変換し、前記テーブルを参照して、前記入力された事物名と前記変換された代表名及び数値が含まれる文書ファイルを検索する情報検索部を有することを特徴とする数値表現処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書中から有用な表現をコンピュータによって自動的に抽出する固有表現抽出技術に関し、特に数値表現と当該数値表現に関わる付随的情報を抽出し、また数値表現を含む文書を検索する数値表現抽出装置に関する。
【背景技術】
【０００２】
電子化された文書が大量に蓄積され自由に検索できるようになったことで、文書中から有用な情報を自動的に収集したいというニーズが高まっている。そのようなニーズに答えることを目的として、自然言語処理の研究から固有表現抽出や情報抽出とよばれる技術が生まれてきた。固有表現抽出とは、固有名詞(人名、地名など)や日付、時間表現などを文書中から抽出する技術である。情報抽出とは、文書から有用な情報だけを抽出する技術である。固有表現抽出は情報抽出の構成要素の一つとみなせる。
【０００３】
固有表現にはいくつかの種類があるが、数に関わる表現を抽出する技術は数値表現抽出(あるいは数量表現抽出)と呼ばれる。数値表現抽出を利用すると、文書を検索するときに単語だけではなく数値を使って検索質問をできるようになる。その結果、例えば、ある物品の価格や数量で表わされる仕様を使ったWeb検索や組織内検索などが可能になる。
【０００４】
文書から自動的に数値表現を抽出する方法として、数値表現に関するさまざまなパターンを定義して抽出を実現する方法がある(特許文献１)。この方法では、アラビア数字や漢数字の前後に出現する文字列のパターンを定義して数値表現の部分を抽出している。同時に、文書内に出現する単語を使って、数値の内容(重さなのか長さなのか等)を推定している。パターンではなく簡単な規則を定義して抽出する方法もある(特許文献２)。この方法は、数値の前後数文字と句読点を手掛かりとして数値表現を抽出するもので、単位を使い数値の内容を推定している。また、数値表現を使って検索できる文書検索システムも知られている(特許文献３)。この検索システムは、キーワードとそのキーワードを特徴づける数値を使って文書検索を実現している。
【０００５】
【特許文献１】特許第３３６０６１７号公報
【特許文献２】特開２００６−３５０９８９号公報
【特許文献３】特開２００６−３２３５７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
まず、従来の方法では適切に処理できない文書の例を示す。従来の方法では、「容疑者は年齢２０歳から３０歳くらい」という文から「２０歳から３０歳」という部分を数値表現として抽出し、「下限値：２０、上限値：３０、単位：歳」などとしてインデクスに登録する。上記の特許文献１及び特許文献２でも同様の方法で数値情報をインデクスに登録している。
【０００７】
上記の文が西暦２０００年のある報告書から抽出された情報だと仮定し、このような報告書から数値を検索質問に使って文書検索する場合を考えてみる。この場合、２００８年の時点で、検索質問として「２０歳」を入力して上記の文が検索されるのは不適切な場合がある。同様に、２００８年の時点で、検索質問として「３５歳」を入力して上記の文が検索されないのも不適切である。なぜなら、２０００年の時点で「２０歳から３０歳」であるなら、容疑者の年齢は、２００８年には「２８歳から３８歳」のはずだからである。
【０００８】
このような不適切な処理は、文書から抽出した数値をそのままデータベースに登録することが原因である。抽出した数値を、実際の世界で使われる絶対的な尺度と対応づけてインデクスに登録する必要がある。
【０００９】
例の場合、年齢そのままを登録するのではなく、西暦を尺度として出生年に変換して、「尺度：西暦、属性名：出生年、下限値：１９７０、上限値：１９８０、単位：年」としてインデクスに登録しておけばよい。このようにしておけば、２００８年に検索質問として入力された「２０歳」は「尺度：西暦、属性名：出生年、値：１９８８、単位：年」となりインデクスに登録されている情報とは一致しないことになる。２００８年に検索質問として入力された「３５歳」は「尺度：西暦、属性名：出生年、値：１９７３、単位：年」となりインデクスに登録されている情報と一致する。
【００１０】
上記は、年齢という属性を西暦という尺度に対応づける例であるが、その他に、「○○から１０キロメートル」のように相対的な使って記述された位置を「緯度・経度」という尺度に対応づける場合が考えられる。
【００１１】
物理量に対しても尺度への対応づけは有効である。例えば、重さの単位には、SI単位で標準とされているキログラムの他に、ポンドやオンスがある。これらの複数の重さの単位で表された数値表現を単一の尺度に対応づけることで、文章中で使われている単位が異なる場合でも、その違いを意識せずに検索することが可能になる。
【００１２】
このように、数値表現を絶対的な尺度と対応づけるという課題は、文書処理における数値表現の処理をより適切にするために解決すべき課題といえる。ところで、この課題を解決するためには、解決すべきもうひとつの課題がある。それは、数値表現を属性値とする属性名を推定することである。
【００１３】
なぜなら、適切な尺度を選択するためには、数値表現を属性値とする属性名を知る必要があるからである。例えば「風速１０メートルを記録」という文から「数値：１０、単位：メートル」を抽出しただけでは適切な尺度「速さ」に対応づけられない。「属性名：風速」という情報が得られることで「尺度：速さ、単位：メートル／秒」と対応づけられるようになる。
【００１４】
特許文献２では単位から属性名を推定しており、単位「歳」から属性値「年齢」を推定できるような場合にしか適用できない。特許文献１には、「ポンド」が、英国貨幣の単位と重さの単位のどちらかを文章中の単語を使い推定する方法が示されている。しかし、特許文献１の方法では、「新幹線は、最高時速３００キロで東京から大阪まで約５００キロの距離を２時間半で走る」という文から、「数値：最高３００キロ、属性：時速、尺度：速度」と「数値：約５００キロ、属性：距離、尺度：長さ」のように同じ表記の単位が一つの文章内で異なる属性名に対する属性値として使われている場合を処理できない。数値の属性を判断する発明としては、特開２００６−９２１９３号公報もあるが、特許文献１と同じように文書に出現する単語を利用して判断しており同じ課題を抱えている。
【００１５】
まとめると、本発明の課題は、文書から数値表現を抽出し、当該数値に対して適切な尺度を対応づけることであり、そのために、抽出した数値表現と数値表現を属性値とする属性名を検出することである。
【課題を解決するための手段】
【００１６】
属性名と属性値の組から適切な尺度を選択するためのテーブルを使い、数値表現に適切な尺度を対応づける。属性名は、数値の単位がとりうる属性名の辞書と、事物がとりうる属性名の辞書を使って推定する。
【００１７】
本発明による数値表現処理装置は、電子文書から数値と当該数値の単位を抽出する数値表現抽出部と、文書から数値を属性値とする属性名を抽出する属性名抽出部と、抽出した数値を属性名ごとに予め定められた尺度に対応付け、当該尺度の数値に変換する尺度選択部とを有する。尺度選択部は、属性名と当該属性名の数値表現の単位と尺度とを関係づけて登録したテーブルを有し、テーブルに登録された情報を使って、抽出した数値を尺度の数値に変換する。
【００１８】
また、属性名、数値表現と事物名の文型パターンが登録された事物名抽出用パターン辞書を備える事物名抽出部を有し、事物名抽出部は、数値表現抽出部で抽出した数値表現と属性名抽出部で抽出した属性名の組を有する事物名を文書から抽出する。事物名抽出用パターン辞書には属性名と数値表現の単位の共起スコア及び事物名と属性名の共起スコアが登録されており、事物名抽出部は、文書から抽出された数値、当該数値の単位、及び当該数値の事物名を元に、事物名抽出用パターン辞書に登録された共起スコアを用いて、抽出された数値を値とする属性名を推定する機能を有するのが好ましい。
【００１９】
属性名抽出部は、同義な属性名が同一の代表名に対応付けられるようにして属性名と代表名の対を登録した辞書を有し、当該辞書を用いて前記文書から抽出した属性名に対応する代表名を取得するのが好ましい。
【００２０】
また、本発明の数値表現処理装置は、文書名、当該文書に含まれる数値をその事物名、属性名の代表名、前記属性名に対応付けられた尺度に変換された数値を記憶したテーブルを有する。
【００２１】
本発明の数値表現処理装置は、また、事物名と属性名と数値の入力を受け付ける検索クエリ入力部、及び、検索クエリ入力部に入力された属性名を代表名に変換し、入力された数値を入力された属性名に対応する尺度の数値に変換し、テーブルを参照して、入力された事物名と変換された代表名及び数値が含まれる文書ファイルを検索する情報検索部を有する。
【発明の効果】
【００２２】
本発明によると、事物と、事物を特徴づける属性名、属性名の数値の３つを１つの組として文書中から抽出し、抽出した数値を適切な尺度に対応づけられるようになる。その結果、正確に数量表現を扱えるようになり、数値表現を含むテキストマイニングや文書要約、文書検索を従来よりも精度よく実現できるようになる。また、本発明を使い、文書情報からファクト情報を抽出して、ファクト情報データベースを構築するような使い方も考えられる。
【発明を実施するための最良の形態】
【００２３】
以下では、本発明の実施形態を、実施形態の構成と当該構成を使っての処理動作に分けて説明する。また、文書から抽出した情報を利用する具体的な応用としては文書検索を想定して説明する。
【００２４】
本発明の数値表現処理装置１０は、図１に示すように、文書ファイル入力部１００、文書部分抽出部２００、数値表現抽出部３００、属性名抽出部４００、事物名抽出部５００、尺度選択部６００、情報保存部７００、情報検索部８００を有する。これらの処理部は、コンピュータ上で実行されるプログラムによってソフト的に実現することも、ハードウエアによって実現することも、ソフトウエアとハードウエアの組み合わせによって実現することもできる。
【００２５】
文書ファイル入力部１００は、文書を入力するための処理部である。文書はワードプロセッサなどで作成された電子化文書のこともあるし、光学式文字読取装置（ＯＣＲ）などを使って電子化された文書ファイルのこともある。どちらの場合でも、文書は文字コード化された電子文書であるとする。文字コードの種類はとくに制限しない。文書部分抽出部２００は、入力された文書ファイルから文書部分を抽出する処理部である。文書部分とは、当該文書ファイルの内容と考えられる部分である。文書部分を抽出するとは、フォーマット情報やメタデータ類を取り除く処理である。
【００２６】
数値表現抽出部３００は、抽出した文書から数値表現を検出する処理部である。数値表現には、アラビア数字や漢数字などで表記される数値、数値の前に付く程度表現(「約」や「だいたい」など)、単位や助数詞、数値や単位、助数詞の後に続く程度を表す表現(「くらい」や「強」、「以下」など。以下では、程度表現と記述する)、範囲を表す表現(「〜」や「から」など。以下では、範囲表現と記述する)を含む。数値表現抽出部には、特許文献２の手段など、既知の手段を利用することができる。
【００２７】
属性名抽出部４００は、抽出した数値表現を値とする属性名を文書から抽出する処理部である。この処理部は既知の手段を用いて実現することができる。例えば、次の(1)〜(5)のような方法で実現できる。
(1) 予め作成しておいた辞書を使い、属性と属性値を抽出する。辞書は少数の属性と属性名を使い「属性のX」や「Xの属性値」といった文型にある事例を収集することで作成する。（「意見抽出を目的とした機械学習による属性-評価値対同定」 情報処理学会自然言語処理研究会ＮＬ−１６５−４：文献１）
(2) 予め定義しておいた規則にしたがって、数値表現への係り受け関係からの数値と属性名を推定する。（「係り受けの制約と優先規則に基づく数量表現抽出」情報処理学会自然言語処理研究会ＮＬ−１４５−１８）
(3) 文型と共起スコアを使って、対象、属性、属性名の3つ組を抽出する。（「テキストから属性関係を抽出する」情報処理学会自然言語処理研究会ＮＬ−１６４−４：文献２）
(4) ＨＴＭＬタグや「ＡのＢ」のような文型を使って属性と属性値を抽出する。（「属性語のＷｅｂ文書からの自動発見と人手評価のための基準」自然言語処理 Vol.13，No.4）
(5) ＨＴＭＬファイルのＴＡＢＬＥタグを使って属性と属性名の組を抽出する。（”Extracting attributes and their values from web pages” ACL-02 Student Research Workshop）
【００２８】
本実施例の属性名抽出部４００は、辞書を使って属性名と属性値を抽出する上記(1)の方法を拡張したものであり、図２に示すように、属性名辞書４０１、属性名検出部４０２、属性名拡張部４０３、属性名・数値表現組評価部４０４から構成される。数値表現に対応した接尾辞処理や属性名拡張処理が拡張部分に該当する。
【００２９】
属性名辞書４０１には、文書中に出現しうる属性名を登録してある。属性名には、属性名の同義関係と代表名を登録しておく。属性名の同義語は人手、あるいは、コンピュータにより自動的に収集することができる。代表名は辞書の見出し語に相当するものである。図２の例では、同義関係にある属性名「金額」と属性名「価格」に対して、統一的な代表名として「価格」が対応付けられて登録されている。文書から抽出された属性名を代表名に置き換えて後の処理を行うことにより、同義語の存在に起因する処理の煩雑さを低減することができる。
【００３０】
また、属性名の一部になる接尾辞についての情報を登録しておく。当該情報を利用することで、未知の属性名を検出もできるようになる。接尾辞の知識は人手で登録する。接尾辞としては、例えば、「率、料、量、比、費、度、長、重、圧、強さ、硬さ、長さ、重さ、流、速さ、数、力」などが考えられる。接尾辞は、必要に応じて追加する。
【００３１】
属性名検出部４０２は、数値情報や句読点との相対的な位置関係と、属性名辞書４０１を使って属性名を抽出する。適切な属性名の選択は、後の属性名・数値表現組評価部４０４で行なう。属性名検出部４０２では、候補になりうる全ての属性名を抽出する。辞書に登録されている属性名だけでは属性を抽出できない場合は、接尾辞を使う。数値情報や句読点との相対的な位置関係から、接尾辞を検出する。検出した接尾辞を属性名の末尾に持つ属性名を属性辞書で検索し属性名の候補とする。
【００３２】
属性名拡張部４０３は、属性名検出部４０２で抽出した属性名の候補について、文書中で当該属性名の前後に出現する文字列を追加して、追加した結果の文字列を新に属性名とする処理部である。当該処理は、例えば「・・・炭素の含有率・・・」という文章から、属性名「含有率」を検出した後で、含有率の前に出現する「炭素の」を追加し、「炭素の含有率」を属性名とする。属性名辞書に登録されている属性名が「何について」の情報なのかを必要とする場合に、この処理は実施する。属性名辞書では、属性名が要求する「何について」の情報を対象として登録している。図２の属性名辞書では、対象としてＩＤを登録し、ＩＤの内容を対象用のテーブルに登録している。対象の情報は、人手で逐次登録することもできるし、文書から自動的に収集することもできる。例えば、「○○を含有」のように当該処理を必要とする属性名はヲ格をともなって文書に出現しているという性質を利用できる。「炭素の含有率」の場合、文書中から「炭素を含有」という記述をあらかじめ検出しておくことで、属性名辞書に「含有率」が「炭素」を対象とすることを登録できる。
【００３３】
属性名・数値表現組評価部４０４では、数値表現に含まれる単位・助数詞と属性名の組について適切さを評価する。そのために、上記文献１に記載されている機械学習によって単位と属性名の組の尤もらしさを評価する方法を利用することができる。
【００３４】
事物名抽出部５００は、抽出した数値表現と属性名の組を特徴とする事物の名称を文書から抽出する処理部である。事物とは、物あるいは出来事を表す。物は物理的な物に限らず抽象的な物も含む。この処理は、上記文献２のパターンを使って属性名と属性値の組を抽出する方法に、事物名と属性名の組を抽出するパターンを追加することで実現する。本処理部は、図３に示すように、事物名抽出用パターン辞書５０１、事物名抽出部５０２、属性名補完部５０３、オントロジ利用による属性名補完部５０４、オントロジ(部分全体関係)５０５から構成される。
【００３５】
事物名抽出用パターン辞書５０１には、文書中に出現しうる属性名、数値表現と事物名の文型パターンと共起スコアを登録してある。文型パターンは、例えば、「属性名Ａ数値表現Ｖの事物名Ｏ」である。また、属性名が省略されている文から事物名を抽出するために、文書中に出現しうる単位・助数詞と事物名の文型パターンを登録してある。例えば「数値表現Ｖの事物名Ｏ」である。共起スコアは、数値表現Ｖの単位・助数詞と属性名Ａ、属性名Ａと事物名Ｏ、それぞれの組にについて登録しておく。文型パターンの尤度評価に利用する。文型パターンの収集は、上記文献２に従い係り受け関係付きのコーパスを利用することができるが、係り受け関係のないコーパスからの抽出でもかまわない。また、共起スコアの評価は文献２に従えば、事物名と属性名、属性名と属性値それぞれについての相互情報量を使っているが、その他の評価方法でもかまわない。
【００３６】
事物名検出部５０２は、事物名抽出用パターン辞書５０１を使って事物名を抽出する。例えば「属性名Ａ数値表現Ｖの事物名Ｏ」を使うと「排気量２０００ｃｃの自動車」から属性名「排気量」、数値表現「２０００ｃｃ」が分かっているとき、事物名「自動車」を抽出することができる。また、「数値表現Ｖの事物名Ｏ」を使うと「２０００ｃｃの自動車」から、数値表現「２０００ｃｃ」が分かっているとき、事物名「自動車」を抽出することができる。
【００３７】
属性名補完部５０３は、属性名が文書中から検出できない場合に、数値表現の単位・助数詞と事物名を使って属性名を決める処理部である。事物名抽出用パターン辞書５０１に登録されている属性名と数値表現の単位、事物名と属性名の共起スコアを使い、共起スコアが最大になり、かつ、ある閾値を超える場合、属性名を省略されている属性名とする。例えば「２０００ｃｃのエンジン」からは、数値表現「２０００ｃｃ」と事物名「エンジン」が抽出されるが、属性名が分からない。このとき事物名抽出用パターン辞書５０１にある共起スコアを使い、「エンジン」及び「ｃｃ」との間に高い共起スコアを持つ属性名が「排気量」であることから、属性名「排気量」を推定することができる。
【００３８】
属性名補完部５０３で属性名が得られない場合、オントロジ利用による属性名補完部５０４によって属性名を推定する。当該処理では、部分全体関係を登録したオントロジ５０５を使い、文書から抽出した事物名を全体とした場合に部分の関係にある事物名を調べ、この事物名を使って、共起スコアによる属性名推定処理を行なう。以下に例を示す。数値表現「２０００ｃｃ」事物名「自動車」に対して、属性名が得られないとする。オントロジ５０５を使い、「自動車」の部分に「エンジン」があることが分かる。「エンジン」と「２０００ｃｃ」を使い、上記の方法によって、属性名「排気量」を得ることができる。
【００３９】
尺度選択部６００は、属性名と数値表現に含まれる単位・助数詞を使って、数値表現と尺度を対応づけ、数値表現に含まれる数値を尺度の持つ単位に換算する処理を行う。尺度選択部６００は、図４に示すように、尺度選択用テーブル６０１、単位構造解析部６０２、換算部６０３、接頭辞換算表６０４、単位換算表６０５から構成される。
【００４０】
尺度選択用テーブル６０１は、図４に示すように、項目名が、属性名（代表名）、単位・助数詞、尺度、尺度がとる単位のテーブルである。尺度と尺度がとる単位は計量法、計量単位令を参考に定義することができるが、前記法令に含まれない尺度と単位も定義できる。属性名（代表名）と単位・助数詞が与えられたとき、対応する尺度が選ばれる。例えば、数値表現が年齢のとき、尺度として生まれた年の暦年と対応づける。また、ある地点からの距離を表す数値表現が得られたとき、対応する緯度・経度に対応づける。そのほかにも、「キロメートル」を「メートル」に対応づけるような単位換算の関係もテーブルに登録できる。さらに、「キログラム」を簡略化した「キロ」のような単位表記も登録しておき、尺度「重さ」と対応づけることもできる。
【００４１】
ある地点からの距離については、緯度・経度に対応づけられる。だいたいの場所に対応づければ良い場合には、郵便番号に対応づけることもできる。これらの対応づけを実現する場合には、地名と緯度・経度との対応を登録したデータベースや、地名と郵便番号の対応を登録したデータベースが必要である。地名と緯度・経度との対応データや地名と郵便番号の対応データは、公的機関や企業などにより公開・販売されているものがあるのでここでは詳細に説明しない。
【００４２】
地名と方角、距離が分かれば、まず、ある地点の地名から緯度・経度を検索する。ある地点の緯度・経度が分かれば、下記の式を使い、ある地点からの距離が分かっている位置の緯度・経度を計算できる。緯度・経度が分かれば、緯度・経度から地名を検索し、地名から郵便番号を検索することができる。
方角：Ｒ（東西方向を基準にラジアンで表す）
距離：Ｌ（単位はメートル）
ある地点の緯度：Ｉ
ある地点の経度：Ｋ
求めたい緯度：ｉ
求めたい経度：ｋ
計算に使う定数（赤道の半径）：Ａ（＝6378137メートル）
（Ｌ／Ａ）2＝（ｉ−Ｉ）2＋｛（ｋ−Ｋ）cosＩ｝2
Ｒ＝tan-1｛（ｉ−Ｉ）／（ｋ−Ｋ）cosＩ｝
【００４３】
物の個数を数えるときに数字の右につける助数詞(１個の「個」や１台の「台」など)の場合、尺度は「個数」とする。単位は「個」である。また、含有量などの割合は尺度を「割合」とする。単位は％である。属性名がなくても尺度が決められる単位の場合、属性名は空欄とする。
【００４４】
単位構造解析部６０２は、単位の構造を解析する処理部である。解析規則の一部を、標準的な文法記述形式ＢＮＦ（バッカス・ナウア記法：Backus-Naur Form）を使い、図５に例として示す。図５のような規則を解析する構文解析プログラムは、プログラム言語のコンパイラと同じ要領で実現できる。なお、図５の規則は、正しい単位を解析できるが、定義する組立単位の範囲には不適切な単位が含まれている。例えば、単位長さあたりの重さを表す単位「ｋｇ／ｍ」を解析すると、規則４を使い「接頭辞」の「ｋ」を認識し、規則２を使い「重さ単位」の「ｇ」を認識し、規則１０を使い「重さ組立単位」の「ｋｇ」を認識し、規則１を使い「長さ単位」の「ｍ」を認識し、規則１３を使い「ｋｇ」と「ｍ」が「単位」であると認識し、規則１４を使い、「ｋｇ」と「ｍ」が「部分組立単位」と認識し、規則１６を使い２つの部分組立単位と「／」が組立単位「ｋｇ／ｍ」を構成していることを認識できる。
【００４５】
換算部６０３は、単位構造解析結果、接頭辞換算表、単位換算表を使って、抽出した数値表現の数値を尺度が対応づいている単位に合うように換算する処理部である。図４の接頭辞換算表６０４に示すように、接頭辞に対して１０のＮ乗倍のＮに相当する値を登録しておく。単位変換表６０５は、図４に示すように、変換元単位、対応づける尺度、変換先単位、変換式を登録しておく。当該式では、数値表現から抽出した数値はＸに代入して計算する。
【００４６】
情報保存部７００は、文書から抽出した情報、及びこれらを処理して得た情報を、抽出元となった文書ファイル名と関係づけて保存する処理部である。図６に示す情報保存テーブル７０１に登録する。テーブルの項目は、事物名７０２、事物名の開始位置７０３、事物名の終了位置７０４、属性名７０５、属性名の開始位置７０６、属性名の終了位置７０７、属性名の属性名辞書における代表名７０８、数値表現に含まれる数値７０９、数値表現に含まれる単位・助数詞７１０、数値表現に含まれる程度表現７１１、数値表現が範囲表現の場合の範囲終了数値７１２、数値表現の開始位置７１３、数値表現の終了位置７１４、対応づけられた尺度７１５、数値７０９を換算して得た数値７１６、数値７１２を換算して得た数値７１７を登録する。出現位置と終了位置は文書先頭からのバイト数で表す。
【００４７】
数値表現が範囲表現の場合の範囲終了数値７１２とその換算値７１７には、数値表現が範囲表現の場合の大きいほうの数値を登録する。このとき、数値表現の数値７０９及びその換算値７１６の値は範囲表現の小さいほうの数値である。数値表現に含まれる数値７０９及びその換算値７１６、数値表現が範囲表現の場合の範囲終了数値７１２及びその換算値７１７には、無限大や無限小が登録されることもある。
【００４８】
検索部８００は、利用者が入力した検索クエリについて、情報保存部で情報保存テーブル７０１に蓄積された情報を検索する処理部である。検索部は、図７に示すように、検索クエリ入力部８０１、事物名検索部８０２、属性名と数値表現検索部８０３、結果出力部８０４から構成される。
【００４９】
検索クエリ入力部８０１は、利用者からの検索クエリの入力を受けつける処理部である。検索クエリは、１個以上の事物名と、０個以上の属性名と数値表現の組から構成される。本実施例では、図８に示すユーザ・インタフェース画面から入力するものとするが、このような方法に限られるわけではない。当該画面上で、利用者は、事物名、属性名、数値を文字列として入力する。程度には、「くらい」「以上」「未満」などの表現を入力する。
【００５０】
事物名検索部８０２では、事物名について、情報保存テーブル７０１を検索する。属性名と数値表現検索部８０３は、尺度選択部６００で属性名と数値表現から尺度を選択し、数値を換算し、その結果を使い事物名検索で絞り込まれた範囲で、情報保存テーブル７０１に対して検索する。結果出力部８０４は、検索結果をファイル名の一覧などで出力する処理部である。出力先としてディスプレイや紙、記録媒体などが利用できる。統計的尺度によってランキングすることもできる。
【００５１】
続いて、本発明の方法の動作を４つの例文を使って説明する。
〔例文１〕
「犯人の特徴
２５歳くらい、身長１７０ｃｍくらい、中肉」
〔例文２〕
「精油所や給油所に対し、２０年までにガソリンの炭素の含有量を１０％削減するよう求める。」
〔例文３〕
「軽自動車を排気量が２０００ｃｃの自動車と比較すると、保険の金額は約６０％とかなりお得な保険料設定でした。」
〔例文４〕
「配向膜における表面エネルギーが、３０ｄｙｎｅ／ｃｍから４０ｄｙｎｅ／ｃｍであるようにした。」
【００５２】
最初に、文書ファイル入力部１００により例文１〜４それぞれを含む文書ファイルを入力する。次に、文書部分抽出部２００により、文書ファイルから、例文１〜４それぞれを含む文書部分を抽出する。
【００５３】
次に、数値表現抽出部３００により、数値表現を抽出する。アラビア数字の連続部分を検出することで、例文１について「２５」と「１７０」を、例文２について「２０」と「１０」を、例文３について「２０００」と「６０」、例文４について「３０」と「４０」を検出する。アラビア数字の右方向に単位・助数詞を探索し、例文１について「２５歳」と「１７０ｃｍ」を、例文２について「２０年」と「１０％」を、例文３について「２０００ｃｃ」と「６０％」、例文４について「３０ｄｙｎｅ／ｃｍ」と「４０ｄｙｎｅ／ｃｍ」を検出する。検出した範囲の左右に程度表現や範囲表現を探索し、例文１について「２５歳くらい」と「１７０ｃｍくらい」を、例文２について「２０年までに」と「１０％」を、例文３について「２０００ｃｃ」と「約６０％」を、例文４について「３０ｄｙｎｅ／ｃｍから４０ｄｙｎｅ／ｃｍ」検出する。数値表現の抽出はこれで終了である。
【００５４】
属性名抽出部４００を使い、属性名を抽出する。属性名辞書４０１を使い、例文１については、「２５歳くらい」に対しては属性名が得られず、「１７０ｃｍくらい」に対しては属性名「身長」が得られる。例文２については、「２０年」の属性名は得られず、「１０％」の属性は「含有量」が得られる。例文３については、「２０００ｃｃ」は属性名「排気量」、「約６０％」は属性名「金額」が得られる。例文４については「３０ｄｙｎｅ／ｃｍから４０ｄｙｎｅ／ｃｍ」は属性名「表面エネルギー」が得られる。属性名拡張部４０３によって、例文２については、「１０％」の属性は「炭素の含有量」が得られる。
【００５５】
事物名抽出部５００を使い、事物名を抽出する。事物名抽出用パターン辞書５０１によって、例文１については、数値表現「２５歳くらい」に対して事物名が「犯人」、数値表現「１７０ｃｍくらい」属性名「身長」に対して、事物名「犯人」が得られる。例文２については、数値表現「２０年」に対しては事物名が得られず、数値表現「１０％」属性名「炭素の含有量」に対して、事物名「ガソリン」が得られる。例文３については、数値表現「２０００ｃｃ」属性名「排気量」に対し事物名「自動車」、数値表現「約６０％」属性名「金額」に対し事物名「保険」が得られる。例文４については数値表現「３０ｄｙｎｅ／ｃｍから４０ｄｙｎｅ／ｃｍ」属性名「表面エネルギー」に対し事物名「配向膜」が得られる。
【００５６】
属性名補完部５０３により、例文１については、事物名「犯人」数値「２５歳」に対して、事物名「犯人」と属性名「年齢」、属性名「年齢」と単位「歳」の共起スコアから属性名「年齢」が得られる。
【００５７】
尺度選択部６００を使い、抽出した属性名と数値表現の組を尺度と対応づける。例文１については、属性名「年齢」数値表現「２５歳くらい」に対しては、図４のテーブルから尺度「暦年」単位「年」が得られ、換算部によって現在年「２００８年」を使い「２００８−２５」が計算され「１９８３年」が得られ、この値が尺度「暦年」の値とされる。現在年はコンピュータのオペレーティング・システムの機能を使い取得できるが、現在年ではなく文書のプロパティ情報や、文書内に記述されている年についての記述を利用することもできる。属性名「身長」数値表現「１７０ｃｍくらい」に対しては、図４のテーブルから尺度「長さ」単位「メートル」が得られ、数値表現「１７０ｃｍ」の単位「ｃｍ」の構造を解析して接頭辞「ｃ」と単位「ｍ」が得られ、接頭辞「ｃ」の換算値１０のマイナス２乗を使い「１７０」が「１.７」に換算され、「１.７メートル」が得られる。
【００５８】
例文２については、「２０年」に対しては事物名がないのでこれより先の処理は行なわず、属性名「炭素の含有量」数値表現「１０％」に対しては、尺度「割合」単位「％」が得られ、数値表現は同じ単位なので、換算処理はしない。例文３については、属性名「排気量」数値表現「２０００ｃｃ」に対し、尺度「体積」単位「立方メートル」が得られ、「ｃｃ」から「立方メートル」への換算値として「１０の−６乗」が得られ、換算の結果「２.０×１０の−３乗立方メートル」が得られる。属性名「金額」「６０％」に対しては、尺度が得られず、そのため換算もなされない。
【００５９】
例文４については「３０ｄｙｎｅ／ｃｍから４０ｄｙｎｅ／ｃｍ」属性名「表面エネルギー」に対し尺度「単位面積あたりのエネルギー」単位「ジュール／平方メートル」が得られ、「ｄｙｎｅ／ｃｍ」の構造解析の結果から「ニュートン×１０の−５乗／メートル×１０の−２乗」＝「ニュートン／メートル」×「１０の−３乗」が得られる。単位変換表から「ニュートン／メートル」から「ジュール／平方メートル」への変換を得て、「３×１０−２ジュール／平方メートルから４×１０の−２乗ジュール／平方メートル」が得られる。
【００６０】
情報保存部７００を使い、抽出した属性名、数値表現、事物名、対応づけた尺度、換算した値を情報保存テーブル７０１に登録する。例文１については、事物名「犯人」属性名「年齢」数値「２５」単位「歳」尺度「暦年」換算値「１９８３」程度表現「くらい」と、事物名「犯人」、属性「身長」数値「１７０」単位「ｃｍ」尺度「長さ」換算値「１.７」が登録される。例文２については、事物名「ガソリン」属性名「炭素の含有量」数値「１０」単位「％」尺度「割合」が登録される。例文３については、事物名「自動車」属性名「排気量」数量「２０００」単位「ｃｃ」尺度「体積」換算数値「２.０×１０の−３乗立方」が登録される。例文４については事物名「配向膜」属性名「表面エネルギー」数値「３０」数値「４０」単位「ｄｙｎｅ／ｃｍ」尺度「単位面積あたりのエネルギー」換算値「３×１０の−２乗」換算値「４×１０の−２乗」が登録される。例文１〜３から抽出した情報を登録した状態の情報保存テーブルの一部を図９Ａ及び図９Ｂに示す。
最後に、情報検索部８００の動作を説明する。例文５の検索クエリを入力するものとする。
【００６１】
〔例文５〕
事物名：自動車、属性名：総排気量、数値：２０００ｃｃ
検索クエリ入力部８０１は、利用者からの検索クエリの入力を受けつける処理部である。図８に示すユーザ・インタフェース画面に例文５の検索クエリを入力し、図１０の状態になる。検索実行ボタンをクリックすると検索が実行される。具体的には、事物名検索部８０２にクエリが送信される。
【００６２】
事物名検索部８０２により、検索クエリの事物名「自動車」について図９Ａ、図９Ｂのテーブルから検索し、図９Ｂのテーブルのファイル名が「例文３を含むファイルの名称」であるファイルの事物名フィールドの値が「自動車」という文字列を含むので、ファイル名が「例文３を含むファイルの名称」に含まれる各フィールドのデータを抽出する。
【００６３】
属性名と数値表現検索部８０３により、属性名「総排気量」、数値表現「２０００ｃｃ」は、「総排気量」については属性名辞書により代表名「排気量」に変換される。数値表現「２０００ｃｃ」は尺度選択部の機能により「２.０×１０の−３乗立方メートル」に変換される。事物名検索部８０２の処理で検索された事物名の値に「自動車」という文字列を含むデータに対して、属性名が「排気量」であり、換算数値が「２.０×１０の−３乗立方」であるデータを図９Ａ、図９Ｂのテーブルから検索する。
【００６４】
結果出力部８０４により、検索結果を検索クエリが入力されたコンピュータに接続されているディスプレイに表示する。ディスプレイの表示画面は、例えば図１１のようになる。この例では、検索結果には３つのファイルが含まれている。また、それぞれのファイル名の下には、それぞれのファイルのなかでクエリにマッチした部分を表示している。
【図面の簡単な説明】
【００６５】
【図１】本発明による数値表現処理装置の機能構成図。
【図２】属性名抽出部の機能構成図。
【図３】事物名抽出部の機能構成図。
【図４】尺度選択部の機能構成図。
【図５】単位解析規則のBNFによる記述の例を示す図。
【図６】情報保存テーブルの例を示す図。
【図７】情報検索部の機能構成図。
【図８】ユーザ・インタフェースの画面
【図９Ａ】情報を登録した状態の情報保存テーブルの例を示す図。
【図９Ｂ】情報を登録した状態の情報保存テーブルの例を示す図。
【図１０】クエリを入力した状態のユーザ・インタフェースの画面例を示す図。
【図１１】クエリを検索した結果のユーザ・インタフェースの画面例を示す図。
【符号の説明】
【００６６】
１０  数値表現処理装置
１００  文書ファイル入力部
２００  文書部分抽出部
３００  数値表現抽出部
４００  属性名抽出部
４０１  属性名辞書
４０２  属性名検出部
４０３  属性名拡張部
４０４  属性名・数値表現組評価部
５００  事物名抽出部
５０１  事物名抽出用パターン辞書
５０２  事物名抽出
５０３  属性名補完部
５０４  オントロジ利用による属性名補完部
５０５  オントロジ(部分全体関係)
６００  尺度選択部
６０１  尺度選択用テーブル
６０２  単位構造解析部
６０３  換算部
６０４  接頭辞換算表
６０５  単位換算表
７００  情報保存部
７０１  情報保存テーブル
７０２  事物名
７０３  事物名の開始位置
７０４  事物名の終了位置
７０５  属性名
７０６  属性名の開始位置
７０７  属性名の終了位置
７０８  属性名の属性名辞書における代表名
７０９  数値表現に含まれる数値
７１０  数値表現に含まれる単位・助数詞
７１１  数値表現に含まれる程度表現
７１２  数値表現が範囲表現の場合の範囲終了数値
７１３  数値表現の開始位置
７１４  数値表現の終了位置
７１５  対応づけられた尺度
７１６  数値７０９を換算して得た数値
７１７  数値７１２を換算して得た数値
８００  情報検索部
８０１  検索クエリ入力部
８０２  事物名検索部
８０３  属性名と数値表現検索部
８０４  結果出力部
【図１】
2010117797.tif 000003
【図２】
2010117797.tif 000004
【図３】
2010117797.tif 000005
【図４】
2010117797.tif 000006
【図５】
2010117797.tif 000007
【図６】
2010117797.tif 000008
【図７】
2010117797.tif 000009
【図８】
2010117797.tif 000010
【図９Ａ】
2010117797.tif 000011
【図９Ｂ】
2010117797.tif 000012
【図１０】
2010117797.tif 000013
【図１１】
2010117797.tif 000014