JP4618045B2 - 範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラム - Google Patents

範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラム Download PDF

Info

Publication number
JP4618045B2
JP4618045B2 JP2005239028A JP2005239028A JP4618045B2 JP 4618045 B2 JP4618045 B2 JP 4618045B2 JP 2005239028 A JP2005239028 A JP 2005239028A JP 2005239028 A JP2005239028 A JP 2005239028A JP 4618045 B2 JP4618045 B2 JP 4618045B2
Authority
JP
Japan
Prior art keywords
numerical
range
value
information
extraction
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.)
Expired - Fee Related
Application number
JP2005239028A
Other languages
English (en)
Other versions
JP2006350989A (ja
Inventor
恵志 伊加田
佳孝 濱口
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2005239028A priority Critical patent/JP4618045B2/ja
Publication of JP2006350989A publication Critical patent/JP2006350989A/ja
Application granted granted Critical
Publication of JP4618045B2 publication Critical patent/JP4618045B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、電子文書中に含まれる範囲情報を抽出する範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラムに関し、例えば、文書検索システムなどに適用し得るものである。
数値表現を含む電子文書は多く、文書を検索する場合の検索条件に数値情報を含めることも行われている。数値情報での検索の場合、ある数値での検索だけでなく、範囲を伴う数値情報(数値範囲)での検索を望むユーザも多い。例えば、「170cm」(の男性)を含む文書の検索を望むこともあれば、「165cm以上175cm以下」(の男性)を含む文書の検索を望むこともあり、ある種の数値情報では、後者のような数値範囲での抽出の方がより利用されると考えられる。このような数値範囲での検索に対応すべく、文書に含まれている数値範囲を抽出する方法も既に提案されている。
特許文献1では、範囲表現テーブルに範囲表現のパターンを予め用意しておき、その範囲表現のパターンに合致する表現を見つけることにより、範囲を伴う数値表現を抽出する方法が述べられている。
特開2000−67056号公報
しかしながら、特許文献1では、範囲表現テーブルに範囲表現のパターンをあらかじめ用意することで、範囲をもつ数値を抽出しているが、文書中には、多種多様な表現で範囲をもつ数値情報が記述されているため、全てのパターンを用意することは実際上困難であり、抽出し得ない数値範囲が生じるという課題がある。
例えば、「長さが1mになるものがあるが、ほとんどは25cm以上30cm以下のものが一般的である」の場合、特許文献1では、「□以上□以下」というパターンが用意されていれば、「25cm以上30cm以下」の部分を範囲表現として抽出できるが、上記文章と意味は同じだが表現が少し違う「長さが1mになるものがあるが、ほとんどは25cm以上の長さで30cmまでのものが一般的である」の場合には、「□以上の長さで□まで」のようなパターンを用意しておかないと範囲表現を抽出することができない。
そのため、多種多様な範囲表現を抽出可能な範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラムが望まれている。
第1の本発明は、電子文書に含まれている、数値とその種別を含む1以上の数値情報から、それら数値情報に係る範囲情報を抽出する範囲情報抽出装置において、(1)電子文書に含まれている、範囲情報の抽出に利用可能な数値情報を抽出する数値情報抽出手段と、(2)上記数値情報抽出手段が抽出した数値情報に基づいて、上記電子文書における、範囲情報を抽出させるための数値表現を探索する抽出領域を決定する範囲抽出領域決定手段とを備え、(3)上記範囲抽出領域決定手段は、数値情報の位置より前側及び又は後側の所定単語数とその数値情報を含む領域、数値情報の位置より前側及び又は後側の所定文字数とその数値情報を含む領域、数値情報の位置から句読点記号までの領域のうち、少なくとも1つの領域を抽出領域として決定することを特徴とする。
第2の本発明は、電子文書に含まれている、数値とその種別を含む1以上の数値情報から、それら数値情報に係る範囲情報を抽出する範囲情報抽出方法において、(1)電子文書に含まれている、範囲情報の抽出に利用可能な数値情報を抽出する数値情報抽出工程と、(2)上記数値情報抽出工程で抽出した数値情報に基づいて、上記電子文書における、範囲情報を抽出させるための数値表現を探索する抽出領域を決定する範囲抽出領域決定工程とを含み、(3)上記範囲抽出領域決定工程は、数値情報の位置より前側及び又は後側の所定単語数とその数値情報を含む領域、数値情報の位置より前側及び又は後側の所定文字数とその数値情報を含む領域、数値情報の位置から句読点記号までの領域のうち、少なくとも1つの領域を抽出領域として決定することを特徴とする。
第3の本発明の範囲情報抽出プログラムは、第2の本発明の範囲情報抽出方法の工程及び用意しておくデータをコンピュータが処理し得るコードで記述したことを特徴とする。
本発明によれば、数値情報を抽出した後、1又は2個の数値情報を含む範囲情報の探索領域を決定し、その領域内に存在する数値表現毎に範囲情報を見直して範囲情報を抽出するようにしたので、範囲情報の抽出パターンが不要であり、多種多様な範囲表現に対応可能である。
(A)第1の実施形態
以下、本発明による範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラムの第1の実施形態を、図面を参照しながら詳述する。
(A−1)第1の実施形態の構成
図1は、第1の実施形態の範囲情報抽出装置の機能的構成を示すブロック図である。例えば、第1の実施形態の範囲情報抽出装置は、パソコン等の情報処理装置に対し、CD−ROMやフレキシブルディスク等の記録媒体に記録されている範囲情報抽出プログラム(データファイルや、データを格納するテーブル等を含む)をインストールしたり、情報範囲情報抽出プログラムをネットワークからダウンロードしてインストールしたりすることで実現されるが、機能的には、図1で表すことができる。なお、例えば、ASIC等、専用的なハードウェアとして実現しても良い。
図1において、第1の実施形態の範囲情報抽出装置100は、数値範囲の情報を抽出するものであり、機能的には、入力手段101、数値情報抽出手段102、数値情報保持手段103、範囲抽出領域決定手段104、範囲抽出手段105、範囲抽出結果保持手段106及び出力手段107を有している。
入力手段101は、電子文書などの文字列データを読込む仕組みを備えているものである。例えば、CD−ROMやフレキシブルディスク等の記録媒体から電子文書を読み込むものであっても良く、OCRなどによって電子文書を取り込むものであっても良く、ネットワークから電子文書を取り込むものであっても良い。また例えば、オペレータが電子文書をキー入力し、それを取り込むものであっても良い。
数値情報抽出手段102は、電子文書中の数値情報を抽出し、それを数値情報保持手段103に登録するものである。ここで、数値情報には、数値と、その種別(「長さ」や「重さ」や「電流量」といったもの)を含む情報を指している。数値情報抽出手段102は、単位の変換機能(換算機能)も有している。
数値情報保持手段103は、数値情報抽出手段102が抽出した電子文書中の数値情報を蓄積するものである。数値情報保持手段103は、例えばRAMなどの半導体メモリ上に構成されても良く、大規模記憶装置(例えばハードディスク)上に構成されても良い。
範囲抽出領域決定手段104は、数値情報保持手段103に保持されている数値情報も参照しつつ、入力手段101から入力された文字列データの中から、範囲をもつ数値情報を抽出するための領域を決定するものである。例えば、上限を表す数値表現と、下限を表す数値表現との同一文章での距離は数単語以内の距離であり、上限を表す数値表現があれば、領域を限って下限を表す数値表現を探索しても良い。この例の場合のように、数値範囲を規定する数値表現の探索領域を決定するのが範囲抽出領域決定手段104である。
範囲抽出手段105は、範囲抽出領域決定手段104で決定された探索領域から、所定ルールに従って、範囲をもつ数値情報などを抽出するものである。
範囲抽出結果保持手段106は、範囲抽出手段105によって抽出された結果を蓄積するものである。範囲抽出結果保持手段106も、RAMなどの半導体メモリ上で構成されても良く、大規模記憶装置上に構成されても良い。
出力手段107は、範囲抽出結果保持手段106に蓄積された内容を出力するものである。ここでの出力は、表示出力や印刷出力だけでなく、記憶媒体などへの記憶でも良く、ネットワークを介した他の装置への転送でも良い。また、入力された電子文書に対し、高速検索に対応するための付加情報(例えば、検索用キーワードと同機能)として付加した記録であっても良い。
図2は、範囲抽出手段105の詳細構成を示すブロック図である。範囲抽出手段105は、数値表現検出部1051、数値表現解釈部1052、範囲記録部1053、範囲処理保持部1054、変動表現検出部1055、変動値取得部1056、変動表現対応値記録部1057及び上下限算出部1058を有する。
数値表現検出部1051は、数値情報保持手段103の保持情報を参照しながら、範囲抽出領域決定手段104で決定された探索領域から、数値表現を検出するものである。
数値表現解釈部1052は、数値表現検出部1051で検出された数値表現から、上限や下限等を表す数値を取得するものである。
範囲処理保持部1054は、範囲抽出処理中における上限値と下限値を新規に記録したり更新記録したりするものである。
範囲記録部1053は、検出した数値表現と、範囲処理保持部1054に記録された状態から、範囲処理保持部1054に上限値や下限値を登録したり更新したりするものである。
変動表現検出部1055は、範囲抽出領域決定手段104で決定された領域から、変動表現を検出するものである。
変動値取得部1056は、後述する変動表現対応値記録部1057から、変動表現検出部1055で検出した変動表現に対応する変動値を取得するものである。
変動表現対応値記録部1057は、変動表現と、それに対応する上限変動値と下限変動値を蓄積しているものである。
上下限算出部1058は、変動値取得部1056で取得した変動値と、範囲処理保持部1054の内容から、上限値と下限値を算出するものである。
(A−2)第1の実施形態の動作
次に、第1の実施形態の範囲情報抽出装置100の動作(範囲情報抽出方法)を、フローチャートを参照しながら説明する。
ここで、図3は、範囲情報抽出装置100の全体動作を示すフローチャートであり、まず、図3を参照して、範囲情報抽出装置100の全体動作を説明する。
入力手段101によって電子文書が入力されると(S101)、その入力文書から、数値情報抽出手段102によって、数値情報が抽出される(S102)。数値情報の抽出では、基本単位への換算を適宜行う。この際の数値情報の抽出方法として、既存の方法を適用できる。既存の方法には、例えば、数値情報の抽出、種別の判定については、特開平08−329165号公報に記載のような、記号や数字を検出して抽出を行う方法や、特開2001−318792号公報に記載のような文字の種類や品詞に基づく規則による抽出方法があり、単位の換算については、特開平06−096064号公報に記載のような、度量衡換算部に収めた単位の換算式により、換算を行う方法や、特開平06−176073号公報に記載のような、知識ベース内の対応関係を参照して、対象語と量語と数値とから適切な単位を推定して変換する方法がある。単位の換算では、例えば、抽出した数値情報文字列「3フィート」の単位部分の文字列「フィート」から、図4のような単位換算テーブルを参照して、該当する行を見つけ、抽出した数値情報の数値部分”3”と、単位換算テーブルの換算係数”0.3048”とを掛け合わせることで、基本単位をm(メートル)としたときの値”0.9144”を求める。
抽出した数値情報は、文書の文字位置と対応付けて数値情報保持手段103に登録する(S103)。一般には、数値情報は文書中に複数あり、それぞれを数値情報保持手段103に登録する。
図5は、数値情報保持手段103の構成例を示す説明図である。数値情報保持手段103は、例えば、LENGTH(長さ)やWEIGHT(重さ)などを表す数値情報の「種別」と、「数値」と、文書(又は文章)中での「開始位置」及び「終了位置」と、後述する抽出領域の決定処理で選択されたか否かをマークする「選択済み」の欄から構成されている。
抽出された数値情報の数値情報保持手段103への登録が終了すると、次に、範囲抽出領域決定手段104によって、上記の入力文書から数値範囲を抽出するための探索領域(抽出領域)を決定する(S104)。
図6は、範囲抽出領域決定手段104による、このような抽出領域の決定動作の詳細を示すフローチャートである。
抽出領域の決定では、まず、先ほど抽出された数値情報のうち「選択済み」の欄に「true」が記録されていない数値情報を、文書の先頭側に位置するものから2つ選択し、その2つの数値情報の種別が同一かどうかを比較する(S201、S202)。
同一でない場合や1つしか数値情報を選択できなかった場合には、先頭に近い側の数値情報(1つの場合は当然にその数値情報)を選択し、数値情報保持手段103の「選択済み」の欄に「true」を記録すると共に、その数値情報の前後の文字列に対する所定の条件(例えば、「選択した数値情報の前後の5単語、あるいは句読点が現れるまで」)を満たす領域を抽出領域に決定する(S204)。
2つの数値情報の種別が同一である場合には、さらに、2つの数値情報の間の文字列が所定の条件(例えば、「5単語以内、かつ句読点がないか」)を満たしているか否かを調べる(S203)。この条件に合わない場合には、上述したステップS204によって、抽出領域を決定する。
同一種別の2つの数値情報の間の文字列に関する所定条件を満足する場合には、2つの数値情報の両方を選択し、選択した数値情報のそれぞれに該当する数値情報保持手段103の「選択済み」の欄に「true」を記録すると共に、それら2つの数値情報の前後の文字列に対する所定の条件(例えば、「選択した先頭に近い方の数値情報の前の5単語あるいは句読点が現れるところから、もう一方の数値情報の後ろの5単語あるいは句読点が現れるまで」)を満たす領域を抽出領域に決定する(S205)。
以上のようにして、入力文書から数値範囲を抽出するための探索領域(抽出領域)が決定されると、範囲抽出手段105により、抽出領域から数値範囲の抽出、記録を行う(S105、S106)。
ステップS104〜S106の処理は、数値情報保持手段103の「選択済み」の欄に「true」が記録されていない、未処理の数値情報がなくなるまで繰り返される(S107)。
図7〜図9は、抽出領域から数値範囲を抽出して記録する処理の詳細を示すフローチャートである。
抽出領域から数値範囲を抽出して記録する処理においては、まず、数値表現検出部1051によって、抽出領域の先頭(左側)から数値表現を検出し、検出できたか否かを判別する(S301、S302)。ここで、「数値表現」とは、数値情報を取得できる文字列、及び、数量に係る文字列である。数値情報を取得できる文字列には、例えば、「以下」、「以上」などの数値を含まない文字列が該当する。検出のために、このような文字列を予め登録しておく。数量に係る文字列は、数字を含むので数字部分と単位とでなる部分を検出する。
数値表現が検出できた場合には、数値表現解釈部1052によって、検出した数値表現が数字を含む数値表現かどうかを判定する(S303)。
数字を含む数値表現である場合には、その数値表現は数値情報であることから、数値情報保持手段103を参照して、該当する数値情報の数値を取得する(S304)。そして、範囲記録部1053によって、範囲処理保持部1054の各欄の値(記録状態)に応じて定まる記録処理を実行する(S305〜S310)。
図10は、範囲処理保持部1054の構成例を示す説明図である。範囲処理保持部1054は、例えば、表形式の構成となっており、1行は、数値情報の「種別」、数値範囲の「上限」、数値範囲の「下限」、文書(又は文章)中での「開始位置」及び「終了位置」でなっている。最初は、これらの各欄には初期値が入っている(初期状態)。
ステップS305における処理を分岐させる記録状態は、以下の通りである。
ST11. 初期状態の場合
ST12. 上限の欄に”+∞”が記録されており、 他は全て初期値
ST13. 下限の欄に”−∞”が記録されており、 他は全て初期値
ST14. 上限の欄に”+∞”が記録されており、 下限の欄に”−∞”が記録
ST15. 下限の欄に数値が記録されており、 上限の欄に”+∞”が記録
ST16. 上限の欄に数値が記録されており、 下限の欄に”−∞”が記録
ST17. それ以外
これらの記録状態のうち、ST11からST14に該当する場合には、範囲処理保持部1054の上限、下限の欄の両方に数値表現の数値を記録し(S306)、上述したステップS301に戻る。
また、記録状態がST17の場合には何もせず、直ちにステップS301に戻る。
一方、記録状態がST15の場合には、さらに、範囲処理保持部1054の下限に記録されている数値と検出した数値表現の数値とを比較する(S307)。そして、下限に記録されている数値より、数値表現の数値のほうが大きい場合は、上限の欄に数値表現の数値を記録し(S309)、ステップS301に戻る。そうでない場合は、何もせずにステップS301に戻る。
同様に、記録状態がST16の場合には、さらに、上限に記録されている数値と検出した数値表現の数値とを比較する(S308)。そして、上限に記録されている数値より、数値表現の数値のほうが小さい場合は、下限の欄に現在の数値表現の数値を記録し(S310)、ステップS301に戻る。そうでない場合は、何もせずにステップS301に戻る。
ステップS301で検出された数値表現が数字を含んだ数値表現でない場合には、内蔵する解釈テーブルを参照し、数値表現の文字列に該当する解釈の欄の値を数値として取得し(S311)、解釈により得られた数値を判別する(S312)。
図11は、解釈テーブルの構成例を示す説明図である。図11の例では、「以上」、「より大きい」、「より重い」などを”+∞”と解釈し、「以下」、「未満」、「より小さい」、「より軽い」などを”−∞”と解釈する。
ステップS311で取得した値が”+∞”の場合には、範囲記録部1053によって、範囲処理保持部1054の各欄の値(記録状態)が以下の条件に合致するかどうかに応じ、処理を分岐させる(S313)。
ST21. 全ての欄が初期値
ST22・ 上限と下限の欄に同じ数値が記録、 その他の欄は全て初期値
ST23・ それ以外
記録状態がST21及びST22に合致する場合には、範囲処理保持部1054の上限の欄に”+∞”を記録する(S314)。記録状態がST23に合致する場合はステップS301に戻る。
一方、ステップS311で取得した値が”−∞”の場合には、範囲記録部1053によって、範囲処理保持部1054の各欄の値(記録状態)が以下の条件に合致するかどうかに応じ、処理を分岐させる(S315)。
ST31. 全ての欄が初期値
ST32. 上限と下限の欄に同じ数値が記録、 その他の欄は全て初期値
ST33. それ以外
記録状態がST31及びST32に合致する場合には、範囲処理保持部1054の下限の欄に”−∞”を記録する(S316)。記録状態がST33に合致する場合はステップS301に戻る。
ステップS301で数値表現を検出できなければ、再び抽出領域の先頭から、今度は変動検出手段1055において、変動表現の検出動作を行う(S317、S318)。
変動表現を1つ検出できれば(S318で肯定結果)、変動値取得部1056において、変動表現対応値記録部1057における変動表現対応値テーブルから、検出した変動表現に該当する行を選択し、変動値(下限変動値、上限変動値)を取得した後(S319)、上下限算出部1058において、取得した変動値と、範囲処理保持部1054の内容から、上限値と下限値を算出する(S320)。
図12は、変動表現対応値テーブルの構成例を示す説明図である。図12の例は、変動表現として、「約」、「程度」、「強」、「弱」の4つを含んでいる。例えば、変動表現「約」の下限変動値は「−10%」であり、上限変動値は「+10%」である。
ステップS320の上限値と下限値との算出は、以下のように行う。下限値の場合には、範囲処理保持部1054の下限値の欄の値と、取得した下限変動値から、以下のようにして求め、上限値の場合には、範囲処理保持部1054の上限値の欄の値と、取得した上限変動値から、以下のようにして求め
下限値=下限値の欄の値+(下限値の欄の値×下限変動値)
上限値=上限値の欄の値+(上限値の欄の値×上限変動値)
上述したステップS317、S318の変動表現の探索で変動表現が見付からなければ、範囲処理保持部1054の上限の欄の値を上限値、下限の欄の値を下限値とする(S321)。
ステップS301で数値表現を検出できなければ、範囲処理保持部1054の内容(ステップS320又はS321で得られた上限値及び下限値と、開始位置や終了位置など)を範囲抽出結果保持手段106に書き出すと共に(S322)、範囲処理保持部1054を初期化する(S323)。
数値情報保持手段103にある全ての数値情報に対して「true」が記録されていれば、言い換えると、ステップS104〜S106の処理が、数値情報保持手段103の「選択済み」の欄に「true」が記録されていない、未処理の数値情報がなくなるまで繰り返されると、出力手段107によって、数値情報の範囲抽出結果が出力される(S107)。
範囲抽出結果保持手段106の上限の欄と、下限の欄に、同じ数値が記録されている場合には、範囲を持たない数値情報であることを表し、異なる数値が記録されている場合には、下限の欄の値から上限の欄の値までの数値範囲を持つ数値情報を表している。ここで、下限の欄に数値が記録されており、かつ上限の欄に”+∞”が記録されている場合には、下限の欄以上の範囲を持つ数値情報、下限の欄に”−∞”が記録されており、かつ上限の欄に数値が記録されている場合は、上限の欄以下の範囲を持つ数値情報を表している。
以下、入力文書として、「最大で1mになるものがあるが、一般的には、60cm以下である。また、重さは2kg以上で3kg以下である。」が入力された場合を考える。
数値情報抽出手段102において、この文書から数値情報として、「1m」、「60cm」、「2kg」、「3kg」の4つが抽出され、数値情報保持手段103に記録される(図5(A)参照)。「60cm」、「2kg」、「3kg」については、基本単位への換算がなされて記録される。
次に、範囲抽出領域決定手段104において、まず、記録されている数値情報の中から、選択済みの欄に「true」が記録されていない先頭側の2個の数値情報「1m」と「60cm」が選択される。これらの種別は同じ「LENGTH」であるが、両者の間に句点が存在するので、「1m」の方だけを選択し、数値情報保持手段103の「1m」の選択済みの欄に「true」を記録する。上述した図5(A)は、この記録時点での数値情報保持手段103の記録内容を示している。そして、例えば、「この数値情報の前後の5単語又は、句読点まで」を領域として決定し、「最大で1mになるものがあるが」という部分が抽出領域として決定される。
この抽出領域において、数値表現を領域の先頭から検出していくと、「1m」が検出される。「1m」は明らかに数字文字列を含んでいるので、数値情報保持手段103に登録されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値は”1”である。次に、範囲処理保持部1054の各欄の値を見る。現在は、初期状態なので、「1m」の数値「1」を上限、下限の欄の両方に記録する。
抽出領域の残りの部分から他の数値表現は見付からないので、範囲処理保持部1054の内容を範囲抽出結果保持手段106に書き出し、範囲処理保持部1054を初期化する。
範囲抽出領域決定手段104において、抽出領域決定のための数値表現の取り出し処理に戻る。記録されている数値情報の中から、選択済みの欄に「true」が記録されていない先頭側の2個の数値情報「60cm」と「2kg」が選択される。これらの種別は違うものなので、「60cm」の方だけを選択し、数値情報保持手段103の「60cm」の選択済みの欄に「true」を記録する。そして、「この数値情報の前後の5単語又は、句読点まで」を領域として決定し、「60cm以下である」という部分が抽出領域として決定される。
そして、この抽出領域において、数値表現を領域の先頭から検出していく。「60cm」が検出される。「60cm」は、明らかに数字文字列を含んでいるので、数値情報保持手段103に登録されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値は「0.6」である。範囲処理保持部1054の各欄の値を見る。現在は、初期状態なので、「60cm」の数値「0.6」を上限、下限の欄の両方に記録する。
残りの抽出領域から数値表現を検出しようとすると、「以下」が検出される。「以下」は、明らかに数字文字列を含んでいない数値表現なので、図11の解釈テーブルを参照して、解釈を取得する。「以下」の解釈として、「−∞」を取得する。次に、範囲処理保持部1054の各欄の値を見ると、上限、下限の欄の両方に「0.6」が記録されているので、下限の欄に「−∞」を記録する。
抽出領域の残りの部分から、これ以上数値表現は見付からないので、範囲処理保持部1054の内容を範囲抽出結果保持手段106に書き出し、範囲処理保持部1054を初期化する。
再び、範囲抽出領域決定手段104において、抽出領域決定のための数値表現の取り出し処理に戻る。数値情報保持手段103に記録されている数値情報の中から、選択済みの欄に「true」が記録されていない先頭側の2個の数値情報「2kg」と「3kg」が選択される。これらの種別は同じ「WEIGHT」で、かつ、両者の間の単語数は5単語以下で句点も存在しないので、「2kg」と「3kg」の両方を選択し、数値情報保持手段103の選択済みの欄に「true」を記録する。
そして、「2kg」の前の5単語又は、句読点までから、「3kg」の後ろの5単語又は、句読点まで」を領域として決定し、「重さは2kg以上で3kg以下である」という部分が抽出領域として決定される。
この抽出領域において、数値表現を領域の先頭から検出していくと、「2kg」が検出される。「2kg」は、明らかに数字文字列を含んでいるので、数値情報保持手段103に登録されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値は”2000”である。次に、範囲処理保持部1054の各欄の値を見る。現在は、初期状態なので、「2kg」の数値「2000」を上限、下限の欄の両方に記録する。
再び、残りの抽出領域から数値表現を検出すると、数値表現として「以上」が検出される。「以上」は、明らかに数字文字列を含んでいない数値表現なので、解釈テーブルを参照して、解釈を取得する。「以上」の解釈として、「+∞」を取得する。範囲処理保持部1054の各欄の値を見る。上限、下限の欄の両方に「2000」が記録されているので、上限の欄に「+∞」を記録する。これにより、上限、下限の欄はそれぞれ、「+∞」と「2000」とになる。
さらに、残りの抽出領域から数値表現を検出すると、今度は「3kg」が検出される。「3kg」は、明らかに数字文字列を含んでいるので、数値情報保持手段103に登録されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値は「3000」である。次に、範囲処理保持部1054の各欄の値を見る。現在は、下限に数値「2000」、上限に「+∞」が記録されているので、「3kg」の数値「3000」を上限の欄に記録する。これにより、上限、下限の欄はそれぞれ、「3000」と「2000」とになる。
さらにまた、残りの抽出領域から数値表現を検出すると、数値表現として「以下」が検出される。「以下」は、明らかに数字文字列を含んでいない数値表現なので、解釈テーブルを参照して、解釈を取得する。「以下」の解釈として、「−∞」を取得する。次に、範囲処理保持部1054の各欄の値を見る。上限の欄が「3000」、 下限の欄が「2000」であるのでそのままにしておく。
抽出領域の残りの部分から数値表現を見付け出そうとするが、これ以上、数値表現は見付からず、また、抽出領域には変動表現も存在しないので、範囲処理保持部1054の内容を範囲抽出結果保持手段106に書き出し、範囲処理保持部1054を初期化する。
全ての数値情報の選択済みの欄に「true」が記録されたので、出力手段107により、範囲抽出結果保持手段106の内容を出力する。このときの範囲抽出結果保持手段106の内容は図10(B)のようになっている。1行目は上限の欄と下限の欄が同じ数値が記録されているので、範囲を持たない数値情報である。2行目は下限の欄に数値が記録され、上限の欄に”+∞”が記録されているので、下限が”0.6”である範囲を有する数値情報である。3行目は上限と下限に異なる数値が記録されているので、下限が”2000”、上限が”3000”である範囲を有する数値情報である。
以下では、入力文書として、他の文書である「マグロは体長が約2mで、重さは150kg強である。」を考える。
数値情報抽出手段102において、この文書から数値情報として、「2m」、「150kg」の2つが抽出され、数値情報保持手段103に記録される(図5(B)参照)。「150kg」については、基本単位への換算がなされて記録される。
次に、範囲抽出領域決定手段104において、まず、記録されている数値情報の中から、選択済みの欄に「true」が記録されていない先頭側の2個の数値情報「2m」と「150kg」とが選択される。これらの種別が異なるので、先頭側の「2m」の方だけが選択され、数値情報保持手段103の「2m」の選択済みの欄に「true」が記録される(図5(B)参照)。そして、例えば、「この数値情報の前後の5単語又は句読点まで」を抽出領域にするとしている場合であれば、「マグロは体長が約2mで」という部分が抽出領域として決定される。
そして、この抽出領域において、数値表現を領域の先頭から検出していくと、まず、「2m」が検出される。
「2m」は明らかに数字文字列を含んでいるので、数値情報保持手段603に登録されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値は「2」である。次に、範囲処理保持部1054の各欄の値を見る。現在は、初期状態なので、「2m」の数値「2」を上限、下限の欄の両方に記録する。
抽出領域の残りの部分から他の数値表現は見付からないので、次に、抽出領域の先頭から変動表現を検出する。変動表現として「約」が見付かる。
変動表現対応値記録部1057の変動表現対応値テーブル(図12)から、変動表現「約」の変動値を取得する。「約」の場合には、下限変動値「−10%」、上限変動値「+10%」が得られる。
取得した変動値と、範囲処理保持部1054の内容から、下限値と上限値を求める。「2m」についての範囲処理保持部1054の内容は、上限、下限の欄の両方共に「2」であり、下限変動値が「−10%」、上限変動値が「+10%」であるので、下限値及び上限値として、以下のように、「1.8」及び「2.2」が得られる。
下限値=2.0+(2.0×−10%)=1.8
上限値=2.0+(2.0×+10%)=2.2
これらの値と、範囲処理保持部1054の内容を範囲抽出結果保持手段106に書き出し、範囲処理保持部1054を初期化する。
まだ、範囲を抽出する数値表現が残っているので、範囲抽出領域決定手段604において、2個の数値情報を取り出そうとするが、残りの数値情報は「150kg」だけであるので「150kg」が選択され、数値情報保持手段603の「150kg」の選択済みの欄に「true」が記録する。そして、例えば、「この数値情報の前後の5単語又は句読点まで」を抽出領域にするとしている場合であれば、「重さは150kg強である」という部分が抽出領域として決定される。
そして、この抽出領域において、数値表現を領域の先頭から検出していくと、「150kg」が検出される。「150kg」は明らかに数字文字列を含んでいるので、数値情報保持手段603に登録されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値は「150000」である。
次に、範囲処理保持部1054の各欄の値を見るが、このときは、初期状態であるので、「150kg」の数値「150000」を上限、下限の欄の両方に記録する。
残りの抽出領域から数値表現を検出しようとするが、抽出領域の残りの部分からこれ以上数値表現は見付からないので、抽出領域の先頭から変動表現を検出しようとする。このときには、変動表現として「強」が見付かる。
変動表現対応値記録部1057の変動表現対応値テーブル(図12)から、変動表現「強」の変動値を取得する。「強」の場合には、下限変動値「0%」、上限変動値「+10%」が得られる。
取得した変動値と、範囲処理保持部1054の内容から、下限値と上限値を求める。「150kg」についての範囲処理保持部1054の内容は、上限、下限の欄の両方共に「150000」であり、下限変動値が「0%」、上限変動値が「+10%」であるので、下限値及び上限値として、以下のように、「150000」及び「165000」が得られる。
下限値=150000+(150000×0%)=150000
上限値=150000+(150000×+10%)=165000
これらの値と、範囲処理保持部1054の内容を範囲抽出結果保持手段106に書き出し、範囲処理保持部1054を初期化する。
この段階では、全ての数値情報に選択済みが記録されたので、出力手段107により、範囲抽出結果保持手段106の内容を出力する。このときの範囲抽出結果保持手段106の内容は、上述した図10(B)のようになっている。1行目は下限値が「1.8」で上限値が「2.2」という範囲を持つ数値情報、2行目は下限値が「150000」、上限値が「165000」という範囲を持つ数値情報として出力する。
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、範囲抽出領域決定手段104と範囲抽出手段105とを備え、数値情報の前後の入力文書範囲を、対応する上限又は下限を規定する数値情報の探索範囲とし、数値情報の種別の同一性などに基づいて、範囲を持つ数値情報を取得するようにしたので、文書中の数値表現が範囲を持つような表現で記述されていても、正確に情報を抽出することができる。
また、第1の実施形態によれば、範囲抽出領域決定手段104で決定した抽出領域から検出できる数値表現で範囲を持つ数値情報を抽出しているので、範囲表現テーブルのようなパターンを予め用意しておく必要がなく、しかも、範囲の上限、下限を規定する数値表現が離れていても数値情報を取得することができる。
さらに、第1の実施形態によれば、変動表現検出部1055、変動値取得部1055、上下限算出部1058を設けことにより、変動表現を検出し、範囲の上下限値を補正することが可能にしたので、文書中の数値表現に示された数値より、多少前後に範囲を持つような変動表現を含むものに対しても、正確に情報を抽出することができる。
(B)第2の実施形態
次に、本発明による範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラムの第2の実施形態を、図面を参照しながら詳述する。
(B−1)第2の実施形態の構成
第2の実施形態の範囲情報抽出装置も、全体構成は、第1の実施形態の説明で用いた図1で表すことができる。
但し、第2の実施形態は、範囲抽出手段105の詳細構成が第1の実施形態とは異なっている。図13は、第2の実施形態の範囲抽出手段の詳細構成を示すブロック図である。
第2の実施形態の範囲抽出手段105は、第1の実施形態と同様な、数値表現検出部1051、数値表現解釈部1052、範囲記録部1053、範囲処理保持部1054、変動表現検出部1055、変動値取得部1056、変動表現対応値記録部1057及び上下限算出部1058に加え、変動値記録部1059を有する。
変動値記録部1059は、変動値取得部1056で取得した変動値を、範囲処理保持部1054に記録するものである。なお、この範囲処理保持部1054の記録内容は、第1の実施形態と同様に、範囲抽出結果保持手段106に転記されるものである。
なお、範囲処理保持部1054の行(レコード)構成も第1の実施形態と多少異なっている。すなわち、第2の実施形態の場合、上限値、下限値、開始位置及び終了位置のフィールドに加え、上限変動値や下限変動値の欄(フィールド)も設けられている(図16参照)。上限変動値や下限変動値の欄の初期値は0%であり、変動表現が検出された場合に、適宜更新されるものである。
(B−2)第2の実施形態の動作
次に、第2の実施形態の範囲情報抽出装置100の動作(範囲情報抽出方法)を、フローチャートを参照しながら説明する。
第2の実施形態は、範囲抽出手段105の動作が第1の実施形態と異なっている。しかも、第2の実施形態は、第1の実施形態に係る図9に対応する部分の処理だけが第1の実施形態と異なっており、以下では、図14のフローチャートを参照しながら、図9に対応する部分の処理を説明する。なお、図14においては、図9との同一、対応部分には同一符号を付して示している。
図7のステップS302の判断の結果、抽出領域から数値表現を検出できないという結果が得られたときには、図14に示す処理部分に移行する。
図14に示す処理部分に入ると、まず、変動表現検出部1055により、再び抽出領域の先頭から、変動表現を検出する(S317、S318)。
変動表現を1つ検出できれば、変動値取得部1056において、変動表現対応値記録部1057の変動表現対応値テーブルから、検出した変動表現に該当する行を選択し、変動値(下限変動値、上限変動値)を取得する(S319)。
次に、変動値記録部1050において、規則に従い、範囲処理保持部1054の上限変動値と下限変動値の欄を更新する(S330)。ここでの規則として、例えば、「検出した変動表現に最も距離の近い、数値を含む数値表現を見つけ、その数値表現の値と範囲処理保持部1054の下限の欄が等しい場合は、範囲処理保持部1054の下限変動値の欄を取得した下限変動値で更新し、また、範囲処理保持部1054の上限の欄と等しい場合は、範囲処理保持部1054の上限変動値を取得した上限変動値で更新する」という規則を適用する。ここでの距離は、例えば、単語数、文字数、構文解析における係り受けツリー構造でのノード間距離などで求める。
ステップS330の処理は、例えば、具体的には以下の通りである。検出された変動表現が、抽出領域内のどの数値を含む数値表現と近接しているかを調べる。そして、その近接している数値表現の値が、範囲処理保持部1054の下限値と等しいか否かを調べる。等しい場合には、範囲処理保持部1054の下限変動値の欄に、取得された下限変動値の値を記録する。等しくない場合には何も操作しない。また、近接している数値表現の値が、範囲処理保持部1054の上限値と等しいか否かを調べる。等しい場合には、範囲処理保持部1054の上限変動値の欄に、取得された上限変動値の値を記録し、ステップS317に戻る。等しくない場合には、操作しないでステップS317に戻る。
上述したステップS318で、抽出領域から変動表現を検出できないという結果を得たときには、上下限値算出部1058において、範囲処理保持部1054の内容から、上限値と下限値を算出する(S320)。算出は、下限値なら、範囲処理保持部1054の下限値の欄と、下限変動値の欄から、以下のようにして求め、上限値なら、範囲処理保持部1054の上限値の欄と、上限変動値の欄から、以下のようにして求める。
下限値=下限値の欄の値+(下限値の欄の値×下限変動値の欄の値)
上限値=上限値の欄の値+(上限値の欄の値×上限変動値の欄の値)
その後、計算で得られた上限値と下限値や、範囲処理保持部1054に記録されている開始位置や終了位置などを範囲抽出結果保持手段106に書き出し(S322)、範囲処理保持部1054を初期化して(S323)、図3のステップS106に戻る。
この後の動作は、第1の実施形態と同様である。なお、出力する数値情報の範囲抽出結果に、上限変動値や下限変動値の欄の値を含めるようにしても良い。
第2の実施形態の動作を、入力文書として、「最大で1m程度になるものがあるが、一般的には、60cm弱である。また、重さはおよそ2kg以上3kg以下である。」が入力されたとして具体的に説明する。
数値情報抽出手段102において、この文書から数値情報として、「1m」、「60cm」、「2kg」、「3kg」の4つが抽出され、数値情報保持手段103に記録される(図15参照)。
範囲抽出領域決定手段104において、数値情報の中から、先頭側の2個である「1m」と「60cm」が選択される。これらの種別は同じ「LENGTH」であるが、両者の間に句点が存在するので、「1m」の方だけを選択し、数値情報保持手段103の「1m」の選択済みの欄に「true」を記録する。そして、「この数値情報の前後の5単語又は、句読点まで」を領域として決定することにより、「最大で1m程度になるものがあるが」という部分が抽出領域として決定される。
この抽出領域において、数値表現を領域の先頭から検出していくと、「1m」が検出される。「1m」は明らかに数字文字列を含んでいるので、数値情報保持手段103に登録されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値は「1」である。
範囲処理保持部1054の各欄の値を見ると、現在は、初期状態なので、「1m」の数値「1」を上限値、下限値の欄の両方に記録する。
抽出領域の残りの部分から、これ以上数値表現は見付からないので、次に、抽出領域の先頭から変動表現を検出する。変動表現として「程度」が見付かる。変動表現対応値記録部1057の変動表現対応値テーブルから「程度」の変動値を取得すると、下限変動値「−10%」、上限変動値「+10%」が得られる。
その後、この変動表現と近接する数値を含む数値表現を探す。この場合、「1m」が見付かる。そこで、範囲処理保持部1054の下限値の欄をみて「1m」の値と等しいかを比べる。この場合は等しいので、範囲処理保持部1054の下限変動値の欄に先ほど取得した下限変動値の「−10%」を記録する。また、範囲処理保持部1054の上限値の欄をみて「1m」の値と等しいかを比べる。この場合には等しいので、範囲処理保持部1054の上限変動値の欄に先ほど取得した上限変動値の「+10%」を記録する。
再び、残りの抽出領域から変動表現を検出しようとするが、これ以上、変動表現は存在しないので、範囲処理保持部1054の内容から、上限値及び下限値の算出を行う。下限値及び上限値の欄の値が「1.0」、下限変動値の欄の値が「−10%」、上限変動値の欄の値が「+10%」であるので、以下のように、下限値「0.9」、上限値「1.1」が算出される。
下限値=1.0+(1.0×−10%)=0.9
上限値=1.0+(1.0×+10%)=1.1
これらの値と、範囲処理保持部1054の内容を範囲抽出結果保持手段106に書き出し、範囲処理保持部1054を初期化する。そして、数値表現の抽出処理(ステップS106−S104−S105)に移る。
まだ、範囲を抽出する数値表現が残っているので、範囲抽出領域決定手段1054において、数値情報の中から、「true」ではない先頭側の2個の「60cm」と「2kg」が選択される。これらの種別は違うものなので、「60cm」の方だけを選択し、数値情報保持手段103の「60cm」の選択済みの欄に「true」を記録する。
「この数値情報の前後の5単語又は、句読点まで」を抽出領域として決定することにより、[60cm弱である]という部分が抽出領域として決定される。この抽出領域において、数値表現を領域の先頭から検出していくと、「60cm」が検出される。「60cm」は明らかに数字文字列を含んでいるので、数値情報保持手段603に登録されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値は「0.6」である。
範囲処理保持部1054の各欄の値を見ると、現在は、初期状態なので、「60cm」の数値「0.6」を上限値、下限値の欄の両方に記録する。
残りの抽出領域から数値表現を検出するが、抽出領域の残りの部分からこれ以上数値表現は見付からないので、抽出領域の先頭から変動表現を検出する。変動表現として「弱」が見付かる。
そこで、変動表現対応値記録部1057の変動表現対応値テーブルから、「弱」の変動値を取得する。これにより、下限変動値「−10%」、上限変動値「0%」が得られる。
この変動表現「弱」と近接する数値を含む数値表現を抽出範囲内で探す。この場合には、
「60cm」が見付かる。範囲処理保持部1054の下限値の欄をみて「60cm」の値と等しいかを比べる。この場合には等しいので、範囲処理保持部1054の下限変動値の欄に先ほど取得した下限変動値の「−10%」を記録する。また、範囲処理保持部1054の上限値の欄をみて「60cm」の値と等しいかを比べる。この場合には等しいので、範囲処理保持部1054の上限変動値の欄に先ほど取得した上限変動値の「0%」を記録する。
再び、残りの抽出領域から変動表現を検出しようとするが、これ以上、変動表現は存在しないので、範囲処理保持部1054の内容から、上限値及び下限値の算出を行い、以下のように、下限値0.54、上限値0.6を得る。
下限値=0.6+(0.6×−10%)=0.54
上限値=0.6+(0.6×0%)=0.6
これらの値と、範囲処理保持部1054の内容を範囲抽出結果保持手段106に書き出し、範囲処理保持部1054を初期化する。そして、数値表現の抽出処理(ステップS106−S104−S105)に移る。
まだ、範囲を抽出する数値表現が残っているので、範囲抽出領域決定手段104において、数値情報の中から、「true」が記録されていない先頭側の2個の数値表現「2kg」と「3kg」が選択される。これらの種別は同じ「WEIGHT」で、かつ、両者の間の単語数は5単語以下で句点も存在しないので、「2kg」と「3kg」の両方を選択し、数値情報保持手段103の選択済みの欄に「true」を記録する。
例えば、「2kg」の前の5単語又は句読点までから、「3kg」の後ろの5単語又は句読点まで、を領域として決定することにより、「重さはおよそ2kg以上で3kg以下である」という部分が抽出領域として決定される。
この抽出領域において、数値表現を領域の先頭から検出していくと、「2kg」が検出される。「2kg」は明らかに数字文字列を含んでいるので、数値情報保持手段103に登録されているこの表現の数値情報を取得すると、「2000」が得られる。
範囲処理保持部1054の各欄の値を見ると、現在は、初期状態なので、「2kg」の数値「2000」を上限値、下限値の欄の両方に記録する。
残りの抽出領域から数値表現を検出しようとすると、数値表現として「以上」が検出される。「以上」は明らかに数字文字列を含んでいない数値表現なので、解釈テーブルを参照して解釈を取得する。「以上」の解釈として、「+∞」を取得する。範囲処理保持部1054の各欄の値を見ると、上限値、下限値の欄の両方に「2000」が記録されているので、上限の欄に「+∞」を記録する。
再び、残りの抽出領域から数値表現を検出しようとすると、今度は「3kg」が検出される。「3kg」は明らかに数字文字列を含んでいるので、数値情報保持手段103に登録
されているこの表現の数値情報を取得する。取得した結果、この数値表現の数値として「3000」である。
範囲処理保持部1054の各欄の値を見ると、現在は、下限値の欄に数値「2000」、上限値の欄に「+∞」が記録されているので、「3kg」の数値「3000」を上限値の欄に記録する。
再び、残りの抽出領域から数値表現を検出しようとすると、数値表現として「以下」が検出される。「以下」は明らかに数字文字列を含んでいない数値表現なので、解釈テーブルを参照し、「以下」の解釈として、「−∞」を取得する。
範囲処理保持部1054の各欄の値を見ると、上限値の欄が「3000」、下限値の欄が「2000」であるので、書き換える操作を実行しない。
抽出領域の残りの部分からこれ以上数値表現は見付からないので、次に、抽出領域の先頭から変動表現を検出する。これにより、変動表現として、「およそ」が見付かる。
変動表現対応値記録部1057の変動表現対応値テーブルから「およそ」の変動値を取得すると、下限変動値「−10%」、上限変動値「+10%」が得られる。
この変動表現「およそ」と近接する数値を含む数値表現を探すと、「2kg」が見付かる。範囲処理保持部1054の下限値の欄をみて、「2kg」の値と等しいかを比べる。この場合には、等しいので、範囲処理保持部1054の下限変動値の欄に先ほど取得した下限変動値の−10%を記録する。また、範囲処理保持部1054の上限値の欄をみて「2kg」の値と等しいかを比べる。この場合には等しくないので、書き換え操作を実行しない。
再び、残りの抽出領域から変動表現を検出しようとするが、これ以上、変動表現は存在しないので、範囲処理保持部1054の内容から、上限値及び下限値の算出を行い、以下のように、下限値1800、上限値3000を得る。
下限値=2000+(2000×−10%)=1800
上限値=3000+(3000×0%)=3000
これらの値と、範囲処理保持部1054の内容を範囲抽出結果保持手段106に書き出し、範囲処理保持部1054を初期化する。そして、数値表現の抽出処理(ステップS106−S104−S105)に移る。
全ての数値情報に選択済みが記録されたので、出力手段107により、範囲抽出結果保持手段106の内容を出力する。
このときの範囲抽出結果保持手段106の内容は、図17のようになっている。1行目は下限値が「0.9」で上限値が「1.1」という範囲を持つ数値情報、2行目は下限値が「0.54」、上限値が「0.6」という範囲を持つ数値情報として、3行目は、下限が「1800」、上限が「3000」である数値情報として出力する。
(B−3)第2の実施形態の効果
第2の実施形態によっても、文書中の数値表現が範囲を持つような表現で記述されていても、正確に情報を抽出することができるという効果や、範囲表現テーブルのようなパターンを予め用意しておく必要がなく、しかも、範囲の上限、下限を規定する数値表現が離れていても数値情報を取得することができるという効果を奏する。
また、第2の実施形態によれば、変動値記録部1059を設け、範囲処理保持部1054に下限変動値の欄と上限変動値の欄を追加し、記録できるようにしたことにより、複数の変動表現を検出し、変動値記録部1059の規則によって上限変動値と下限変動値を現れた変動表現に応じて操作するようにしたので、文書中の数値表現に示された数値より、多少前後に範囲を持つような変動表現を含むものに対しても、正確に情報を抽出することができる。
(C)第3の実施形態
次に、本発明による範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラムの第3の実施形態を、図面を参照しながら詳述する。
図18は、第3の実施形態の範囲情報抽出装置の機能的構成を示すブロック図であり、上述した第1、第2の実施形態に係る図1との同一、対応部分には同一符号を付して示している。第3の実施形態の範囲情報抽出装置も、例えば、パソコン等の情報処理装置に対し、範囲情報抽出プログラムをインストールすることで実現されるが、機能的には、図18で表すことができる。
図18において、第3の実施形態の範囲情報抽出装置100Aは、第1や第2の実施形態と同様な入力手段101、数値情報抽出手段102、数値情報保持手段103、範囲抽出領域決定手段104、範囲抽出手段105、範囲抽出結果保持手段106及び出力手段107に加え、地名等/数値情報変換手段108及び地名等復元手段109を有している。
地名等/数値情報変換手段108は、入力手段101が取り込んだ入力文書に、内蔵する変換テーブルで規定されている地名等の所定文字列があれば、それを数値情報に変換するものである。
図19及び図20はそれぞれ、地名等/数値情報変換手段108における変換テーブル例を示す説明図である。図19に示す変換テーブルは、東海道新幹線用のものであり、「東京駅(又は東京;以下同様)」、「品川駅」、…をそれぞれ、数直線上の数値と、単位[東海新]との組に置き換えたものである。図20に示す変換テーブルは、広域地名用のものであり、「北海道」、「青森(又は青森県;以下同様)」、…をそれぞれ、数直線上の数値と、単位[広地]との組に置き換えたものである。図20に示す変換テーブルは階層化に対応したものであり、「東北」を、東北各県の数値情報の集合「21[広地]〜26[広地]」に置き換えるようになされている。
地名等/数値情報変換手段108が対象とする文字列としては、その他、元号(…、昭和、平成)や、陰暦月名(睦月、如月、…)や、干支又は古い時刻表現(子、丑、寅、…)など、数直線上への配置が可能な文字列の種類を挙げることができる。
第3の実施形態の数値情報抽出手段102、数値情報保持手段103、範囲抽出領域決定手段104、範囲抽出手段105及び範囲抽出結果保持手段106は、以上のようにして置き換えられた数値情報に対しても、もともとからの数値情報と区別することなく、第1、第2の実施形態で説明したと同様な処理を行う。
地名等復元手段109は、範囲抽出結果保持手段106に記録されている範囲抽出結果の中に、地名等/数値情報変換手段108が変換した数値情報の範囲のものがあれば、その範囲抽出結果における数値情報を、上述した変換テーブルを参照して元の文字列に戻すものである。なお、文書検索における検索情報の範囲指定で、変換した数値情報をそのまま利用するような場合であれば、地名等復元手段109を省略するようにしても良い。
第3の実施形態の出力手段107は、地名等の擬似的な数値情報の範囲抽出結果をも出力するものである。
第3の実施形態によれば、第1や第2の実施形態と同様な効果を奏すると共に、さらに、数値情報と同様な範囲表現が適用され得る文字列の種類について、範囲情報を抽出できるという効果をも奏することができる。
(C)他の実施形態
上記各実施形態では、範囲抽出領域の決定において、句読点と、単語数による規則で領域を決定していたが、決定方法はこれに限定されるものではなく、例えば、文字数に基づいた規則を適用するようにしても良く、特定の品詞のうち少なくとも1つに基づいた規則を適用するようにしても良い。
また、上記実施形態では、数値情報抽出手段は全ての数値情報を抽出するものを示したが、範囲抽出の対象とはならない数値情報の抽出を実行しないようにしても良い。例えば、「1mから50cm単位で8mまで」における「50cm単位」のような数値情報の検索では機能しないと考えられる範囲内の段階を規定する数値情報などは、「単位」などの用語に基づいて、数値情報抽出手段が抽出しないようにしても良い。
さらに、上記実施形態においては、範囲抽出結果に含める情報が「種別」、「上限」、「下限」、「開始位置」及び「終了位置」であるものを示したが、範囲抽出結果に含める情報がこれに限定されないことは勿論である。例えば、その数値情報の対象物の情報を含めるようにしても良い。例えば、入力文書が、「鮭は、最大で1mになるものがあるが、一般的には、60cm以下である。また、重さは2kg以上で3kg以下である。」である場合には、構文解析や意味解析などによって、「鮭」を数値情報の対象物として書き込むようにしても良い。
第1の実施形態においては、上限変動値及び下限変動値等の変動値をシステムの固定値のように説明したが、変動値は、ユーザが任意に設定できるようにしても良い。
また、変動表現と数値表現との距離(単語数、文字数、構文解析における係り受けツリー構造でのノード間距離など)などに応じて変動値を自動的に調整するようにしても良い。例えば、「約」の変動値として、上限変動値+10%、下限変動値−10%を取得したときにおいて、「約」と数値表現との距離が例えば、「3」であれば、上限変動値を、例えば、上限変動値=+10%÷3=3.3%のように調整し、同様に、下限変動値を、例えば、下限変動値=−10%÷3=−3.3%のように調整するようにしても良い。
第2の実施形態に関し、範囲処理保持部1054に記録された変動値の更新規則は、第2の実施形態で説明したものに限定されない。
変動値の更新規則として、他に、「取得した変動値が現在の上限変動値より小さければ更新、そうでなければ何もせず、また、下限変動値も現在の下限変動値より大きければ更新、そうでなければ何もしない」でも良いし、「取得した上限変動値が、範囲処理保持部における現在の上限変動値より大きければ更新、そうでなければ何もせず、また、取得した下限変動値が、範囲処理保持部における現在の下限変動値より小さければ更新、そうでなければ何もしない」でも良い。また、「検出した変動表現が、抽出領域に含まれるどの数値を含む数値表現より先頭に位置していれば、範囲処理保持部の上限変動値の欄、下限変動値の欄を取得した変動値で更新し(上限変動値の欄を取得した上限変動値で、下限変動値の欄を取得した下限変動値で更新)、そうでなければ、検出した変動表現に最も距離(単語数、文字数、構文解析における係り受けツリー構造でのノード間距離など)の近い数値を含む数値表現を見つけ、その数値表現の値と範囲処理保持部の下限の欄と等しい場合は、下限変動値の欄を取得した下限変動値で更新、また、範囲処理保持部の上限の欄と等しい場合は、上限変動値の欄を取得した上限変動値で更新する」でも良い。
第1の実施形態の範囲情報抽出装置の機能的構成を示すブロック図である。 第1の実施形態の範囲抽出手段の詳細構成を示すブロック図である。 第1の実施形態の全体動作を示すフローチャートである。 数値情報の換算テーブルを示す説明図である。 第1の実施形態の数値情報保持手段の構成例を保持内容例と共に示す説明図である。 第1の実施形態の数値範囲の抽出領域を決定する動作の詳細を示すフローチャートである。 第1の実施形態の抽出領域から数値範囲を抽出して記録する処理の詳細を示すフローチャート(その1)である。 第1の実施形態の抽出領域から数値範囲を抽出して記録する処理の詳細を示すフローチャート(その2)である。 第1の実施形態の抽出領域から数値範囲を抽出して記録する処理の詳細を示すフローチャート(その3)である。 第1の実施形態の範囲処理保持部の構成例を保持内容例と共に示す説明図である。 第1の実施形態の解釈テーブルの構成例を示す説明図である。 第1の実施形態の変動表現対応値テーブルの構成例を示す説明図である。 第2の実施形態の範囲抽出手段の詳細構成を示すブロック図である。 第2の実施形態の抽出領域から数値範囲を抽出して記録する処理のうち、図9に対応する処理の詳細を示すフローチャートである。 第2の実施形態の数値情報保持手段の構成例を保持内容例と共に示す説明図である。 第2の実施形態の範囲処理保持部の構成例を保持内容例と共に示す説明図である。 第2の実施形態の範囲抽出結果保持手段の構成例を保持内容例と共に示す説明図である。 第3の実施形態の範囲情報抽出装置の機能的構成を示すブロック図である。 第3の実施形態の地名等/数値情報変換手段における変換テーブル(その1)の説明図である。 第3の実施形態の地名等/数値情報変換手段における変換テーブル(その2)の説明図である。
符号の説明
100、100A…範囲情報抽出装置、101…入力手段、102…数値情報抽出手段、103…数値情報保持手段、104…範囲抽出領域決定手段、105…範囲抽出手段、106…範囲抽出結果保持手段、107…出力手段、108…地名等/数値情報変換手段、109…地名等復元手段、1051…数値表現検出部、1052…数値表現解釈部、1053…範囲記録部、1054…範囲処理保持部、1055…変動表現検出部、1056…変動値取得部、1057…変動表現対応値記録部、1058…上下限値算出部、1059…変動値記録部。

Claims (15)

  1. 電子文書に含まれている、数値とその種別を含む1以上の数値情報から、それら数値情報に係る範囲情報を抽出する範囲情報抽出装置において、
    電子文書に含まれている、範囲情報の抽出に利用可能な数値情報を抽出する数値情報抽出手段と、
    上記数値情報抽出手段が抽出した数値情報に基づいて、上記電子文書における、範囲情報を抽出させるための数値表現を探索する抽出領域を決定する範囲抽出領域決定手段と、
    上記範囲抽出領域決定手段で決定された上記電子文書における抽出領域内に存在する1又は複数の数値表現から、範囲情報を抽出する範囲抽出手段とを備え、
    上記範囲抽出領域決定手段は、数値情報の位置より前側及び又は後側の所定単語数とその数値情報を含む領域、数値情報の位置より前側及び又は後側の所定文字数とその数値情報を含む領域、数値情報の位置から句読点記号までの領域のうち、少なくとも1つの領域を抽出領域として決定する
    ことを特徴とする範囲情報抽出装置。
  2. 上記範囲抽出領域決定手段は、範囲情報が抽出されていない、未処理の先頭側の2つの数値情報の種別が同一で、かつ、当該2つの数値情報間の文字列について、句読点記号が無いという条件、所定単語数以内という条件、もしくは所定文字数以内という条件のうち、少なくとも1つの条件を満たす関係である場合は、当該2つの数値情報の両方を選択するとともに、上記抽出領域の先頭側の限界位置を、当該2つの数値情報のうち前側に位置する数値情報の位置を基準に決定し、さらに、上記抽出領域の後側の限界位置を、当該2つの数値情報のうち後側に位置する数値情報の位置を基準に決定し、当該2つの数値情報が上記関係でない場合には、当該2つの数値情報のうち、前側に位置する数値情報を選択して上記抽出領域を決定する
    ことを特徴とする請求項に記載の範囲情報抽出装置。
  3. 上記範囲抽出手段は、上限値と下限値とを含む範囲情報を抽出することを特徴とする請求項1又は2に記載の範囲情報抽出装置。
  4. 上記範囲抽出手段は、
    上記範囲抽出領域決定手段が決定した抽出領域における、数値情報を提供している、数値を含む数値表現、及び、数値範囲を表す数字以外の文字列でなる数値を含まない数値表現を、抽出領域の先頭から検出する数値表現検出部と、
    上記数値表現検出部で検出された、数値を含まない数値表現を数値に変換する数値表現解釈部と、
    範囲の上限値と下限値とを記録している範囲処理保持部と、
    数値表現が検出される毎に、その数値表現が数値を含むものであればその数値と上記範囲処理保持部の直前内容とに基づき、その数値表現が数値を含まないものであれば変換された数値と上記範囲処理保持部の直前内容とに基づき、上記範囲処理保持部の内容を見直し、範囲情報の更新必要時に上記範囲処理保持部の内容を操作する範囲記録部とを備えることを特徴とする請求項に記載の範囲情報抽出装置。
  5. 上記範囲抽出手段は、
    上記範囲抽出領域決定手段が決定された抽出領域における、数値に近い位置に存在し、その数値の値ではなく、その数値に近い値を表す文字列が該当する変動表現を検出する変動表現検出部と、
    変動表現とそれに対応する変動値の組を複数記録している変動表現対応値記録部と、
    上記変動表現検出部で検出した変動表現から、対応する変動値を上記変動表現対応値記録部から取得する変動値取得部と、
    上記範囲処理保持部の上限値と下限値の欄の値と、取得した変動値から、変動表現が影響する数値情報の上限値と下限値を計算する上下限算出部と
    を備えることを特徴とする請求項に記載の範囲情報抽出装置。
  6. 上記範囲抽出手段は、
    上記範囲抽出領域決定手段が決定された抽出領域における、数値に近い位置に存在し、その数値の値ではなく、その数値に近い値を表す文字列が該当する変動表現を検出する変動表現検出部と、
    変動表現とそれに対応する変動値の組を複数記録している変動表現対応値記録部と、
    上記変動表現検出部で検出した変動表現から、対応する変動値を上記変動表現対応値記録部から取得する変動値取得部と、
    検出した変動表現に近い位置に存在する数値と一致する上限値又は下限値が、上記範囲処理保持部から検出された場合、検出された上限値又は下限値に対応する変動値として、その検出した変動表現に対応する変動値を、上記範囲処理保持部に記録する変動値記録部と、
    上記範囲処理保持部の上限値と下限値と変動値の欄の値から、変動表現が影響する数値情報の上限値と下限値を計算する上下限算出部と
    を備えることを特徴とする請求項に記載の範囲情報抽出装置。
  7. 上記数値情報抽出手段の前段に、電子文書における、数字を含まず、数直線上への配置が可能な文字列を、上記数直線上で、その文字列に対応する擬似的な数値情報に変換する擬似数値情報変換手段をさらに有する
    ことを特徴とする請求項1〜のいずれかに記載の範囲情報抽出装置。
  8. 電子文書に含まれている、数値とその種別を含む1以上の数値情報から、それら数値情報に係る範囲情報を抽出する範囲情報抽出装置が行う範囲情報抽出方法において、
    電子文書に含まれている、範囲情報の抽出に利用可能な数値情報を抽出する数値情報抽出工程と、
    上記数値情報抽出工程で抽出した数値情報に基づいて、上記電子文書における、範囲情報を抽出させるための数値表現を探索する抽出領域を決定する範囲抽出領域決定工程と、
    上記範囲抽出領域決定工程で決定された上記電子文書における抽出領域内に存在する1又は複数の数値表現から、範囲情報を抽出する範囲抽出工程とを含み、
    上記範囲抽出領域決定工程は、数値情報の位置より前側及び又は後側の所定単語数とその数値情報を含む領域、数値情報の位置より前側及び又は後側の所定文字数とその数値情報を含む領域、数値情報の位置から句読点記号までの領域のうち、少なくとも1つの領域を抽出領域として決定する
    ことを特徴とする範囲情報抽出方法。
  9. 上記範囲抽出領域決定工程は、範囲情報が抽出されていない、未処理の先頭側の2つの数値情報の種別が同一で、かつ、当該2つの数値情報間の文字列について、句読点記号が無いという条件、所定単語数以内という条件、もしくは所定文字数以内という条件のうち、少なくとも1つの条件を満たす関係である場合は、当該2つの数値情報の両方を選択するとともに、上記抽出領域の先頭側の限界位置を、当該2つの数値情報のうち前側に位置する数値情報の位置を基準に決定し、さらに、上記抽出領域の後側の限界位置を、当該2つの数値情報のうち後側に位置する数値情報の位置を基準に決定し、当該2つの数値情報が上記関係でない場合には、当該2つの数値情報のうち、前側に位置する数値情報を選択して上記抽出領域を決定する
    ことを特徴とする請求項に記載の範囲情報抽出方法。
  10. 上記範囲抽出工程は、上限値と下限値とを含む範囲情報を抽出することを特徴とする請求項8又は9に記載の範囲情報抽出方法。
  11. 上記範囲抽出工程は、
    上記範囲抽出領域決定工程で決定した抽出領域における、数値情報を提供している、数値を含む数値表現、及び、数値範囲を表す数字以外の文字列でなる数値を含まない数値表現を、抽出領域の先頭から検出する数値表現検出サブ工程と、
    上記数値表現検出サブ工程で検出された、数値を含まない数値表現を数値に変換する数値表現解釈サブ工程と、
    数値表現が検出される毎に、その数値表現が数値を含むものであれば、その数値と範囲の上限値と下限値とを記録している範囲処理保持部の直前内容とに基づき、その数値表現が数値を含まないものであれば変換された数値と上記範囲処理保持部の直前内容とに基づき、上記範囲処理保持部の内容を見直し、範囲情報の更新必要時に上記範囲処理保持部の内容を操作する範囲記録サブ工程とを備える
    ことを特徴とする請求項10に記載の範囲情報抽出方法。
  12. 上記範囲抽出工程は、
    上記範囲抽出領域決定手段が決定された抽出領域における、数値に近い位置に存在し、その数値の値ではなく、その数値に近い値を表す文字列が該当する変動表現を検出する変動表現検出サブ工程と、
    上記変動表現検出サブ工程で検出された変動表現に対応する変動値を、変動表現とそれに対応する変動値の組を複数記録している変動表現対応値記録部から取得する変動値取得サブ工程と、
    上記範囲処理保持部の上限値と下限値の欄の値と、取得した変動値から、変動表現が影響する数値情報の上限値と下限値を計算する上下限算出サブ工程と
    をさらに備えることを特徴とする請求項11に記載の範囲情報抽出方法。
  13. 上記範囲抽出工程は、
    上記範囲抽出領域決定手段が決定された抽出領域における、数値に近い位置に存在し、その数値の値ではなく、その数値に近い値を表す文字列が該当する変動表現を検出する変動表現検出サブ工程と、
    上記変動表現検出サブ工程で検出された変動表現に対応する変動値を、変動表現とそれに対応する変動値の組を複数記録している変動表現対応値記録部から取得する変動値取得サブ工程と、
    検出した変動表現に近い位置に存在する数値と一致する上限値又は下限値が、上記範囲処理保持部から検出された場合、検出された上限値又は下限値に対応する変動値として、その検出した変動表現に対応する変動値を、上記範囲処理保持部に記録する変動値記録サブ工程と、
    上記範囲処理保持部の上限値と下限値と変動値の欄の値から、変動表現が影響する数値情報の上限値と下限値を計算する上下限算出サブ工程と
    をさらに備えることを特徴とする請求項11に記載の範囲情報抽出方法。
  14. 電子文書における、数字を含まず、数直線上への配置が可能な文字列を、上記数直線上で、その文字列に対応する擬似的な数値情報に変換し、上記数値情報抽出工程に引き渡す擬似数値情報変換工程を含むことを特徴とする請求項13のいずれかに記載の範囲情報抽出方法。
  15. 請求項14のいずれかに記載の範囲情報抽出方法の工程及び用意しておくデータをコンピュータが処理し得るコードで記述したことを特徴とする範囲情報抽出プログラム。
JP2005239028A 2005-05-18 2005-08-19 範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラム Expired - Fee Related JP4618045B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005239028A JP4618045B2 (ja) 2005-05-18 2005-08-19 範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005145473 2005-05-18
JP2005239028A JP4618045B2 (ja) 2005-05-18 2005-08-19 範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラム

Publications (2)

Publication Number Publication Date
JP2006350989A JP2006350989A (ja) 2006-12-28
JP4618045B2 true JP4618045B2 (ja) 2011-01-26

Family

ID=37646708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005239028A Expired - Fee Related JP4618045B2 (ja) 2005-05-18 2005-08-19 範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラム

Country Status (1)

Country Link
JP (1) JP4618045B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5154832B2 (ja) * 2007-04-27 2013-02-27 株式会社日立製作所 文書検索システム及び文書検索方法
WO2012176374A1 (ja) 2011-06-21 2012-12-27 日本電気株式会社 数値範囲検索装置、数値範囲検索方法、および数値範囲検索プログラム
WO2021007088A1 (en) 2019-07-05 2021-01-14 Elsevier, Inc. Systems and methods to extract the context of scientific measurements using targeted question answering
JP7363577B2 (ja) * 2020-02-28 2023-10-18 株式会社村田製作所 文書分類装置、学習方法および、学習プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000067056A (ja) * 1998-08-18 2000-03-03 Nec Corp 数値情報抽出装置および数値情報検索装置並びに数値情報抽出プログラムを記憶した記憶媒体、数値情報検索プログラムを記憶した記憶媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3597370B2 (ja) * 1998-03-10 2004-12-08 富士通株式会社 文書処理装置および記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000067056A (ja) * 1998-08-18 2000-03-03 Nec Corp 数値情報抽出装置および数値情報検索装置並びに数値情報抽出プログラムを記憶した記憶媒体、数値情報検索プログラムを記憶した記憶媒体

Also Published As

Publication number Publication date
JP2006350989A (ja) 2006-12-28

Similar Documents

Publication Publication Date Title
JP4926004B2 (ja) 文書処理装置、文書処理方法及び文書処理プログラム
US9286526B1 (en) Cohort-based learning from user edits
JP4618045B2 (ja) 範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラム
JP4821039B2 (ja) 地名情報抽出装置、その抽出方法及び記録媒体
JP5117744B2 (ja) 単語意味タグ付与装置および方法、プログラム並びに記録媒体
JP3963112B2 (ja) 楽曲検索装置および楽曲検索方法
JP2005107931A (ja) 画像検索装置
JP4326107B2 (ja) 問題作成装置及び記録媒体
JP2023088441A (ja) データ処理装置、データ処理方法及びプログラム
JP5115631B2 (ja) 地名情報抽出装置、制御方法、記録媒体及び地図情報検索装置
JP5326781B2 (ja) 抽出規則作成システム、抽出規則作成方法及び抽出規則作成プログラム
JP2004334699A (ja) テキスト評価装置、テキスト評価方法、プログラム及び記憶媒体
JP2006053866A (ja) カタカナ文字列の表記ゆれの検出方法
JP2020008951A (ja) 表記揺れ抽出装置及び方法
KR101080880B1 (ko) 외래어의 자동 음차 표기 방법 및 장치
JP5262190B2 (ja) 入力補完装置、及び入力補完プログラム
JP2007171275A (ja) 言語処理装置及び現後処理方法
JP5688936B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5084530B2 (ja) 商標検索システム
JP3548372B2 (ja) 文字認識装置
JP2006031099A (ja) 文字認識をコンピュータに行なわせるためのコンピュータ実行可能なプログラム
JPH044467A (ja) 文書構造解析装置
JP3097225B2 (ja) かな漢字変換装置
JP2007149123A (ja) 楽曲検索装置、楽曲検索方法、楽曲検索プログラム
JP2009271593A (ja) 情報検索装置、情報検索方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101011

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees