(57)【要約】      （修正有）【課題】複数文書の表現するイベントの同一性を判定する際の閾値を適切に設定する。【解決手段】イベント同一性判定装置１００のイベントＤＢ１０２にはイベントを特定するイベント情報が格納され、文書ＤＢ１０３にはイベントの抽出元となった電子文書の文書情報が格納されている。閾値決定部１０４は、あらかじめ前記ＤＢ１０２，１０３を参照してイベント情報の集合と文書情報の集合とから統計データを計算し、電子文書間における類似度の閾値を決定して閾値格納部１０５に格納しておく。同一性判定部１０１は、イベントＤＢ１０２を参照して判定対象のイベント情報を読み出す。読みだされたイベント情報に基づき文書ＤＢ１０３から電子文書を読み出して電子文書間の類似度を算出し、算出された類似度と閾値格納部１０５の閾値とを対比して電子文書間の同一性を判定する。【選択図】図１
2015232855.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより複数の電子文書に記述されたイベントの同一性を判定するイベント同一性判定方法であって、
あらかじめ前記イベントを特定するためのイベント情報の集合と、前記イベントの抽出元となった電子文書の文書情報の集合とから統計データを計算し、電子文書間における類似度の閾値を決定する閾値決定ステップと、
判定対象のイベント情報に基づき電子文書を読み出して電子文書間の類似度を算出し、算出された類似度と前記閾値とを対比することで電子文書間の同一性を判定する同一性判定ステップと、
を有することを特徴とするイベント同一性判定方法。
【請求項２】
前記閾値決定ステップは、あらかじめ前記イベント情報の集合に基づき電子文書の集合について文書間の類似度を算出するステップと、
算出された類似度の分布を、横軸が類似度で縦軸がイベント対の個数としてグラフ化するステップと、
前記グラフ中、前記類似度を任意値刻みで度数化させたスライディングウインドウ化し、前記度数を徐々に増やしたときにウインドウサイズ毎のイベント対の個数和が減少傾向から増加傾向に転じた箇所を前記閾値とするステップと、
を有することを特徴とする請求項１記載のイベント同一性判定方法。
【請求項３】
前記閾値決定ステップは、あらかじめ前記イベント情報の集合に基づき電子文書の集合について文書間の類似度を算出するステップと、
算出された類似度の分布を、横軸が類似度で縦軸がイベント対の個数としてグラフ化するステップと、
前記グラフ中、前記類似度を任意値刻みで度数化させたスライディングウインドウによって分布を平準化した上で、最も度数の小さい区間の中央を前記閾値とするステップと、
を有することを特徴とする請求項１記載のイベント同一性判定方法。
【請求項４】
複数の電子文書に記述されたイベントの同一性を判定するイベント同一性判定装置であって、
あらかじめ前記イベントを特定するためのイベント情報の集合と、前記イベントの抽出元となった電子文書の文書情報の集合とから統計データを計算し、電子文書間における類似度の閾値を決定する閾値決定部と、
判定対象のイベント情報に基づき電子文書を読み出して電子文書間の類似度を算出し、算出された類似度と前記閾値とを対比することで電子文書間の同一性を判定する同一性判定部と、
を備えることを特徴とするイベント同一性判定装置。
【請求項５】
前記閾値決定部は、あらかじめ前記イベント情報の集合に基づき電子文書の集合について文書間の類似度を算出する手段と、
算出された類似度の分布を、横軸が類似度で縦軸がイベント対の個数としてグラフ化する手段と、
前記グラフ中、前記類似度を任意値刻みで度数化させたスライディングウインドウ化し、前記度数を徐々に増やしたときにウインドウサイズ毎のイベント対の個数和が減少傾向から増加傾向に転じた箇所を前記閾値とする手段と、
を備えることを特徴とする請求項４記載のイベント同一性判定装置。
【請求項６】
前記閾値決定部は、あらかじめ前記イベント情報の集合に基づき電子文書の集合について文書間の類似度を算出する手段と、
算出された類似度の分布を、横軸が類似度で縦軸がイベント対の個数としてグラフ化する手段と、
前記グラフ中、前記類似度を任意値刻みで度数化させたスライディングウインドウによって分布を平準化した上で、最も度数の小さい区間の中央を前記閾値とする手段と、
を備えることを特徴とする請求項４記載のイベント同一性判定装置
【請求項７】
請求項４〜６のいずれか１項に記載のイベント同一性判定装置としてコンピュータを機能させるイベント同一性判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の電子文書（以下、文書とする。）の記述内容の同一性を判定する情報処理の技術に関する。
【背景技術】
【０００２】
ブログに代表されるソーシャルテキストなどの文書の記述内容、即ち文書に記述された事実（以下、「イベント」と呼ぶ。）を抽出する方法として、該テキストからイベント情報を抽出する技術が提案されている。
【０００３】
例えば非特許文献１には、テキストに含まれる名前，場所，日時の三つの組を構造情報の利用により抽出してイベント情報として保存する方法が提案されている。このような方法によれば、ブログなどのソーシャルテキストの文書に記述されたイベント情報を保存し、再利用することが可能である。
【０００４】
ところが、テキストから抽出される複数のイベント情報が、同一のイベントを表現しているか否かについて判定する方法は提案されていない。この場合に考えられる方法の一つとしては、元となる文書間の類似度を計算し、該文書間が一定以上の類似度を持つ場合は同一のイベントについて記述された文書と判断し、抽出されたイベント情報を同一と認定する方法が考えられる。
【０００５】
文書間の類似度を計算する方法としては、情報検索分野で利用されているキーワードベクトルの比較がよく知られている（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】数原良彦, 鈴木潤, 鷲崎誠司. 構造学習を用いたテキストからの地域イベント情報抽出. 人工知能学会全国大会2013
【非特許文献２】北研二, 津田和彦, 獅々堀正幹. 情報検索アルゴリズム. 共立出版, 2002.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ソーシャルテキスト中には、複数の文書に同一のイベントについて記述されていることが頻繁に発生している。そのため、ソーシャルテキスト中から抽出したイベントの情報を提供する際には、同一イベントを集約／排除するため、イベントの情報の同一性の判定を行うことが必要である。この場合、単純には名前，場所，日時などイベントを表現する情報が同一であれば、同一のイベントであるとみなすのが妥当と思われる。
【０００８】
しかしながら、ソーシャルテキスト中からイベントの名前，場所，日時を抽出する際に名前や場所，日時それぞれに記述が異なる場合が多く、複数文書に記述された同一のイベントを同じイベントとして集約することが困難なことが少なくない。
【０００９】
また、非特許文献２のようにキーワードベクトルを単純に同一性判定に利用する場合、同一であることを判別するための閾値を設定しなければならないが、イベント情報を対象として合理的に閾値を決定する方法は提案されていない。
【００１０】
本発明は、このような従来技術の問題を解決するためになされ、複数文書の表現するイベントの同一性を判定する際の閾値を適切に設定することを解決課題としている。
【課題を解決するための手段】
【００１１】
本発明のイベント同一性判定方法は、あらかじめイベントを特定するためのイベント情報の集合と、イベントの抽出元となった文書の文書情報の集合とから統計データを計算し、文書間における類似度の閾値を決定する閾値決定ステップと、判定対象のイベント情報に基づき文書を読み出して文書間の類似度を算出し、算出された類似度と前記閾値とを対比することで文書間の同一性を判定する同一性判定ステップと、を有することを特徴としている。
【００１２】
本発明のイベント同一性判定装置は、あらかじめイベントを特定するためのイベント情報の集合と、イベントの抽出元となった文書の文書情報の集合とから統計データを計算し、文書間における類似度の閾値を決定する閾値決定部と、判定対象のイベント情報に基づき文書を読み出して文書間の類似度を算出し、算出された類似度と前記閾値とを対比することで文書間の同一性を判定する同一性判定部と、を備えることを特徴としている。
【００１３】
なお、本発明は、前記イベント同一性判定装置としてコンピュータを機能させるプログラムとして構成することもできる。このプログラムは、ネットワークや記録媒体などを通じて提供することができる。
【発明の効果】
【００１４】
本発明によれば、複数文書の表現するイベントの同一性を判定する際の閾値を適切に設定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るイベント同一性判定装置の構成図。
【図２】同一性判定部のバッチ処理フロー図。
【図３】同  増分処理フロー図。
【図４】閾値決定部の処理フロー図。
【図５】文書対の類似度分布（０．０１刻み）のグラフ。
【図６】図６の説明図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態に係るイベント同一性判定装置を説明する。このイベント同一性判定装置は、イベントの同一性判定においてイベントを記載した文書の特徴ベクトルを利用する。すなわち、特徴ベクトルを用いた類似度によりイベントの同一性を判定する際の閾値を最適化させている。
【００１７】
≪構成例≫
図１に基づき前記イベント同一性判定装置の構成例を説明する。このイベント判定装置１００は、主にブログなどのソーシャルテキストの文書から抽出したイベント情報の提供に利用され、同一イベントの集約・排除のためにイベントの同一性を判定する。
【００１８】
このイベント同一性判定装置１００は、コンピュータにより構成され、ＣＰＵ，主記憶装置（ＲＡＭ，ＲＯＭ等），補助記憶装置（ハードディスクドライブ装置，「Ｆｌａｓｈ  ＳＳＤ」等）などのハードウェアリソースを備える。
【００１９】
このハードウェアリソースとソフトウェアリソースとの協働の結果、前記イベント同一性判定装置１００は、同一性判定部１０１，イベントＤＢ１０２，文書ＤＢ１０３，閾値決定部１０４，閾値格納部１０５を実装する。この前記各ＤＢ１０２，１０３および前記格納部１０５は、それぞれ前記記憶装置に構築されているものとする。
【００２０】
【表１】
2015232855.tif 000003
【００２１】
表１はイベントＤＢ１０２の格納データ例を示し、該ＤＢ１０２にはイベントを特定するイベント情報が格納されている。ここではイベント情報として、イベントを同定するためのイベントＩＤと、抽出されたイベントの名称と、該イベントの開催地と、該イベントの開催日時と、表示しないイベントか否かを示す非表示フラグと、抽出元となった元文書の文書ＩＤと、イベントＤＢ１０２に格納された更新日時とがペアに記録されている。
【００２２】
【表２】
2015232855.tif 000004
【００２３】
表２は文書ＤＢ１０３の格納データ例を示し、該ＤＢ１０３には文書情報が格納されている。ここでは文書情報として、前記イベントＤＢ１０２の元文書ＩＤから参照可能な文書ＩＤ（例えばＵＲＬなど）と、文書ＤＢ１０３に格納された更新日時と、本文テキストとがペアに記録されている。この本文テキストとしては、テキストそのまま、あるいは事前にテキストを形態素解析されたものでよい。
【００２４】
同一性判定部１０１は、イベントＤＢ１０２に格納されたイベント情報を読み出した後にそれぞれのイベントの抽出元となった文書を文書ＤＢ１０３から抽出し、抽出された文書間の類似度を計算する。この計算後に閾値格納部１０５から閾値を読み出し、文書間の類似度と前記閾値とを対比する。この対比の結果、文書間の類似度が閾値以上であれば文書同士を同一と判定し、イベントＤＢ１０２の表示フラグを更新する。
【００２５】
閾値決定部１０４は、あらかじめ前記両ＤＢ１０２，１０３のそれぞれの格納データを利用して前記閾値を決定する。ここで決定された前記閾値は閾値格納部１０５に保存される。以下、前記各部１０１，１０４の処理内容を説明する。
【００２６】
≪同一性判定部１０１≫
同一性判定部１０１の同一性判定は、前記各ＤＢ１０２，１０３の生成方法に応じてバッチ処理あるいは増分処理により実行される。すなわち、文書が定期的に解析され、複数のイベント情報が同時にイベントＤＢ１０２に格納される場合はバッチ処理を行う。
【００２７】
一方、文書をストリームとして随時イベント抽出が処理され、一度に１つのイベント情報のみがイベントＤＢ１０２に格納される場合は、その都度増分処理を行う。なお、増分処理を行う場合は定期的にバッチ処理を実行し、イベントＤＢ１０２内のすべてのイベント情報について同一性判定を再計算することがある。
【００２８】
（１）バッチ処理
図２に基づき同一性判定部１０１のバッチ処理を説明する。ここでは既に閾値格納部１０５には閾値が格納されているものとする。
【００２９】
Ｓ２０１，Ｓ２０２：まず処理が開始されると、同一性判定部１０１は閾値格納部１０５から閾値を読み出す（Ｓ２０１）。この閾値は１つの数値とする。
【００３０】
つぎにイベントＤＢ１０２からイベント情報を読み出す（Ｓ２０２）。このとき非表示フラグが「０」のイベント情報のみを選択して読み出すことで計算量を削減することができる。
【００３１】
Ｓ２０３，Ｓ２０４：同一性判定部１０１は、Ｓ２０２で読み出した各イベント情報の元文書ＩＤに基づき文書ＤＢ１０３から文書情報を読み出す（Ｓ２０３）。その後にイベント情報および文書情報に基づき各文書の特徴ベクトルを生成し、生成した特徴ベクトルを中間ファイル、即ち文書の特徴ベクトルファイル２１０に格納する（Ｓ２０４）。
【００３２】
Ｓ２０５：同一性判定部１０１は、前記特徴ベクトルファイル２１０に格納されたすべての特徴ベクトルについてベクトル間の類似度を計算する。ここで計算されたベクトル間の類似度が閾値「θ」以上であれば、同一のイベントを扱った文書と判定する。
【００３３】
ここで同一と判定されたイベントはグループ化し、同一イベントグループと呼ぶ。同一イベントグループの内、更新日に基づいて１つのイベントを選択し、選択されたイベントの非表示フラグを「０」のままとする。一方、同一イベントグループ内の選択されたイベント以外の他のイベントは、「１」以上に設定してイベントＤＢ１０２のレコードを更新し、処理を終了する。
【００３４】
（２）増分処理
図３に基づき同一性判定部１０１の増分処理を説明する。ここでは処理が始まる前において、既にバッチ処理によりイベントＤＢ１０２内の既存のイベント情報について文書の特徴ベクトルが計算されているものとする。ここで計算された特徴ベクトルは事前に中間ファイル、即ち特徴ベクトルファイル３１０に格納されているものとする。
【００３５】
Ｓ３０１：まず処理が開始されると、Ｓ２０１と同じく同一性判定部１０１は閾値格納部１０５から閾値を読み出す。ここで読みだされる閾値も１つの数値とする。
【００３６】
Ｓ３０２：つぎに同一性判定部１０１は、イベントＤＢ１０２から最新のイベント情報を１件読み出す。このとき最新のイベント情報、即ち未処理のイベント情報が格納されていなければ、該最新のイベント情報が読み出し可能となるまで処理を中断するものとする。
【００３７】
Ｓ３０３，Ｓ３０４：同一性判定部１０１は、Ｓ３０２で読み出した各イベント情報の元文書ＩＤに基づき文書ＤＢ１０３から文書情報を読み出す（Ｓ３０３）。その後にイベント情報および文書情報に基づき各文書の特徴ベクトルを生成し、生成した特徴ベクトルを前記特徴ベクトルファイル３１０に格納する（Ｓ３０４）。
【００３８】
Ｓ３０５：同一性判定部１０１は、Ｓ３０４で新たに格納した当該特徴ベクトルについて、前記特徴ベクトルファイル３１０中における既存のすべての特徴ベクトルとの間での類似度を計算する。
【００３９】
このベクトル間の類似度が閾値「θ」以上であれば、同一のイベントを扱った文書と判定する。ここで他のイベントと同一のイベントと判定されたイベントについては、イベント情報の表示フラグを「１」以上に設定してイベントＤＢ１０２のレコードを更新する。この処理の終了後にＳ３０２に戻る。
【００４０】
≪閾値決定部１０４≫
図４に基づき閾値決定部１０４の処理内容を説明する。処理が開始されると、閾値決定部１０４はイベント情報をイベントＤＢ１０２から読みだす（Ｓ４０１）。このイベント情報に対応する文書情報を、元文書ＩＤに基づき文書ＤＢから読みだす（Ｓ４０２）。
【００４１】
Ｓ４０１，Ｓ４０２で読みだされたイベント情報の集合および文書情報の集合から統計データを計算し、閾値を決定する（Ｓ４０３）。決定された閾値を閾値格納部１０５に格納して処理を終了する。
【００４２】
≪具体的な処理内容≫
（１）類似度計算
同一性判定部１０１における類似度計算（Ｓ２０５，Ｓ３０５）の一例として、単語集合による類似度計算、即ちちキーワードによる重みベクトルを用いた類似度計算を説明する。
【００４３】
この類似度計算では、文書に含まれる単語を等しく扱ってキーワード毎の重みベクトルとし、この重みベクトルを文書の特徴ベクトルとする。この重みベクトルの構成方法としては非特許文献２に記載された手法を採用することができる。
【００４４】
具体的にはＳ２０２，Ｓ３０２で読みだした文書情報について、文書のテキストを形態素解析して単語に分割して単語毎の重みベクトルを構成し、ベクトル間の類似度を計算する。
【００４５】
重みベクトルの構成方法としては、単語を個別に特徴ベクトルに変換するのではなく、文書テキスト中の単語の連接を要素とする特徴ベクトルを構成する。これによりイベントについての特徴的な表現を「形容詞＋名詞」などの形式（例えば「ソウルフルなディーヴァ」や「笑いあり涙あり」）を特徴ベクトルとすることができる。
【００４６】
この場合、対比される文書における特徴ベクトル間の計算には、コサイン距離と呼ばれる指標が使用される。例えば二つの文書の「特徴ベクトルｄi，ｄj」についての類似度は式（１）で与えられる。
【００４７】
【数１】
2015232855.tif 000005
【００４８】
ただし、「θij」は「ｄi，ｄj」のなす角を表し、「ｘ・ｙ」は二つのベクトルの内積を表し、「||ｘ||」はベクトルのノルムを表している。
【００４９】
（２）閾値の決定
前述のキーワードによる重みベクトルを用いた類似度計算を用いた場合、イベントの同一性判定には類似度の閾値を設定する必要がある。ここでは類似度の閾値を実験的に求める方法を説明する。
【００５０】
この方法は、ある分量の文書集合から抽出されたイベント集合について文書間の類似度を求め、その分布から閾値を決定する。ここでは「２０１３年１０月〜２０１４年１月」までの３ヶ月間に記述されたブログから抽出したイベント集合の内、無作為に選択した「１０，９８８」件のイベント情報について、文書内の単語の出現頻度に基づいて重みベクトルを構成して類似度を計算した。
【００５１】
図５は計算結果の類似度の分布を、横軸に類似度：縦軸にイベント対の個数（対数）としてグラフ化した状態を示している。ここでは同一イベントが含まれていない場合、グラフは概ね右に向かって単調に減少することが期待される。すなわち、異なるイベントについて言及した文書対について、大部分は類似度「０」の付近に分布し、類似度が高い（「１」に近い）文書対は類似度が低い文書対よりも少なくなることが予想される。
【００５２】
ところが、図６に示すように、大部分の文書対の類似度が「０」付近に分布していることは予想通りであるものの、類似度「０．６〜０．８」を谷間として、「０．８」よりも類似度が高い領域で文書対の数が増加していることが判明した。
【００５３】
したがって、この場合は類似度「０．６〜０．８」の間に閾値を設定すればよく、偶然に閾値以上の類似度となる文書対が存在する可能性は残るものの、全体からみれば少なく、実用上は問題にならないと考えられる。
【００５４】
このような分布から閾値を設定する方法として、スライディングウインドウを使用する方法が考えられる。例えば類似度を「０．０１」刻みで度数化し、類似度「０〜０．０１」のイベント対の個数を「ａ1」とし、類似度「０．０１〜０．０２」のイベント対の個数を「ａ2」とし、以下同様に類似度「（ｋ−０．０１）〜ｋ」のイベント対の個数を「ａk」とする（類似度が０．０１刻みの場合は、ｋ＝１，．．．，１００）。
【００５５】
このときウインドウサイズｗについて、「ｉ」を「１」から順に増加し、ウインドウサイズ毎のイベント対の個数の和が上昇に転じた点を閾値とする。より厳密には、類似度の範囲を「ｎ」個に分割したときの閾値は式（２）によって得られる。なお、式（２）の「ｍｉｎ」は集合内の要素の内で最小の値を示している。
【００５６】
【数２】
2015232855.tif 000006
【００５７】
あるいは同様にスライディングウインドウによって分布を平準化した上で、最も度数の小さい区間の中央を閾値とする。この場合の閾値は式（３）によって得ることができる。
【００５８】
【数３】
2015232855.tif 000007
【００５９】
このようにイベント同一性判定装置１００によれば、複数文書の表現するイベントの同一性を判定する際の閾値が実験的に求められる。このとき実験で得られた分布からスライディングウインドウに基づき機械的に適切な閾値に設定することができる。
【００６０】
≪その他・プログラム≫
本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えば閾値決定部１０４および閾値格納部１０５をクラウド化することもできる。
【００６１】
また、本発明は、イベント同一性判定装置１００の各部１０１〜１０５の一部もしくは全部として、コンピュータを機能させる文書検索プログラムとして構成することもできる。このプログラムによればＳ２０１〜Ｓ２０５，Ｓ３０１〜Ｓ３０５，Ｓ４０１〜Ｓ４０４の一部あるいは全部をコンピュータに実行させることが可能となる。
【００６２】
前記プログラムは、Ｗｅｂサイトや電子メールなどネットワークを通じて提供することができる。また、前記プログラムは、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＭＯ，ＨＤＤ，ＢＤ−ＲＯＭ，ＢＤ−Ｒ，ＢＤ−ＲＥなどの記録媒体に記録して、保存・配布することも可能である。この記録媒体は、記録媒体駆動装置を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。
【符号の説明】
【００６３】
１００…イベント同一性判定装置
１０１…同一性判定部
１０２…イベントＤＢ
１０３…文書ＤＢ
１０４…閾値決定部
１０５…閾値格納部
２１０，３１０…特徴ベクトルファイル（中間ファイル）
【図１】
2015232855.tif 000008
【図２】
2015232855.tif 000009
【図３】
2015232855.tif 000010
【図４】
2015232855.tif 000011
【図５】
2015232855.tif 000012
【図６】
2015232855.tif 000013