説明

数値表現処理装置

【課題】文書から数値表現を抽出し、抽出した数値表現の属性名を検出し、属性名と数値に対して適切な尺度を対応づける。
【解決方法】文書から数値表現、数値表現を値とする属性名、数値表現と属性名の組を特徴とする事物名を抽出し、属性名と数値に対して適切な尺度を対応づける。事物と、事物を特徴づける属性名、属性名の数値の3つを1つの組として文書中から抽出することで、抽出した数値を適切な尺度に対応づけられるようになる。その結果、正確に数量表現を扱えるようになり、数値表現を含むテキストマイニングや文書要約、文書検索を従来よりも精度よく実現できるようになる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子文書中から有用な表現をコンピュータによって自動的に抽出する固有表現抽出技術に関し、特に数値表現と当該数値表現に関わる付随的情報を抽出し、また数値表現を含む文書を検索する数値表現抽出装置に関する。
【背景技術】
【0002】
電子化された文書が大量に蓄積され自由に検索できるようになったことで、文書中から有用な情報を自動的に収集したいというニーズが高まっている。そのようなニーズに答えることを目的として、自然言語処理の研究から固有表現抽出や情報抽出とよばれる技術が生まれてきた。固有表現抽出とは、固有名詞(人名、地名など)や日付、時間表現などを文書中から抽出する技術である。情報抽出とは、文書から有用な情報だけを抽出する技術である。固有表現抽出は情報抽出の構成要素の一つとみなせる。
【0003】
固有表現にはいくつかの種類があるが、数に関わる表現を抽出する技術は数値表現抽出(あるいは数量表現抽出)と呼ばれる。数値表現抽出を利用すると、文書を検索するときに単語だけではなく数値を使って検索質問をできるようになる。その結果、例えば、ある物品の価格や数量で表わされる仕様を使ったWeb検索や組織内検索などが可能になる。
【0004】
文書から自動的に数値表現を抽出する方法として、数値表現に関するさまざまなパターンを定義して抽出を実現する方法がある(特許文献1)。この方法では、アラビア数字や漢数字の前後に出現する文字列のパターンを定義して数値表現の部分を抽出している。同時に、文書内に出現する単語を使って、数値の内容(重さなのか長さなのか等)を推定している。パターンではなく簡単な規則を定義して抽出する方法もある(特許文献2)。この方法は、数値の前後数文字と句読点を手掛かりとして数値表現を抽出するもので、単位を使い数値の内容を推定している。また、数値表現を使って検索できる文書検索システムも知られている(特許文献3)。この検索システムは、キーワードとそのキーワードを特徴づける数値を使って文書検索を実現している。
【0005】
【特許文献1】特許第3360617号公報
【特許文献2】特開2006−350989号公報
【特許文献3】特開2006−323575号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
まず、従来の方法では適切に処理できない文書の例を示す。従来の方法では、「容疑者は年齢20歳から30歳くらい」という文から「20歳から30歳」という部分を数値表現として抽出し、「下限値:20、上限値:30、単位:歳」などとしてインデクスに登録する。上記の特許文献1及び特許文献2でも同様の方法で数値情報をインデクスに登録している。
【0007】
上記の文が西暦2000年のある報告書から抽出された情報だと仮定し、このような報告書から数値を検索質問に使って文書検索する場合を考えてみる。この場合、2008年の時点で、検索質問として「20歳」を入力して上記の文が検索されるのは不適切な場合がある。同様に、2008年の時点で、検索質問として「35歳」を入力して上記の文が検索されないのも不適切である。なぜなら、2000年の時点で「20歳から30歳」であるなら、容疑者の年齢は、2008年には「28歳から38歳」のはずだからである。
【0008】
このような不適切な処理は、文書から抽出した数値をそのままデータベースに登録することが原因である。抽出した数値を、実際の世界で使われる絶対的な尺度と対応づけてインデクスに登録する必要がある。
【0009】
例の場合、年齢そのままを登録するのではなく、西暦を尺度として出生年に変換して、「尺度:西暦、属性名:出生年、下限値:1970、上限値:1980、単位:年」としてインデクスに登録しておけばよい。このようにしておけば、2008年に検索質問として入力された「20歳」は「尺度:西暦、属性名:出生年、値:1988、単位:年」となりインデクスに登録されている情報とは一致しないことになる。2008年に検索質問として入力された「35歳」は「尺度:西暦、属性名:出生年、値:1973、単位:年」となりインデクスに登録されている情報と一致する。
【0010】
上記は、年齢という属性を西暦という尺度に対応づける例であるが、その他に、「○○から10キロメートル」のように相対的な使って記述された位置を「緯度・経度」という尺度に対応づける場合が考えられる。
【0011】
物理量に対しても尺度への対応づけは有効である。例えば、重さの単位には、SI単位で標準とされているキログラムの他に、ポンドやオンスがある。これらの複数の重さの単位で表された数値表現を単一の尺度に対応づけることで、文章中で使われている単位が異なる場合でも、その違いを意識せずに検索することが可能になる。
【0012】
このように、数値表現を絶対的な尺度と対応づけるという課題は、文書処理における数値表現の処理をより適切にするために解決すべき課題といえる。ところで、この課題を解決するためには、解決すべきもうひとつの課題がある。それは、数値表現を属性値とする属性名を推定することである。
【0013】
なぜなら、適切な尺度を選択するためには、数値表現を属性値とする属性名を知る必要があるからである。例えば「風速10メートルを記録」という文から「数値:10、単位:メートル」を抽出しただけでは適切な尺度「速さ」に対応づけられない。「属性名:風速」という情報が得られることで「尺度:速さ、単位:メートル/秒」と対応づけられるようになる。
【0014】
特許文献2では単位から属性名を推定しており、単位「歳」から属性値「年齢」を推定できるような場合にしか適用できない。特許文献1には、「ポンド」が、英国貨幣の単位と重さの単位のどちらかを文章中の単語を使い推定する方法が示されている。しかし、特許文献1の方法では、「新幹線は、最高時速300キロで東京から大阪まで約500キロの距離を2時間半で走る」という文から、「数値:最高300キロ、属性:時速、尺度:速度」と「数値:約500キロ、属性:距離、尺度:長さ」のように同じ表記の単位が一つの文章内で異なる属性名に対する属性値として使われている場合を処理できない。数値の属性を判断する発明としては、特開2006−92193号公報もあるが、特許文献1と同じように文書に出現する単語を利用して判断しており同じ課題を抱えている。
【0015】
まとめると、本発明の課題は、文書から数値表現を抽出し、当該数値に対して適切な尺度を対応づけることであり、そのために、抽出した数値表現と数値表現を属性値とする属性名を検出することである。
【課題を解決するための手段】
【0016】
属性名と属性値の組から適切な尺度を選択するためのテーブルを使い、数値表現に適切な尺度を対応づける。属性名は、数値の単位がとりうる属性名の辞書と、事物がとりうる属性名の辞書を使って推定する。
【0017】
本発明による数値表現処理装置は、電子文書から数値と当該数値の単位を抽出する数値表現抽出部と、文書から数値を属性値とする属性名を抽出する属性名抽出部と、抽出した数値を属性名ごとに予め定められた尺度に対応付け、当該尺度の数値に変換する尺度選択部とを有する。尺度選択部は、属性名と当該属性名の数値表現の単位と尺度とを関係づけて登録したテーブルを有し、テーブルに登録された情報を使って、抽出した数値を尺度の数値に変換する。
【0018】
また、属性名、数値表現と事物名の文型パターンが登録された事物名抽出用パターン辞書を備える事物名抽出部を有し、事物名抽出部は、数値表現抽出部で抽出した数値表現と属性名抽出部で抽出した属性名の組を有する事物名を文書から抽出する。事物名抽出用パターン辞書には属性名と数値表現の単位の共起スコア及び事物名と属性名の共起スコアが登録されており、事物名抽出部は、文書から抽出された数値、当該数値の単位、及び当該数値の事物名を元に、事物名抽出用パターン辞書に登録された共起スコアを用いて、抽出された数値を値とする属性名を推定する機能を有するのが好ましい。
【0019】
属性名抽出部は、同義な属性名が同一の代表名に対応付けられるようにして属性名と代表名の対を登録した辞書を有し、当該辞書を用いて前記文書から抽出した属性名に対応する代表名を取得するのが好ましい。
【0020】
また、本発明の数値表現処理装置は、文書名、当該文書に含まれる数値をその事物名、属性名の代表名、前記属性名に対応付けられた尺度に変換された数値を記憶したテーブルを有する。
【0021】
本発明の数値表現処理装置は、また、事物名と属性名と数値の入力を受け付ける検索クエリ入力部、及び、検索クエリ入力部に入力された属性名を代表名に変換し、入力された数値を入力された属性名に対応する尺度の数値に変換し、テーブルを参照して、入力された事物名と変換された代表名及び数値が含まれる文書ファイルを検索する情報検索部を有する。
【発明の効果】
【0022】
本発明によると、事物と、事物を特徴づける属性名、属性名の数値の3つを1つの組として文書中から抽出し、抽出した数値を適切な尺度に対応づけられるようになる。その結果、正確に数量表現を扱えるようになり、数値表現を含むテキストマイニングや文書要約、文書検索を従来よりも精度よく実現できるようになる。また、本発明を使い、文書情報からファクト情報を抽出して、ファクト情報データベースを構築するような使い方も考えられる。
【発明を実施するための最良の形態】
【0023】
以下では、本発明の実施形態を、実施形態の構成と当該構成を使っての処理動作に分けて説明する。また、文書から抽出した情報を利用する具体的な応用としては文書検索を想定して説明する。
【0024】
本発明の数値表現処理装置10は、図1に示すように、文書ファイル入力部100、文書部分抽出部200、数値表現抽出部300、属性名抽出部400、事物名抽出部500、尺度選択部600、情報保存部700、情報検索部800を有する。これらの処理部は、コンピュータ上で実行されるプログラムによってソフト的に実現することも、ハードウエアによって実現することも、ソフトウエアとハードウエアの組み合わせによって実現することもできる。
【0025】
文書ファイル入力部100は、文書を入力するための処理部である。文書はワードプロセッサなどで作成された電子化文書のこともあるし、光学式文字読取装置(OCR)などを使って電子化された文書ファイルのこともある。どちらの場合でも、文書は文字コード化された電子文書であるとする。文字コードの種類はとくに制限しない。文書部分抽出部200は、入力された文書ファイルから文書部分を抽出する処理部である。文書部分とは、当該文書ファイルの内容と考えられる部分である。文書部分を抽出するとは、フォーマット情報やメタデータ類を取り除く処理である。
【0026】
数値表現抽出部300は、抽出した文書から数値表現を検出する処理部である。数値表現には、アラビア数字や漢数字などで表記される数値、数値の前に付く程度表現(「約」や「だいたい」など)、単位や助数詞、数値や単位、助数詞の後に続く程度を表す表現(「くらい」や「強」、「以下」など。以下では、程度表現と記述する)、範囲を表す表現(「〜」や「から」など。以下では、範囲表現と記述する)を含む。数値表現抽出部には、特許文献2の手段など、既知の手段を利用することができる。
【0027】
属性名抽出部400は、抽出した数値表現を値とする属性名を文書から抽出する処理部である。この処理部は既知の手段を用いて実現することができる。例えば、次の(1)〜(5)のような方法で実現できる。
(1) 予め作成しておいた辞書を使い、属性と属性値を抽出する。辞書は少数の属性と属性名を使い「属性のX」や「Xの属性値」といった文型にある事例を収集することで作成する。(「意見抽出を目的とした機械学習による属性-評価値対同定」 情報処理学会自然言語処理研究会NL−165−4:文献1)
(2) 予め定義しておいた規則にしたがって、数値表現への係り受け関係からの数値と属性名を推定する。(「係り受けの制約と優先規則に基づく数量表現抽出」情報処理学会自然言語処理研究会NL−145−18)
(3) 文型と共起スコアを使って、対象、属性、属性名の3つ組を抽出する。(「テキストから属性関係を抽出する」情報処理学会自然言語処理研究会NL−164−4:文献2)
(4) HTMLタグや「AのB」のような文型を使って属性と属性値を抽出する。(「属性語のWeb文書からの自動発見と人手評価のための基準」自然言語処理 Vol.13,No.4)
(5) HTMLファイルのTABLEタグを使って属性と属性名の組を抽出する。(”Extracting attributes and their values from web pages” ACL-02 Student Research Workshop)
【0028】
本実施例の属性名抽出部400は、辞書を使って属性名と属性値を抽出する上記(1)の方法を拡張したものであり、図2に示すように、属性名辞書401、属性名検出部402、属性名拡張部403、属性名・数値表現組評価部404から構成される。数値表現に対応した接尾辞処理や属性名拡張処理が拡張部分に該当する。
【0029】
属性名辞書401には、文書中に出現しうる属性名を登録してある。属性名には、属性名の同義関係と代表名を登録しておく。属性名の同義語は人手、あるいは、コンピュータにより自動的に収集することができる。代表名は辞書の見出し語に相当するものである。図2の例では、同義関係にある属性名「金額」と属性名「価格」に対して、統一的な代表名として「価格」が対応付けられて登録されている。文書から抽出された属性名を代表名に置き換えて後の処理を行うことにより、同義語の存在に起因する処理の煩雑さを低減することができる。
【0030】
また、属性名の一部になる接尾辞についての情報を登録しておく。当該情報を利用することで、未知の属性名を検出もできるようになる。接尾辞の知識は人手で登録する。接尾辞としては、例えば、「率、料、量、比、費、度、長、重、圧、強さ、硬さ、長さ、重さ、流、速さ、数、力」などが考えられる。接尾辞は、必要に応じて追加する。
【0031】
属性名検出部402は、数値情報や句読点との相対的な位置関係と、属性名辞書401を使って属性名を抽出する。適切な属性名の選択は、後の属性名・数値表現組評価部404で行なう。属性名検出部402では、候補になりうる全ての属性名を抽出する。辞書に登録されている属性名だけでは属性を抽出できない場合は、接尾辞を使う。数値情報や句読点との相対的な位置関係から、接尾辞を検出する。検出した接尾辞を属性名の末尾に持つ属性名を属性辞書で検索し属性名の候補とする。
【0032】
属性名拡張部403は、属性名検出部402で抽出した属性名の候補について、文書中で当該属性名の前後に出現する文字列を追加して、追加した結果の文字列を新に属性名とする処理部である。当該処理は、例えば「・・・炭素の含有率・・・」という文章から、属性名「含有率」を検出した後で、含有率の前に出現する「炭素の」を追加し、「炭素の含有率」を属性名とする。属性名辞書に登録されている属性名が「何について」の情報なのかを必要とする場合に、この処理は実施する。属性名辞書では、属性名が要求する「何について」の情報を対象として登録している。図2の属性名辞書では、対象としてIDを登録し、IDの内容を対象用のテーブルに登録している。対象の情報は、人手で逐次登録することもできるし、文書から自動的に収集することもできる。例えば、「○○を含有」のように当該処理を必要とする属性名はヲ格をともなって文書に出現しているという性質を利用できる。「炭素の含有率」の場合、文書中から「炭素を含有」という記述をあらかじめ検出しておくことで、属性名辞書に「含有率」が「炭素」を対象とすることを登録できる。
【0033】
属性名・数値表現組評価部404では、数値表現に含まれる単位・助数詞と属性名の組について適切さを評価する。そのために、上記文献1に記載されている機械学習によって単位と属性名の組の尤もらしさを評価する方法を利用することができる。
【0034】
事物名抽出部500は、抽出した数値表現と属性名の組を特徴とする事物の名称を文書から抽出する処理部である。事物とは、物あるいは出来事を表す。物は物理的な物に限らず抽象的な物も含む。この処理は、上記文献2のパターンを使って属性名と属性値の組を抽出する方法に、事物名と属性名の組を抽出するパターンを追加することで実現する。本処理部は、図3に示すように、事物名抽出用パターン辞書501、事物名抽出部502、属性名補完部503、オントロジ利用による属性名補完部504、オントロジ(部分全体関係)505から構成される。
【0035】
事物名抽出用パターン辞書501には、文書中に出現しうる属性名、数値表現と事物名の文型パターンと共起スコアを登録してある。文型パターンは、例えば、「属性名A数値表現Vの事物名O」である。また、属性名が省略されている文から事物名を抽出するために、文書中に出現しうる単位・助数詞と事物名の文型パターンを登録してある。例えば「数値表現Vの事物名O」である。共起スコアは、数値表現Vの単位・助数詞と属性名A、属性名Aと事物名O、それぞれの組にについて登録しておく。文型パターンの尤度評価に利用する。文型パターンの収集は、上記文献2に従い係り受け関係付きのコーパスを利用することができるが、係り受け関係のないコーパスからの抽出でもかまわない。また、共起スコアの評価は文献2に従えば、事物名と属性名、属性名と属性値それぞれについての相互情報量を使っているが、その他の評価方法でもかまわない。
【0036】
事物名検出部502は、事物名抽出用パターン辞書501を使って事物名を抽出する。例えば「属性名A数値表現Vの事物名O」を使うと「排気量2000ccの自動車」から属性名「排気量」、数値表現「2000cc」が分かっているとき、事物名「自動車」を抽出することができる。また、「数値表現Vの事物名O」を使うと「2000ccの自動車」から、数値表現「2000cc」が分かっているとき、事物名「自動車」を抽出することができる。
【0037】
属性名補完部503は、属性名が文書中から検出できない場合に、数値表現の単位・助数詞と事物名を使って属性名を決める処理部である。事物名抽出用パターン辞書501に登録されている属性名と数値表現の単位、事物名と属性名の共起スコアを使い、共起スコアが最大になり、かつ、ある閾値を超える場合、属性名を省略されている属性名とする。例えば「2000ccのエンジン」からは、数値表現「2000cc」と事物名「エンジン」が抽出されるが、属性名が分からない。このとき事物名抽出用パターン辞書501にある共起スコアを使い、「エンジン」及び「cc」との間に高い共起スコアを持つ属性名が「排気量」であることから、属性名「排気量」を推定することができる。
【0038】
属性名補完部503で属性名が得られない場合、オントロジ利用による属性名補完部504によって属性名を推定する。当該処理では、部分全体関係を登録したオントロジ505を使い、文書から抽出した事物名を全体とした場合に部分の関係にある事物名を調べ、この事物名を使って、共起スコアによる属性名推定処理を行なう。以下に例を示す。数値表現「2000cc」事物名「自動車」に対して、属性名が得られないとする。オントロジ505を使い、「自動車」の部分に「エンジン」があることが分かる。「エンジン」と「2000cc」を使い、上記の方法によって、属性名「排気量」を得ることができる。
【0039】
尺度選択部600は、属性名と数値表現に含まれる単位・助数詞を使って、数値表現と尺度を対応づけ、数値表現に含まれる数値を尺度の持つ単位に換算する処理を行う。尺度選択部600は、図4に示すように、尺度選択用テーブル601、単位構造解析部602、換算部603、接頭辞換算表604、単位換算表605から構成される。
【0040】
尺度選択用テーブル601は、図4に示すように、項目名が、属性名(代表名)、単位・助数詞、尺度、尺度がとる単位のテーブルである。尺度と尺度がとる単位は計量法、計量単位令を参考に定義することができるが、前記法令に含まれない尺度と単位も定義できる。属性名(代表名)と単位・助数詞が与えられたとき、対応する尺度が選ばれる。例えば、数値表現が年齢のとき、尺度として生まれた年の暦年と対応づける。また、ある地点からの距離を表す数値表現が得られたとき、対応する緯度・経度に対応づける。そのほかにも、「キロメートル」を「メートル」に対応づけるような単位換算の関係もテーブルに登録できる。さらに、「キログラム」を簡略化した「キロ」のような単位表記も登録しておき、尺度「重さ」と対応づけることもできる。
【0041】
ある地点からの距離については、緯度・経度に対応づけられる。だいたいの場所に対応づければ良い場合には、郵便番号に対応づけることもできる。これらの対応づけを実現する場合には、地名と緯度・経度との対応を登録したデータベースや、地名と郵便番号の対応を登録したデータベースが必要である。地名と緯度・経度との対応データや地名と郵便番号の対応データは、公的機関や企業などにより公開・販売されているものがあるのでここでは詳細に説明しない。
【0042】
地名と方角、距離が分かれば、まず、ある地点の地名から緯度・経度を検索する。ある地点の緯度・経度が分かれば、下記の式を使い、ある地点からの距離が分かっている位置の緯度・経度を計算できる。緯度・経度が分かれば、緯度・経度から地名を検索し、地名から郵便番号を検索することができる。
方角:R(東西方向を基準にラジアンで表す)
距離:L(単位はメートル)
ある地点の緯度:I
ある地点の経度:K
求めたい緯度:i
求めたい経度:k
計算に使う定数(赤道の半径):A(=6378137メートル)
(L/A)2=(i−I)2+{(k−K)cosI}2
R=tan-1{(i−I)/(k−K)cosI}
【0043】
物の個数を数えるときに数字の右につける助数詞(1個の「個」や1台の「台」など)の場合、尺度は「個数」とする。単位は「個」である。また、含有量などの割合は尺度を「割合」とする。単位は%である。属性名がなくても尺度が決められる単位の場合、属性名は空欄とする。
【0044】
単位構造解析部602は、単位の構造を解析する処理部である。解析規則の一部を、標準的な文法記述形式BNF(バッカス・ナウア記法:Backus-Naur Form)を使い、図5に例として示す。図5のような規則を解析する構文解析プログラムは、プログラム言語のコンパイラと同じ要領で実現できる。なお、図5の規則は、正しい単位を解析できるが、定義する組立単位の範囲には不適切な単位が含まれている。例えば、単位長さあたりの重さを表す単位「kg/m」を解析すると、規則4を使い「接頭辞」の「k」を認識し、規則2を使い「重さ単位」の「g」を認識し、規則10を使い「重さ組立単位」の「kg」を認識し、規則1を使い「長さ単位」の「m」を認識し、規則13を使い「kg」と「m」が「単位」であると認識し、規則14を使い、「kg」と「m」が「部分組立単位」と認識し、規則16を使い2つの部分組立単位と「/」が組立単位「kg/m」を構成していることを認識できる。
【0045】
換算部603は、単位構造解析結果、接頭辞換算表、単位換算表を使って、抽出した数値表現の数値を尺度が対応づいている単位に合うように換算する処理部である。図4の接頭辞換算表604に示すように、接頭辞に対して10のN乗倍のNに相当する値を登録しておく。単位変換表605は、図4に示すように、変換元単位、対応づける尺度、変換先単位、変換式を登録しておく。当該式では、数値表現から抽出した数値はXに代入して計算する。
【0046】
情報保存部700は、文書から抽出した情報、及びこれらを処理して得た情報を、抽出元となった文書ファイル名と関係づけて保存する処理部である。図6に示す情報保存テーブル701に登録する。テーブルの項目は、事物名702、事物名の開始位置703、事物名の終了位置704、属性名705、属性名の開始位置706、属性名の終了位置707、属性名の属性名辞書における代表名708、数値表現に含まれる数値709、数値表現に含まれる単位・助数詞710、数値表現に含まれる程度表現711、数値表現が範囲表現の場合の範囲終了数値712、数値表現の開始位置713、数値表現の終了位置714、対応づけられた尺度715、数値709を換算して得た数値716、数値712を換算して得た数値717を登録する。出現位置と終了位置は文書先頭からのバイト数で表す。
【0047】
数値表現が範囲表現の場合の範囲終了数値712とその換算値717には、数値表現が範囲表現の場合の大きいほうの数値を登録する。このとき、数値表現の数値709及びその換算値716の値は範囲表現の小さいほうの数値である。数値表現に含まれる数値709及びその換算値716、数値表現が範囲表現の場合の範囲終了数値712及びその換算値717には、無限大や無限小が登録されることもある。
【0048】
検索部800は、利用者が入力した検索クエリについて、情報保存部で情報保存テーブル701に蓄積された情報を検索する処理部である。検索部は、図7に示すように、検索クエリ入力部801、事物名検索部802、属性名と数値表現検索部803、結果出力部804から構成される。
【0049】
検索クエリ入力部801は、利用者からの検索クエリの入力を受けつける処理部である。検索クエリは、1個以上の事物名と、0個以上の属性名と数値表現の組から構成される。本実施例では、図8に示すユーザ・インタフェース画面から入力するものとするが、このような方法に限られるわけではない。当該画面上で、利用者は、事物名、属性名、数値を文字列として入力する。程度には、「くらい」「以上」「未満」などの表現を入力する。
【0050】
事物名検索部802では、事物名について、情報保存テーブル701を検索する。属性名と数値表現検索部803は、尺度選択部600で属性名と数値表現から尺度を選択し、数値を換算し、その結果を使い事物名検索で絞り込まれた範囲で、情報保存テーブル701に対して検索する。結果出力部804は、検索結果をファイル名の一覧などで出力する処理部である。出力先としてディスプレイや紙、記録媒体などが利用できる。統計的尺度によってランキングすることもできる。
【0051】
続いて、本発明の方法の動作を4つの例文を使って説明する。
〔例文1〕
「犯人の特徴
25歳くらい、身長170cmくらい、中肉」
〔例文2〕
「精油所や給油所に対し、20年までにガソリンの炭素の含有量を10%削減するよう求める。」
〔例文3〕
「軽自動車を排気量が2000ccの自動車と比較すると、保険の金額は約60%とかなりお得な保険料設定でした。」
〔例文4〕
「配向膜における表面エネルギーが、30dyne/cmから40dyne/cmであるようにした。」
【0052】
最初に、文書ファイル入力部100により例文1〜4それぞれを含む文書ファイルを入力する。次に、文書部分抽出部200により、文書ファイルから、例文1〜4それぞれを含む文書部分を抽出する。
【0053】
次に、数値表現抽出部300により、数値表現を抽出する。アラビア数字の連続部分を検出することで、例文1について「25」と「170」を、例文2について「20」と「10」を、例文3について「2000」と「60」、例文4について「30」と「40」を検出する。アラビア数字の右方向に単位・助数詞を探索し、例文1について「25歳」と「170cm」を、例文2について「20年」と「10%」を、例文3について「2000cc」と「60%」、例文4について「30dyne/cm」と「40dyne/cm」を検出する。検出した範囲の左右に程度表現や範囲表現を探索し、例文1について「25歳くらい」と「170cmくらい」を、例文2について「20年までに」と「10%」を、例文3について「2000cc」と「約60%」を、例文4について「30dyne/cmから40dyne/cm」検出する。数値表現の抽出はこれで終了である。
【0054】
属性名抽出部400を使い、属性名を抽出する。属性名辞書401を使い、例文1については、「25歳くらい」に対しては属性名が得られず、「170cmくらい」に対しては属性名「身長」が得られる。例文2については、「20年」の属性名は得られず、「10%」の属性は「含有量」が得られる。例文3については、「2000cc」は属性名「排気量」、「約60%」は属性名「金額」が得られる。例文4については「30dyne/cmから40dyne/cm」は属性名「表面エネルギー」が得られる。属性名拡張部403によって、例文2については、「10%」の属性は「炭素の含有量」が得られる。
【0055】
事物名抽出部500を使い、事物名を抽出する。事物名抽出用パターン辞書501によって、例文1については、数値表現「25歳くらい」に対して事物名が「犯人」、数値表現「170cmくらい」属性名「身長」に対して、事物名「犯人」が得られる。例文2については、数値表現「20年」に対しては事物名が得られず、数値表現「10%」属性名「炭素の含有量」に対して、事物名「ガソリン」が得られる。例文3については、数値表現「2000cc」属性名「排気量」に対し事物名「自動車」、数値表現「約60%」属性名「金額」に対し事物名「保険」が得られる。例文4については数値表現「30dyne/cmから40dyne/cm」属性名「表面エネルギー」に対し事物名「配向膜」が得られる。
【0056】
属性名補完部503により、例文1については、事物名「犯人」数値「25歳」に対して、事物名「犯人」と属性名「年齢」、属性名「年齢」と単位「歳」の共起スコアから属性名「年齢」が得られる。
【0057】
尺度選択部600を使い、抽出した属性名と数値表現の組を尺度と対応づける。例文1については、属性名「年齢」数値表現「25歳くらい」に対しては、図4のテーブルから尺度「暦年」単位「年」が得られ、換算部によって現在年「2008年」を使い「2008−25」が計算され「1983年」が得られ、この値が尺度「暦年」の値とされる。現在年はコンピュータのオペレーティング・システムの機能を使い取得できるが、現在年ではなく文書のプロパティ情報や、文書内に記述されている年についての記述を利用することもできる。属性名「身長」数値表現「170cmくらい」に対しては、図4のテーブルから尺度「長さ」単位「メートル」が得られ、数値表現「170cm」の単位「cm」の構造を解析して接頭辞「c」と単位「m」が得られ、接頭辞「c」の換算値10のマイナス2乗を使い「170」が「1.7」に換算され、「1.7メートル」が得られる。
【0058】
例文2については、「20年」に対しては事物名がないのでこれより先の処理は行なわず、属性名「炭素の含有量」数値表現「10%」に対しては、尺度「割合」単位「%」が得られ、数値表現は同じ単位なので、換算処理はしない。例文3については、属性名「排気量」数値表現「2000cc」に対し、尺度「体積」単位「立方メートル」が得られ、「cc」から「立方メートル」への換算値として「10の−6乗」が得られ、換算の結果「2.0×10の−3乗立方メートル」が得られる。属性名「金額」「60%」に対しては、尺度が得られず、そのため換算もなされない。
【0059】
例文4については「30dyne/cmから40dyne/cm」属性名「表面エネルギー」に対し尺度「単位面積あたりのエネルギー」単位「ジュール/平方メートル」が得られ、「dyne/cm」の構造解析の結果から「ニュートン×10の−5乗/メートル×10の−2乗」=「ニュートン/メートル」×「10の−3乗」が得られる。単位変換表から「ニュートン/メートル」から「ジュール/平方メートル」への変換を得て、「3×10−2ジュール/平方メートルから4×10の−2乗ジュール/平方メートル」が得られる。
【0060】
情報保存部700を使い、抽出した属性名、数値表現、事物名、対応づけた尺度、換算した値を情報保存テーブル701に登録する。例文1については、事物名「犯人」属性名「年齢」数値「25」単位「歳」尺度「暦年」換算値「1983」程度表現「くらい」と、事物名「犯人」、属性「身長」数値「170」単位「cm」尺度「長さ」換算値「1.7」が登録される。例文2については、事物名「ガソリン」属性名「炭素の含有量」数値「10」単位「%」尺度「割合」が登録される。例文3については、事物名「自動車」属性名「排気量」数量「2000」単位「cc」尺度「体積」換算数値「2.0×10の−3乗立方」が登録される。例文4については事物名「配向膜」属性名「表面エネルギー」数値「30」数値「40」単位「dyne/cm」尺度「単位面積あたりのエネルギー」換算値「3×10の−2乗」換算値「4×10の−2乗」が登録される。例文1〜3から抽出した情報を登録した状態の情報保存テーブルの一部を図9A及び図9Bに示す。
最後に、情報検索部800の動作を説明する。例文5の検索クエリを入力するものとする。
【0061】
〔例文5〕
事物名:自動車、属性名:総排気量、数値:2000cc
検索クエリ入力部801は、利用者からの検索クエリの入力を受けつける処理部である。図8に示すユーザ・インタフェース画面に例文5の検索クエリを入力し、図10の状態になる。検索実行ボタンをクリックすると検索が実行される。具体的には、事物名検索部802にクエリが送信される。
【0062】
事物名検索部802により、検索クエリの事物名「自動車」について図9A、図9Bのテーブルから検索し、図9Bのテーブルのファイル名が「例文3を含むファイルの名称」であるファイルの事物名フィールドの値が「自動車」という文字列を含むので、ファイル名が「例文3を含むファイルの名称」に含まれる各フィールドのデータを抽出する。
【0063】
属性名と数値表現検索部803により、属性名「総排気量」、数値表現「2000cc」は、「総排気量」については属性名辞書により代表名「排気量」に変換される。数値表現「2000cc」は尺度選択部の機能により「2.0×10の−3乗立方メートル」に変換される。事物名検索部802の処理で検索された事物名の値に「自動車」という文字列を含むデータに対して、属性名が「排気量」であり、換算数値が「2.0×10の−3乗立方」であるデータを図9A、図9Bのテーブルから検索する。
【0064】
結果出力部804により、検索結果を検索クエリが入力されたコンピュータに接続されているディスプレイに表示する。ディスプレイの表示画面は、例えば図11のようになる。この例では、検索結果には3つのファイルが含まれている。また、それぞれのファイル名の下には、それぞれのファイルのなかでクエリにマッチした部分を表示している。
【図面の簡単な説明】
【0065】
【図1】本発明による数値表現処理装置の機能構成図。
【図2】属性名抽出部の機能構成図。
【図3】事物名抽出部の機能構成図。
【図4】尺度選択部の機能構成図。
【図5】単位解析規則のBNFによる記述の例を示す図。
【図6】情報保存テーブルの例を示す図。
【図7】情報検索部の機能構成図。
【図8】ユーザ・インタフェースの画面
【図9A】情報を登録した状態の情報保存テーブルの例を示す図。
【図9B】情報を登録した状態の情報保存テーブルの例を示す図。
【図10】クエリを入力した状態のユーザ・インタフェースの画面例を示す図。
【図11】クエリを検索した結果のユーザ・インタフェースの画面例を示す図。
【符号の説明】
【0066】
10 数値表現処理装置
100 文書ファイル入力部
200 文書部分抽出部
300 数値表現抽出部
400 属性名抽出部
401 属性名辞書
402 属性名検出部
403 属性名拡張部
404 属性名・数値表現組評価部
500 事物名抽出部
501 事物名抽出用パターン辞書
502 事物名抽出
503 属性名補完部
504 オントロジ利用による属性名補完部
505 オントロジ(部分全体関係)
600 尺度選択部
601 尺度選択用テーブル
602 単位構造解析部
603 換算部
604 接頭辞換算表
605 単位換算表
700 情報保存部
701 情報保存テーブル
702 事物名
703 事物名の開始位置
704 事物名の終了位置
705 属性名
706 属性名の開始位置
707 属性名の終了位置
708 属性名の属性名辞書における代表名
709 数値表現に含まれる数値
710 数値表現に含まれる単位・助数詞
711 数値表現に含まれる程度表現
712 数値表現が範囲表現の場合の範囲終了数値
713 数値表現の開始位置
714 数値表現の終了位置
715 対応づけられた尺度
716 数値709を換算して得た数値
717 数値712を換算して得た数値
800 情報検索部
801 検索クエリ入力部
802 事物名検索部
803 属性名と数値表現検索部
804 結果出力部

【特許請求の範囲】
【請求項1】
電子文書から数値と当該数値の単位を抽出する数値表現抽出部と、
前記文書から前記数値を属性値とする属性名を抽出する属性名抽出部と、
抽出した数値を属性名ごとに予め定められた尺度に対応付け、当該尺度の数値に変換する尺度選択部と
を有することを特徴とする数値表現処理装置。
【請求項2】
請求項1記載の数値表現処理装置において、前記尺度選択部は、属性名と当該属性名の数値表現の単位と尺度とを関係づけて登録したテーブルを有し、前記テーブルに登録された情報を使って、前記抽出した数値を前記尺度の数値に変換することを特徴とする数値表現処理装置。
【請求項3】
請求項2記載の数値表現処理装置において、属性名、数値表現と事物名の文型パターンが登録された事物名抽出用パターン辞書を備える事物名抽出部を有し、前記事物名抽出部は、前記数値表現抽出部で抽出した数値表現と前記属性名抽出部で抽出した属性名の組を有する事物名を文書から抽出することを特徴とする数値表現処理装置。
【請求項4】
請求項3記載の数値表現処理装置において、前記事物名抽出用パターン辞書には属性名と数値表現の単位の共起スコア及び事物名と属性名の共起スコアが登録されており、前記事物名抽出部は、前記文書から抽出された数値、当該数値の単位、及び当該数値の事物名を元に、前記事物名抽出用パターン辞書に登録された共起スコアを用いて、前記抽出された数値を値とする属性名を推定することを特徴とする数値表現処理装置。
【請求項5】
請求項4記載の数値表現処理装置において、前記事物名抽出部は、オントロジを使って数値表現を値とする属性名を推定することを特徴とする数値表現処理装置。
【請求項6】
請求項3記載の数値表現処理装置において、前記属性名抽出部は、同義な属性名が同一の代表名に対応付けられるようにして属性名と代表名の対を登録した辞書を有し、当該辞書を用いて前記文書から抽出した属性名に対応する代表名を取得することを特徴とする数値表現処理装置。
【請求項7】
請求項6記載の数値表現処理装置において、文書名、当該文書に含まれる数値をその事物名、属性名の代表名、前記属性名に対応付けられた尺度に変換された数値を記憶したテーブルを有することを特徴とする数値表現処理装置。
【請求項8】
請求項3記載の数値表現処理装置において、前記尺度選択部は年齢を生年に変換することを特徴とする数値表現処理装置。
【請求項9】
請求項3記載の数値表現処理装置において、前記尺度選択部は位置を表す数値表現を緯度・経度に変換することを特徴とする数値表現処理装置。
【請求項10】
請求項3記載の数値表現処理装置において、前記尺度選択部は位置を表す数値表現を郵便番号に変換することを特徴とする数値表現処理装置。
【請求項11】
請求項3記載の数値表現処理装置において、前記属性名抽出部は、属性名の一部となる接尾辞の情報を登録した辞書を有し、前記接尾辞の情報を使って属性名を推定することを特徴とする数値表現処理装置。
【請求項12】
請求項3記載の数値表現処理装置において、前記属性名抽出部は、属性名とその属性名をとりうる対象の情報を登録した辞書を有し、前記辞書と照合して前記文書中から検出した属性名と、当該属性名の前後に出現する文字列のうち前記辞書に当該属性名をとりうる対象として登録されている文字列とを合わせて拡張した属性名を作成することを特徴とする数値表現処理装置。
【請求項13】
請求項3記載の数値表現処理装置において、
テーブルに登録された情報を使って、数値表現を値とする属性名を推定する機能を持つことを特徴とする数値表現処理装置。
【請求項14】
請求項3記載の数値表現処理装置において、属性名を使って簡略表記された単位から正規の単位表記を推定することを特徴とする数値表現処理装置。
【請求項15】
請求項3記載の数値表現処理装置において、組み立て単位の構造を解析する機能を有することを特徴とする数値表現処理装置。
【請求項16】
請求項7記載の数値表現処理装置において、事物名と属性名と数値の入力を受け付ける検索クエリ入力部、及び、前記検索クエリ入力部に入力された属性名を前記代表名に変換し、前記入力された数値を前記入力された属性名に対応する尺度の数値に変換し、前記テーブルを参照して、前記入力された事物名と前記変換された代表名及び数値が含まれる文書ファイルを検索する情報検索部を有することを特徴とする数値表現処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2010−117797(P2010−117797A)
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願番号】特願2008−289164(P2008−289164)
【出願日】平成20年11月11日(2008.11.11)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】