以下に添付図面を参照して、この発明にかかる抽出装置、抽出プログラム、および抽出方法の実施の形態を詳細に説明する。
(抽出装置による固有表現抽出の内容)
まず、図1を用いて、抽出装置による固有表現抽出の内容について説明する。
図1は、抽出装置による固有表現抽出の内容を示す説明図である。図1において、抽出装置100は、固有表現の抽出対象になるテキストデータ110の中から、固有表現を抽出する装置である。抽出装置100は、固有表現の抽出のために参照される同一表記・種類単語判別規則300と固有表現抽出用規則400とを有する。
同一表記・種類単語判別規則300は、判別規則を記憶するテーブルである。判別規則は、同一表記の1組の単語が同一の固有表現の種類の単語か否かを判別するために参照される規則である。判別規則は、例えば、共起単語の組み合わせと、当該共起単語の組み合わせの各々とともに出現する同一表記の1組の単語が同一種類であるか否かを示す情報と、を関連付けた規則である。
ここで、共起単語とは、文章の中で、同一表記の2つの単語が存在する場合に、その各々とともに出現した単語である。例えば、「宮崎出身の宮崎さん」の場合、2つの「宮崎」が同一表記の2つの単語であり、各「宮崎」とともに出現する「出身」および「さん」が共起単語となる。また、共起単語どうしは通常異なる表記であるが、本実施の形態では、同一表記の単語どうしであっても共起単語の組み合わせとして扱う。なお、図1の「○」は同一種類であることを示す情報であり、「×」は異なる種類であることを示す情報である。
図1の例では、最初の「出身」の前の「宮崎」は「場所」であり、次の「さん」の前の「宮崎」は人名であるため、これら2つの単語に対する判別結果は、同一種類でないことを示す「×」になる。また、例えば、テキストデータが「宮崎出身の友達と宮崎に行く」であれば、両方の「宮崎」は「場所」であるため、これら2つの単語に対する判別結果は、同一種類であることを示す「○」になる。
固有表現抽出用規則400は、抽出用規則を記憶するテーブルである。抽出用規則は、或る単語が何の種類の単語かを抽出するために参照される規則である。抽出用規則は、例えば、種類を抽出する対象になる単語から所定距離に或る単語が存在する場合には、種類を抽出する対象になる単語が何の種類かを示す規則である。なお、図1の「出身:+1」は種類を抽出する対象になる単語の1単語分後ろに共起単語「出身」が存在することを示す情報である。「LOC(LOCATION)」は単語の種類が場所であることを示す情報であり、「PER(PERSON)」は単語の種類が人であることを示す情報である。
図1の例では、固有表現の抽出対象になるテキストデータ110が「宮崎出身の宮崎さんと宮崎へ行く。」である場合を例に挙げて、抽出装置100による固有表現抽出の内容について説明する。
(1)まず、抽出装置100は、テキストデータ110の中から、同一表記の単語を検出し、検出した単語が同一種類の固有表現であるか否かを判別する。これにより、抽出装置100は、同一表記かつ同一種類の単語を検出し、以降の処理で同一表記かつ同一種類の単語を一纏めにして扱うことができるようになる。
図1の例では、抽出装置100は、テキストデータ110の中から、同一表記の単語として、「宮崎」111および「宮崎」112の組を検出する。次に、抽出装置100は、テキストデータ110の中から、「宮崎」111と「宮崎」112の各々とともに出現する単語の組み合わせを、同一種類か否かを判別する手がかりとして特定する。ここで、手がかりとは、或るデータの判別の際に指標になるキーである。抽出装置100は、具体的には、例えば、「宮崎」111と「宮崎」112の各々の前後2単語分の距離以内にある単語の組み合わせ「出身&さん」、「の&さん」などを、同一種類か否かを判別する手がかりとして特定する。
ここで、同一表記・種類単語判別規則300には、特定した手がかり「出身&さん」に該当する共起単語「出身」と「さん」が記憶されている。そして、同一表記・種類単語判別規則300には、当該共起単語の各々とともに出現する同一表記の1組の単語が異なる種類であることを示す判別結果「×」を含む判別規則が記憶されている。そのため、抽出装置100は、同一表記・種類単語判別規則300と手がかり「出身&さん」とから、「宮崎」111と「宮崎」112とが異なる種類であると判別する。
同様に、抽出装置100は、テキストデータ110の中から、同一表記の単語として、「宮崎」111および「宮崎」113を検出する。次に、抽出装置100は、テキストデータ110の中から、「宮崎」111と「宮崎」113の各々とともに出現する単語の組み合わせ「出身&へ」、「出身&行く」などを手がかりとして特定する。
ここで、同一表記・種類単語判別規則300には、特定した手がかり「出身&行く」に該当する共起単語「出身」と「行く」が記憶されている。そして、同一表記・種類単語判別規則300には、当該共起単語の各々とともに出現する同一表記の1組の単語が同一種類であることを示す判別結果「○」を含む判別規則が記憶されている。そのため、抽出装置100は、同一表記・種類単語判別規則300と手がかり「出身&行く」とから、「宮崎」111と「宮崎」113とが同一種類であると判別する。
同様に、抽出装置100は、テキストデータ110の中から、同一表記の単語として、「宮崎」112および「宮崎」113を検出する。次に、抽出装置100は、テキストデータ110の中から、「宮崎」112と「宮崎」113の各々とともに出現する単語の組み合わせ「さん&へ」、「さん&行く」などを手がかりとして特定する。
ここで、同一表記・種類単語判別規則300には、特定した手がかり「さん&行く」に該当する共起単語「さん」と「行く」が記憶されている。そして、同一表記・種類単語判別規則300には、当該共起単語の各々とともに出現する同一表記の1組の単語が異なる種類であることを示す判別結果「×」を含む判別規則が記憶されている。そのため、抽出装置100は、同一表記・種類単語判別規則300と手がかり「さん&行く」とから、「宮崎」112と「宮崎」113とが異なる種類であると判別する。
これにより、抽出装置100は、「宮崎」111と「宮崎」113とを同一表記かつ同一種類の単語であると判別し、以降の処理で「宮崎」111と「宮崎」113とを一纏めにして扱うことができるようになる。
(2)抽出装置100は、テキストデータ110のうち、(1)で同一表記かつ同一種類と判別された単語を一纏めにしておく。そして、抽出装置100は、テキストデータ110の中の単語ごとに、または一纏めにされた単語ごとに、固有表現の抽出のための手がかりを特定し、特定した手がかりから単語の種類を抽出する。これにより、抽出装置100は、同一表記かつ同一種類の単語については、一纏めにして同じ単語の種類を抽出することができる。また、抽出装置100は、同一表記であっても異なる種類の単語については、他の同一表記の単語とは別個に単語の種類を抽出することができるようになる。
図1の例では、抽出装置100は、同一表記かつ同一種類と判別された「宮崎」111と「宮崎」113を一纏めにして、「宮崎」111と「宮崎」113の各々から所定距離以内に存在する単語と当該単語までの距離の組み合わせを、抽出の手がかりとして特定する。ここで、距離とは、単語間の距離であり、単語数や文字数で決定される。以下では、距離として、文章の後ろ方向を「+」として表記した単語数、および文章の前方向を「−」として表記した単語数を採用する。例えば、或る単語の「1単語後ろ」に存在する単語の、或る単語からの距離は、「+1」である。また、例えば、或る単語の「1単語前」に存在する単語の、或る単語からの距離は、「−1」である。なお、或る単語自体の、或る単語からの距離は、「0」とする。
なお、図1では、所定距離として、前後2単語分の距離を採用する。抽出装置100は、具体的には、例えば、「宮崎」111から「1単語後ろ」に「出身」が存在するため、「出身:+1」を手がかりとして特定する。同様に、抽出装置100は、「の:+2」、「さん:−2」、「と:−1」、「へ:+1」、および「行く:+2」を手がかりとして特定する。
ここで、固有表現抽出用規則400には、手がかり「出身:+1」が示す単語の種類が「LOC」であることを示す抽出用規則が記憶されている。また、固有表現抽出用規則400には、手がかり「行く:+2」が示す単語の種類が「LOC」であることを示す抽出用規則が記憶されている。そのため、抽出装置100は、固有表現抽出用規則400と手がかり「出身:+1」と「行く:+2」とから、「宮崎」111と「宮崎」113の種類が、「LOC」であると抽出する。
一方、抽出装置100は、同一種類の他の単語がない「宮崎」112については、「宮崎」112から前後2単語分の距離以内に存在する単語と当該単語までの距離との組み合わせを、抽出の手がかりとして特定する。抽出装置100は、具体的には、例えば、「出身:−2」、「の:−1」、「さん:+1」、および「と:+2」を手がかりとして特定する。ここで、固有表現抽出用規則400には、「さん:+1」が示す単語の種類が「PER」であることを示す抽出用規則が記憶されている。そのため、抽出装置100は、固有表現抽出用規則400と「さん:+1」とから、「宮崎」112の種類が、「PER」であると抽出する。
これにより、抽出装置100は、同一表記かつ同一種類の「宮崎」111と「宮崎」113については、一纏めにして同じ種類「LOC」を抽出することができる。また、抽出装置100は、同一表記であっても異なる種類の「宮崎」112については、他の同一表記の「宮崎」111と「宮崎」113とは別個に単語の種類「PER」を抽出することができるようになる。
結果として、抽出装置100は、同一表記かつ同一種類の単語を一纏めにして同じ種類の単語として抽出することで、同一種類の単語を異なる種類の単語として抽出することを防止して、抽出精度の向上を図ることができる。また、抽出装置100は、同一表記であっても異なる種類の単語同士を、別個に扱って単語の種類を抽出することで、誤って同じ種類の単語として抽出することを防止し、抽出精度の向上を図ることができる。
(3)そして、抽出装置100は、抽出結果を出力する。抽出装置100は、具体的には、例えば、抽出した単語の種類をタグとして付与したテキストデータ110を、ディスプレイに出力する。なお、抽出装置100は、付与後のテキストデータ110をネットワークを介して他のコンピュータに送信してもよいし、記録媒体に出力してもよい。これにより、抽出装置100は、テキストデータ110の中の単語の種類を抽出装置100の利用者に通知することができる。また、抽出装置100は、他のソフトウェア(例えば翻訳ソフトウェア、または情報検索ソフトウェア)に、タグを付与したテキストデータ110を提供することができる。
なお、抽出装置100は、表記揺れがある単語(例えば「宮崎」と「みやざき」と「ミヤザキ」など)に関しては、表記揺れがある場合を含めて同一表記と判断するようにしてもよい。また、抽出装置100は、共起単語が活用可能な場合(例えば「行く」と「行き」と「行け」など)、活用した場合を含めて同一の共起単語として扱ってもよい。
(抽出装置100のハードウェア構成例)
次に、図2を用いて、抽出装置100のハードウェア構成例について説明する。
図2は、抽出装置100のハードウェア構成例を示すブロック図である。図2において、抽出装置100は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス220によってそれぞれ接続されている。
ここで、CPU201は、抽出装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、例えばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、抽出装置100内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
(同一表記・種類単語判別規則300の記憶内容)
次に、図3を用いて、図1に示した同一表記・種類単語判別規則300の記憶内容について説明する。上述したように、同一表記・種類単語判別規則300は、抽出装置100が有するテーブルであり、判別規則を記憶する。判別規則は、同一表記の1組の単語が同一種類の単語か否かを判別するために参照される規則である。判別規則は、例えば、共起単語の組み合わせと、当該共起単語の組み合わせの各々とともに出現する同一表記の1組の単語が同一種類であるか否かを示す情報と、を関連付けた規則である。なお、同一表記・種類単語判別規則300は、RAM203、磁気ディスク205、光ディスク207などにより実現される。
図3は、同一表記・種類単語判別規則300の記憶内容の一例を示す説明図である。図3に示すように、同一表記・種類単語判別規則300は、規則項目のそれぞれに対応付けて、判別結果項目を有し、規則ごとにレコードを構成する。
規則項目には、同一表記の1組の単語の各々とともに出現する共起単語の組み合わせが記憶される。規則項目には、具体的には、例えば、共起単語「出身」と「さん」の組み合わせや共起単語「出身」と「行く」の組み合わせが記憶される。判別結果項目には、規則項目の組み合わせの共起単語の各々とともに出現する同一表記の1組の単語が同一種類であるか否かを示す情報が記憶される。なお、図3では、同一種類である場合には「○」を表記し、異なる種類である場合には「×」を表記している。
(固有表現抽出用規則400の記憶内容)
次に、図4を用いて、図1に示した固有表現抽出用規則400の記憶内容について説明する。上述したように、固有表現抽出用規則400は、抽出装置100が有するテーブルであり、抽出用規則を記憶する。抽出用規則は、或る単語が何の種類の単語かを抽出するために参照される規則である。抽出用規則は、例えば、種類を抽出する対象になる単語から所定距離に或る単語が存在する場合には、種類を抽出する対象になる単語が何の種類かを示す規則である。なお、固有表現抽出用規則400は、RAM203、磁気ディスク205、光ディスク207などにより実現される。
図4は、固有表現抽出用規則400の記憶内容の一例を示す説明図である。図4に示すように、抽出用規則は、規則項目のそれぞれに対応付けて、種類項目を有し、規則ごとにレコードを構成する。
規則項目には、抽出対象の単語の共起単語と、抽出対象の単語から共起単語までの距離と、の組み合わせが記憶される。上述したように、距離とは、単語間の距離であり、単語数や文字数で決定される。距離としては、例えば、文章の後ろ方向を「+」として表記した単語数が採用される。例えば、或る単語の「1単語後ろ」に存在する単語の、或る単語からの距離は、「+1」である。規則項目には、具体的には、例えば、或る単語の「1単語後ろ」に「出身」が存在することを示す「出身:+1」が記憶される。
種類項目には、規則項目の組み合わせに該当する場合における抽出対象の単語の種類が記憶される。なお、抽出対象の単語の種類には、例えば、「組織名(ORGANIZATION)」、「人名(PERSON)」、「地名(LOCATION)、「日付表現(DATE)」、「時間表現(TIME)」、「金額表現(MONEY)」、「割合表現(PERCENT)」、「固有物名(ARTIFACT)」などがある。
(抽出装置100の機能的構成例)
次に、図5を用いて、抽出装置100の機能的構成例について説明する。
図5は、抽出装置100の機能的構成を示すブロック図である。抽出装置100は、第1の記憶部501と、第2の記憶部502と、入力部503と、検出部504と、判別部505と、特定部506と、抽出部507と、出力部508と、第1の取得部509と、第2の取得部510と、判断部511と、生成部512と、格納部513と、変換部514と、を含む構成である。入力部503〜生成部512、および変換部514は、具体的には、例えば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。
抽出装置100は、例えば、単語単位で分割された一連の単語の中から固有表現の単語を抽出することができる。また、抽出装置100は、チャンクをノードとしてその間をリンクでつないだチャンクのラティスの中から固有表現のチャンクを抽出してもよい。ここで、チャンクとは、1または複数の単語の塊である。以下では、まず、単語単位で分割された一連の単語の中から固有表現の単語を抽出する場合の抽出装置100の機能について説明する。なお、単語単位で分割された一連の単語の中から固有表現の単語を抽出する具体例は、図1を用いて説明した例、図12〜図14を用いて後述する例、または図20〜図22を用いて後述する例である。
入力部503は、固有表現抽出の対象になる一連の単語の入力を受け付ける。入力部503は、具体的には、例えば、キーボード210を介して抽出装置100の利用者からのテキストデータ110の入力を受け付ける。また、入力部503は、具体的には、例えば、I/F209を介して受信されたテキストデータ110を受け付けてもよい。なお、受け付けたデータは、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、入力部503は、固有表現抽出の対象になる一連の単語の入力を受け付けて、固有表現抽出処理を開始するトリガを発生させることができる。
第1の記憶部501は、共起単語の組み合わせと、共起単語の各々とともに出現する同一表記の単語が同一種類の単語であるか否かを示す情報と、を関連付けた判別規則を記憶する。ここで、共起単語とは、文章の中で、或る単語と同時に出現する単語である。第1の記憶部501は、具体的には、例えば、上述した同一表記・種類単語判別規則300である。
第2の記憶部502は、共起単語と当該共起単語までの距離の組み合わせと、当該距離に応じて規定された単語の種類を示す情報と、を関連付けた抽出用規則を記憶する。ここで、距離とは、単語間の距離であり、単語数や文字数で決定される。距離としては、例えば、始点になる単語から何単語目であるかを示す情報を採用できる。
より具体的には、例えば、文章上で始点になる単語から1単語分後ろに存在する単語までの距離は、「+1」になる。また、文章上で始点になる単語から1単語分前に存在する単語までの距離は、「−1」になる。第2の記憶部502は、具体的には、例えば、上述した固有表現抽出用規則400である。
検出部504は、一連の単語の中から第1の単語および当該第1の単語と同一表記の第2の単語を検出する。検出部504は、具体的には、例えば、入力部503によって入力されたテキストデータ110を形態素解析して、テキストデータ110を単語ごとに分割し、一連の単語を生成する。そして、検出部504は、生成した一連の単語の中から、同一表記の単語を検出する。
検出部504は、図1の例では、テキストデータ110「宮崎(201)出身の宮崎(202)さんと宮崎(203)へ行く。」を形態素解析し、単語ごとに分割して「宮崎 出身 の 宮崎 さん と 宮崎 へ 行く 。」を生成する。なお、()内の数字は、図1に示した符号201〜203である。そして、検出部504は、同一表記の「宮崎」111と「宮崎」112の組と「宮崎」111と「宮崎」113の組と「宮崎」112と「宮崎」113の組を検出する。以下では、「宮崎」111と「宮崎」113の組を例に挙げて説明を行う。
なお、検出された単語は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、検出部504は、判別部505による判別対象になる単語の組を検出し、判別部505に単語の組が同一の種類か否かを判別させることができる。
判別部505は、検出部504によって検出された第1の単語が共起単語の一方とともに出現し、かつ、検出部504によって検出された第2の単語が共起単語の他方とともに出現する判別規則が第1の記憶部501にあるか否かを判別する。そして、判別部505は、判別規則がある場合、当該判別規則から第1の単語と第2の単語が同一種類か否かを判別する。
判別部505は、具体的には、例えば、検出部504によって検出された同一表記の単語の各々の周辺に存在する単語の組み合わせを、判別の手がかりとして特定する。ここで、手がかりとは、単語の判別のための指標になるキーである。なお、周辺に存在する単語とは、所定距離以内にある単語であり、例えば、同一表記の単語の各々の前後2単語分の距離以内にある単語である。
次に、判別部505は、同一表記・種類単語判別規則300の規則項目の共起単語の組み合わせの中に、特定した手がかりのいずれかに該当する組み合わせがあるか否かを判別する。そして、判別部505は、該当する組み合わせがある場合、当該組み合わせに対応する判別結果項目を参照し、同一表記の単語が同一種類か否かを判別する。
判別部505は、より具体的には、例えば、検出部504によって検出された「宮崎」111と「宮崎」113の各々の周辺に存在する単語の組み合わせ「出身&へ」、「出身&行く」などを判別の手がかりとして特定する。次に、判別部505は、同一表記・種類単語判別規則300に、特定した手がかり「出身&行く」に該当する共起単語「出身」と「行く」があると判別する。そして、判別部505は、当該共起単語の組み合わせに対応する判別結果項目に、同一種類であることを示す情報があるため、「宮崎」111と「宮崎」113とが同一種類であると判別する。
なお、判別部505は、該当する組み合わせがない場合、同一表記の単語を異なる種類の単語と判別してもよい。なお、判別結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、判別部505は、単語の種類の抽出において、一纏めにして扱うべき単語の組を検出することができる。
特定部506は、判別部505によって同一種類であると判別された場合、一連の単語の中から、第1の単語および第2の単語の各々から所定距離以内に存在する単語と当該単語までの距離との組み合わせを特定する。特定部506は、具体的には、例えば、同一表記かつ同一種類の単語が存在する場合、各々の単語から前後2単語分の距離にある単語と当該単語までの距離とを、抽出の手がかりとして特定する。
特定部506は、より具体的には、例えば、判別部505によって同一種類と判別された「宮崎」111と「宮崎」113とを一纏めにして扱う。そして、特定部506は、「宮崎」111と「宮崎」113の各々から前後2単語分の距離以内に存在する単語と当該単語までの距離との組み合わせを、抽出の手がかりとして特定する。ここで、特定部506は、抽出の手がかりとして、「出身:+1」、「の:+2」、「さん:−2」、「と:−1」、「へ:+1」、および「行く:+2」を特定する。
なお、特定された手がかりは、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、特定部506は、抽出部507により単語の種類を抽出するために用いられる手がかりを特定することができる。
抽出部507は、特定部506によって特定された組み合わせに関連付けられた単語の種類を示す情報を第2の記憶部502に記憶されている抽出用規則から抽出し、第1の単語および第2の単語に付与する。
抽出部507は、具体的には、例えば、固有表現抽出用規則400の規則項目の単語と当該単語までの距離の組み合わせの中から、特定部506によって特定された手がかりのいずれかに該当する組み合わせがあるか否かを判別する。次に、抽出部507は、該当する組み合わせがある場合、当該組み合わせに対応する種類項目から、単語の種類を抽出する。そして、抽出部507は、抽出した単語の種類を示すタグを、文章上の同一表記かつ同一種類の単語の各々に付与する。
抽出部507は、より具体的には、例えば、固有表現抽出用規則400に、特定部506によって特定された手がかり「出身:+1」に該当する規則項目があると判別し、当該規則項目に対応する種類項目から単語の種類が「LOC」であることを示す情報を抽出する。また、抽出部507は、固有表現抽出用規則400に、特定部506によって特定された手がかり「行く:+2」に該当する規則項目があると判別し、当該規則項目に対応する種類項目から単語の種類が「LOC」であることを示す情報を抽出する。そして、抽出部507は、「宮崎」111と「宮崎」113の種類として、「LOC」を抽出する。
そして、抽出部507は、タグを付与したテキストデータ110「<LOC>宮崎</LOC>出身の<PER>宮崎</PER>さんと<LOC>宮崎</LOC>へ行く。」を生成する。なお、抽出された単語の種類を示す情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、抽出部507は、同一表記かつ同一種類の単語については、同一の単語の種類を抽出することができる。結果として、抽出部507は、同一表記であっても異なる種類の単語については、別個に単語の種類を抽出することができる。
出力部508は、抽出部507により付与された一連の単語を出力する。出力部508は、具体的には、例えば、抽出した単語の種類をタグとして付与したテキストデータ110を、ディスプレイ208に出力する。また、出力部508は、付与後のテキストデータ110をI/F209を介して他のコンピュータに送信してもよいし、記録媒体に出力してもよい。これにより、出力部508は、テキストデータ110の中の単語の種類を抽出装置100の利用者に通知することができる。また、出力部508は、他のソフトウェア(例えば翻訳ソフトウェア、または情報検索ソフトウェア)に、タグを付与したテキストデータ110を提供することができる。
また、抽出装置100は、上述した固有表現の抽出に用いられる同一表記・種類単語判別規則300および固有表現抽出用規則400を、学習データ群から自動生成することができる。以下では、まず、同一表記・種類単語判別規則300を生成する場合の抽出装置100の機能について説明する。この機能は、第1の取得部509と、第2の取得部510と、判断部511と、生成部512と、格納部513と、により実現される。なお、同一表記・種類単語判別規則300を生成する具体例は、図6,図7を用いて後述する。
第1の取得部509は、単語の種類を示す情報が付与された単語を含む単語列の中から同一表記の単語の組み合わせを取得する。ここで、単語列とは、同一表記・種類単語判別規則300および固有表現抽出用規則400の生成に用いられる学習データである。単語の種類を示す情報とは、学習データに付与された単語の種類を示すタグである。なお、タグは、学習データの作成者によって付与される。ここで、図6を用いて、同一表記・種類単語判別規則300および固有表現抽出用規則400の生成に用いられる学習データについて説明する。
図6は、学習データの例1を示す説明図である。図6に示すように、同一表記・種類単語判別規則300および固有表現抽出用規則400の生成のために、タグが付与された複数の学習データを含む学習データ群600が用意される。
例えば、学習データ群600には、学習データ610「<LOC>宮崎</LOC>出身の<PER>宮崎</PER>さんと<LOC>宮崎</LOC>へ行く。」が含まれる。学習データ610の中の「宮崎」611には「LOC」のタグが付与され、「宮崎」612には「PER」のタグが付与され、「宮崎」613には「LOC」のタグが付与されている。
また、学習データ群600には、学習データ620「<PER>福岡</PER>さんと<PER>宮崎</PER>さんが<LOC>福岡</LOC>へ行く。」が含まれる。学習データ620の中の福岡621には「PER」のタグが付与され、宮崎622には「PER」のタグが付与され、福岡623には「LOC」のタグが付与されている。
また、学習データ群600には、学習データ630「<PER>宮崎</PER>さんは新幹線で<LOC>宮崎</LOC>へ行く。」が含まれる。学習データ630の中の宮崎631には「PER」のタグが付与され、宮崎632には「LOC」のタグが付与されている。
抽出装置100は、このような学習データ群600を用いることで、同一表記であって「LOC」と「PER」との2種類になりうる単語の組があった場合に、当該単語の組が同一種類か否かを判別するための判別規則を生成することができる。また、抽出装置100は、単語の種類が「LOC」であるか「PER」であるかを抽出するための抽出用規則を生成することができる。
図5に戻り、第1の取得部509は、具体的には、例えば、学習データを形態素解析して、学習データを単語ごとに分割し、単語列を生成する。そして、検出部504は、生成した単語列の中から、同一表記の単語の組み合わせを取得する。
第1の取得部509は、例えば、学習データ610「宮崎(611)出身の宮崎(612)さんと宮崎(613)へ行く。」を形態素解析し、単語ごとに分割して「宮崎 出身 の 宮崎 さん と 宮崎 へ 行く 。」を単語列として生成する。なお、()内の数字は、図6に示した符号611〜613である。そして、第1の取得部509は、同一表記の「宮崎」611と「宮崎」612の組と「宮崎」611と「宮崎」613の組と「宮崎」612と「宮崎」613の組を検出する。以下では、「宮崎」611と「宮崎」613の組を例に挙げて説明を行う。
なお、取得された単語は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、第1の取得部509は、判断部511による判断対象になる単語の組を検出し、判断部511に単語の組が同一の種類か否かを判断させることができる。
第2の取得部510は、第1の取得部509によって取得された組み合わせの各々の単語とともに出現する共起単語の組み合わせを、単語の種類を示す情報が付与された単語を含む単語列の中から取得する。第2の取得部510は、具体的には、例えば、第1の取得部509によって取得された組み合わせの各々の単語の周辺に存在する単語の組み合わせを、判別の手がかりとして特定する。なお、周辺に存在する単語とは、所定距離以内に存在する単語であり、例えば、同一表記の単語の各々の前後2単語分の距離以内にある単語である。
第2の取得部510は、より具体的には、例えば、第1の取得部509によって取得された「宮崎」111と「宮崎」113の各々の周辺に存在する単語の組み合わせ「出身&へ」、「出身&行く」などを判別の手がかりとして取得する。なお、取得された手がかりは、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、第2の取得部510は、同一表記・種類単語判別規則300に含まれる判別規則を生成するための手がかりを取得することができる。
判断部511は、同一表記の単語の組み合わせの各々の単語に付与された単語の種類を示す情報に基づいて、同一表記の単語が、同一種類の単語であるか否かを判断する。判断部511は、具体的には、例えば、組み合わせの各々の単語に付与されたタグが一致するか否かを判断する。次に、判断部511は、一致する場合、組み合わせの各々の単語が同一種類の単語であると判断する。
判断部511は、より具体的には、例えば、図2に示すテキストデータ110の中で、「宮崎」111に付与されたタグが「LOC」であり、「宮崎」113に付与されたタグが「LOC」であり、タグが一致するため、同一種類であると判別する。なお、判断部511は、一致しない場合、組み合わせの各々の単語が異なる種類の単語であると判断してもよい。
なお、判断結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、判断部511は、生成部512によって生成される判別規則が同一種類であることを示す規則か否かを判断することができる。
生成部512は、第2の取得部510によって取得された共起単語の組み合わせと、判断部511によって判断された判断結果とを、関連付けた判別規則を生成する。生成部512は、具体的には、例えば、学習エンジンを用いて、取得された手がかりと判断結果とを関連付けた学習事例群の中から尤もらしい学習事例を特定し、特定した学習事例を判別規則として生成する。ここで、学習エンジンとしては、具体的には、例えば、従来技術であるBoosting学習器やSVMがある。
尤もらしい学習事例としては、例えば、学習事例群の中での出現頻度が閾値以上である学習事例を採用してもよい。具体的には、例えば、尤もらしい学習事例として、共起単語「出身」と「行く」の組み合わせと、同一種類であることを関連付けた学習事例が採用される。また、尤もらしい学習事例としては、例えば、多くの種類の単語とともに出現する格助詞「の」などを含む学習事例を採用しないようにしてもよい。なお、生成された判別規則は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部512は、固有表現の抽出に用いられる判別規則を生成することができる。
格納部513は、生成部512によって生成された判別規則を第1の記憶部501に格納する。格納部513は、具体的には、例えば、生成した判別規則を、同一表記・種類単語判別規則300に格納する。これにより、格納部513は、固有表現抽出処理に用いられる同一表記・種類単語判別規則300を保存しておくことができる。
次に、固有表現抽出用規則400を生成する場合の抽出装置100の機能について説明する。この機能は、検出部504と、判別部505と、特定部506と、生成部512と、格納部513と、により実現される。なお、固有表現抽出用規則400を生成する具体例は、図8,図9を用いて後述する。
検出部504は、単語の種類を示す情報が付与された単語を含む単語列の中から第3の単語および当該第3の単語と同一表記の第4の単語を検出する。検出部504は、具体的には、例えば、学習データを形態素解析して、学習データを単語ごとに分割し、単語列を生成する。そして、検出部504は、生成した単語列の中から、同一表記の単語を検出する。
検出部504は、例えば、学習データ610「宮崎(611)出身の宮崎(612)さんと宮崎(613)へ行く。」を形態素解析し、単語ごとに分割して「宮崎 出身 の 宮崎 さん と 宮崎 へ 行く 。」を生成する。なお、()内の数字は、図6に示した符号611〜613である。そして、検出部504は、同一表記の「宮崎」611と「宮崎」612の組と「宮崎」611と「宮崎」613の組と「宮崎」612と「宮崎」613の組を検出する。以下では、「宮崎」611と「宮崎」613の組を例に挙げて説明を行う。
なお、検出された単語は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、検出部504は、判別部505による判別対象になる単語の組を検出し、判別部505に単語の組が同一の種類か否かを判別させることができる。
判別部505は、検出部504によって検出された第3の単語が共起単語の一方とともに出現し、かつ、検出部504によって検出された第4の単語が共起単語の他方とともに出現する判別規則が第1の記憶部501にあるか否かを判別する。そして、判別部505は、判別規則がある場合、当該判別規則から第1の単語と第2の単語が同一種類か否かを判別する。
判別部505は、具体的には、例えば、検出部504によって検出された同一表記の単語の各々の周辺に存在する単語の組み合わせを、判別の手がかりとして特定する。次に、判別部505は、同一表記・種類単語判別規則300の規則項目の共起単語の組み合わせの中に、特定した手がかりのいずれかに該当する組み合わせがあるか否かを判別する。
そして、判別部505は、該当する組み合わせがある場合、当該組み合わせに対応する判別結果項目を参照し、同一表記の単語が同一種類か否かを判別する。なお、判別部505は、該当する組み合わせがない場合、同一表記の単語を異なる種類の単語と判別してもよい。
判別部505は、より具体的には、例えば、検出部504によって検出された「宮崎」611と「宮崎」613の各々の周辺に存在する単語の組み合わせ「出身&へ」、「出身&行く」などを判別の手がかりとして特定する。次に、判別部505は、同一表記・種類単語判別規則300に、特定した手がかり「出身&行く」に該当する共起単語「出身」と「行く」があると判別する。そして、判別部505は、当該共起単語の組み合わせに対応する判別結果項目に、同一種類であることを示す情報があるため、「宮崎」611と「宮崎」613とが同一種類であると判別する。
なお、判別結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、判別部505は、単語の種類の抽出用規則の生成において、一纏めにして扱うべき単語の組を検出することができる。
特定部506は、判別部505によって同一種類であると判別された場合、単語の種類を示す情報が付与された単語を含む単語列の中から、第3の単語および第4の単語の各々から所定距離以内に存在する単語と当該単語までの距離との組み合わせを特定する。
特定部506は、具体的には、例えば、同一表記かつ同一種類の単語が存在する場合、各々の単語から前後2単語分の距離にある単語と当該単語までの距離とを、抽出の手がかりとして特定する。
特定部506は、より具体的には、例えば、判別部505によって同一種類と判別された「宮崎」611と「宮崎」613とを一纏めにして扱う。そして、特定部506は、「宮崎」111と「宮崎」113の各々から前後2単語分の距離以内に存在する単語と当該単語までの距離との組み合わせを、抽出の手がかりとして特定する。ここで、特定部506は、抽出の手がかりとして、「出身:+1」、「の:+2」、「さん:−2」、「と:−1」、「へ:+1」、および「行く:+2」を特定する。
なお、特定された手がかりは、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、特定部506は、生成部512により単語の種類の抽出用規則を生成するために用いられる手がかりを特定することができる。
生成部512は、特定部506によって特定された単語と当該単語までの距離との組み合わせと、第3の単語と第4の単語のいずれかの単語に付与されている単語の種類を示す情報と、を関連付けた抽出用規則を生成する。生成部512は、具体的には、例えば、学習エンジンを用いて、取得された手がかりと同一表記かつ同一種類の単語に付与されたタグが示す単語の種類を関連付けた学習事例群の中から尤もらしい学習事例を特定し、特定した学習事例を抽出用規則として生成する。具体的には、例えば、尤もらしい学習事例として、「出身:+1」と単語の種類「LOC」を関連付けた学習事例が採用される。なお、生成された抽出用規則は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部512は、固有表現の抽出に用いられる抽出用規則を生成することができる。
格納部513は、生成部512によって生成された抽出用規則を第2の記憶部502に格納する。格納部513は、具体的には、例えば、生成した抽出用規則を、固有表現抽出用規則400に格納する。これにより、格納部513は、固有表現抽出処理に用いられる固有表現抽出規則を保存しておくことができる。
次に、チャンクをノードとするチャンクのラティスの中から固有表現となるチャンクを抽出する場合の抽出装置100の機能について説明する。なお、チャンク単位で分割されたチャンクのラティスの中から固有表現のチャンクを抽出する場合の具体例は、図29〜図32を用いて後述する。
変換部514は、一連の単語を、チャンクを含む複数通りの単語列に変換する。変換部514は、具体的には、例えば、形態素解析により、一連の文章を単語ごとに分割する。そして、変換部514は、各単語を連結したチャンクを含む複数通りのチャンクのラティスを生成する。
ここで、一連の文章として、「B商事の社員はB商事へ行きB商事から帰る。」を例に挙げる。具体的には、例えば、変換部514は、形態素解析により、一連の文章を単語ごとに分割し、「B 商事 の 社員 は B 商事 へ 行き B 商事 から 帰る 。」を生成する。スペースは単語の区切りを示す。
次に、変換部514は、予め指定された単語数の単語を連結してチャンクを生成する。ここでは、単語数として「3」が指定されているとする。例えば、最初に出現する単語「B」から生成されるチャンクとしては、「B」、「B商事」、「B商事は」のように指定された単語数までのチャンクが生成される。次に出現する単語「商事」から生成されるチャンクとしては、「商事」、「商事の」「商事の社員」のチャンクが生成される。
このように、各単語を起点に指定された単語数の単語を連結してチャンクを生成し、各チャンクの最後の単語とその次に出現する単語から始まるチャンクをつないでいくことで、図23、図29のような、チャンクのラティスを生成する。
なお、変換後のチャンクのラティスは、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
検出部504は、チャンクのラティスの中から第1のチャンクおよび当該第1のチャンクと同一表記の第2のチャンクを検出する。検出部504は、具体的には、例えば、チャンクのラティスの中から、同一表記のチャンクを検出する。検出部504は、より具体的には、例えば、「B商事の社員はB商事へ行きB商事から帰る。」から生成されるチャンクのラティスから、同一表記のチャンク「B」の組3つ、「商事」の組3つ、「B商事」の組を3つ検出する。以下では、文章の先頭から2つ目の「B商事」と3つ目の「B商事」の組を例に挙げて説明を行う。
なお、検出されたチャンクは、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、検出部504は、判別部505による判別対象になるチャンクの組を検出し、判別部505にチャンクの組が同一の種類か否かを判別させることができる。
判別部505は、検出部504によって検出された第1のチャンクが共起単語の一方とともに出現し、かつ、検出部504によって検出された第2のチャンクが共起単語の他方とともに出現する判別規則が第1の記憶部501にあるか否かを判別する。そして、判別部505は、判別規則がある場合、当該判別規則から第1のチャンクと第2のチャンクが同一種類か否かを判別する。
判別部505は、具体的には、例えば、検出部504によって検出された同一表記のチャンクの各々の周辺に存在するチャンクの組み合わせを、判別の手がかりとして特定する。次に、判別部505は、同一表記・種類チャンク判別規則の規則項目の共起チャンクの組み合わせの中に、特定した手がかりのいずれかに該当する組み合わせがあるか否かを判別する。そして、判別部505は、該当する組み合わせがある場合、当該組み合わせに対応する判別結果項目を参照し、同一表記のチャンクが同一種類か否かを判別する。なお、判別部505は、該当する組み合わせがない場合、同一表記のチャンクを異なる種類のチャンクと判別してもよい。
判別部505は、より具体的には、例えば、検出部504によって検出された「B商事」の組の各々の周辺に存在する単語の組み合わせ「へ&から」、「行き&帰る」などを判別の手がかりとして特定する。次に、判別部505は、同一表記・種類単語判別規則300に、特定した手がかり「行き&帰る」に該当する共起単語「行き」と「帰る」がある場合、当該共起単語の組み合わせに対応する判別結果項目にある同一種類であるか否かを示す情報を抽出する。そして、判別部505は、抽出した情報から、検出部504によって検出された「B商事」の組が同一種類であるか否かを判別する。
なお、判別結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、判別部505は、チャンクの種類の抽出において、一纏めにして扱うべきチャンクの組を検出することができる。
特定部506は、判別部505によって判別規則があると判別された場合、変換後の単語列の中から、第1のチャンクおよび第2のチャンクの各々から所定距離以内に存在する単語と当該単語までの距離との組み合わせを特定する。特定部506は、具体的には、例えば、同一表記かつ同一種類のチャンクが存在する場合、各々のチャンクから前後2単語分の距離にある単語と当該単語までの距離とを、抽出の手がかりとして特定する。
特定部506は、より具体的には、例えば、判別部505によって同一種類と判別された「B商事」の組を一纏めにして扱う。そして、特定部506は、「B商事」の組の各々から前後2単語分の距離以内に存在する単語と当該単語までの距離との組み合わせを、抽出の手がかりとして特定する。ここで、特定部506は、抽出の手がかりとして、「社員:−2」、「は:−1」、「へ:+1」、「行き:+2」、「へ:−2」、「行き:−1」、「から:+1」、および「帰る:+2」を特定する。
なお、特定された手がかりは、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、特定部506は、抽出部507によりチャンクの種類を抽出するために用いられる手がかりを特定することができる。
抽出部507は、特定部506によって特定された組み合わせに関連付けられた単語の種類を示す情報を第2の記憶部502に記憶されている抽出用規則から抽出し、第1のチャンクおよび第2のチャンクに付与する。
抽出部507は、具体的には、例えば、固有表現抽出用規則400の規則項目の単語と当該単語までの距離の組み合わせの中から、特定部506によって特定された手がかりのいずれかに該当する組み合わせがあるか否かを判別する。次に、抽出部507は、該当する組み合わせがある場合、当該組み合わせに対応する種類項目から、単語の種類を抽出する。そして、抽出部507は、抽出した単語の種類を示すタグを、文章上の同一表記かつ同一種類のチャンクの各々に付与する。
抽出部507は、より具体的には、例えば、固有表現抽出用規則400に、特定部506によって特定された手がかり「出身:+1」に該当する規則項目がある場合、当該規則項目に対応する種類項目から単語の種類を示す情報を抽出する。そして、抽出部507は、抽出した情報から、「B商事」の種類として、例えば「LOC」に対してのスコアを1付与する。このように各チャンクに対しそれぞれの固有表現に成りうるスコアを付与していく。
すべてのチャンクに規則適用後、抽出部507は、各チャンクに付与された各固有表現のスコアを基に、文頭から文末まで取りうるチャンクパスのパスおよびそのパス上で取りうる固有表現の種類の組み合わせのうち、スコアの和が最大となるチャンクの列およびそれぞれの固有表現タイプを選択する。その結果、例えば、「<ORG>B商事</ORG>の社員は<LOC>B商事</LOC>へ行き<LOC>B商事</LOC>から帰る。」を生成する。各チャンクのそれぞれの固有表現になるかどうかのスコアの決定方法としては、規則による各固有表現として判別された合計回数や、規則がスコアを持っている場合であれば、適用された規則のスコアの和を用いる。
なお、抽出されたチャンクの種類を示す情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、抽出部507は、同一表記かつ同一種類のチャンクについては、同一のチャンクの種類を抽出することができる。結果として、抽出部507は、同一表記であっても異なる種類のチャンクについては、別個にチャンクの種類を抽出することができる。
出力部508は、抽出部507により付与された単語列を出力する。出力部508は、具体的には、例えば、抽出した単語の種類をタグとして付与したチャンクのラティスを、ディスプレイ208に出力する。また、出力部508は、付与後のチャンクのラティスをI/F209を介して他のコンピュータに送信してもよいし、記録媒体に出力してもよい。これにより、出力部508は、チャンクの種類を抽出装置100の利用者に通知することができる。また、出力部508は、他のソフトウェア(例えば翻訳ソフトウェア、または情報検索ソフトウェア)に、タグを付与したチャンクのラティスを提供することができる。
(実施例1)
次に、実施例1について説明する。実施例1は、図5を用いて説明した単語単位で分割された一連の単語の中から固有表現の単語を抽出する場合の実施例である。
(実施例1にかかる抽出装置100による規則学習処理の具体例1)
次に、図6〜図9を用いて、実施例1にかかる抽出装置100による規則学習処理の具体例1について説明する。規則学習処理は、図6に示した学習データ群600を用いて、同一表記・種類単語判別規則300と固有表現抽出用規則400とを生成する処理であり、図5を用いて説明した処理である。
図7〜図9は、図6に示した学習データ群600を用いて同一表記・種類単語判別規則300と固有表現抽出用規則400とを生成する内容を示す説明図である。図7において、まず、抽出装置100は、学習データ群600の中から、未処理の学習データを選択する。ここでは、抽出装置100は、学習データ610を選択したとする。
(1)次に、抽出装置100は、選択した学習データ610の中から、同一表記の単語の組として、「宮崎」611と「宮崎」612の組と、「宮崎」611と「宮崎」613の組と、「宮崎」612と「宮崎」613の組と、を抽出する。
そして、抽出装置100は、「宮崎」611と「宮崎」612の組については、異なる種類であるため、「宮崎」611と「宮崎」612の各々の周辺にある単語の組み合わせを、単語の組が異なる種類であることを示す手がかりとして取得する。そして、抽出装置100は、「出身&さん」、「の&さん」などの単語の組が手がかりである、異なる種類であることを判別するための学習事例を生成する。
また、抽出装置100は、「宮崎」611と「宮崎」613の組については、同一種類であるため、「宮崎」611と「宮崎」613の各々の周辺にある単語の組み合わせを、単語の組が同一種類であることを示す手がかりとして取得する。そして、抽出装置100は、「出身&へ」、「出身&行く」などの単語の組が手がかりである、同一種類であることを判別するための学習事例を生成する。
また、抽出装置100は、「宮崎」612と「宮崎」613の組については、異なる種類であるため、「宮崎」612と「宮崎」613の各々の周辺にある単語の組み合わせを、単語の組が異なる種類であることを示す手がかりとして取得する。そして、抽出装置100は、「さん&へ」、「さん&行く」などの単語の組が手がかりである、同一種類であることを判別するための学習事例を生成する。
抽出装置100は、学習データ610から学習事例を生成した後、学習データ群600の中に未処理の学習データが残っていれば、当該未処理の学習データからも学習事例を生成する。
(2)そして、抽出装置100は、学習エンジンを用いて、生成された学習事例群のうち、尤もらしい学習事例を特定する。学習エンジンは、例えば、学習事例群の中で出現頻度が閾値以上である学習事例を、尤もらしい学習事例として特定する。
例えば、学習エンジンは、学習データ群600から生成された学習事例群に、単語の組が同一種類であることを示す手がかり「出身&行く」の学習事例が所定個数以上含まれている場合に、「出身&行く」の学習事例を尤もらしい学習事例として特定する。また、学習エンジンは、多くの種類の単語とともに出現する格助詞「の」などを含む手がかり「の&さん」の学習事例は、単語の組が同一種類である場合にも異なる場合にも出現する可能性があるため、尤もらしい学習事例として採用しないようにする。
なお、学習エンジンとしては、例えば、Boosting学習器やSVMがある。Boosting学習器やSVMについては、従来技術であるため説明を省略する。抽出装置100は、学習エンジンによって特定された学習事例から判別規則を生成する。抽出装置100は、例えば、単語の組が同一種類であることを示す情報と、共起単語「出身」と「行く」の組み合わせを関連付けた判別規則を生成する。そして、抽出装置100は、生成した判別規則を含む同一表記・種類単語判別規則300を生成する。
図8において、抽出装置100は、学習データの中から未処理の学習データを選択する。次に、抽出装置100は、選択した学習データからタグを除外した対象データを生成する。ここでは、抽出装置100は、学習データ610を選択し、学習データ610から対象データ800を生成したとする。
(1)次に、抽出装置100は、対象データ800の中から、同一表記の単語の組として、「宮崎」801と「宮崎」802の組と、「宮崎」801と「宮崎」803の組と、「宮崎」802と「宮崎」803の組と、を抽出する。
そして、抽出装置100は、「宮崎」801と「宮崎」802の組について、「宮崎」801と「宮崎」802の各々の周辺にある単語の組み合わせ「出身&さん」、「の&さん」などを手がかりとして特定する。また、抽出装置100は、「宮崎」801と「宮崎」803の組について、「宮崎」801と「宮崎」803の各々の周辺にある単語の組み合わせ「出身&へ」、「出身&行く」などを手がかりとして特定する。また、抽出装置100は、「宮崎」801と「宮崎」802の組について、「宮崎」801と「宮崎」802の各々の周辺にある単語の組み合わせ「さん&へ」、「さん&行く」などを手がかりとして特定する。
(2)そして、抽出装置100は、判別エンジンを用いて、生成された手がかりのうち、同一表記・種類単語判別規則300の判別規則に該当する手がかりを特定する。判別エンジンは、該当する判別規則が複数ある場合、尤もらしい判別規則を特定する。抽出装置100は、判別エンジンによって特定された判別規則により、「宮崎」801と「宮崎」802の組と「宮崎」801と「宮崎」803の組と「宮崎」802と「宮崎」803の組との各々が同一種類か否かを判別する。ここでは、抽出装置100は、同一表記・種類単語判別規則300と、共起単語「出身」と「行く」の組み合わせとから、「宮崎」801と「宮崎」803の組が同一種類であると判別する。
図9において、抽出装置100は、選択した学習データ610の中から、図8で同一種類と判別された「宮崎」801と「宮崎」803の組に対応する「宮崎」611と「宮崎」613を特定する。抽出装置100は、以降の処理で、特定された「宮崎」611と「宮崎」613を一纏めにして扱う。
(1)抽出装置100は、学習データ610の中の単語ごとに、または一纏めにされた単語ごとに、タグを参照して単語の種類を特定し、特定した単語の種類を抽出するための手がかりを特定する。抽出装置100は、具体的には、例えば、一纏めにされた「宮崎」611と「宮崎」613の各々の周辺にある単語から、「LOC」を抽出するための手がかりになる「出身:+1」、「の:+2」、「さん:−2」、「と:−1」、「へ:+1」、および「行く:+2」を特定する。そして、抽出装置100は、特定した単語が手がかりである、単語の種類が「LOC」であることを判別するための学習事例を生成する。
また、抽出装置100は、同一種類の他の単語がない「宮崎」612の周辺にある単語から、「PER」を抽出するための手がかりになる「出身:−2」、「の:−1」、「さん:+1」、および「と:+2」を特定する。そして、抽出装置100は、特定した単語が手がかりである、単語の種類が「PER」であることを判別するための学習事例を生成する。
抽出装置100は、学習データ610から学習事例を生成した後、学習データ群600の中に未処理の学習データが残っていれば、当該未処理の学習データからも学習事例を生成する。
(2)そして、抽出装置100は、学習エンジンを用いて、生成された学習事例群のうち、同一種類の固有表現かどうかの判別において尤もらしい学習事例を特定する。学習エンジンは、例えば、学習事例群の中で出現頻度が閾値以上である学習事例を、尤もらしい学習事例として特定する。抽出装置100は、学習エンジンによって特定された学習事例から抽出用規則を生成する。抽出装置100は、例えば、単語の種類「LOC」を示す情報と、「出身:+1」とを関連付けた抽出用規則を生成する。
そして、抽出装置100は、生成した抽出用規則を含む固有表現抽出用規則400を生成する。また、抽出装置100は、固有表現以外の種類「O(Other)」の単語「出身」についても手がかりを特定し、学習事例を生成してもよい。そして、抽出装置100は、生成した学習事例から単語の種類「O」を示す抽出用規則を生成してもよい。
これにより、抽出装置100は、学習データ群600を用いて、同一表記・種類単語判別規則300および固有表現抽出用規則400を機械学習により生成することができる。そのため、抽出装置100の利用者は、同一表記・種類単語判別規則300および固有表現抽出用規則400を生成する手間を削減することができる。
(実施例1にかかる規則学習処理の詳細な処理手順)
次に、図10および図11を用いて、実施例1にかかる規則学習処理の詳細な処理手順について説明する。実施例1にかかる規則学習処理は、図7〜図9に示した抽出装置100によって実行される処理である。
図10および図11は、実施例1にかかる規則学習処理の詳細な処理手順を示すフローチャートである。図10に示すように、まず、抽出装置100は、学習データ群600の中から、未処理の学習データを選択する(ステップS1001)。
次に、抽出装置100は、選択した学習データの中に、同一表記の単語があるか否かを判定する(ステップS1002)。ここで、同一表記の単語がない場合(ステップS1002:No)、抽出装置100は、ステップS1008に移行する。
一方、同一表記の単語がある場合(ステップS1002:Yes)、抽出装置100は、選択した学習データの中にある同一表記の単語の組のうち、未処理の単語の組を選択する(ステップS1003)。
次に、抽出装置100は、選択した単語の組が同一種類の単語であるか否かを判定する(ステップS1004)。ここで、同一種類の単語である場合(ステップS1004:Yes)、抽出装置100は、選択した単語の組の各々とともに出現する共起単語の組み合わせと、単語の組が同一種類であることを示す情報と、を含む学習事例を生成する(ステップS1005)。そして、抽出装置100は、ステップS1007に移行する。
一方、異なる種類の単語である場合(ステップS1004:No)、抽出装置100は、選択した単語の組の各々とともに出現する共起単語の組み合わせと、単語の組が異なる種類であることを示す情報と、を含む学習事例を生成する(ステップS1006)。そして、抽出装置100は、ステップS1007に移行する。
次に、抽出装置100は、未処理の単語の組があるか否かを判定する(ステップS1007)。未処理の単語の組がある場合(ステップS1007:Yes)、抽出装置100は、ステップS1003に戻る。
一方、未処理の単語の組がない場合(ステップS1007:No)、抽出装置100は、学習データ群600の中に、未処理の学習データがあるか否かを判定する(ステップS1008)。ここで、未処理の学習データがある場合(ステップS1008:Yes)、抽出装置100は、ステップS1001に戻る。
一方、未処理の学習データがない場合(ステップS1008:No)、抽出装置100は、生成した学習事例群から、同一表記・種類単語判別規則300を生成する(ステップS1009)。そして、抽出装置100は、図11のステップS1101に移行する。
図11において、抽出装置100は、学習データ群600の中から未処理の学習データを選択し、選択した学習データのタグを除去した対象データを生成する(ステップS1101)。次に、抽出装置100は、同一表記・種類単語判別規則300を参照して、生成した対象データの中で同一表記かつ同一種類の単語の組を特定する(ステップS1102)。
次に、抽出装置100は、選択した学習データの中から、未処理の単語を選択する(ステップS1103)。そして、抽出装置100は、ステップS1102の特定結果から、選択した単語と同一表記かつ同一種類の単語があるか否かを判定する(ステップS1104)。
ここで、同一表記かつ同一種類の単語がある場合(ステップS1104:Yes)、抽出装置100は、同一表記かつ同一種類の単語の組の各々から特定した手がかりと、タグから特定した当該単語の組の種類と、を含む学習事例を生成する(ステップS1105)。そして、抽出装置100は、ステップS1107に移行する。
一方、抽出装置100は、同一表記かつ同一種類の単語がない場合(ステップS1104:No)、抽出装置100は、選択した単語から特定した手がかりと、タグから特定した当該単語の種類と、を含む学習事例を生成する(ステップS1106)。そして、抽出装置100は、ステップS1107に移行する。
次に、抽出装置100は、選択した学習データの中に、未処理の単語があるか否かを判定する(ステップS1107)。ここで、未処理の単語がある場合(ステップS1107:Yes)、抽出装置100は、ステップS1103に戻る。
一方、未処理の単語がない場合(ステップS1107:No)、抽出装置100は、未処理の学習データがあるか否かを判定する(ステップS1108)。ここで、未処理の学習データがある場合(ステップS1108:Yes)、抽出装置100は、ステップS1101に戻る。
一方、未処理の学習データがない場合(ステップS1108:No)、抽出装置100は、生成した学習事例群から、固有表現抽出用規則400を生成する(ステップS1109)。そして、抽出装置100は、規則学習処理を終了する。これにより、抽出装置100は、学習データ群600を用いて、同一表記・種類単語判別規則300および固有表現抽出用規則400を機械学習により生成することができる。そのため、抽出装置100の利用者は、同一表記・種類単語判別規則300および固有表現抽出用規則400を生成する手間を削減することができる。
(実施例1にかかる抽出装置100による固有表現抽出処理の具体例1)
次に、図12および図13を用いて、実施例1にかかる抽出装置100による固有表現抽出処理の具体例1について説明する。実施例1にかかる固有表現抽出処理は、固有表現の抽出対象のデータの中から固有表現の単語を抽出する処理であり、図5を用いて説明した処理である。
図12および図13は、実施例1にかかる抽出装置100による固有表現抽出処理の具体例1を示す説明図である。図12において、抽出装置100は、固有表現の抽出対象になる入力データ1200を受け付ける。
(1)まず、抽出装置100は、入力データ1200の中から、同一表記の単語の組として、「福岡」1201と「福岡」1202の組と、「福岡」1201と「福岡」1203の組と、「福岡」1202と「福岡」1203の組と、を抽出する。
そして、抽出装置100は、「福岡」1201と「福岡」1202の組について、「福岡」1201と「福岡」1202の各々の周辺にある単語の組み合わせ「出身&さん」、「の&さん」などを手がかりとして特定する。また、抽出装置100は、「福岡」1201と「福岡」1203の組について、「福岡」1201と「福岡」1203の各々の周辺にある単語の組み合わせ「出身&へ」、「出身&行く」などを手がかりとして特定する。また、抽出装置100は、「福岡」1202と「福岡」1203の組について、「福岡」1202と「福岡」1203の各々の周辺にある単語の組み合わせ「さん&へ」、「さん&行く」などを手がかりとして特定する。
(2)そして、抽出装置100は、判別エンジンを用いて、生成された手がかりのうち、同一表記・種類単語判別規則300の判別規則に該当する手がかりを特定する。判別エンジンは、該当する判別規則が複数ある場合、尤もらしい判別規則を特定する。抽出装置100は、判別エンジンによって特定された判別規則により、「福岡」1201と「福岡」1202の組と「福岡」1201と「福岡」1203の組と「福岡」1202と「福岡」1203の組との各々が同一種類か否かを判別する。
ここでは、抽出装置100は、同一表記・種類単語判別規則300と、共起単語「出身」と「行く」の組み合わせとから、「福岡」1201と「福岡」1203の組が同一種類であると判別する。
図13において、抽出装置100は、以降の処理で、図12で同一種類と判別された「福岡」1201と「福岡」1203を一纏めにして扱う。
(1)抽出装置100は、入力データ1200の中の単語ごとに、または一纏めにされた単語ごとに、単語の種類を抽出するための手がかりを特定する。抽出装置100は、具体的には、例えば、一纏めにされた「福岡」1201と「福岡」1203の周辺にある単語から、手がかりとして「出身:+1」、「の:+2」、「さん:−2」、「と:−1」、「へ:+1」、および「行く:+2」を特定する。また、抽出装置100は、同一種類の他の単語がない「福岡」1202の周辺にある単語から、手がかりとして「出身:−2」、「の:−1」、「さん:+1」、および「と:+2」を特定する。
(2)次に、抽出装置100は、判別エンジンを用いて、生成された手がかりに該当する固有表現抽出用規則400の抽出用規則を特定する。判別エンジンは、該当する抽出用規則が複数ある場合、尤もらしい抽出用規則を特定する。抽出装置100は、判別エンジンによって特定された抽出用規則により、入力データ1200の中の単語ごとに、または一纏めにされた単語ごとに、単語の種類を抽出する。ここでは、抽出装置100は、「福岡」1201と「福岡」1203の種類として「LOC」を抽出し、「福岡」1202の種類として「PER」を抽出する。
また、抽出装置100は、単語「出身」についても手がかりを特定し、「出身」の単語の種類を抽出してもよい。ここでは、抽出装置100は、「出身」について、固有表現ではない単語の種類「O」を抽出する。
これにより、抽出装置100は、同一表記かつ同一種類の単語については、一纏めにして同じ単語の種類を抽出することができる。また、抽出装置100は、同一表記であっても異なる種類の単語については、他の同一表記の単語とは別個に単語の種類を抽出することができるようになる。結果として、抽出装置100は、同一表記かつ同一種類の単語を一纏めにして同じ種類の単語として抽出することで、同一種類の単語を異なる種類の単語として抽出することを防止して、抽出精度の向上を図ることができる。また、抽出装置100は、同一表記であっても異なる種類の単語同士を、別個に扱って単語の種類を抽出することで、誤って同じ種類の単語として抽出することを防止し、抽出精度の向上を図ることができる。
(実施例1にかかる抽出装置100による固有表現抽出結果の出力例1)
次に、図14を用いて、実施例1にかかる抽出装置100による固有表現抽出結果の出力例1について説明する。抽出装置100は、図12および図13での固有表現抽出結果を出力する。
図14は、実施例1にかかる抽出装置100による固有表現抽出結果の出力例1を示す説明図である。図14の(A)に示すように、抽出装置100は、例えば、抽出した単語の種類をタグとして付与した入力データ1200「<LOC>福岡</LOC>出身の<PER>福岡</PER>さんと<LOC>福岡</LOC>へ行く。」を出力する。また、図14の(B)に示すように、抽出装置100は、例えば、入力データ1200「福岡出身の福岡さんと福岡へ行く。」を表示する際に、抽出した単語の種類を示す色を付与して表示する。
(実施例1にかかる固有表現抽出処理の詳細な処理手順)
次に、図15を用いて、実施例1にかかる固有表現抽出処理の詳細な処理手順について説明する。実施例1にかかる固有表現抽出処理は、図12〜図14に示した抽出装置100によって行われる処理である。
図15は、実施例1にかかる固有表現抽出処理の詳細な処理手順を示すフローチャートである。図15に示すように、まず、抽出装置100は、入力データを受け付ける(ステップS1501)。次に、抽出装置100は、同一表記・種類単語判別規則300を参照して、入力データの中で同一表記かつ同一種類の単語の組を特定する(ステップS1502)。
次に、抽出装置100は、入力データの中から、未処理の単語を選択する(ステップS1503)。そして、抽出装置100は、ステップS1502の特定結果から、選択した単語と同一表記かつ同一種類の単語があるか否かを判定する(ステップS1504)。
ここで、同一表記かつ同一種類の単語がある場合(ステップS1504:Yes)、抽出装置100は、同一表記かつ同一種類の単語の組の各々から特定した手がかりと、固有表現抽出用規則400と、から同一表記かつ同一種類の単語の組の種類を抽出する(ステップS1505)。そして、抽出装置100は、ステップS1507に移行する。
一方、抽出装置100は、同一表記かつ同一種類の単語がない場合(ステップS1504:No)、抽出装置100は、選択した単語から特定した手がかりと、固有表現抽出用規則400と、から選択した単語の種類を抽出する(ステップS1506)。そして、抽出装置100は、ステップS1507に移行する。
次に、抽出装置100は、入力データの中に、未処理の単語があるか否かを判定する(ステップS1507)。ここで、未処理の単語がある場合(ステップS1507:Yes)、抽出装置100は、ステップS1503に戻る。
一方、未処理の単語がない場合(ステップS1507:No)、抽出装置100は、抽出結果を出力する(ステップS1508)。そして、抽出装置100は、固有表現抽出処理を終了する。
これにより、抽出装置100は、同一表記かつ同一種類の単語については、一纏めにして同じ単語の種類を抽出することができる。また、抽出装置100は、同一表記であっても異なる種類の単語については、他の同一表記の単語とは別個に単語の種類を抽出することができるようになる。結果として、抽出装置100は、同一表記かつ同一種類の単語を一纏めにして同じ種類の単語として抽出することで、同一種類の単語を異なる種類の単語として抽出することを防止して、抽出精度の向上を図ることができる。また、抽出装置100は、同一表記であっても異なる種類の単語同士を、別個に扱って単語の種類を抽出することで、誤って同じ種類の単語として抽出することを防止し、抽出精度の向上を図ることができる。
(実施例1にかかる抽出装置100による規則学習処理の具体例2)
次に、図16〜図19を用いて、実施例1にかかる抽出装置100による規則学習処理の具体例2について説明する。具体例2は、具体例1よりも単語の種類を細分化した場合の例である。例えば、具体例2では、単語の種類として、組織名「ORG」を細分化した、組織名の先頭「B−ORG」と、組織名の中「I−ORG」と、組織名の後尾「E−ORG」と、を採用する。
図16は、抽出装置100による規則学習処理に用いられる学習データの例2を示す説明図である。図16に示すように、図6の学習データ群600より細分化された種類を示すタグが付与された複数の学習データを含む学習データ群1600が用意される。
例えば、学習データ群1600には、学習データ1610「<B−ORG>A</B−ORG><E−ORG>株式会社</E−ORG>は<B−ORG>株式会社</B−ORG><I−ORG>A</I−ORG><E−ORG>研究所</E−ORG>の子会社であり、<B−ORG>株式会社</B−ORG><I−ORG>A</I−ORG><E−ORG>研究所</E−ORG>は<LOC>川崎市</LOC>にある。」が含まれる。
学習データ1610の中の「A」1611には「B−ORG」のタグが付与され、「株式会社」1612には「E−ORG」のタグが付与されている。また、「株式会社」1613には「B−ORG」のタグが付与され、「A」1614には「I−ORG」のタグが付与され、「研究所」1615には「E−ORG」のタグが付与されている。また、「株式会社」1616には「B−ORG」のタグが付与され、「A」1617には「I−ORG」のタグが付与され、「研究所」1618には「E−ORG」のタグが付与されている。また、「川崎市」1619には「LOC」のタグが付与されている。
また、学習データ群1600には、学習データ1620「<LOC>宮崎</LOC>にある<B−ORG>宮崎</B−ORG><E−ORG>商事</E−ORG>の<PER>宮崎</PER>社長は<LOC>宮崎</LOC>出身である。」が含まれる。学習データ1620の中の「宮崎」1621には「LOC」のタグが付与され、「宮崎」1622には「B−ORG」のタグが付与されている。また、「商事」1623には「E−ORG」のタグが付与され、「宮崎」1624には「PER」のタグが付与され、「宮崎」1625には「LOC」のタグが付与されている。
抽出装置100は、このような学習データ群1600を用いることで、図6に示した学習データ群600を用いた場合よりも細分化された種類に対応した同一表記・種類単語判別規則および固有表現抽出用規則を生成することができる。
図17〜図19は、図16に示した学習データ群1600を用いて同一表記・種類単語判別規則300と固有表現抽出用規則400とを生成する内容を示す説明図である。図17において、まず、抽出装置100は、学習データ群1600の中から、未処理の学習データを選択する。ここでは、抽出装置100は、学習データ1610を選択したとする。
(1)次に、抽出装置100は、選択した学習データ1610の中から、同一表記の単語の組として、「A」1611と「A」1614の組と、「A」1611と「A」1617の組と、「A」1614と「A」1617の組と、を抽出する。
そして、抽出装置100は、「A」1611と「A」1614の組については、異なる種類であるため、「A」1611と「A」1614の各々の周辺にある単語の組み合わせ「株式会社&研究所」などの単語の組が手がかりである、同一種類でないことを判別するための学習事例を生成する。
また、抽出装置100は、「A」1611と「A」1617の組については、異なる種類であるため、「A」1611と「A」1617の各々の周辺にある単語の組み合わせ「株式会社&研究所」などの単語の組が手がかりである、同一種類でないことを判別するための学習事例を生成する。
また、抽出装置100は、「A」1614と「A」1617の組については、同一種類であるため、「A」1614と「A」1617の各々の周辺にある単語の組み合わせ「研究所&研究所」、「株式会社&株式会社」などの単語の組が手がかりである、同一種類であることを判別するための学習事例を生成する。
抽出装置100は、単語「A」について学習事例を生成した後、他の同一表記の単語「株式会社」や「研究所」についても学習事例を生成する。また、抽出装置100は、学習データ1610から学習事例を生成した後、学習データ群1600の中に未処理の学習データが残っていれば、当該未処理の学習データからも学習事例を生成する。
(2)そして、抽出装置100は、学習エンジンを用いて、生成された学習事例群から、同一種類の固有表現かどうかの判別において尤もらしい学習事例を特定する。学習エンジンは、例えば、学習事例群の中で出現頻度が閾値以上である学習事例を特定する。また、学習エンジンは、類似する学習事例が存在しないために、閾値以上の精度で単語の組が同一種類か否かを判別可能な学習事例を特定してもよい。抽出装置は、例えば、単語の組が同一種類であることを示す情報と、共起単語「株式会社」と「株式会社」の組み合わせを関連付けた判別規則を生成する。そして、抽出装置100は、生成した判別規則を含む同一表記・種類単語判別規則300を生成する。
図18において、抽出装置100は、学習データ群1600の中から未処理の学習データを選択する。次に、抽出装置100は、選択した学習データからタグを除外した対象データを生成する。ここでは、抽出装置100は、学習データ1610を選択し、学習データ1610から対象データ1800を生成したとする。
(1)次に、抽出装置100は、対象データ1800の中から、同一表記の単語の組として、「A」1801と「A」1802の組と、「A」1801と「A」1803の組と、「A」1802と「A」1803の組と、を抽出する。
そして、抽出装置100は、「A」1801と「A」1802の組について、「A」1801と「A」1802の各々の周辺にある単語の組み合わせ「株式会社&研究所」などを手がかりとして特定する。また、抽出装置100は、「A」1801と「A」1803の組について、「A」1801と「A」1803の各々の周辺にある単語の組み合わせ「株式会社&研究所」などを手がかりとして特定する。また、抽出装置100は、「A」1802と「A」1803の組について、「A」1802と「A」1803の各々の周辺にある単語の組み合わせ「研究所&研究所」、「株式会社&株式会社」などを手がかりとして特定する。
(2)そして、抽出装置100は、判別エンジンを用いて、生成された手がかりに該当する同一表記・種類単語判別規則300の判別規則を特定する。判別エンジンは、該当する判別規則が複数ある場合、例えば、学習事例上での判別精度などを基に、尤もらしい判別規則を特定する。
抽出装置100は、判別エンジンによって特定された判別規則により、「A」1801と「A」1802の組と「A」1801と「A」1803の組と「A」1802と「A」1803の組との各々が同一種類か否かを判別する。ここでは、抽出装置100は、同一表記・種類単語判別規則300と、共起単語「研究所」と「研究所」の組み合わせと、「株式会社」と「株式会社」の組み合わせとから、「A」1802と「A」1803の組が同一種類であると判別する。
図19において、抽出装置100は、選択した学習データ1610の中から、図18で同一種類と判別された「A」1802と「A」1803の組に対応する「A」1614と「A」1617を特定する。抽出装置100は、以降の処理で、特定された「A」1614と「A」1617を一纏めにして扱う。
(1)抽出装置100は、学習データ1610の中の単語ごとに、または一纏めにされた単語ごとに、タグを参照して単語の種類を特定し、特定した単語の種類を抽出するための手がかりを特定する。抽出装置100は、具体的には、例えば、一纏めにされた「A」1614と「A」1617の周辺にある単語から、「I−ORG」を抽出するための手がかりになる「株式会社:−1」および「研究所:+1」を特定する。そして、抽出装置100は、特定した単語が手がかりである、単語の種類が「I−ORG」であることを判別するための学習事例を生成する。
また、抽出装置100は、同一種類の他の単語がない「A」1611の周辺にある単語から、「B−ORG」を抽出するための手がかりになる「株式会社:+1」を特定する。そして、抽出装置100は、特定した単語が手がかりである、単語の種類が「B−ORG」であることを判別するための学習事例を生成する。
抽出装置100は、単語「A」について学習事例を生成した後、他の同一表記の単語「株式会社」や「研究所」についても学習事例を生成する。また、抽出装置100は、学習データ1610から学習事例を生成した後、学習データ群1600の中に未処理の学習データが残っていれば、当該未処理の学習データからも学習事例を生成する。
(2)そして、抽出装置100は、学習エンジンを用いて、生成された学習事例群のうち、尤もらしい学習事例を特定する。学習エンジンは、例えば、学習事例群の中で出現頻度が閾値以上である学習事例を、尤もらしい学習事例として特定する。抽出装置100は、学習エンジンによって特定された学習事例から抽出用規則を生成する。抽出装置100は、例えば、単語の種類「I−ORG」と、「株式会社:−1」とを関連付けた抽出用規則を生成する。そして、抽出装置100は、生成した抽出用規則を含む固有表現抽出用規則400を生成する。
これにより、抽出装置100は、学習データ群1600を用いて、同一表記・種類単語判別規則300および固有表現抽出用規則400を機械学習により生成することができる。そのため、抽出装置100の利用者は、同一表記・種類単語判別規則300および固有表現抽出用規則400を生成する手間を削減することができる。ここでは、閾値を基にした規則学習手法を用いたが、他の学習手法としては、非特許文献3,4,5などを用いることもできる。学習手法として、非特許文献3を用いた場合は、各規則のスコアの和、非特許文献4,5はモデル(規則に相当)を用いて計算されるスコアの和を基に、同一表記で同一の固有表現になる単語、各単語の固有表現の種類を決める。
(実施例1にかかる抽出装置100による固有表現抽出処理の具体例2)
次に、図20および図21を用いて、実施例1にかかる抽出装置100による固有表現抽出処理の具体例2について説明する。
図20および図21は、実施例1にかかる抽出装置100による固有表現抽出処理の具体例2を示す説明図である。図20において、抽出装置100は、固有表現の抽出対象になる入力データ2000を受け付ける。
(1)まず、抽出装置100は、入力データ2000の中から、同一表記の単語の組として、「B」2001と「B」2002の組と、「B」2001と「B」2003の組と、「B」2002と「B」2003の組と、を抽出する。
そして、抽出装置100は、「B」2001と「B」2002の組について、「B」2001と「B」2002の各々の周辺にある単語の組み合わせ「株式会社&研究所」などを手がかりとして特定する。また、抽出装置100は、「B」2001と「B」2003の組について、「B」2001と「B」2003の各々の周辺にある単語の組み合わせ「株式会社&研究所」などを手がかりとして特定する。また、抽出装置100は、「B」2002と「B」2003の組について、「B」2002と「B」2003の各々の周辺にある単語の組み合わせ「研究所&研究所」、「株式会社&株式会社」などを手がかりとして特定する。
(2)そして、抽出装置100は、判別エンジンを用いて、特定された手がかりに該当する同一表記・種類単語判別規則300の判別規則を特定する。判別エンジンは、該当する判別規則が複数ある場合、尤もらしい判別規則を特定する。抽出装置100は、判別エンジンによって特定された判別規則により、「B」2001と「B」2002の組と「B」2001と「B」2003の組と「B」2002と「B」2003の組との各々が同一種類か否かを判別する。
ここでは、抽出装置100は、同一表記・種類単語判別規則300と、共起単語「研究所」と「研究所」の組み合わせと、「株式会社」と「株式会社」の組み合わせとから、「B」2002と「B」2003の組が同一種類であると判別する。
図21において、抽出装置100は、以降の処理で、図20で同一種類と判別された「B」2002と「B」2003を一纏めにして扱う。
(1)抽出装置100は、入力データ2000の中の単語ごとに、または一纏めにされた単語ごとに、単語の種類を抽出するための手がかりを特定する。抽出装置100は、具体的には、例えば、一纏めにされた「B」2002と「B」2003の周辺にある単語から、手がかりとして「株式会社:−1」および「研究所:+1」を特定する。また、抽出装置100は、同一種類の他の単語がない「B」2001の周辺にある単語から、手がかりとして「株式会社:+1」を特定する。
(2)次に、抽出装置100は、判別エンジンを用いて、特定された手がかりに該当する固有表現抽出用規則400の抽出用規則を特定する。判別エンジンは、該当する抽出用規則が複数ある場合、尤もらしい抽出用規則を特定する。抽出装置100は、判別エンジンによって特定された抽出用規則により、入力データ2000の中の単語ごとに、または一纏めにされた単語ごとに、単語の種類を抽出する。
ここでは、抽出装置100は、「B」2002と「B」2003の種類として「I−ORG」を抽出し、「B」2001の種類として「B−ORG」を抽出する。なお、抽出装置100は、他の同一表記の単語「株式会社」や「研究所」についても、同様に、単語の種類を抽出する。
これにより、抽出装置100は、同一表記かつ同一種類の単語については、一纏めにして同じ単語の種類を抽出することができる。また、抽出装置100は、同一表記であっても異なる種類の単語については、他の同一表記の単語とは別個に単語の種類を抽出することができるようになる。結果として、抽出装置100は、同一表記かつ同一種類の単語を一纏めにして同じ種類の単語として抽出することで、同一種類の単語を異なる種類の単語として抽出することを防止して、抽出精度の向上を図ることができる。また、抽出装置100は、同一表記であっても異なる種類の単語同士を、別個に扱って単語の種類を抽出することで、誤って同じ種類の単語として抽出することを防止し、抽出精度の向上を図ることができる。
(実施例1にかかる抽出装置100による固有表現抽出結果の出力例2)
次に、図22を用いて、実施例1にかかる抽出装置100による固有表現抽出結果の出力例2について説明する。抽出装置100は、図20および図21での固有表現抽出結果を出力する。
図22は、実施例1にかかる抽出装置100による固有表現抽出結果の出力例2を示す説明図である。図22に示すように、抽出装置100は、例えば、抽出した単語の種類をタグとして付与した入力データ2000「<B−ORG>B</B−ORG><E−ORG>株式会社</E−ORG>は<B−ORG>株式会社</B−ORG><I−ORG>B</I−ORG><E−ORG>研究所</E−ORG>の子会社であり、<B−ORG>株式会社</B−ORG><I−ORG>B</I−ORG><E−ORG>研究所</E−ORG>は川崎市にある。」を出力する。
他にも、B−ORG、I−ORG,E−ORGのように複数の単語で一つの固有表現となる場合を表現するタグが付与されている場合は、<ORG>B株式会社<ORG>は<ORG>株式会社B研究所</ORG>の子会社であり、<ORG>株式会社B研究所</ORG>は川崎市にある。」のように一つのタグとして出力することも可能である。
(実施例2)
実施例1は、単語単位で分割された一連の単語の中から固有表現の単語を抽出する実施例であった。対して、実施例2は、図5を用いて説明したチャンク単位で分割されたチャンクのラティスの中から固有表現のチャンクを抽出する場合の実施例である。
(実施例2にかかる抽出装置100による規則学習処理の内容)
次に、図23〜図26を用いて、実施例2にかかる抽出装置100による規則学習処理の内容について説明する。規則学習処理は、学習データ群の各々を変換して得たチャンクのラティスを用いて、同一表記・種類単語判別規則300と固有表現抽出用規則400とを生成する処理である。
図23は、実施例2にかかる抽出装置100による規則学習処理に用いられるチャンクのラティスの一例を示す説明図である。図23に示すように、抽出装置100は、学習データ「<ORG>C社</ORG>の社員は<LOC>C社</LOC>へ行き<LOC>C社</LOC>から帰る。」からチャンクのラティス2300を生成する。
抽出装置100は、具体的には、例えば、学習データ「<ORG>C社</ORG>の社員は<LOC>C社</LOC>へ行き<LOC>C社</LOC>から帰る。」を形態素解析し、単語ごとに区切る。単語ごとに区切られた学習データは、例えば、「C 社 の 社員 は C 社 へ 行き C 社 から 帰る 。」である。
抽出装置100は、単語ごとに区切られた学習データの中から、2単語ずつ組み合わせたチャンクを生成する。例えば、抽出装置100は、「C社」「社の」「の社員」「社員は」などのチャンクを生成する。そして、抽出装置100は、生成したチャンクから、チャンクのラティスを生成する。そして、抽出装置100は、複数通りのチャンクのラティスの中から、タグが付与されたチャンク「C社」を含むチャンクのラティス中のパスを、正しく判別するように規則学習する。
図24〜図26は、図23で生成されたチャンクのラティスを用いて同一表記・種類単語判別規則300と固有表現抽出用規則400とを生成する内容を示す説明図である。図24において、まず、抽出装置100は、学習データ群の中から、未処理の学習データを選択する。そして、抽出装置100は、図23に示したように、選択した学習データからチャンクのラティスを生成する。ここでは、抽出装置100は、チャンクのラティス2300を生成したとする。
(1)抽出装置100は、選択したチャンクのラティス2300の中から、同一表記のチャンクの組として、「C社」2301と「C社」2302の組と、「C社」2301と「C社」2303の組と、「C社」2302と「C社」2303の組と、を抽出する。また、抽出装置100は、例えば、同一表記のチャンクの組として、「C」の組や「社」の組を抽出してもよい。
そして、抽出装置100は、「C社」2301と「C社」2302の組については、異なる種類であるため、「C社」2301と「C社」2302の各々の周辺にある単語の組み合わせ「の&へ」、「社員&行く」などを、単語の組が異なる種類であることを示す手がかりとして生成し、同一ではないとう学習事例を生成する
また、抽出装置100は、「C社」2301と「C社」2303組については、異なる種類であるため、「C社」2301と「C社」2303の各々の周辺にある単語の組み合わせ「の&から」、「社員&帰る」などを、単語の組が異なる種類であることを示す手がかりとして生成し、同一でないという学習事例を生成する
また、抽出装置100は、「C社」2302と「C社」2303の組については、同一種類であるため、「C社」2302と「C社」2303の各々の周辺にある単語の組み合わせ「へ&から」、「行き&帰る」などを、単語の組が同一種類であることを示す手がかりとして生成し、同一であるという学習事例を生成する
抽出装置100は、チャンクのラティス2300から学習事例を生成した後、学習データ群の中に未処理の学習データが残っていれば、当該未処理の学習データをチャンクのラティスに変換し、変換後のチャンクのラティスからも学習事例を生成する。
(2)そして、抽出装置100は、学習エンジンを用いて、生成された学習事例群のうち、尤もらしい学習事例を特定する。学習エンジンは、例えば、学習事例群の中で出現頻度が閾値以上である学習事例を、尤もらしい手がかりとして特定する。抽出装置100は、学習エンジンによって特定された学習事例から判別規則を生成する。抽出装置100は、例えば、例えば、チャンクの組が同一種類であることを示す情報と、共起単語「行き」と「帰る」の組み合わせを関連付けた判別規則を生成する。そして、抽出装置100は、生成した判別規則を含む同一表記・種類単語判別規則300を生成する。また、抽出装置100は、固有表現のチャンクではない「C」、「社」または「社の」などについては、判別規則を生成しなくてもよい。
図25において、抽出装置100は、学習データ群の中から、未処理の学習データを選択する。そして、抽出装置100は、図23に示したように、選択した学習データからチャンクのラティスを生成する。ここでは、抽出装置100は、チャンクのラティス2300を生成したとする。
また、抽出装置100は、チャンクのラティス2300からタグを除外した対象ラティスを生成する。ここでは、抽出装置100は、チャンクのラティス2300から対象ラティス2500を生成したとする。
(1)次に、抽出装置100は、対象ラティス2500の中から、同一表記のチャンクの組として、「C社」2501と「C社」2502の組と、「C社」2501と「C社」2503の組と、「C社」2502と「C社」2503の組と、を抽出する。また、抽出装置100は、例えば、同一表記のチャンクの組として、「C」の組や「社」の組を抽出してもよい。
そして、抽出装置100は、「C社」2501と「C社」2502の組について、「C社」2501と「C社」2502の各々の周辺にある単語の組み合わせ「の&へ」、「社員&行く」などを手がかりとして特定する。また、抽出装置100は、「C社」2501と「C社」2503の組について、「C社」2501と「C社」2503の各々の周辺にある単語の組み合わせ「の&から」、「社員&帰る」などを手がかりとして特定する。また、抽出装置100は、「C社」2502と「C社」2503の組について、「C社」2502と「C社」2503の各々の周辺にある単語の組み合わせ「へ&から」、「行き&帰る」などを手がかりとして特定する。
(2)そして、抽出装置100は、判別エンジンを用いて、特定された手がかりに該当する同一表記・種類単語判別規則300の判別規則を特定する。判別エンジンは、該当する判別規則が複数ある場合、尤もらしい判別規則を特定する。抽出装置100は、判別エンジンによって特定された判別規則により、「C社」2501と「C社」2502の組と「C社」2501と「C社」2503の組と「C社」2502と「C社」2503の組との各々が同一種類か否かを判別する。ここでは、抽出装置100は、同一表記・種類単語判別規則300と、共起単語「行き」と「帰る」の組み合わせとから、「C社」2502と「C社」2503の組が同一種類であると判別する。
図26において、抽出装置100は、チャンクのラティス2300の中から、図25で同一種類と判別された「C社」2502と「C社」2503の組に対応する「C社」2302と「C社」2303を特定する。抽出装置100は、以降の処理で、特定された「C社」2302と「C社」2303を一纏めにして扱う。
(1)抽出装置100は、チャンクのラティス2300の中のチャンクごとに、または一纏めにされたチャンクごとに、タグを参照してチャンクの種類を特定し、特定したチャンクの種類を抽出するための手がかりを特定する。抽出装置100は、具体的には、例えば、一纏めにされた「C社」2302と「C社」2303の周辺にあるチャンクから、「LOC」を抽出するための手がかりになる「社員:−2」、「は:−1」、「へ:+1」、「行き:+2」、「へ:−2」、「行き:−1」、「から:+1」、および「帰る:+2」を特定する。そして、抽出装置100は、特定した「社員:−2」、「は:−1」、「へ:+1」、「行き:+2」、「へ:−2」、「行き:−1」、「から:+1」、および「帰る:+2」が手がかりである、チャンクの種類が「ORG」であることを判別するための学習事例を生成する。
また、抽出装置100は、同一種類の他のチャンクがない「C社」2301の周辺にあるチャンクから、「ORG」を抽出するための手がかりになる「の:+1」、および「社員:+2」を特定する。そして、抽出装置100は、特定した「の:+1」、および「社員:+2」が手がかりである、チャンクの種類が「ORG」であることを判別するための学習事例を生成する。
抽出装置100は、チャンクのラティス2300から学習事例を生成した後、学習データ群の中に未処理の学習データが残っていれば、当該未処理の学習データをチャンクのラティスに変換し、変換後のチャンクのラティスからも学習事例を生成する。
(2)そして、抽出装置100は、学習エンジンを用いて、生成された学習事例群のうち、尤もらしい学習事例を特定する。学習エンジンは、例えば、学習事例群の中で出現頻度が閾値以上である学習事例を、尤もらしい学習事例として特定する。抽出装置100は、学習エンジンによって特定された学習事例から抽出用規則を生成する。抽出装置100は、例えば、単語の種類「LOC」を示す情報と、「行き:+2」とを関連付けた抽出用規則を生成する。そして、抽出装置100は、生成した抽出用規則を含む固有表現抽出用規則400を生成する。
また、抽出装置100は、固有表現のチャンクではない「C」、「社」または「社の」などについて、固有表現ではないことを示す抽出用規則を生成してもよい。また、抽出装置100は、固有表現のチャンクではない「C」、「社」または「社の」などについては、抽出用規則を生成しなくてもよい。
これにより、抽出装置100は、学習データ群を用いて、同一表記・種類単語判別規則300および固有表現抽出用規則400を機械学習により生成することができる。そのため、抽出装置100の利用者は、同一表記・種類単語判別規則300および固有表現抽出用規則400を生成する手間を削減することができる。
(実施例2にかかる規則学習処理の詳細な処理手順)
次に、図27および図28を用いて、実施例2にかかる規則学習処理の詳細な処理手順について説明する。実施例2にかかる規則学習処理は、図24〜図26に示した抽出装置100によって実行される処理である。
図27および図28は、実施例2にかかる規則学習処理の詳細な処理手順を示すフローチャートである。図27に示すように、まず、抽出装置100は、学習データ群の中から、未処理の学習データを選択する(ステップS2701)。
次に、抽出装置100は、選択した学習データをチャンク単位で分割されたチャンクのラティスに変換する(ステップS2702)。そして、抽出装置100は、変換後のチャンクのラティスの中に、同一表記のチャンクがあるか否かを判定する(ステップS2703)。ここで、同一表記のチャンクがない場合(ステップS2703:No)、抽出装置100は、ステップS2709に移行する。
一方、同一表記のチャンクがある場合(ステップS2703:Yes)、抽出装置100は、チャンクのラティスの中にある同一表記のチャンクの組のうち、未処理のチャンクの組を選択する(ステップS2704)。
次に、抽出装置100は、選択したチャンクの組が同一種類のチャンクであるか否かを判定する(ステップS2705)。ここで、同一種類のチャンクである場合(ステップS2705:Yes)、抽出装置100は、選択したチャンクの組の各々とともに出現する共起チャンクの組み合わせと、チャンクの組が同一種類であることを示す情報と、を含む判別規則を生成する(ステップS2706)。そして、抽出装置100は、ステップS2708に移行する。
一方、異なる種類のチャンクである場合(ステップS2705:No)、抽出装置100は、選択したチャンクの組の各々とともに出現する共起チャンクの組み合わせと、チャンクの組が異なる種類であることを示す情報と、を含む判別規則を生成する(ステップS2707)。そして、抽出装置100は、ステップS2708に移行する。
次に、抽出装置100は、未処理のチャンクの組があるか否かを判定する(ステップS2708)。未処理のチャンクの組がある場合(ステップS2708:Yes)、抽出装置100は、ステップS2704に戻る。
一方、未処理のチャンクの組がない場合(ステップS2708:No)、抽出装置100は、チャンクのラティス群の中に、未処理のチャンクのラティスがあるか否かを判定する(ステップS2709)。ここで、未処理のチャンクのラティスがある場合(ステップS2709:Yes)、抽出装置100は、ステップS2701に戻る。
一方、未処理のチャンクのラティスがない場合(ステップS2709:No)、抽出装置100は、生成した判別規則群から、同一表記・種類単語判別規則300を生成する(ステップS2710)。そして、抽出装置100は、図28のステップS2801に移行する。
図28において、抽出装置100は、学習データ群の中から未処理の学習データを選択し、選択した学習データのタグを除去した対象データを生成する(ステップS2801)。次に、抽出装置100は、生成した対象データをチャンク単位で分割されたチャンクのラティスに変換する(ステップS2702)。
そして、抽出装置100は、同一表記・種類単語判別規則300を参照して、チャンクのラティスの中で同一表記かつ同一種類のチャンクの組を特定する(ステップS2803)。次に、抽出装置100は、チャンクのラティスの中から、未処理のチャンクを選択する(ステップS2804)。そして、抽出装置100は、ステップS2802の特定結果から、選択したチャンクと同一表記かつ同一種類のチャンクがあるか否かを判定する(ステップS2805)。
ここで、同一表記かつ同一種類のチャンクがある場合(ステップS2805:Yes)、抽出装置100は、同一表記かつ同一種類のチャンクの組の各々から特定した手がかりと、タグから特定した当該チャンクの組の種類と、を含む抽出用規則を生成する(ステップS2806)。そして、抽出装置100は、ステップS2808に移行する。
一方、抽出装置100は、同一表記かつ同一種類のチャンクがない場合(ステップS2805:No)、抽出装置100は、選択したチャンクから特定した手がかりと、タグから特定した当該チャンクの種類と、を含む抽出用規則を生成する(ステップS2807)。そして、抽出装置100は、ステップS2808に移行する。
次に、抽出装置100は、選択したチャンクのラティスの中に、未処理のチャンクがあるか否かを判定する(ステップS2808)。ここで、未処理のチャンクがある場合(ステップS2808:Yes)、抽出装置100は、ステップS2804に戻る。
一方、未処理のチャンクがない場合(ステップS2808:No)、抽出装置100は、未処理のチャンクのラティスがあるか否かを判定する(ステップS2809)。ここで、未処理のチャンクのラティスがある場合(ステップS2809:Yes)、抽出装置100は、ステップS2801に戻る。
一方、未処理のチャンクのラティスがない場合(ステップS2809:No)、抽出装置100は、生成した抽出用規則群から、固有表現抽出用規則400を生成する(ステップS2810)。そして、抽出装置100は、規則学習処理を終了する。
これにより、抽出装置100は、学習データ群を用いて、同一表記・種類単語判別規則300および固有表現抽出用規則400を機械学習により生成することができる。そのため、抽出装置100の利用者は、同一表記・種類単語判別規則300および固有表現抽出用規則400を生成する手間を削減することができる。
(実施例2にかかる抽出装置100による固有表現抽出処理の具体例)
次に、図29〜図32を用いて、実施例2にかかる抽出装置100による固有表現抽出処理の具体例について説明する。実施例2にかかる固有表現抽出処理は、固有表現の抽出対象のデータを変換して得たチャンクのラティスの中から固有表現のチャンクを抽出する処理であり、図5を用いて説明した処理である。
図29は、抽出装置100による固有表現抽出の対象になるチャンクのラティスの一例を示す説明図である。図29に示すように、抽出装置100は、固有表現の抽出対象になる入力データ「B商事の社員はB商事へ行きB商事から帰る。」を受け付ける。そして、抽出装置100は、入力データから、固有表現抽出の対象になるチャンクのラティス2900を生成する。
抽出装置100は、具体的には、例えば、入力データ「B商事の社員はB商事へ行きB商事から帰る。」を形態素解析し、単語ごとに区切る。単語ごとに区切られた学習データは、例えば、「B 商事 の 社員 は B 商事 へ 行き B 商事 から 帰る 。」である。
抽出装置100は、単語ごとに区切られた学習データの中から、2単語ずつ組み合わせたチャンクを生成する。例えば、抽出装置100は、「B商事」「商事の」「の社員」「社員は」などのチャンクを生成する。そして、抽出装置100は、生成したチャンクから、チャンクのラティスを生成する。そして、抽出装置100は、生成したチャンクのラティスを、固有表現抽出の対象になるチャンクのラティスとして特定する。
図30および図31は、実施例2にかかる抽出装置100による固有表現抽出処理の具体例を示す説明図である。図30において、(1)抽出装置100は、チャンクのラティス2900の中から、同一表記のチャンクの組として、「B商事」2901と「B商事」2902の組と、「B商事」2901と「B商事」2903の組と、「B商事」2902と「B商事」2903の組と、を抽出する。また、抽出装置100は、例えば、同一表記のチャンクの組として、「B」の組や「商事」の組を抽出してもよい。
そして、抽出装置100は、「B商事」2901と「B商事」2902の組について、「B商事」2901と「B商事」2902の各々の周辺にある単語の組み合わせ「の&へ」、「社員&行く」などを手がかりとして特定する。また、抽出装置100は、「B商事」2901と「B商事」2903の組について、「B商事」2901と「B商事」2903の各々の周辺にある単語の組み合わせ「の&から」、「社員&帰る」などを手がかりとして特定する。また、抽出装置100は、「B商事」2902と「B商事」2903の組について、「B商事」2902と「B商事」2903の各々の周辺にある単語の組み合わせ「へ&から」、「行き&帰る」などを手がかりとして特定する。
(2)そして、抽出装置100は、判別エンジンを用いて、生成された手がかりに該当する同一表記・種類単語判別規則300の判別規則を特定する。判別エンジンは、該当する判別規則が複数ある場合、尤もらしい判別規則を特定する。抽出装置100は、判別エンジンによって特定された判別規則により、「B商事」2901と「B商事」2902の組と「B商事」2901と「B商事」2903の組と「B商事」2902と「B商事」2903の組との各々が同一種類か否かを判別する。
ここでは、抽出装置100は、同一表記・種類単語判別規則300と、共起単語「行き」と「帰る」の組み合わせとから、「B商事」2902と「B商事」2903の組が同一種類であると判別する。
図31において、抽出装置100は、以降の処理で、図30で同一種類と判別された「B商事」2902と「B商事」2903を一纏めにして扱う。
(1)抽出装置100は、チャンクのラティス2900の中のチャンクごとに、または一纏めにされたチャンクごとに、チャンクの種類を抽出するための手がかりを特定する。抽出装置100は、具体的には、例えば、一纏めにされた「B商事」2902と「B商事」2903の周辺にある単語から、手がかりとして「社員:−2」、「は:−1」、「へ:+1」、「行き:+2」、「へ:−2」、「行き:−1」、「から:+1」、および「帰る:+2」を特定する。また、抽出装置100は、同一種類の他のチャンクがない「B商事」2901の周辺にある単語から、手がかりとして「の:+1」、および「社員:+2」を特定する
(2)次に、抽出装置100は、判別エンジンを用いて、生成された手がかりに該当する固有表現抽出用規則400の抽出用規則を特定する。判別エンジンは、該当する抽出用規則が複数ある場合、尤もらしい抽出用規則を特定する。抽出装置100は、学習エンジンによって特定された抽出用規則により、チャンクのラティス2900の中のチャンクごとに、または一纏めにされたチャンクごとに、チャンクの種類を抽出する。ここでは、抽出装置100は、「B商事」2902と「B商事」2903の種類として「LOC」を抽出し、「B商事」2901の種類として「ORG」を抽出する。
これにより、抽出装置100は、同一表記かつ同一種類のチャンクについては、一纏めにして同じチャンクの種類を抽出することができる。また、抽出装置100は、同一表記であっても異なる種類のチャンクについては、他の同一表記のチャンクとは別個にチャンクの種類を抽出することができるようになる。結果として、抽出装置100は、同一表記かつ同一種類のチャンクを一纏めにして同じ種類のチャンクとして抽出することで、同一種類のチャンクを異なる種類のチャンクとして抽出することを防止して、抽出精度の向上を図ることができる。また、抽出装置100は、同一表記であっても異なる種類のチャンク同士を、別個に扱ってチャンクの種類を抽出することで、誤って同じ種類のチャンクとして抽出することを防止し、抽出精度の向上を図ることができる。
(実施例2にかかる抽出装置100による固有表現抽出結果の出力例)
次に、図32を用いて、実施例2にかかる抽出装置100による固有表現抽出結果の出力例について説明する。抽出装置100は、図29〜図31での固有表現抽出結果を出力する。
図32は、実施例2にかかる抽出装置100による固有表現抽出結果の出力例を示す説明図である。図32に示すように、抽出装置100は、例えば、抽出した単語の種類をタグとして付与したチャンクのラティス2900「<ORG>B商事</ORG>の社員は<LOC>B商事</LOC>へ行き<LOC>B商事</LOC>から帰る。」を出力する。
(実施例2にかかる固有表現抽出処理の詳細な処理手順)
次に、図33を用いて、実施例2にかかる固有表現抽出処理の詳細な処理手順について説明する。実施例2にかかる固有表現抽出処理は、図29〜図32に示した抽出装置100によって行われる処理である。
図33は、実施例2にかかる固有表現抽出処理の詳細な処理手順を示すフローチャートである。図33に示すように、まず、抽出装置100は、入力データを受け付ける(ステップS3301)。次に、抽出装置100は、入力データをチャンク単位で分割されたチャンクのラティスに変換する(ステップS3302)。
そして、抽出装置100は、同一表記・種類単語判別規則300を参照して、入力データの中で同一表記かつ同一種類のチャンクの組を特定する(ステップS3303)。次に、抽出装置100は、入力データの中から、未処理のチャンクを選択する(ステップS3304)。そして、抽出装置100は、ステップS3303の特定結果から、選択したチャンクと同一表記かつ同一種類のチャンクがあるか否かを判定する(ステップS3305)。
ここで、同一表記かつ同一種類のチャンクがある場合(ステップS3305:Yes)、抽出装置100は、同一表記かつ同一種類のチャンクの組の各々から特定した手がかりと、固有表現抽出用規則400と、から同一表記かつ同一種類のチャンクの組の固有表現の種類を特定するためのスコアを規則を用いて付与する(ステップS3306)。そして、抽出装置100は、ステップS3308に移行する。
一方、抽出装置100は、同一表記かつ同一種類のチャンクがない場合(ステップS3305:No)、抽出装置100は、選択したチャンクから特定した手がかりと、固有表現抽出用規則400と、から選択したチャンクの固有表現の種類を特定するためのスコアを規則を用いて付与する(ステップS3307)。そして、抽出装置100は、ステップS3308に移行する。
次に、抽出装置100は、入力データの中に、未処理のチャンクがあるか否かを判定する(ステップS3308)。ここで、未処理のチャンクがある場合(ステップS3308:Yes)、抽出装置100は、ステップS3304に戻る。
一方、未処理のチャンクがない場合(ステップS3308:No)、最終結果の選択を行う。最終結果の選択は、各チャンクに付与された各固有表現のスコアを基に、文頭から文末まで取りうるチャンクパスのパスおよびそのパス上で取りうる固有表現の種類の組み合わせのうち、スコアの和が最大となるチャンクの列およびそれぞれの固有表現タイプを選択する。その後、抽出装置100は、抽出結果を出力する(ステップS3309)。そして、抽出装置100は、固有表現抽出処理を終了する。
これにより、抽出装置100は、同一表記かつ同一種類のチャンクについては、一纏めにして同じチャンクの種類を抽出することができる。また、抽出装置100は、同一表記であっても異なる種類のチャンクについては、他の同一表記のチャンクとは別個にチャンクの種類を抽出することができるようになる。結果として、抽出装置100は、同一表記かつ同一種類のチャンクを一纏めにして同じ種類のチャンクとして抽出することで、同一種類のチャンクを異なる種類のチャンクとして抽出することを防止して、抽出精度の向上を図ることができる。また、抽出装置100は、同一表記であっても異なる種類のチャンク同士を、別個に扱ってチャンクの種類を抽出することで、誤って同じ種類のチャンクとして抽出することを防止し、抽出精度の向上を図ることができる。
以上説明したように、抽出装置100は、固有表現の抽出対象になるテキストデータ110の中に、同一表記の単語がある場合、当該単語が同一種類の単語か否かを判別する。次に、抽出手段は、同一表記かつ同一種類の単語は一纏めにして同じ単語の種類を抽出し、同一表記であっても異なる種類の単語は別個に単語の種類を抽出する。
結果として、抽出装置100は、同一表記かつ同一種類の単語を一纏めにして同じ種類の単語として抽出することで、同一種類の単語を異なる種類の単語として抽出することを防止して、抽出精度の向上を図ることができる。また、抽出装置100は、同一表記であっても異なる種類の単語同士を、別個に扱って単語の種類を抽出することで、誤って同じ種類の単語として抽出することを防止し、抽出精度の向上を図ることができる。
また、抽出装置100は、学習データから同一表記・種類単語判別規則300および固有表現抽出用規則400を機械学習により生成することができる。そのため、抽出装置100の利用者は、同一表記・種類単語判別規則300および固有表現抽出用規則400を生成する手間を削減することができる。
また、抽出装置100は、固有表現の抽出対象になるテキストデータ110をチャンクごとに分割してチャンクのラティスを生成し、チャンクのラティスの中に、同一表記のチャンクがある場合、当該チャンクが同一種類のチャンクか否かを判別する。次に、抽出手段は、同一表記かつ同一種類のチャンクは一纏めにしてチャンクの種類を抽出し、同一表記であっても異なる種類のチャンクは別個にチャンクの種類を抽出する。
結果として、抽出装置100は、同一表記かつ同一種類のチャンクを一纏めにして同じ種類のチャンクとして抽出することで、同一種類のチャンクを異なる種類のチャンクとして抽出することを防止して、抽出精度の向上を図ることができる。また、抽出装置100は、同一表記であっても異なる種類のチャンク同士を、別個に扱ってチャンクの種類を抽出することで、誤って同じ種類のチャンクとして抽出することを防止し、抽出精度の向上を図ることができる。
なお、本実施の形態で説明した抽出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本抽出プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本抽出プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)共起単語の組み合わせと、前記共起単語の各々とともに出現する同一表記の単語が同一種類の単語であるか否かを示す情報と、を関連付けた判別規則を記憶する第1の記憶部と、
前記共起単語と当該共起単語までの距離の組み合わせと、当該距離に応じて規定された単語の種類を示す情報と、を関連付けた抽出用規則を記憶する第2の記憶部と、
一連の単語の中から第1の単語および当該第1の単語と同一表記の第2の単語を検出する検出部と、
前記検出部によって検出された第1の単語が前記共起単語の一方とともに出現し、かつ、前記検出部によって検出された第2の単語が前記共起単語の他方とともに出現する判別規則が前記第1の記憶部にあるか否かを判別し、判別規則がある場合、当該判別規則から前記第1の単語と前記第2の単語とが同一種類か否かを判別する判別部と、
前記判別部によって同一種類であると判別された場合、前記一連の単語の中から、前記第1の単語および前記第2の単語の各々から所定距離以内に存在する単語と当該単語までの距離との組み合わせを特定する特定部と、
前記特定部によって特定された組み合わせに関連付けられた単語の種類を示す情報を前記第2の記憶部に記憶されている抽出用規則から抽出し、前記第1の単語および前記第2の単語に付与する抽出部と、
前記抽出部により付与された前記一連の単語を出力する出力部と、
を有することを特徴とする抽出装置。
(付記2)前記一連の単語を、チャンクを含む複数通りの単語列に変換する変換部を有し、
前記検出部は、
前記変換部によって変換された複数の単語列の中から第1のチャンクおよび当該第1のチャンクと同一表記の第2のチャンクを検出し、
前記判別部は、
前記検出部によって検出された第1のチャンクが前記共起単語の一方とともに出現し、かつ、前記検出部によって検出された第2のチャンクが前記共起単語の他方とともに出現する判別規則が前記第1の記憶部にあるか否かを判別し、判別規則がある場合、当該判別規則から前記第1の単語と前記第2の単語とが同一種類か否かを判別し、
前記特定部は、
前記判別部によって同一種類であると判別された場合、前記変換後の単語列の中から、前記第1のチャンクおよび前記第2のチャンクの各々から所定距離以内に存在する単語と当該単語までの距離との組み合わせを特定し、
前記抽出部は、
前記特定部によって特定された組み合わせに関連付けられた単語の種類を示す情報を前記第2の記憶部に記憶されている抽出用規則から抽出し、前記第1のチャンクおよび前記第2のチャンクに付与することを特徴とする付記1に記載の抽出装置。
(付記3)単語の種類を示す情報が付与された単語を含む単語列の中から同一表記の単語の組み合わせを取得する第1の取得部と、
前記第1の取得部によって取得された組み合わせの各々の単語とともに出現する共起単語の組み合わせを、前記単語の種類を示す情報が付与された単語を含む単語列の中から取得する第2の取得部と、
前記同一表記の単語の組み合わせの各々の単語に付与された単語の種類を示す情報に基づいて、前記同一表記の単語が、同一種類の単語であるか否かを判断する判断部と、
前記第2の取得部によって取得された共起単語の組み合わせと、前記判断部によって判断された判断結果とを、関連付けた判別規則を生成する生成部と、
前記生成部によって生成された判別規則を前記第1の記憶部に格納する格納部と、
を有することを特徴とする付記1または2に記載の抽出装置。
(付記4)前記検出部は、
単語の種類を示す情報が付与された単語を含む単語列の中から第3の単語および当該第3の単語と同一表記の第4の単語を検出し、
前記判別部は、
前記検出部によって検出された第3の単語が前記共起単語の一方とともに出現し、かつ、前記検出部によって検出された第4の単語が前記共起単語の他方とともに出現する判別規則が前記第1の記憶部にあるか否かを判別し、判別規則がある場合、当該判別規則から前記第1の単語と前記第2の単語とが同一種類か否かを判別し、
前記特定部は、
前記判別部によって同一種類であると判別された場合、前記単語の種類を示す情報が付与された単語を含む単語列の中から、前記第3の単語および前記第4の単語の各々から所定距離以内に存在する単語と当該単語までの距離との組み合わせを特定し、
前記生成部は、
前記特定部によって特定された単語と当該単語までの距離との組み合わせと、前記第3の単語と前記第4の単語のいずれかの単語に付与されている単語の種類を示す情報と、を関連付けた抽出用規則を生成し、
前記格納部は、
前記生成部によって生成された抽出用規則を前記第2の記憶部に格納することを特徴とする付記3に記載の抽出装置。
(付記5)コンピュータに、
一連の単語の中から第1の単語および当該第1の単語と同一表記の第2の単語を検出し、
共起単語の組み合わせと、前記共起単語の各々とともに出現する同一表記の単語が同一種類の単語であるか否かを示す情報と、を関連付けた判別規則を記憶する第1の記憶部に、検出された第1の単語が前記共起単語の一方とともに出現し、かつ、検出された第2の単語が前記共起単語の他方とともに出現する判別規則があるか否かを判別し、判別規則がある場合、当該判別規則から前記第1の単語と前記第2の単語とが同一種類か否かを判別し、
同一種類であると判別された場合、前記一連の単語の中から、前記第1の単語および前記第2の単語の各々から所定距離以内に存在する単語と当該単語までの距離との組み合わせを特定し、
前記共起単語と当該共起単語までの距離の組み合わせと、当該距離に応じて規定された単語の種類を示す情報と、を関連付けた抽出用規則を記憶する第2の記憶部に記憶されている抽出用規則から、特定された組み合わせに関連付けられた単語の種類を示す情報を抽出し、前記第1の単語および前記第2の単語に付与し、
付与された前記一連の単語を出力する、
処理を実行させることを特徴とする抽出プログラム。
(付記6)コンピュータが、
一連の単語の中から第1の単語および当該第1の単語と同一表記の第2の単語を検出し、
共起単語の組み合わせと、前記共起単語の各々とともに出現する同一表記の単語が同一種類の単語であるか否かを示す情報と、を関連付けた判別規則を記憶する第1の記憶部に、検出された第1の単語が前記共起単語の一方とともに出現し、かつ、検出された第2の単語が前記共起単語の他方とともに出現する判別規則があるか否かを判別し、判別規則がある場合、当該判別規則から前記第1の単語と前記第2の単語とが同一種類か否かを判別し、
同一種類であると判別された場合、前記一連の単語の中から、前記第1の単語および前記第2の単語の各々から所定距離以内に存在する単語と当該単語までの距離との組み合わせを特定し、
前記共起単語と当該共起単語までの距離の組み合わせと、当該距離に応じて規定された単語の種類を示す情報と、を関連付けた抽出用規則を記憶する第2の記憶部に記憶されている抽出用規則から、特定された組み合わせに関連付けられた単語の種類を示す情報を抽出し、前記第1の単語および前記第2の単語に付与し、
付与された前記一連の単語を出力する、
処理を実行することを特徴とする抽出方法。