(57)【要約】文書の構造を解析する情報構造化システムであって、文書から名詞を抽出し、前記抽出された名詞と前記データベースに格納されたノードとを対応付けることによって、前記抽出された名詞にノードを対応付ける抽出部と、前記抽出された名詞に複数のノードの候補が対応付けられる場合、識別情報が特定された名詞と前記ノードの候補とを繋ぐ中継ノードを探す候補列挙部と、前記探された中継ノードと前記識別情報が特定された名詞との第１の関係性及び前記探された中継ノードと前記ノードの候補との第２の関係性を計算する計算部と、前記第１の関係性が大きく、かつ、前記第２の関係性が小さくなる中継ノードを決定する抑制部と、前記決定された中継ノードと関連付けられたノードの候補を用いて、前記抽出された名詞に対応するノードを決定する決定部と、を有する。
2015125209.tif 000002
【特許請求の範囲】
【請求項１】
文書の構造を解析する情報構造化システムであって、
プログラムを実行するプロセッサ、及び前記プロセッサによって実行されるプログラムを格納するメモリを有し、
識別情報が付与された名詞であるノードを格納するデータベースと、
文書から名詞を抽出し、前記抽出された名詞と前記データベースに格納されたノードとを対応付けることによって、前記抽出された名詞にノードを対応付ける抽出部と、
前記抽出された名詞に複数のノードの候補が対応付けられる場合、識別情報が特定された名詞と前記ノードの候補とを繋ぐ中継ノードを探す候補列挙部と、
前記探された中継ノードと前記識別情報が特定された名詞との第１の関係性及び前記探された中継ノードと前記ノードの候補との第２の関係性を計算する計算部と、
前記第１の関係性が大きく、かつ、前記第２の関係性が小さくなる中継ノードを決定する抑制部と、
前記決定された中継ノードと関連付けられたノードの候補を用いて、前記抽出された名詞に対応するノードを決定する決定部と、を有することを特徴とする情報構造化システム。
【請求項２】
請求項１に記載の情報構造化システムであって、
前記計算部は、前記探された中継ノードと関連付けられる前記識別情報が特定された名詞の数である第１の値と、前記中継ノードと関連付けられる前記ノードの候補の数である第２の値とを計算し、
前記抑制部は、前記第１の値の和が大きく、かつ、前記第２の値の和が小さくなる中継ノードを決定することを特徴とする情報構造化システム。
【請求項３】
請求項１に記載の情報構造化システムであって、
前記候補列挙部は、前記探された中継ノードと前記ノードとの時間的な関係性を用いて前記ノードの候補を決定することを特徴とする情報構造化システム。
【請求項４】
請求項１に記載の情報構造化システムであって、
前記候補列挙部は、前記探された中継ノードと前記ノードとの地理的な関係性を用いて前記ノードの候補を決定することを特徴とする情報構造化システム。
【請求項５】
請求項３又は４に記載の情報構造化システムであって、
前記決定部は、
前記第１の関係性、前記第２の関係性、前記探された中継ノードと前記ノードとの時間的な関係性及び前記探された中継ノードと前記ノードとの地理的な関係性を用いて、前記ノードの候補のスコアを計算し、
前記計算されたスコアを用いた前記ノードの決定結果を学習した回帰式を求め、
前記求められた回帰式を用いてノードを決定することを特徴とする情報構造化システム。
【請求項６】
計算機を用いる情報構造化方法であって、
前記計算機は、プログラムを実行するプロセッサ、前記プロセッサによって実行されるプログラムを格納するメモリ、及び識別情報が付与された名詞であるノードを格納するデータベースを有し、
前記方法は、
文書から名詞を抽出し、前記抽出された名詞と前記データベースに格納されたノードとを対応付けることによって、前記抽出された名詞にノードを対応付ける抽出ステップと、
前記抽出された名詞に複数のノードの候補が対応付けられる場合、識別情報が特定された名詞と前記ノードの候補とを繋ぐ中継ノードを探す候補列挙ステップと、
前記探された中継ノードと前記識別情報が特定された名詞との第１の関係性及び前記探された中継ノードと前記ノードの候補との第２の関係性を計算する計算ステップと、
前記第１の関係性が大きく、かつ、前記第２の関係性が小さくなる中継ノードを決定する抑制ステップと、
前記決定された中継ノードと関連付けられたノードの候補を用いて、前記抽出された名詞に対応するノードを決定する決定ステップと、を含むことを特徴とする情報構造化方法。
【請求項７】
請求項６に記載の情報構造化方法であって、
前記計算ステップでは、前記探された中継ノードと関連付けられる前記識別情報が特定された名詞の数である第１の値と、前記中継ノードと関連付けられる前記ノードの候補の数である第２の値とを計算し、
前記抑制ステップでは、前記第１の値の和が大きく、かつ、前記第２の値の和が小さくなる中継ノードを決定することを特徴とする情報構造化方法。
【請求項８】
請求項６に記載の情報構造化方法であって、
前記候補列挙ステップでは、前記探された中継ノードと前記ノードとの時間的な関係性を用いて前記ノードの候補を決定することを特徴とする情報構造化方法。
【請求項９】
請求項６に記載の情報構造化方法であって、
前記候補列挙ステップでは、前記探された中継ノードと前記ノードとの地理的な関係性を用いて前記ノードの候補を決定することを特徴とする情報構造化方法。
【請求項１０】
請求項８又は９に記載の情報構造化方法であって、
前記決定ステップでは、
前記第１の関係性、前記第２の関係性、前記探された中継ノードと前記ノードとの時間的な関係性及び前記探された中継ノードと前記ノードとの地理的な関係性を用いて、前記ノードの候補のスコアを計算し、
前記計算されたスコアを用いた前記ノードの決定結果を学習した回帰式を求め、
前記求められた回帰式を用いてノードを決定することを特徴とする情報構造化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機を利用した自然言語文書の情報構造化システムに関する。
【背景技術】
【０００２】
最近、大量の電子データ（ビッグデータ）が利用されている。これは、Ａｐａｃｈｅ  Ｈａｄｏｏｐなどのオープンソースソフトウェアの登場により、一般的なＰＣサーバを用いて分散並列計算をする技術が普及したためである。これにより、大量のデータを短時間で処理するために必要な計算機資源などのコストが、大幅に引き下げられた。【０００３】
ビッグデータにおけるデータの処理は、大量の数値データの集計処理や、計算機が、ユーザに有用なパターンを電子文書データから自動的に抽出する処理も行われている。【０００４】
文書データの中でも、人名や組織名などの固有表現は、文書の内容と現実世界とを橋渡しする観点から重要性が高い。固有表現抽出技術によって、自然言語から人名、組織名、地名などの情報を自動的に抽出することができる。【０００５】
以下、本明細書では、固有表現が指し示す現実世界における実体をエンティティと称する。エンティティを指し示す文字列をエンティティの表記もしくは固有表現と称する。【０００６】
また、その一方で、現実世界の情報を電子データの形式で纏めた情報として、Wikipediaなどがある。これらの情報源を用いて知識グラフを作成する動きが見られる。代表的な知識グラフとしてDBPedia、YAGO、BabelNetなどが知られている。【０００７】
これらの知識グラフは、ＲＤＦ（Resource Description Framework）によって記述されており、エンティティ間の関係性を表現している。エンティティをノード、関係性をエッジと見ると、エンティティ間の関係性をグラフとして捉えることができる。このグラフが知識グラフである。【０００８】
知識グラフを名寄せ先として選ぶことによって、多目的に利用可能な名寄せ（エンティティ同定）が期待できる。【０００９】
この技術分野の背景技術として特開２００４−１８５５１５号公報（特許文献１）及び特開２０１１−１９１９８２号公報（特許文献２）がある。【００１０】
特許文献１には、テキストデータを構成する単語情報を入力する手段を有する単語情報入力部と、前記テキストデータに含まれる任意のテキストデータ対について、該テキストデータ対を構成する単語情報を用いて方向性を有する関連度を算出する手段と、算出した値を要素値とする正方行列を生成する手段を有するテキストデータ関連度行列算出部と、算出したテキストデータ関連度行列に対し固有値分解を施し、固有値と固有ベクトルとを算出する手段を有する固有値分解部と、算出した最大固有値の固有ベクトルをもとに各テキストデータの評価値を算出する手段を有するテキストデータ評価値算出部と、算出したテキストデータ評価値を出力する手段を有するテキストデータ評価値出力部とを有するテキストデータ評価装置が開示されている。【００１１】
また、特許文献２には、店舗名候補抽出部により、処理済み入力文章から店舗名リスト中の店舗名とその表記が一致する単語を抽出し、その単語の表記とともに処理済み入力文章中での位置情報等を店舗名候補とし、店舗名判定部により、店舗名候補に対し、店舗らしさＤＢを用いて店舗名か否かを判定し、店舗名と判定された店舗名候補のみを判定済み店舗名とし、曖昧性解消部により、判定済み店舗名に対し、店舗ＤＢ及び特徴語ＤＢを用いて店舗ＤＢ中のどのレコードに対応するかを、前記処理済み入力文章中の当該判定済み店舗名の近傍に出現する店舗ＤＢ中の店舗属性値に対応する制約語もしくは特徴語から判断し、店舗ＤＢの対応するレコードの少なくともレコードＩＤを当該店舗名とともに出力する店舗名曖昧性解消装置が開示されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００４−１８５５１５号公報
【特許文献２】特開２０１１−１９１９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
エンティティ同定に、大規模な知識グラフを用いない場合、文書の背景にある共通点を把握することができず、同定結果に一貫性の問題が生じる場合がある。一方で、一般の知識グラフは、多目的用途で作られており、エンティティ同定に特化したものではない。そのため、エンティティ同定に適した情報を取捨選択する方法が必要である。このため、前述した公知技術では、エンティティ同定の一貫性の向上に知識グラフ内の背景知識を用いることはできない。【００１４】
このため、知識グラフのリンク構造や、構造のルール定義を含めて文書を解析することが求められている。
【課題を解決するための手段】
【００１５】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、文書の構造を解析する情報構造化システムであって、プログラムを実行するプロセッサ、及び前記プロセッサによって実行されるプログラムを格納するメモリを有し、識別情報が付与された名詞であるノードを格納するデータベースと、文書から名詞を抽出し、前記抽出された名詞と前記データベースに格納されたノードとを対応付けることによって、前記抽出された名詞にノードを対応付ける抽出部と、前記抽出された名詞に複数のノードの候補が対応付けられる場合、識別情報が特定された名詞と前記ノードの候補とを繋ぐ中継ノードを探す候補列挙部と、前記探された中継ノードと前記識別情報が特定された名詞との第１の関係性及び前記探された中継ノードと前記ノードの候補との第２の関係性を計算する計算部と、前記第１の関係性が大きく、かつ、前記第２の関係性が小さくなる中継ノードを決定する抑制部と、前記決定された中継ノードと関連付けられたノードの候補を用いて、前記抽出された名詞に対応するノードを決定する決定部と、を有する。
【発明の効果】
【００１６】
本発明の代表的な実施の形態によれば、一般的な知識グラフからエンティティ同定に有効な部分構造を抽出することができ、適切な候補ノードを絞り込むことで一貫した同定に利用できる。また、一般的な知識グラフは多目的用途に作られているため、同定結果の適用先が広い。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施例の情報構造化システムを構成する計算機のブロック図である。
【図２】本実施例の情報構造化システムを構成する計算機の論理的なブロック図である。
【図３Ａ】文献データベースの構成を説明する図である。
【図３Ｂ】アノテーションデータベースの構成を説明する図である。
【図３Ｃ】知識グラフデータベースの構成を説明する図である。
【図４】本実施例の情報構造化システムを構成する計算機の機能ブロック図である。
【図５】本実施例の情報構造化システムによる情報抽出処理のフローチャートである。
【図６】エンティティが抽出された文書の例を説明する図である。
【図７】列挙された同定候補の例を説明する図である。
【図８Ａ】同定候補の属性情報の例を説明する図である。
【図８Ｂ】同定候補の属性情報の例を説明する図である。
【図９】エンティティの関係を説明する図である。
【図１０】エンティティの関係を説明する図である。
【図１１】本実施例の情報構造化システムによる同定スコア計算処理のフローチャートである。
【図１２】本実施例の閾値を用いた局所関係スコアの判定の概念を説明する図である。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態を添付図面を用いて説明する。
【００１９】
以下の実施の形態において、要素の数等に言及する場合、特に指定された場合および原理的に明らかに特定される場合を除き、その特定の数に限定されることはなく、特定の数以上でも以下でもよい。
【００２０】
さらに、以下の実施の形態において、その構成要素は、特に指定された場合および原理的に明らかに必要とされる場合を除き、必ずしも必須ではないことは明らかである。また、同様に以下の実施の形態において、構成要素の形状や位置関係について言及するときは、特に明示する場合や原理的に明らかにそうでないと考えられる場合を除き、実質的にその形状等に近似または類似するものを含むものとする。このことは上記数値および範囲に関しても同様である。
【００２１】
＜第１実施例＞
図１は、本発明の実施例の情報構造化システムを構成する計算機１００のブロック図である。
【００２２】
本実施例の情報構造化システムを構成する計算機１００は、図１に示すような汎用計算機であり、具体的にはＰＣサーバで構成することができる。計算機１００は、中央演算装置（ＣＰＵ:Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０、メモリ１２０、ローカルファイルシステム１３０、入力装置１４０、出力装置１５０、ネットワークデバイス１６０及びバス１７０を有する。
【００２３】
中央演算装置１１０は、メモリ１２０に格納されたプログラムを実行する。メモリ１２０は、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子であり、中央演算装置１１０によって実行されるプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００２４】
ローカルファイルシステム１３０は、計算機１００に内蔵された書き換え可能な記憶領域であり、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）、ＲＡＭディスク等の大容量かつ不揮発性の記憶装置で構成される。ローカルファイルシステムが構成される記憶装置は、計算機１００に外部から接続された記憶装置でもよい。
【００２５】
記憶装置は、ローカルファイルシステム１３０の他、中央演算装置１１０が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。記憶装置に格納されるデータとして、以下に説明する大域関係スコア表２６５、文献データベース２２０、アノテーションデータベース２２５及び知識グラフデータベース２３０がある。また、以下に説明する各部を実装するためのプログラムは、記憶装置から読み出されて、メモリ１２０にロードされて、中央演算装置１１０によって実行される。
【００２６】
入力装置１４０は、キーボード及びマウスなど、ユーザからの入力を受けるインターフェースである。出力装置１５０は、ディスプレイ装置及びプリンタなど、プログラムの実行結果をユーザが視認可能な形式で出力するインターフェースである。なお、ネットワークを介して接続された端末によって計算機１００を遠隔操作する場合、計算機１００が入力装置１４０及び出力装置１５０を有しなくてもよい。
【００２７】
ネットワークデバイス１６０は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。バス１７０は、各デバイス１１０〜１６０を接続する。
【００２８】
中央演算装置１１０が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して計算機に提供され、非一時的記憶媒体である記憶装置に格納される。このため、計算機は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００２９】
本実施例の情報構造化システムは、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００３０】
図２は、本実施例の情報構造化システムを構成する計算機１００の論理的なブロック図である。
【００３１】
計算機１００は、初期化部２３５、エンティティ抽出部２４０、同定候補列挙部２４５、大域関係スコア計算部２５０、ハブ抑制部２５５、同定スコア計算部２６０、大域関係スコア表２６５及びＩＤ決定部２７０を有する。
【００３２】
初期化部２３５は、本実施例の情報構造化システムの各部を初期化する。エンティティ抽出部２４０は、文書からエンティティを抽出し、抽出したエンティティにアノテーションを付与する。大域関係スコア計算部２５０は、知識グラフデータベース２３０中のエンティティが同定に寄与するかによってスコア付けをする。同定候補列挙部２４５は、エンティティに対応する知識グラフ中のエンティティを列挙する。ハブ抑制部２５５は、大域関係スコア表２６５を用いて、関係グラフに利用する知識グラフの情報を選択する。同定スコア計算部２６０は、同定の尤度を表すスコアを計算する。
【００３３】
大域関係スコア表２６５は、知識グラフ中のエンティティをスコア化した結果を保持する。大域関係スコア表２６５は、具体的には、中継ノードとなるエンティティに繋がっている他のエンティティの数を記録する。例えば、中継ノード「Person」に対しては、世界中の人が繋がっているので、その大域関係スコアは世界人口（約７０億）である。また、中継ノード「ＮＮ党」の大域関係スコアは、ＮＮ党の党員数である。このとき、中継ノード「Person」と、中継ノード「ＮＮ党」とを比較すると、中継ノード「Person」の方がハブとしての一般性が高い。このため、本実施例では、大域関係スコア表２６５は、ハブ抑制２５５部が、一般性が低い中継ノードをハブとして選ぶために用いられる。
【００３４】
ＩＤ決定部２７０は、同定スコアに基づいて、エンティティの識別子を一意に決定する。
【００３５】
なお、本願発明において、エンティティとは、ある固有名詞の任意表現が指し示す実体を意味する。例えば、「日立」や「Ｈｉｔａｃｈｉ」は、地名としての「日立市」や、会社としての「株式会社日立製作所」を意味する場合がある。この場合、「日立」や「Ｈｉｔａｃｈｉ」が任意表現であり、「日立市」や「株式会社日立製作所」が、実体としてのエンティティである。また、同姓同名の人は、表記が同じでも実際は異なるエンティティである。
【００３６】
なお、同定候補列挙部２４５が有する時間情報認識部２４６、地理情報認識部２４７、学習部２７１は、各々、第２実施例、第３実施例、第４実施例で必要な構成で、第１実施例では不要である。
【００３７】
計算機１００は、ＬＡＮ２１０を介して、文献データベース２２０、アノテーションデータベース２２５及び知識グラフデータベース２３０と接続されている。
【００３８】
文献データベース２２０は、処理すべき文献を格納するデータベースである。文献データベース２２０の構成は、図３Ａを用いて後述する。アノテーションデータベース２２５は、文献に付与されるアノテーションを管理するデータベースである。アノテーションデータベース２２５の構成は、図３Ｂを用いて後述する。知識グラフデータベース２３０は、エンティティに付帯する情報を管理する。知識グラフデータベース２３０の構成は、図３Ｃを用いて後述する。
【００３９】
各データベースは、計算機上で動作する既存のデータ管理ソフトウェアを利用することができる。
【００４０】
図３Ａは、文献データベース２２０の構成を説明する図である。文献データベース２２０は、文献を管理するデータベースであり、具体的には、文献を識別するための識別子（文献ＩＤ）、及び文献の内容を管理する。文献の内容は、文献のテキスト（文字情報）である。文献データベース２２０は、具体的には、ＲＤＢ（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）、全文検索エンジン、連想検索エンジンなどを用いることができる。
【００４１】
図３Ｂは、アノテーションデータベース２２５の構成を説明する図である。アノテーションデータベース２２５は、文献に付与されるアノテーションを管理するデータベースであり、具体的には、ラベルを識別するための識別子（ラベルＩＤ）、ラベルが付与された文献を識別するための識別子（文献ＩＤ）、及びアノテーションを管理する。アノテーションは、ラベルの位置情報（例えば、開始文字位置、終了文字位置）及び、ラベルの同定結果情報（例えば、知識グラフデータベース中のエンティティＩＤ）を含む。アノテーションデータベース２２５は、具体的には、ＲＤＢやＫＶＳ（Ｋｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅ）を用いることができる。
【００４２】
図３Ｃは、知識グラフデータベース２３０の構成を説明する図である。知識グラフデータベース２３０は、エンティティに付帯する情報を管理するデータベースである。エンティティに付帯する情報は、名前、呼称のようにエンティティ自体が持つ属性情報、及び、「長野県は日本国の位置行政区域である」というような、エンティティ間の関係性の情報を含む。知識グラフデータベース２３０に格納されるデータは、具体的には、ＲＤＦで記述される。知識グラフデータベースは、具体的には、ＲＤＦストア（Ａｐａｃｈｅ  Ｊｅｎａ、Ｓｅｓａｍｅなど）のデータストアを利用することができる。
【００４３】
図４は、本実施例の情報構造化システムを構成する計算機１００の機能ブロック図であり、図５は、本実施例の情報構造化システムによる情報抽出処理のフローチャートである。
【００４４】
まず、初期化部２３５は、本実施例の情報構造化システムの各部を起動し、各データベースと接続して、処理の準備をする。そして、文献データベース２２０から同定対象の文書を取得する（ステップ４００）。その後、初期化部２３５は、大域関係スコア計算部２５０を起動する。
【００４５】
大域関係スコア計算部２５０は、知識グラフデータベース２３０から知識グラフ中のエンティティを取得し、同定に寄与するかによって取得したエンティティをスコア付けし、スコア付けの結果を大域関係スコア表２６５に格納する（ステップ４１０）。なお、大域関係スコアは、エンティティの一般性を表し、値が大きいほど同定に寄与する（一般性が低い）ように定義する。
【００４６】
例えば、大域関係スコアとして、そのエンティティが持つリンクの数の逆数を用いることができる。エンティティが人であるという情報は、人と人とを識別する場合には何の意味を持たない。多くのエンティティが共通して持っている関係は、同定の際の重要性は低い。このため、リンク数の逆数を大域関係スコアとして用いることが有効である。また、文書における逆文書頻度ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）のように、ｌｏｇ（エンティティ数 / リンク数）を大域関係スコアとして用いることもできる。
【００４７】
次に、エンティティ抽出部２４０は、文献データベース２２０から文書を取得し、取得した文書に含まれるエンティティを抽出し、抽出されたエンティティにアノテーションを付与し、付与したアノテーションをアノテーションデータベース２２５に格納する（ステップ４２０）。
【００４８】
エンティティにアノテーションを付与するために、前述した固有表現抽出技術を用いることができる。固有表現抽出技術は、人名、組織名などの固有表現を所定のルールに基づいて自動的に抽出する技術である。この技術を用いることによって、文書中の固有表現に相当する箇所に「人名」や「組織名」などの固有表現の種類を表すアノテーションを付与することができる。
【００４９】
また、機械学習による固有表現抽出技術を用いてもよい。この技術は、タグ付きコーパスと称される正解データに基づいて、固有表現が文書中で出現する際のパターンを、計算機に学習させ、学習されたパターン（ルール）を用いて、固有表現を抽出する。
【００５０】
しかし、この段階では、文書から抽出されたエンティティが複数の同定候補を有するなど、正しく同定されていない場合がある。このため、本実施例では、抽出されたエンティティの確からしい同定先（すなわち、エンティティのＩＤ）を決定する。
【００５１】
図６はエンティティが抽出された文書の例を示す。図６に例示する文書６００は、テニスの試合の結果を記述したものである。文書６００中の太字かつ下線が付されている部分が、エンティティの表記と判断され抽出された箇所であり、抽出された箇所の各々にアノテーションが付与される。
【００５２】
次に、同定候補列挙部２４５が起動される。同定候補列挙部２４５は、文書から抽出されたエンティティに対応する同定候補を知識グラフデータベース２３０から抽出して、列挙する（ステップ４３０）。同定候補のエンティティを列挙するために、公知の同定候補列挙技術を用いることができる。例えば、最も単純な方法では、アノテーションに含まれる固有表現の文字列と、知識グラフデータベース中のエンティティの表記との間の類似度を計算し、類似度の大きなものを同定候補として選択することができる。
【００５３】
前述した同定候補列挙技術の拡張として、シソーラス（類義語辞書）を用いて固有表現に代替の読みを追加し、追加された固有表現の読みとエンティティの表記との類似度を計算し、類似度の大きなものを同定候補として選択してもよい。
【００５４】
さらに、アノテーションデータベース２２５を参照することによって、エンティティが登場する文献を抽出し、現在処理中の文書との文書間距離を計算し、計算された距離が近いものから順に同定候補として選択してもよい。
【００５５】
図７は列挙された同定候補の例を示す。同定候補列挙部２４５は、エンティティの表記と知識グラフのエントリとを照合した結果、「山田ＸＸ」、「東京オープン」、「Ｒｏｇｅｒ  ＹＹ」、「ＧＧ社カップ」、「佐藤ＺＺ」は、一意に同定先が決定された。一方、「田中ＡＡ」は、政治家である「Tanaka#AA#(politician)」と、テニスプレーヤーである「Tanaka#AA#(tennis)」の二名が候補となり、同定候補列挙部２４５によっては同定先が一意に決定できなかった。
【００５６】
図８Ａ、図８Ｂは同定候補の属性情報の例を示す。なおこの属性情報は、知識グラフから得られるものであり、図６の文書から得られたものではない。
【００５７】
図８Ａは、Tanaka#AA#(politician)のエンティティの属性情報８００を示す。政治家である田中ＡＡは、人であり、ＮＮ党に所属し、ＭＭ県出身であるという情報が記述されている。
【００５８】
図８Ｂは、Tanaka#AA#(tennis)のエンティティの属性情報８１０を示す。Tanaka#AA#(tennis)は、人であり、US#Open#(tennis)及びFF#Cup#(tennis)というイベントに参加したという情報が記述されている。
【００５９】
同定候補が選択された後、同定スコア計算部２６０が起動される。同定スコア計算部２６０は、同定の確からしさを表す同定スコアを計算する。同定スコアは、文中に含まれる固有表現から候補を一つずつ取り出した組に対して計算される。例では（Yamada#XX, Tokyo#Open#(tennis), Roger#YY, GG#CUP#(tennis), Sato#ZZ, Tanaka#AA#(politician)）という組と（Yamada#XX, Tokyo#Open#(tennis), Roger#YY, GG#CUP#(tennis), Sato#ZZ, Tanaka#AA#(tennis)）という組がある。同定スコアは、値が大きいほど、同定が尤もらしいことを表す。
【００６０】
具体的には、同定スコア計算部２６０は、列挙された同定先の候補を取得し、ハブ抑制部２５５を起動する。ハブ抑制部２５５は、大域関係スコア表２６５を用いて、大域関係スコアを求め、同定先の候補の組をもとに局所関係スコアを求め、関係グラフに利用する知識グラフに表される有用な関係を選択する（ステップ４４０）。例えば、ハブ抑制部２５５は、大域関係スコアと局所関係スコアを合わせて関係スコアを求め、関係スコアが大きい中継ノードの候補から順に選択して、逐次的に中継ノードの候補を選ぶことができる。このとき、ノード間で経由する中継ノード数が多いほど、関係は薄くなり、中継ノード数は増加することから、経由数には上限を定めることができる。また、全ての中継ノードに関係スコアを付与してもよい。この場合、同定スコア計算部２６０は、同定候補ノードと中継ノードとそれらをつなぐエッジからなる部分グラフを作り、そのエッジに関係スコアを重みとして参照しながら、後述する方法で部分同定スコアの総和をとり、同定スコアを計算する。
【００６１】
その後、同定スコア計算部２６０は、ハブ抑制部２５５が選択した有用な関係を用いて、同定先の候補の組の尤度を計算する（ステップ４５０）。同定スコアの計算方法の具体例は、図１１を用いて後述する。なお、本実施例においては、ハブ抑制部２５５が中継に利用可能なノードを制限する。
【００６２】
同定スコア計算部２６０による処理は、例えば全ての同定先の候補の組の組み合わせを計算すると終了する。また、同定先の候補の組が持つ同定スコアがある閾値を下回った場合に処理を終了してもよい。
【００６３】
同定スコア計算部２６０による処理が終了した後、ＩＤ決定部２７０が起動される。ＩＤ決定部２７０は、同定スコアに基づいて、エンティティの識別子を一意に決定する（ステップ４６０）。例えば、ＩＤ決定部２７０は、同定スコアが最大となる候補を選択してもよい。
【００６４】
エンティティの識別子が決定した後、関係グラフを出力する（ステップ４７０）。
【００６５】
図９、図１０は、本実施例の情報構造化システムによって作成される関係グラフであり、同定先が決定していない状態を示す。
【００６６】
図９では、US#Open#(tennis)への参加という条件（図８Ｂの２行目）が中継ノードとして選択された場合のエンティティの関係を示す。US#Open#(tennis)は、Tanaka AA#(tennis)、Yamada#XX及びRoger#YYと接続する。これらの者は、ＵＳオープンテニス大会に出場したなど、何らかの関係がある者である。このように中継ノードとしてUS#Open#(tennis)を選択することによって、Tanaka#AA#(tennis)とTanaka#AA#(politician)とを分離することができる。
【００６７】
図１０では、Personという属性（図８Ｂの１行目）が中継ノードとして選択された場合のエンティティの関係を示す。Personは、全ての人物が持つ属性であるため、全ての人物のエンティティが接続される。これでは、二つの候補であるTanaka#AA#(tennis)とTanaka#AA#(politician)とを弁別することはできない。これは、各エンティティ間の最短経路を求める場合に起こりうる状況である。このため、本発明では、ハブ抑制部２５５が、関係スコアに基づいて中継ノードを選別する。
【００６８】
本実施例では、同じ文章に登場する用語は、多くの場合、似ている意味の繋がりを有する特性を利用して、同じ文書に登場する用語と多く繋がっており、区別すべき用語が区別できる中継ノードを選択する。そして、前述したような実施例の構成を採用することによって、以下の二つの機能を発揮し、効果を奏することができる。
（１）外部で作成された一般的な大規模な知識グラフを用いてエンティティ同定ができるため、同定結果を多目的に利用することができる。
（２）同定結果の一貫性を向上させることができる。
【００６９】
図１１は、本実施例の情報構造化システムによる同定スコア計算処理のフローチャートである。同定スコア計算処理は、同定スコア計算部２６０及びハブ抑制部２５５によって実行される。
【００７０】
まず、選択された同定候補のうち、一意に決定された同定候補と、複数の候補がある同定候補とを分離する（１１００）。次に、複数の同定候補を持つエンティティを列挙する（１１１０）。各同定候補についてエンティティのプロパティを列挙する（１１２０）。エンティティのプロパティとしては、図８Ａ、図８Ｂに示すような、属性の種類と値の組を用いることができる。
【００７１】
その後、大域関係スコア表２６５を参照して、各プロパティの大域関係スコアを求める（１１３０）。このプロパティが中継ノードの候補となる。次に、中継ノードの候補となるプロパティ及び大域関係スコアをハブ抑制部２５５に送る（１１４０）。
【００７２】
ハブ抑制部２５５は、局所関係スコアを計算し（１１４５）、局所関係スコアと、大域関係スコアとを用いて関係スコアを計算する。具体的には、局所関係スコアと大域関係スコアの重み付き和を取る、もしくは、局所関係スコアと大域関係スコアの積をとるなど、両方のスコアが大きい方が関係スコアも大きくなるように二つのスコアを統合する。この関係スコアを用いて、中継ノードを選択し、同定スコア計算部２６０に送る（１１５０）。具体的には、関係スコアが大きい順に中継ノードを選択することができる。
【００７３】
このため、図１２に示す数式（１）を用いて局所関係スコアを計算する。すなわち、局所関係スコアは、ＩＤが既に決定されているノードとの接続スコア（Ｓｄｉ）の和と、同定候補となっているノードとの接続スコア（Ｓｃｊ）の符号を反転させた値の和を用いて計算することができる。ここで、Ｓｃｊの符号を反転させるのは、Ｓｃｊが小さいほど、局所関係スコアが大きくなるようにするためである。そのため、Ｓｃｊの符号を反転させた値の代わりに、Ｓｃｊの逆数を利用したり、ｌｏｇ（同定候補ノード数/Ｓｃｊ）の値を利用してもよい。数式（１）において、ｗは重み係数であり、０以上１以下の値である。ｗに小さい値を採用することによって、同定候補を区別する能力が向上する。
【００７４】
ここで、接続スコアはノードとノードが少ない経由数で、かつ重みの大きなエッジを介して接続されていると大きな値をとるスコアである。例えば、接続スコアはｋ回経由するノード間の場合、経由係数をｇ（０＜ｇ≦１）、経由数ｎ（１≦ｎ≦ｋ）のときの重みをαｎとしたとき、Σ#ｎ (g)^ｎ * αｎのように定められる。ここで、重みαｎは具体的には定数、大域関係スコア、同定候補となっているノードとの接続数の逆数、ｌｏｇ（同定候補ノード数／同定候補となっているノードとの接続数）などを用いることができる。
【００７５】
その後、同定スコア計算部２６０は、中継ノードを経由する決定済みノードとの距離及び同定候補（他の未決定ノード）の各組について部分同定スコアを計算し、それらを合計することで同定スコアを計算する（１１６０）。部分同定スコアとは、具体的には、ある組に属する二つのノード間の経路が、関係スコアで重みづけされているグラフを考え、ノード間の経路を関係スコアで加算しながら辿り、その総和を部分同定スコアとする。ここで、関係スコアの合計を取る際に加算を使うことは例であり、乗算と総乗などの演算で置き換えることもできる。また、ノード間の流量を求めることによって、同定スコアを計算してもよい。流量は大きいほど関係が深いことを意味し、例えば、流量の総和や最大値を同定スコアとして利用できる。
【００７６】
このように同定スコアを決めることによって、同定スコアが大きい方が、同定が確からしいといえる。
【００７７】
同定スコアを、各ノード間で順に計算していく際に、部分的な同定スコアが小さいものは以後の計算を取りやめ、計算する候補数を制限することもできる。具体的には、部分的な同定スコアによる順位に閾値を設ける、部分的な同定スコアに閾値を設けるなどの手段により制限する。
【００７８】
その後、終了条件を満たすかを判定する（１１７０）。例えば、全ての同定候補の組についての計算が終了した場合に終了と判定することができる。また、同定スコアが所定の閾値より大きくなった場合に終了と判定してもよい。この場合、所定の閾値には、区別すべき対象が確実に区別できる値を採用する。
【００７９】
図１２に、閾値を用いた局所関係スコアの判定の概念を示す。決定済みノードとの距離Ｓｄｊを横軸にとり、同定候補となっているノードとの距離Ｓｃｊを縦軸にとった２次元空間において、判定閾値は図示したように右上がりの直線で表すことができる。そして、右下が同定に適する中継ノードが存在する領域である。
【００８０】
その後、同定スコア計算部２６０は、計算した同定スコアをＩＤ決定部２７０に送信する（１１８０）。
【００８１】
このようにハブ抑制部２５５が同定に寄与する中継ノードを選択し、選択された中継ノードを用いて同定スコアを計算するので、より確からしい同定をすることができる。
【００８２】
以上に説明したように、本発明の第１実施例によれば、ハブ抑制部２５５が同定候補であるノードとの距離が小さい中継ノードを選択し、同定スコア計算部２６０が中継ノードとＩＤ決定済みノードとの第１の関係性及び中継ノードと前記候補ノードとの第２の関係性を計算し、ＩＤ決定部２７０が選択された中継ノードと関連付けられたノードの候補を用いて固有表現に対応するエンティティ（ＩＤ）を判定するので、適切な候補ノードを絞り込むことができる。
【００８３】
また、ハブ抑制部２５５は、中継ノードと関連付けられるＩＤ決定済みノードとの距離（Ｓｄｉ）の和である第１の値を計算し、中継ノードと関連付けられる候補ノードとの距離（Ｓｃｊ）の和である第２の値とを計算し、前記第１の値（ΣＳｄｉ）が大きく、かつ、前記第２の値（ΣＳｃｊ）が小さくなる中継ノードを決定するので、同定スコア計算部２６０と前記ＩＤ決定部２７０は、簡単な計算で適切な候補ノードを絞り込むことができる。
【００８４】
＜第２実施例＞
次に、本発明の第２実施例について説明する。
【００８５】
図２に示すように、第２実施例の情報構造化システムは、同定候補列挙部２４５が時間情報認識部２４６を有する。
【００８６】
このため、第２実施例の同定候補列挙部２４５は、エンティティに対応する知識グラフ中から、時間情報を考慮してエンティティを列挙する。文書における時間情報とは、文書の作成日、変更日（例えば、ニュース発信日時、新聞の発行日）などのメタ情報、及び、文書のコンテンツ中で登場する日付情報（事件の発生日時）である。例えば、ニュース記事では、ニュース発信日時（新聞の発行日）が文書のメタデータであり、事件の発生日時がコンテンツの日付情報である。
【００８７】
また、第２実施例では、知識グラフデータベース２３０も時間情報を含む。
【００８８】
さらに、第２実施例の同定候補の属性情報は、図８Ａ、図８Ｂに示すように、生年月日（BirthDate）を含む。時間情報は、例えば、人物の死亡日時、会社の設立年月日や、上場日でもよい。
【００８９】
同定候補列挙部２４５は、文書に関係する時間情報を有さない（例えば、発行時点で生存しない人物や、その役職に在職していない人物）ノードを同定候補から削除することによって、同定候補を絞り込むことができる。
【００９０】
なお、第２実施例の前述以外の構成は、第１実施例と同じであるため、それらの説明は省略する。
【００９１】
このように第２実施例（及び、後述する第３実施例）のように、同定候補の属性情報は、第１実施例で説明したように中継ノードとして使っても、中継ノードを絞り込むために使ってもよい。
【００９２】
また、同定候補列挙部２４５ではなく、ＩＤ決定部２７０が時間情報認識部を有してもよい。この場合、ＩＤ決定部２７０は、同定済みのノードと時間的に離れている候補ノードに低いスコアを与えることができる。
【００９３】
以上に説明したように、本発明の第２実施例によれば、時間的な関係性を利用することによって、より確実に同定することができる。また、同定スコアを計算する前に、同定候補を絞り込むことができる。
【００９４】
＜第３実施例＞
次に、本発明の第３実施例について説明する。
【００９５】
図２に示すように、第３実施例の情報構造化システムは、同定候補列挙部２４５が地理情報認識部２４７を有する。
【００９６】
このため、第２実施例の同定候補列挙部２４５は、エンティティに対応する知識グラフ中から、地理情報を考慮してエンティティを列挙する。文書における地理情報とは、文書のカテゴリとして付加される地名（例えば、作成国）などのメタ情報や、文書のコンテンツ中に登場する地名、国名、地域名である。例えば、地方版のニュースには、カテゴリ名として対象地域が付加されている。また、コンテンツ中の地理情報として、イベントの開催地や、登場人物の位置情報（例えば、居住地）が記載される。
【００９７】
また、第３実施例では、知識グラフデータベース２３０も地理情報を含む。例えば、人物のエンティティの属性情報は、国籍、居住地などの地理情報を含んでもよい。また、企業のエンティティの属性情報は、本店や営業所の所在地を含んでもよい。
【００９８】
さらに、第３実施例の同定候補の属性情報は、図８Ａに示すように、地理情報（BirthPlaceなど）を含む。
【００９９】
なお、第３実施例の前述以外の構成は、第１実施例と同じであるため、それらの説明は省略する。
【０１００】
第３実施例では、これらの情報を利用することによって、同定スコアを計算する前に、同定候補を絞り込むことができる。
【０１０１】
また、同定候補列挙部２４５ではなく、ＩＤ決定部２７０が地理情報認識部を有してもよい。この場合、ＩＤ決定部２７０は、同定済みのノードと地理的に遠い候補ノードに低いスコアを与えることができる。
【０１０２】
以上に説明したように、本発明の第３実施例によれば、地理的な関係性を利用することによって、より確実に同定することができる。また、同定スコアを計算する前に、同定候補を絞り込むことができる。
【０１０３】
＜第４実施例＞
次に、本発明の第４実施例について説明する。第４実施例は、ＩＤ決定部２７０が学習部２７１を有する点で第１実施例と異なる。
【０１０４】
学習部２７１は、機械学習、特に教師有り学習を行う。教師有り学習では、人間が作成したデータを教師データとして、計算機がパターンを学習する。例えば、同定スコア、時間スコア及び地理スコアを変数とした関数を用いた多変数回帰分析を用いて、同定候補の決定パターンを学習することができる。これによって、計算機が人間の知的処理を代替することができる。
【０１０５】
以上に説明したように、本発明の第４実施例によれば、過去の同定の結果をスコア化して学習するので、より確実に同定することができる。
【０１０６】
＜第５実施例＞
次に、本発明の第５実施例について説明する。第５実施例は、ハブ抑制部２５５が関係スコア計算部を有する点で第１実施例と異なる。
【０１０７】
例えば、中継ノードが関係しているノードの数を予め持っていなくても、必要なときに計算すればよい。このため、大域関係スコア表２６５を有さず、ハブ抑制部２５５が関係スコア計算部を有し、その都度、同定スコアを計算する。
【０１０８】
以上に説明したように、本発明の第５実施例によれば、記憶容量が少ないシステムでも確実に同定をすることができる。
【０１０９】
以上に本発明の実施例について、電子文書データの情報構造化を例にして説明したが、これに限らず、知識グラフと手持ちの知識とのマッチング処理などのデータ処理全般に本発明を広く適用することができる。
【０１１０】
また、本発明の実施例について、人名の同定について説明したが、会社名などの固有名詞の同定にも本発明を適用することができる。
【０１１１】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【０１１２】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１１３】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１１４】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【図１】
2015125209.tif 000003
【図２】
2015125209.tif 000004
【図３Ａ】
2015125209.tif 000005
【図３Ｂ】
2015125209.tif 000006
【図３Ｃ】
2015125209.tif 000007
【図４】
2015125209.tif 000008
【図５】
2015125209.tif 000009
【図６】
2015125209.tif 000010
【図７】
2015125209.tif 000011
【図８Ａ】
2015125209.tif 000012
【図８Ｂ】
2015125209.tif 000013
【図９】
2015125209.tif 000014
【図１０】
2015125209.tif 000015
【図１１】
2015125209.tif 000016
【図１２】
2015125209.tif 000017
【国際調査報告】
2015125209.tif 000018
2015125209.tif 000019
2015125209.tif 000020
2015125209.tif 000021