(57)【要約】テキストから属性値が数値である数値属性の属性／属性値ペアを高精度に抽出する。自然言語処理装置は、正解テキストから、属性と属性値のペアを抽出し、属性値の分布にしたがって、未知の数値に対する各属性の妥当性を計算する。各属性の妥当性の計算は、正解テキスト中の属性値の分布に最も合致した分布を推定し、推定された分布を用いることによって行う。複数の属性値が存在する場合、属性と属性値間の関係に加えて、属性間の関係を正解テキストから学習することにより、適切な組み合わせを探索する。
2018025317.tif 000002
【特許請求の範囲】
【請求項１】
入力されたテキストデータの文書構造を解析する自然言語処理装置であって、
前記テキストデータから数値属性と属性値のペアの候補を抽出する抽出部と、
所定の数値属性に対応する属性値の分布を示す第１のモデルに基づき、抽出した前記数値属性と前記属性値のペアの候補の妥当性を示す値を算出する第１の算出部と、
前記妥当性を示す値に基づき、前記候補のなかから、前記数値属性と前記属性値のペアを決定する判定部とを備えることを特徴とする自然言語処理装置。
【請求項２】
請求項１に記載の自然言語処理装置であって、前記第１のモデルは、数値属性と属性値のペアを特定する情報を含むテキストデータを教師データとして学習することにより推定されたモデルであることを特徴とする自然言語処理装置。
【請求項３】
請求項２に記載の自然言語処理装置であって、前記第１のモデルは、パラメトリックな推定方法又はノンパラメトリックな推定方法によって推定されたモデルであることを特徴とする自然言語処理装置。
【請求項４】
請求項３に記載の自然言語処理装置であって、
第２のモデルに基づき、前記数値属性間の関係性の強弱を示す値を算出する第２の算出部を更に備え、
前記判定部は、前記第１及び前記第２の算出部により算出された値に基づき、前記数値属性と前記属性値のペアを決定することを特徴とする自然言語処理装置。
【請求項５】
請求項４に記載の自然言語処理装置であって、前記第２のモデルは、前記教師データに含まれる複数の数値属性が所定の距離内で出現する頻度に基づき算出されたモデルであることを特徴とする自然言語処理装置。
【請求項６】
自然言語処理装置に入力されたテキストデータの文書構造を解析する自然言語処理方法であって、
前記自然言語処理装置が、
入力された前記テキストデータから数値属性と属性値のペアの候補を抽出し、
所定の数値属性に対応する属性値の分布を示す第１のモデルに基づき、抽出した前記数値属性と前記属性値のペアの候補の妥当性を示す値を算出し、
前記妥当性を示す値に基づき、前記候補のなかから、前記数値属性と前記属性値のペアを決定することを特徴とする自然言語処理方法。
【請求項７】
請求項６に記載の自然言語処理方法であって、前記第１のモデルは、数値属性と属性値のペアを特定する情報を含むテキストデータを教師データとして学習することにより推定されたモデルであることを特徴とする自然言語処理方法。
【請求項８】
請求項７に記載の自然言語処理方法であって、前記第１のモデルは、パラメトリックな推定方法又はノンパラメトリックな推定方法によって推定されたモデルであることを特徴とする自然言語処理方法。
【請求項９】
請求項８に記載の自然言語処理方法であって、
更に、第２のモデルに基づき、前記数値属性間の関係性の強弱を示す値を算出し、
前記第１及び前記第２の算出部により算出された値に基づき、前記数値属性と前記属性値のペアを決定することを特徴とする情報処理装置。
【請求項１０】
請求項９に記載の自然言語処理方法であって、前記第２のモデルは、前記教師データに含まれる複数の数値属性が所定の距離内で出現する頻度に基づき算出されたモデルであることを特徴とする自然言語処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理の構文解析技術に関する。特に、テキストから数値属性の属性と属性値のペアを抽出する技術に関する。
【背景技術】
【０００２】
パソコン及びインターネットの普及によって、ユーザがアクセス可能な電子化文書の量が増大している。電子化文書は、非構造データであり計算機で扱うことが困難である。そのため、大量の電子化文書を構造化することで有効に活用するために、自然言語処理に対する期待が高まっている。電子化文書を構造化するための技術の一つに属性／属性値抽出(attribute-value extraction)がある。属性／属性値抽出は、例えば、「性別」のような属性と「女性」のような属性値のペアをテキストから抽出する技術である。様々な情報源から、ある製品に関して、その仕様を記述する様々な属性とその属性値を抽出し、統合して表示するといった用途で用いられる。このような属性の中で、属性値が数値であるものを数値属性と呼ぶことにする。製品の仕様の場合には、重量や大きさが数値属性にあたる。このような数値属性は、定量的・客観的な情報であり、属性／属性値情報の中でも特に価値が大きい。このような重要性を鑑み、数値属性を含む属性／属性値ペアを自動抽出する公知技術が存在する。以下に、属性／属性値ペアを抽出する公知技術について説明する。【０００３】
数値属性に関する属性／属性値ペアの抽出に関して最も標準的な技術は、構文的な情報を手掛かりとして用いる（非特許文献１）。非特許文献１では、例えば、「重さは１０Ｋｇである。」といった文に対して、まず、属性値候補として「１０Ｋｇ」という数値文字列を抽出し、構文解析の結果から、「重さ」が属性であることを認識する技術が開示されている。しかしながら、文書の種類によっては、構文的な手掛かりがほとんどない文書が存在する。構文的な情報を得るための構文解析技術では、現在の技術レベルでは、必ずしも正しい解を得ることができない。そのため、属性と属性値の関係の強さを手掛かりとする意味的な方法が必要となる。【０００４】
構文的な情報以外の情報を用いて、属性／属性値ペアを抽出する公知技術として、「近接性」を手掛かりとする技術、属性と属性値の「相関性」を手掛かりとする技術が存在する（非特許文献２）。非特許文献２では、まず、第１のステップとして、属性あるいは属性値の候補となる語句をテキストから抽出する。次に、第２のステップとして、属性候補および属性値候補のペアの対応関係を判定する。このとき、特に第２のステップにおいて、「構文情報」「近接性」「相関性」を適宜組み合わせて用いる技術が開示されている。「近接性」は構文情報の近似であり、「相関性」が意味的な情報にあたる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許７９２５６５２号
【非特許文献】
【０００６】
【非特許文献１】藤畑, 志賀, 森, 係り受けの制約と優先規則に基づく数量表現抽出、情報処理学会研究会報告, NL145-18,pp.119-125.
【非特許文献２】R Ghani, K Probst, Y Liu, M Krema, A Fano, Text mining for product attribute extraction, ACM SIGKDD Explorations Newsletter 8 (1), 41-48.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように、非特許文献２に開示された技術は、構文的な情報が手掛かりとして使用できない場合でも、属性／属性値間の意味的な関係の強さを示す相関性を用いることで、属性／属性値を対応付けることができる。しかしながら、従来技術には、以下の問題が存在する。【０００８】
数値以外の属性に関する属性値は、有限かつ種類数がそれほど大きくない。そのため、属性と属性値間の関係の強さを、全ての属性値に対して列挙することが可能である。例えば、ある製品の属性として、「製造企業」を考えると、属性値として「Ａ社」「Ｂ社」「Ｃ社」のような属性値が存在し、＜製造企業，Ａ社＞、＜製造企業，Ｂ社＞、＜製造企業，Ｃ社＞のような属性／属性値ペアのそれぞれに対して、関係の強さを考えることが可能である。具体的には、各ペアの出現頻度に基づいて、自己相互情報量のような統計量を計算すれば良い。このような関係の強さを、正解データ等を用いて学習することで、テキスト中の属性／属性値ペアをテキストから抽出することが可能となる。【０００９】
一方、数値属性の場合、属性値である数値は、原理的には連続であり無限の種類の値が存在する。実際上は、例えば、血圧のような属性の場合、属性値は整数で表現されており、離散的ではあるが、属性値の種類数は非常に大きくなる。そのため、学習に用いるデータの中に全ての属性値が出現していることは期待できない。よって、数値以外の属性の場合のような方法で、属性と属性値の関係の強さを予め学習しておくことが困難である。【００１０】
本発明は、数値属性である属性と属性値のペアの関係の強さを計算する手段を与えることで、数値属性である属性／属性値ペアを正確かつ高速に抽出することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の代表的な一例は、入力されたテキストデータの文書構造を解析する自然言語処理装置であって、テキストデータから数値属性と属性値のペアの候補を抽出する抽出部と、所定の数値属性に対応する属性値の分布を示すモデルに基づき、抽出した数値属性と属性値のペアの候補の妥当性を示す値を算出する算出部と、算出された妥当性を示す値に基づき、抽出された候補のなかから数値属性と属性値のペアを決定する判定部とを備える。
【発明の効果】
【００１２】
本発明の一態様によれば、テキスト中に出現する数値属性である属性／属性値ペアを高精度かつ高速に抽出できる。上記以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】数値属性抽出装置の構成を示す。
【図２】数値属性抽出プログラムによって実行される数値属性抽出処理の概略を示す。
【図３】数値属性抽出プログラムによる数値属性抽出処理のフローチャートを示す。
【図４】正解テキストの構成例を示す。
【図５】属性／属性値ペアリストの構成例を示す。
【図６】属性／属性値関係性モデル学習処理のフローチャートを示す。
【図７】属性／属性値関係性モデルの構成例を示す。
【図８】属性間関係性モデル学習処理のフローチャートを示す。
【図９】属性間関係性モデルの構成例を示す。
【図１０】属性／属性値ペア判定処理の説明図である。
【図１１】属性／属性値ペア判定処理のフローチャートを示す。
【図１２】属性／属性値ペア判定処理のフローチャートを示す。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【００１５】
以下において、数値属性の属性と属性値のペアをテキストから抽出する方法を開示し、より具体的には、属性毎の属性値の分布をモデルとして学習し、モデルに基づいて、ある数値の属性を判定する方法を開示する。本開示の目的の一つは、数値属性の属性と属性値の関係の強さを正解データから学習することで、属性／属性値ペアを高精度に抽出することである。
【００１６】
本開示の技術の一例は、正解データから属性毎の属性値の分布をモデルとして学習し、ある数値が与えられたときに、与えられた数値と各属性の関係の強さを、事後確率として計算し、計算された事後確率によって属性を抽出する。
【００１７】
また、正解データから、属性間の関係の強さをモデルとして学習し、属性の出現順序を考慮することによって、属性／属性値ペアの抽出精度を向上することができる。
【００１８】
以下において、本開示の構成を具体的に説明する。図１は、本実施形態の同義語抽出装置１００の構成を示す。同義語抽出装置１００は、ＣＰＵ１０１、主メモリ１０２、入出力装置１０３、及びディスク装置１１０を備える。
【００１９】
ＣＰＵ１０１はプロセッサであって、主メモリ１０２に記憶されたプログラムを実行することによって各種処理を実行する。具体的には、ＣＰＵ１０１は、ディスク装置１１０に記憶されたプログラムを主メモリ１０２にロードし、主メモリ１０２にロードされたプログラムを実行する。プログラムは、ネットワークを介して外部サーバから主メモリ１０２にロードされてもよい。
【００２０】
主メモリ１０２は、ＣＰＵ１０１によって実行されるプログラム及びＣＰＵ１０１によって必要とされるデータを記憶する。入出力装置１０３は、ユーザからの情報の入力を受け付けるとともに、ＣＰＵ１０１の指示に応じて情報を出力する。例えば、入出力装置１０３は、キーボード及びマウス等の入力装置、並びに、ディスプレイ等の出力装置である。
【００２１】
ディスク装置１１０は、計算機読み取り可能な非一時的記憶媒体を含む補助メモリである。ディスク装置１１０は、各種プログラム及び各種データを記憶する。具体的には、ディスク装置１１０は、ＯＳ１１１、数値属性抽出プログラム１１２、正解テキスト１１３、新規テキスト１１４、属性／属性値ペアリスト１１５、教師データ１１６、数値属性抽出モデル１１７を記憶する。
【００２２】
数値属性抽出モデル１１７は、属性の候補と属性値の候補のペアが、真に属性／属性値ペアであるかどうかを判定するために用いる属性／属性値関係性モデル１１７１、属性と属性が同時に出現し易いかどうかを示す属性間関係性モデル１１７２を含む。
【００２３】
数値属性抽出プログラム１１２は、入力されたテキスト１１４に含まれる語句のペアが属性／属性値ペアであるかどうかを判定し、数値属性の属性／属性値ペアであると判定された語句のペアを属性／属性値ペアとして抽出する。数値属性抽出プログラム１１２は、正解ペア抽出サブプログラム１１２１、教師データ作成サブプログラム１１２２、モデル学習サブプログラム１１２３、属性／属性値候補抽出サブプログラム及び属性／属性値ペア判定サブプログラム１１２５を含む。これらのプログラムの処理は図２で詳細を説明する。
【００２４】
ＣＰＵ１０１は、上記プログラムを実行することによって所定の機能を実現する。プログラムはプロセッサによって実行されることで、定められた処理を行う。従って、本開示において、プログラムを主語とする説明は、ＣＰＵ１０１又は同義語抽出装置１００を主語とした説明でもよい。
【００２５】
ＣＰＵ１０１は、プログラムに従って動作することによって、所定の機能を実現する機能部（手段）として動作する。例えば、ＣＰＵ１０１は、数値属性抽出プログラム１１２に従って動作することで数値属性抽出部（数値属性抽出手段）として機能する。数値属性抽出装置１００は、これらの機能部（手段）を含む装置である。
【００２６】
正解テキスト１１３は、数値属性抽出プログラム１１２へ入力されるデータであり、数値属性の属性／属性値ペアを抽出するためのモデルを学習するために使用される。正解テキスト１１３は、数値属性の属性および対応する属性値の出現位置を特定するのに必要な情報が負荷されたテキストであって、任意のフォーマットを持ち得る。例えば、テキスト中に属性あるいは属性値であることを示すタグを挿入する、テキストとは別に属性あるいは属性値の開始位置、終了位置を示すテーブルを準備する等の方法で、正解テキスト１１３を構成する。
【００２７】
新規テキスト１１４は、数値属性の属性／属性値ペア抽出の対象となるテキストである。通常、正解テキスト１１３とは異なる新しいテキストが対象である。また、新規テキストに対して、属性／属性値ペア抽出を実行した後、正解テキスト１１３として登録することもできる。
【００２８】
属性／属性値ペアリスト１１５は、正解テキスト１１５から抽出された属性を示す文字列と属性値を示す文字列のペアのテキスト内での出現位置順のリストである。異なるテキストに含まれるペアの位置関係は任意である。付加的な情報として、文字列の出現位置や属性値の単位を示す文字列等が格納される。教師データ１１６は、属性／属性値ペアリストと同一な形式である。ただし、属性や属性値の数値の正規化を行った結果を格納する。属性の正規化とは、”ANION GAP”、”Anion Gap”のような異表記を統一することを示す。属性値の正規化とは、”300mg”と”0.3g”のような見た目が異なる数値文字列に関し、単位を手掛かりにどちらかの単位に揃えることである。
【００２９】
数値属性抽出モデル１１７は、属性／属性値ペア判定サブプログラム１１２５が使用するデータであり、属性／属性値関係モデル１１７１と属性間関係性モデル１１７２からなる。属性／属性値関係性モデル１１７１は、二つの語句が対応する属性と属性値のペアであるか否かを判定するための基準を示す。具体的には、属性／属性値関係性モデル１１７１は、各属性毎の属性値の分布を表現している。属性間関係性モデル１１７２は、２つの属性間の関係の強さ、すなわちある属性が出現しているときに、他のどの属性が出現し易いかを示す。具体的には、属性間関係性モデル１１７２は、先行して出現する属性に関する、後続して出現する属性の条件付き確率を表現している。
【００３０】
図２は、同義語抽出装置１００によって実行される数値属性抽出処理の概略を示す。正解ペア抽出サブプログラム１１２１は、正解テキスト１１３から属性／属性値ペアを取得し、属性／属性値ペアリスト１１５を生成する。
【００３１】
教師データ作成サブプログラム１１２２は、属性／属性値ペアリスト１１５を参照し、正規化すべき属性および属性値を特定し、属性および属性値を正規化する。
【００３２】
モデル学習サブプログラム１１２３は、教師データ１１６を読み込み、数値属性抽出モデル１１７を学習する。属性／属性値ペア候補抽出サブプログラム１１２４は、新規テキスト１１４を読み込み、属性および属性値の候補となる文字列を抽出する。属性／属性値ペア判定サブプログラム１１２５は、属性および属性値の候補となる文字列を属性／属性値ペア候補抽出サブプログラム１１２４から受け取り、数値属性抽出モデル１１７を用いて、属性候補と属性値候補のペアが属性／属性値ペアであるか否かを判定する。属性／属性値ペアと判定された語句のペアは、必要であれば人手のチェックを介して、正解テキスト１１４に格納される。
【００３３】
図３は、数値属性抽出プログラム１１２による数値属性抽出処理のフローチャートを示す。正解ペア抽出サブプログラム１１２１は、正解テキスト１１３から数値属性の属性と属性値のペアを正解として取得し、属性／属性値ペアリストとして出力する（Ｓ１１）。図４に正解テキストの例を示す。図４の例では、テキストに加え、テキスト中の属性と属性値のペアの出現位置のリストを付与したものを正解テキストとしている。また、ここでは正解テキストを人手で作成したものとしているが、正解テキストの替わりに、構文解析結果やパターンマッチングを用いる従来技術によってテキストから属性／属性値ペアを抽出し、正解である可能性が高いペアのみを正解としたテキストを用いても良い。本実施例の方法は、数値属性の属性値の分布を用いて属性／属性値ペアを決定するため、従来技術で用いられる情報とは独立であるため、このような代替テキストでも問題が少ない。図５に属性／属性値ペアリスト１１５の例を示す。属性／属性値ペアリスト１１５は、正解テキストから抽出された、属性と属性値および付加的な情報が各行に格納されたデータである。図５の例では、１行目が、文書IDが1の文書の文IDが1の文中に、「ALT」(アラニンアミノ基転移酵素; Alanine transaminase)という数値属性に対し、属性値が「7」という数値を持つ属性／属性値ペアが存在し、属性値の単位として「U/L」が使用されていたことを示している。
【００３４】
教師データ作成サブプログラム１１２２は、取得した属性／属性値ペア１１５から教師データ１１６を生成する（Ｓ１２）。ステップ１２では、属性および属性値を正規化する。属性の正規化については、従来技術として知られている同義語抽出、表記揺れの抽出技術を用い、正規化を行う。図５の例の場合、「ALT」と「AlT(SGPT)」が「ALT」に正規化される。属性値については、まず、テキストから抽出した数値文字列を数値に変換する。その後、単位を参照し、単位が不揃いな場合は、標準的な単位に統合し、数値を変換する。例えば、「200mg」のような属性値と「0.3g」のような属性値が存在する場合は、「mg」「g」を、例えば「mg」に揃え、「0.3」を「300」に変換する。
【００３５】
モデル学習サブプログラム１１２３は、教師データ１１６から数値属性抽出モデル１１７を学習する（Ｓ１３）。数値属性抽出モデル１１７は、属性／属性値関係性モデル１１７１と属性間関係性モデル１１７２からなる。ステップＳ１３の詳細は、図６を参照して後述する。
【００３６】
属性／属性値候補抽出サブプログラム１１２４は、属性／属性値ペアの抽出対象である新規テキスト１１４から、属性あるいは属性値の候補を抽出する（Ｓ１４）。属性および属性値の候補の抽出に関しては、従来技術として知られている情報抽出技術を使用することができるため説明は省略する。本ステップでは、属性あるいは属性値の候補がエンティティとして抽出される。
【００３７】
属性／属性値ペア判定サブプログラム１１２５は、ステップ１４で抽出された属性あるいは属性値候補のペアに対し、真に対応する属性／属性値ペアであるかを判定し、属性／属性値ペアを抽出する（Ｓ１５）。ステップ１５の詳細は、図１０〜１２を参照して後述する。
【００３８】
以下では、Ｓ１３の数値属性抽出モデルの学習処理について説明する。本実施例では、数値属性抽出モデルとして、以下の２種類のモデルを用いる。一つは、属性と属性値の関係性の強さを示す属性／属性値関係性モデル１１７１である。属性／属性値関係性モデル１１７１は、ある値がある属性の値であるかどうかの妥当性を示すモデルである。もう一つは、属性間の関係性の強さを表す属性間関係性モデル１１７２である。属性間関係性モデル１１７２は、ある属性が出現しているときに出現し易い他の属性を示すモデルである。
【００３９】
図６に属性／属性値関係性モデル１１７１の学習処理の処理フローを示す。
【００４０】
教師データ１１６を参照して全属性について処理したかどうかを調べ、処理済みであれば全体の処理を終了する。未処理の属性があれば、Ｓ１３０２に進む（Ｓ１３０１）。
【００４１】
未処理の属性の中から１個を選択し、選択された属性に対する全ての属性値を取得する（Ｓ１３０２）。
【００４２】
予め定めた少なくとも１種類以上のモデルに関し、処理を終了したかを調べ、処理済であればステップ１３０５に進む。未処理のモデルがあれば、Ｓ１３０４に進む（Ｓ１３０３）。ここでモデルとは、正規分布のような確率分布の種別を指す。属性毎に属性値の分布は異なる性質を持つため、異なる種類のモデルを予め設定しておき、最も適切なモデルを選択することが好ましい。
【００４３】
未処理のあるモデルに対し、Ｓ１３０２で取得した全属性値から最も妥当なパラメータを計算する（Ｓ１３０４）。本ステップでは、各モデル毎にＳ１３２で取得した属性値に対して最尤推定を用いて、各モデルのパラメータを決定する。本実施例では、モデルとして、正規分布、対数正規分布、矩形分布を用いる。正規分布、対数正規分布は２個、矩形分布は３個のパラメータを持つ。正規分布、対数正規分布は平均、標準偏差等の統計量から直接分布を定めることができる。矩形分布に対しては、パラメータを変化させながら、適切なパラメータを探索する。
【００４４】
各属性に対し、予め設定されたモデルの中からＳ１３０４で計算されたパラメータに基づいて、最も妥当なモデルを選択し属性／属性値関係性モデル１１７１に格納する（Ｓ１３０５）。図７に属性／属性値関係性モデル１１７１の例を示す。属性／属性値関係性モデル１１７１の各行は、各属性１１７１１に対し、最も妥当性が高いモデルの種別１１７１２、モデルのパラメータ群１１７１３からなる。モデルの妥当性を判断する方法としては様々な方法が考えられるが、本実施例では一例としてＡＩＣを用いる。図の例のALTの場合、各モデルの最尤推定値とパラメータ数から、対数正規分布が最も妥当なモデルとして選択される。
【００４５】
なお、以上の説明では、連続分布である確率分布を仮定して、ＡＩＣ等の情報量基準によって選択を行うパラメトリックな推定方法を説明したが、特定の分布を仮定しないノンパラメトリックな推定方法も考えられる。
【００４６】
ノンパラメトリックな推定方法の一例として、Ｋ-近傍法を用いる方法が考えられる。Ｋ-近傍法は、ある事例に対して最も近い順にＫ種類の事例を選択し、選択された事例の分類に基づいて、分類等を行う技術である。本実施例では、ある値に対し、教師データ１１６を参照して、値が近い順にＫ個の行を選択する。選択された行に対して、属性欄１１５４を取得し、集計を行う。このとき、選択された行におけるある属性の個数がｋであれば、ｋ／Ｋをこの属性に対する、この値の信頼度とする。この方法では、属性／属性値関係性モデルは明示的に作成されず、上記のような計算をステップ１５の属性／属性値ペアの判定処理において実行することで必要な数値を得る。なお、ノンパラメトリックな推定方法として、Ｋ−近傍法以外の核関数法等を使用しても良い。
【００４７】
また、別の例として、属性値が数値であるが、カテゴリカルなデータとして扱うことが望ましい場合がある。例えば、「薬名250mg」「薬名100mg」のように、ある薬に対し、有効成分の割合が異なる薬が存在する場合がある。このような場合、「薬名」は「250mg」の属性であるが、属性値は数種類しか存在しないため、非数値の属性値と同様の扱いをすることが望ましい。このような場合には、「250mg」「100mg」のような数値毎の件数が多くなる。そのため、出現した属性値の種類数で出現した属性値の総数を割った値が予め定めた閾値よりも大きければ、カテゴリカルなデータと考える、といった方法で、対応することができる。カテゴリカルなデータの場合は、従来のように各属性値の出現確率は最尤推定すれば良い。
【００４８】
図８に、属性間関係性モデルの学習処理の処理フローを示す。
【００４９】
属性／属性値ペアリスト１１５から、属性／属性値ペアを取得する（Ｓ１３１１）。
【００５０】
テキスト中での属性値の出現順序にしたがって属性の２−ｇｒａｍを抽出する（Ｓ１３１２）。属性の２−ｇｒａｍとは、属性が「ALT」である属性値の次に、属性が「AST」である属性値が出現している場合、＜ALT，AST＞という順序付きのペアである。この２−ｇｒａｍの頻度が高いことは、「ALT」の次に「AST」が出現し易いことを示す。
【００５１】
抽出された属性の２−ｇｒａｍの頻度を集計する（Ｓ１３１３）。
【００５２】
属性の出現順序に関する条件付き確率、すなわち、ある属性の属性値が出現した際に次に出現する属性値の属性の条件付き確率を計算し、属性間関係性モデル１１７２に格納する。属性間関係性モデル１１７２の例を図９に示す。例えば、ALTが１要素目である全ての２−ｇｒａｍを取得して、その頻度の和を求め、＜ALT，AST＞の頻度をその和で求めた値が、「ALT」が出現した際の「AST」が出現する条件付き確率となる。すなわち、この値が大きければ、「ALT」の後に「AST」が出現する可能性が高いということになる。
【００５３】
以上の例では、出現順序を２−ｇｒａｍを用いて表現した。すなわち、単純マルコフ過程を前提としたが、２次以上のマルコフ過程を用いても良い。また、順序関係として属性間の関係を表現するのではなく、例えば、一定の距離内に出現位置に出現していれば、確率が高くなるといったモデルを用いることもできる。
【００５４】
以下では、Ｓ１５の処理の詳細について説明する。Ｓ１５では、以下のように属性／属性値ペアを抽出する。まず、最も単純な例について説明する。最も単純な例の場合、属性値の候補となる数値が１個あり、属性の候補が新規テキスト１１４中に複数存在する。このような場合、属性／属性値関係性モデルによって適切な属性を以下のように決定することができる。テキスト中の属性値候補の数値に対し、各属性の条件付き確率を設定することで、各属性の尤度が与えられる。この尤度が最も高い属性を属性値候補の属性として選択すれば良い。また、属性毎の属性値の分布だけではなく、文法的な係り受けの有無や、属性／属性値間の距離（間の文字数、単語数、構文木上の距離等）を用いて教師あり学習を行うこともできる。
【００５５】
しかしながら、実際には属性候補と属性値候補が共に複数存在する場合が多い。このような場合には、上記のように属性値候補毎にスコアが最大の属性を選択する方法では誤りが発生する可能性が高く、適切な組み合わせを決定することが必要である。組み合わせ探索は、非常に大きな計算量を必要とするため、実際的な計算量で適切な組み合わせを決定する方法が必要である。本実施例では、以下のような２種類の方法、およびその組み合わせにより適切な組み合わせを決定する。
【００５６】
１つ目の方法は、属性間関係性モデル１１７２に基づく方法である。正解テキスト、すなわち過去の事例において、属性間の関係性が強いか、弱いかという情報に基づいて、組み合わせ探索を効率化することができる。以下では、文の品詞決定に用いられるマルコフタガーを適用した方法について説明する。
【００５７】
図１１に、マルコフタガーによる属性／属性値ペアの判定処理の処理フローを示す。
【００５８】
新規テキスト１１４から抽出された属性値候補から、出現順の属性値候補の系列を取得する（Ｓ１５０１）。図１０の場合、［６，２０］のような系列が得られる。
【００５９】
属性／属性値候補関係性モデルを用いて、系列中の各属性値候補に対する、属性の条件付き確率を計算し、確率が高い属性を取得する（Ｓ１５０２）。図１０の場合、属性値候補「６」に対し、「ＡＬＴ」「ＡＳＴ」「ＡＧＥ」のようなリストが得られる。
【００６０】
属性間関係性モデルを用いて、可能な属性間の遷移に対して確率を取得する（Ｓ１５０３）。図１０の場合、[ＡＬＴ，ＡＬＴ][ＡＬＴ，ＡＳＴ][ＡＬＴ，ＡＧＥ][ＡＳＴ，ＡＬＴ][ＡＳＴ，ＡＳＴ]のような遷移が可能であり、それぞれに対して、属性間関係性モデルを参照して、確率を取得する。
【００６１】
最適な属性遷移の系列を決定する（Ｓ１５０４）。最適な系列の決定は、ビタビアルゴリズムと呼ばれるアルゴリズムによって実行できるため詳細な説明は省略する。以上の処理によって、[ＡＬＴ，ＡＳＴ]という属性の系列が、属性値候補の系列［６，２０］に対して最も可能性が高いという結果が得られ、その結果、＜ＡＬＴ，６＞，＜ＡＳＴ，２０＞のような属性／属性値ペアが２個得られる。
【００６２】
図１０は、新規テキスト１１４に対して数値属性抽出を行う際の概念的な説明図である。この例の場合、属性候補として「ALT」「AST」が抽出され、属性値として「6」「20」が抽出されているとする。図１０は、これらの属性値の列に対して、属性の列を割り当てるマルコフタガーの概念図を示している。テキストから抽出された属性値候補の列が存在し、各属性値に対して可能性が高い属性の候補が、属性／属性値関係性モデル１１７１によって取得される。図１０の例の場合、例えば、属性値「6」に対して、「ALT」「AST」「AGE」という属性が、妥当性が高い順に取得されている。このとき、属性値「20」に対しては、最も妥当性が高い属性は「ALT」となっており、誤った結果が得られてしまう。
【００６３】
そのため、属性間関係性モデル１１７２を用いて次のように処理を行う。
【００６４】
図１１に示した処理フローでは、テキスト中の属性候補は明示的には使用されていない。属性間の順序は、正解データ１１３のような過去のデータに多く出現した順序が優先される。しかしながら、マルコフタガーが通常使用される文中の品詞の順序の決定と比較すると、属性の順序をどのように記載するかは自由度が高い。そのため、新規テキスト１１４から得られる属性候補の情報をより積極的に使用する方法が考えられる。以下、ＤＰマッチングによる属性／属性値ペア判定処理について説明する。
【００６５】
図１２に、ＤＰマッチングによる属性／属性値ペアの判定処理の処理フローを示す。
【００６６】
新規テキスト１１４から抽出された属性値候補から、出現順の属性値候補の系列を取得する（Ｓ１５１１）。図１０の場合、［６，２０］のような系列が得られる。
【００６７】
新規テキスト１１４から抽出された属性候補から、出現順の属性候補の系列を取得する（Ｓ１５１２）。図１０の場合、［ＡＬＴ，ＡＳＴ］のような系列が得られる。
【００６８】
全ての属性と属性値のペアの関係の強さを属性／属性値関係性モデルから取得し、取得した数値からなる行列を生成する（Ｓ１５１３）。具体的には、Ｉ番目の属性とＪ番目の属性値ペアに関するスコアを行列の＜Ｉ，Ｊ＞要素 に格納する。
【００６９】
最適な属性遷移の系列を決定する（Ｓ１５１４）。系列の決定はＤＰマッチングによって行うことができるため説明は省略する。
【００７０】
図１１、１２で述べた属性／属性値ペアの判定処理は組み合わせて使用することもできる。例えば、図１２で述べた新規テキスト中の属性候補を制約として使用する方法を実行し、信頼性が低い箇所、例えば、行列に設定した値が小さい箇所やＤＰマッチングによって得られた対応関係が１対１ではない箇所、のみに対して、図１１による過去データにおける属性の順序関係を参考とする方法を用いるといった方法が考えられる。
【００７１】
また、新規テキスト中の属性候補の情報を強い制約として用いるのではなく、属性間関係性モデル１１７２を一時的に修正するために用いることもできる。この方法の場合、属性候補の系列を作成し、この系列上の任意の属性の組に対して、属性間関係性モデル１１７２の値を一定の割合で大きくする。また、属性間関係性モデル１１７２に存在しなかった属性のペアについては、新たに追加し、予め定めた値を確率として設定する。このような処理によって、新規テキスト１１４中に存在する属性候補同士の遷移が優先され、また過去のデータである正解テキスト１１３中に含まれない属性の遷移に関しても適切に処理を行うことが可能となる。
【００７２】
以上の実施例では、単純化のため、属性／属性値ペアは一対一であることを前提とした。しかしながら、＜BP，141/70＞のようなケースも存在する。BPは、血圧(Blood Pressure)であり、141は最高血圧、70は最低血圧である。このような例の場合、BPに対してBP_1、BP_2のように仮想的なラベルを生成し、仮想的なラベルに対して、ステップ１３以降の処理を行うことで対応できる。
【００７３】
以上の構成及び処理により、数値属性である属性／属性値ペアを高速かつ高精度に抽出することが可能になる。
【符号の説明】
【００７４】
１００  数値属性抽出装置
１０１  ＣＰＵ
１０２  主メモリ
１０３  入出力装置
１１０  ディスク装置
１１１  ＯＳ
１１２  数値属性抽出プログラム
１１２１  正解ペア抽出サブプログラム
１１２２  教師データ作成サブプログラム
１１２３  モデル学習サブプログラム
１１２４  属性／属性値候補抽出サブプログラム
１１２５  属性／属性値ペア判定サブプログラム
１１３  正解テキスト
１１４  新規テキスト
１１５  属性／属性値ペアリスト
１１６  教師データ
１１７  数値属性モデル
１１７１  属性／属性値関係性モデル
１１７２  属性間関係性モデル
【図１】
2018025317.tif 000003
【図２】
2018025317.tif 000004
【図３】
2018025317.tif 000005
【図４】
2018025317.tif 000006
【図５】
2018025317.tif 000007
【図６】
2018025317.tif 000008
【図７】
2018025317.tif 000009
【図８】
2018025317.tif 000010
【図９】
2018025317.tif 000011
【図１０】
2018025317.tif 000012
【図１１】
2018025317.tif 000013
【図１２】
2018025317.tif 000014
【手続補正書】
【提出日】平成30年7月6日(2018.7.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力されたテキストデータの文書構造を解析する自然言語処理装置であって、
前記テキストデータから数値属性と属性値のペアの候補を抽出する抽出部と、
所定の数値属性に対応する属性値の分布を示す第１のモデルに基づき、抽出した前記数値属性と前記属性値のペアの候補の妥当性を示す値を算出する第１の算出部と、
前記妥当性を示す値に基づき、前記候補のなかから、前記数値属性と前記属性値のペアを決定する判定部とを備えることを特徴とする自然言語処理装置。
【請求項２】
請求項１に記載の自然言語処理装置であって、前記第１のモデルは、数値属性と属性値のペアを特定する情報を含むテキストデータを教師データとして学習することにより推定されたモデルであることを特徴とする自然言語処理装置。
【請求項３】
請求項２に記載の自然言語処理装置であって、前記第１のモデルは、パラメトリックな推定方法又はノンパラメトリックな推定方法によって推定されたモデルであることを特徴とする自然言語処理装置。
【請求項４】
請求項３に記載の自然言語処理装置であって、
第２のモデルに基づき、前記数値属性間の関係性の強弱を示す値を算出する第２の算出部を更に備え、
前記判定部は、前記第１及び前記第２の算出部により算出された値に基づき、前記数値属性と前記属性値のペアを決定することを特徴とする自然言語処理装置。
【請求項５】
請求項４に記載の自然言語処理装置であって、前記第２のモデルは、前記教師データに含まれる複数の数値属性が所定の距離内で出現する頻度に基づき算出されたモデルであることを特徴とする自然言語処理装置。
【請求項６】
自然言語処理装置に入力されたテキストデータの文書構造を解析する自然言語処理方法であって、
前記自然言語処理装置が、
入力された前記テキストデータから数値属性と属性値のペアの候補を抽出し、
所定の数値属性に対応する属性値の分布を示す第１のモデルに基づき、抽出した前記数値属性と前記属性値のペアの候補の妥当性を示す値を算出し、
前記妥当性を示す値に基づき、前記候補のなかから、前記数値属性と前記属性値のペアを決定することを特徴とする自然言語処理方法。
【請求項７】
請求項６に記載の自然言語処理方法であって、前記第１のモデルは、数値属性と属性値のペアを特定する情報を含むテキストデータを教師データとして学習することにより推定されたモデルであることを特徴とする自然言語処理方法。
【請求項８】
請求項７に記載の自然言語処理方法であって、前記第１のモデルは、パラメトリックな推定方法又はノンパラメトリックな推定方法によって推定されたモデルであることを特徴とする自然言語処理方法。
【請求項９】
請求項８に記載の自然言語処理方法であって、
更に、第２のモデルに基づき、前記数値属性間の関係性の強弱を示す値を算出し、
前記第１のモデルに基づき算出された前記妥当性を示す値及び前記第２のモデルに基づき算出された前記強弱を示す値に基づき、前記数値属性と前記属性値のペアを決定することを特徴とする自然言語処理方法。
【請求項１０】
請求項９に記載の自然言語処理方法であって、前記第２のモデルは、前記教師データに含まれる複数の数値属性が所定の距離内で出現する頻度に基づき算出されたモデルであることを特徴とする自然言語処理方法。
【国際調査報告】
2018025317.tif 000015
2018025317.tif 000016
2018025317.tif 000017
2018025317.tif 000018