JP2011227688A - テキストコーパスにおける2つのエンティティ間の関係抽出方法及び装置 - Google Patents
テキストコーパスにおける2つのエンティティ間の関係抽出方法及び装置 Download PDFInfo
- Publication number
- JP2011227688A JP2011227688A JP2010096551A JP2010096551A JP2011227688A JP 2011227688 A JP2011227688 A JP 2011227688A JP 2010096551 A JP2010096551 A JP 2010096551A JP 2010096551 A JP2010096551 A JP 2010096551A JP 2011227688 A JP2011227688 A JP 2011227688A
- Authority
- JP
- Japan
- Prior art keywords
- row
- column
- vocabulary
- cluster
- clustering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】テキストコーパスから2つのエンティティ間の関係抽出を行う。
【解決手段】
複数のエンティティペア、複数の語彙パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成するステップと、第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成するステップと、第2共起行列において、複数のエンティティペア、複数の語彙パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリングステップと、を備える。
【選択図】図2
【解決手段】
複数のエンティティペア、複数の語彙パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成するステップと、第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成するステップと、第2共起行列において、複数のエンティティペア、複数の語彙パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリングステップと、を備える。
【選択図】図2
Description
本発明は、大量のテキストコーパス(典型的にはWebテキスト)から2つのエンティティ間の関係抽出を行う手法に関するものである。本明細書において、「エンティティ」とは、1つあるいは複数の単語(すなわち語句)であり、典型的には単一名詞、または複数の単語からなる名詞句である。
近年WWW上のデータが膨大に増加しつつある。その膨大な情報の中に、エンティティ間の関係が多数潜在している。従来のキーワードベース検索エンジンは、キーワードを受け取り、そのキーワードを含む文章を見つけ出すことができるが、エンティティ間の関係を検索することは出来ない。従来のキーワードベース検索エンジンでは、WWW上の膨大な情報中に潜在的に存在する多くの関係情報を積極的に利用することはできない。
WWW上の膨大な情報中に潜在的に存在する多くの関係情報を積極的に利用するためには、膨大なテキストコーパスから有益なエンティティ間の関係を如何に抽出するかが重要である。例えば、WWW上の情報空間の中でペアを形成する2つのエンティティにおけるエンティティ間の関係を利用して検索を行うためには、エンティティ間の関係の抽出が必須である。
2つのエンティティ間の関係は、その2つのエンティティを含むテキストにおける2つのエンティティの周辺の文脈に基づいて抽出することができる。エンティティペアの周辺の文脈としては、典型的に2つのエンティティが同時に出現する文中の語彙パターン(lexical pattern)を用いることが考えられる。語彙パターン(lexical
pattern)とは、文中における順序を保った語彙の列である。例えば、コーパスの中で「アメリカの大統領オバマ」という句がある時、“の大統領”という語彙パターンを抽出し、このパターンをエンティティペア(アメリカ,オバマ)における「アメリカ」と「オバマ」との間の潜在的な関係を特徴づけるパターンの1つとする。エンティティペアのエンティティ間の関係を特徴付けるパターンは複数存在し得るので、その特徴的なパターンを頻度のベクトルとして表現することができる。
pattern)とは、文中における順序を保った語彙の列である。例えば、コーパスの中で「アメリカの大統領オバマ」という句がある時、“の大統領”という語彙パターンを抽出し、このパターンをエンティティペア(アメリカ,オバマ)における「アメリカ」と「オバマ」との間の潜在的な関係を特徴づけるパターンの1つとする。エンティティペアのエンティティ間の関係を特徴付けるパターンは複数存在し得るので、その特徴的なパターンを頻度のベクトルとして表現することができる。
抽出したエンティティ間の関係は、その関係が利用可能(例えば、関係検索に利用可能)な形式で取得する必要がある。WWW上の膨大な情報中では、同一または類似の言葉や関係を表すものとして複数の異なる表層表現が用いられることが多い。利用可能な形式でエンティティ間の関係を抽出するためには、異なる表層表現を如何にまとめるかが重要である。具体的には、エンティティペアのエンティティ間の関係を表現する語彙パターンは多数あり、完全に一致する語彙パターンが少ないこともある。そのためには、「同一関係を表すために使われる異なる表層表現」をまとめることが必要となる。例えば、「の大統領」という関係は「国のリーダ」とか、「政府のリーダ」などの形式でも表現され得る。したがって、語彙パターンをクラスタリングすることにより、低頻度の問題を解決し、更に、語彙パターンが完全に一致しなくても、検索の再現率を上げるようにすることが必要となる。同様に、固有名詞の複数形式(例えば、United States,U.S.,USA,…)を1つのエンティティとして扱えるように、それらの表現形式をクラスタリングすることで、United States,U.S.,USAを1つのクラスタに属するようにすることも必要となる。
クラスタリングは、データマイニングの解析手法の1つとして知られている。非特許文献1では、関係類似度(2つのエンティティペア間の類似度)の精度を上げるためにクラスタリングを用いた特徴ベクトル次元の削減方法を提案している。
比較的新しいクラスタリング手法として、共クラスタリング(co-clustering)手法が提案されている(非特許文献2〜5)。共クラスタリングアルゴリズムは、「お互い何らかの制約を満たしている二つの量を同時にクラスタリングする」アルゴリズムである。特許文献1、2には、共クラスタリングアルゴリズムを用いた手法が開示されている。
比較的新しいクラスタリング手法として、共クラスタリング(co-clustering)手法が提案されている(非特許文献2〜5)。共クラスタリングアルゴリズムは、「お互い何らかの制約を満たしている二つの量を同時にクラスタリングする」アルゴリズムである。特許文献1、2には、共クラスタリングアルゴリズムを用いた手法が開示されている。
Danushka Bollegala, YutakaMatsuo and Mitsuru Ishizuka: Measuring the Similarity between Implicit SemanticRelations from the Web , Proceedings of the 18th International World Wide WebConference (WWW 2009), pp. 651-660(2009).
A. Banerjee,I. Dhillon, J. Ghosh, S. Merugu, and D. S. Modha. A generalized maximum entropyapproach to bregman co-clustering and matrix approximation. JAIR, pages 1919-1986,2007.
H. Cho, I.Dhillon, Y. Guan, and S. Sra. Minimum sum-squared residue co-clustering of geneexpression data. In fourth SIAM Intl. Conf. on Data Mining, pages 114-125,2004.
I. Dhillon,S. Mallela, and D. Modha. Information-theoretic co-clustering. In KDD’01, pages89-98, 2003.
Q. Gu and J.Zhou. Co-clustering on manifolds. In Proc. Of KDD’09, pages 359-367, 2009.
本発明は、新しい共クラスタリング手法(Co-clustering)を用いることで、テキストコーパスから2つのエンティティ間の関係抽出を行うことを目的とするものである。
本発明が採用したテキストコーパスにおける2つのエンティティ間の関係抽出方法は、
テキストコーパスにおいて、複数のエンティティペアを抽出すると共に、抽出された各エンティティペアの頻度を取得するステップと、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターンを抽出すると共に、抽出された各語彙パターンの頻度を取得するステップと、
複数のエンティティペア、複数の語彙パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成するステップと、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成するステップと、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリングステップと、を備え、
前記クラスタリングステップは、
ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成する行クラスタリングステップと、
ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成する列クラスタリングステップと、を備えている、
テキストコーパスにおける2つのエンティティ間の関係抽出方法、である。
テキストコーパスにおいて、複数のエンティティペアを抽出すると共に、抽出された各エンティティペアの頻度を取得するステップと、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターンを抽出すると共に、抽出された各語彙パターンの頻度を取得するステップと、
複数のエンティティペア、複数の語彙パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成するステップと、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成するステップと、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリングステップと、を備え、
前記クラスタリングステップは、
ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成する行クラスタリングステップと、
ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成する列クラスタリングステップと、を備えている、
テキストコーパスにおける2つのエンティティ間の関係抽出方法、である。
1つの態様では、上記方法は、さらに、品詞パターンを抽出すると共に、抽出された品詞パターンの頻度を取得するステップを備え、
前記第1共起行列は、複数のエンティティペア、複数の語彙パターン及び品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン・各品詞パターンとを関連付ける頻度を要素とするものであり、
前記第2共起行列を作成するステップは、前記複数の語彙パターン及び品詞パターンを頻度が大きい順にソートすることを含み、
前記第3共起行列を作成するステップは、複数の語彙パターン・品詞パターンをクラスタリングして、語彙パターン・品詞パターンのクラスタを取得することを含み、前記第3共起行列は、取得したエンティティペアのクラスタ、語彙パターン・品詞パターンのクラスタのいずれか一方を行、他方を列とする。
前記第1共起行列は、複数のエンティティペア、複数の語彙パターン及び品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン・各品詞パターンとを関連付ける頻度を要素とするものであり、
前記第2共起行列を作成するステップは、前記複数の語彙パターン及び品詞パターンを頻度が大きい順にソートすることを含み、
前記第3共起行列を作成するステップは、複数の語彙パターン・品詞パターンをクラスタリングして、語彙パターン・品詞パターンのクラスタを取得することを含み、前記第3共起行列は、取得したエンティティペアのクラスタ、語彙パターン・品詞パターンのクラスタのいずれか一方を行、他方を列とする。
本発明が採用した他のテキストコーパスにおける2つのエンティティ間の関係抽出方法は、
テキストコーパスにおいて、複数のエンティティペアを抽出すると共に、抽出された各エンティティペアの頻度を取得するステップと、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターン及び/あるいは品詞パターンを抽出すると共に、抽出された各語彙パターン及び/あるいは品詞パターンの頻度を取得するステップと、
複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成するステップと、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターン及び/あるいは品詞パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成するステップと、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリングステップと、を備え、
前記クラスタリングステップは、
ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成する行クラスタリングステップと、
ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成する列クラスタリングステップと、を備えている。
テキストコーパスにおいて、複数のエンティティペアを抽出すると共に、抽出された各エンティティペアの頻度を取得するステップと、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターン及び/あるいは品詞パターンを抽出すると共に、抽出された各語彙パターン及び/あるいは品詞パターンの頻度を取得するステップと、
複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成するステップと、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターン及び/あるいは品詞パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成するステップと、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリングステップと、を備え、
前記クラスタリングステップは、
ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成する行クラスタリングステップと、
ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成する列クラスタリングステップと、を備えている。
本発明が採用したテキストコーパスにおける2つのエンティティ間の関係抽出装置は、
テキストコーパスにおいて、複数のエンティティペアを抽出する手段と、
抽出された各エンティティペアの頻度を取得する手段と、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターンを抽出する手段と、
抽出された各語彙パターンの頻度を取得する手段と、
複数のエンティティペア、複数の語彙パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成する手段と、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成する手段と、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリング手段と、を備え、
前記クラスタリング手段は、行クラスタリング手段と、列クラスタリング手段と、を備え、
前記行クラスタリング手段は、ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成するように構成され、
前記列クラスタリング手段は、ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成するように構成されている。
テキストコーパスにおいて、複数のエンティティペアを抽出する手段と、
抽出された各エンティティペアの頻度を取得する手段と、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターンを抽出する手段と、
抽出された各語彙パターンの頻度を取得する手段と、
複数のエンティティペア、複数の語彙パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成する手段と、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成する手段と、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリング手段と、を備え、
前記クラスタリング手段は、行クラスタリング手段と、列クラスタリング手段と、を備え、
前記行クラスタリング手段は、ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成するように構成され、
前記列クラスタリング手段は、ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成するように構成されている。
1つの態様では、上記装置は、さらに、品詞パターンを抽出すると共に、抽出された品詞パターンの頻度を取得する手段を備え、
前記第1共起行列は、複数のエンティティペア、複数の語彙パターン及び品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン・各品詞パターンとを関連付ける頻度を要素とするものであり、
前記第2共起行列を作成する手段は、前記複数の語彙パターン及び品詞パターンを頻度が大きい順にソートすることを含み、
前記第3共起行列を作成する手段は、複数の語彙パターン・品詞パターンをクラスタリングして、語彙パターン・品詞パターンのクラスタを取得することを含み、前記第3共起行列は、取得したエンティティペアのクラスタ、語彙パターン・品詞パターンのクラスタのいずれか一方を行、他方を列とする。
前記第1共起行列は、複数のエンティティペア、複数の語彙パターン及び品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン・各品詞パターンとを関連付ける頻度を要素とするものであり、
前記第2共起行列を作成する手段は、前記複数の語彙パターン及び品詞パターンを頻度が大きい順にソートすることを含み、
前記第3共起行列を作成する手段は、複数の語彙パターン・品詞パターンをクラスタリングして、語彙パターン・品詞パターンのクラスタを取得することを含み、前記第3共起行列は、取得したエンティティペアのクラスタ、語彙パターン・品詞パターンのクラスタのいずれか一方を行、他方を列とする。
本発明が採用した他のテキストコーパスにおける2つのエンティティ間の関係抽出装置は、
テキストコーパスにおいて、複数のエンティティペアを抽出する手段と、
抽出された各エンティティペアの頻度を取得する手段と、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターン及び/あるいは品詞パターンを抽出する手段と、
抽出された各語彙パターン及び/あるいは品詞パターンの頻度を取得する手段と、
複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン及び/あるいは品詞パターンとを関連付ける頻度を要素とする第1共起行列を作成する手段と、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターン及び/あるいは品詞パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成する手段と、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリング手段と、を備え、
前記クラスタリング手段は、行クラスタリング手段と、列クラスタリング手段と、を備え、
前記行クラスタリング手段は、ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成するように構成され、
前記列クラスタリング手段は、ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成するように構成されている。
テキストコーパスにおいて、複数のエンティティペアを抽出する手段と、
抽出された各エンティティペアの頻度を取得する手段と、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターン及び/あるいは品詞パターンを抽出する手段と、
抽出された各語彙パターン及び/あるいは品詞パターンの頻度を取得する手段と、
複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン及び/あるいは品詞パターンとを関連付ける頻度を要素とする第1共起行列を作成する手段と、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターン及び/あるいは品詞パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成する手段と、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリング手段と、を備え、
前記クラスタリング手段は、行クラスタリング手段と、列クラスタリング手段と、を備え、
前記行クラスタリング手段は、ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成するように構成され、
前記列クラスタリング手段は、ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成するように構成されている。
本発明では、エンティティペアが出現する文脈として、語彙パターン及び/あるいは品詞パターンを用いる。すなわち、語彙パターンのみを用いる場合(特徴ベクトルは語彙パターンの頻度)、品詞パターンのみを用いる場合(特徴ベクトルは品詞パターンの頻度)、語彙パターンと品詞パターンの両方を用いる場合(特徴ベクトルは、語彙パターンの頻度及び品詞パターンの頻度)がある。典型的な態様では、語彙パターン(必須要素)を中心に用いて、品詞パターン(任意要素)は補助的に用いる。
特徴ベクトルの作成、クラスタリングなど全ての処理において語彙パターンと品詞パターンは同じように扱うことができ、本明細書において「語彙パターン」に関して記述されている文は「品詞パターン」に援用することができる。
特徴ベクトルの作成、クラスタリングなど全ての処理において語彙パターンと品詞パターンは同じように扱うことができ、本明細書において「語彙パターン」に関して記述されている文は「品詞パターン」に援用することができる。
1つの態様では、エンティティペア及び語彙パターンの取得は、
テキストコーパスから取得した文を単語に切り分けるステップと、
切り分けられた単語から候補エンティティペアを作成するステップと、
候補エンティティペアが含まれる元の文において、エンティティペアの第1エンティティをXに、第2エンティティをYに置き換えて、X,Yを含む部分列Sを生成し、部分列Sのn-gram(nは1からKまで)を生成するステップと、
得られたn-gramを特徴ベクトルの1つの次元として、エンティティペアを含む全ての文において頻度を数えるステップと、を備えており、
n-gramの頻度を語彙パターンの頻度として、エンティティペアと関連付けて保存する。
ここで、部分列Sは、Xの直前のm1個の単語,X,XY間の単語列,Y,Yの直後のm2個の単語、である。m1、m2、Kは、整数のパラメータである。
1つの態様では、前記候補エンティティペアの2つエンティティ間の距離Dが、閾値Dth以下の場合にのみ候補エンティティペアの周辺の文脈の語彙パターンを取得する。
1つの態様では、前記候補エンティティペアを作成するステップにおいて、固有名詞を含むエンティティペアを候補エンティティペアとして優先的に抽出する。
テキストコーパスから取得した文を単語に切り分けるステップと、
切り分けられた単語から候補エンティティペアを作成するステップと、
候補エンティティペアが含まれる元の文において、エンティティペアの第1エンティティをXに、第2エンティティをYに置き換えて、X,Yを含む部分列Sを生成し、部分列Sのn-gram(nは1からKまで)を生成するステップと、
得られたn-gramを特徴ベクトルの1つの次元として、エンティティペアを含む全ての文において頻度を数えるステップと、を備えており、
n-gramの頻度を語彙パターンの頻度として、エンティティペアと関連付けて保存する。
ここで、部分列Sは、Xの直前のm1個の単語,X,XY間の単語列,Y,Yの直後のm2個の単語、である。m1、m2、Kは、整数のパラメータである。
1つの態様では、前記候補エンティティペアの2つエンティティ間の距離Dが、閾値Dth以下の場合にのみ候補エンティティペアの周辺の文脈の語彙パターンを取得する。
1つの態様では、前記候補エンティティペアを作成するステップにおいて、固有名詞を含むエンティティペアを候補エンティティペアとして優先的に抽出する。
候補エンティティペアの周辺の文脈の品詞パターンについても、語彙パターンと同様の方法で取得することができる。すなわち、単語に分割されたテキストを品詞タガー(Part-of-speech tagging, POS tagging)により品詞タグ付けして、候補エンティティペアの周辺の品詞列を取得し、この品詞列から語彙パターン抽出の際に行ったと同様にn-gram(最大kまで)を生成し、得られたn-gramを特徴ベクトルの1つの次元とする。
本発明では、テキストコーパスから、エンティティペアのエンティティ間の関係を表現するための特徴ベクトルを定義する。共クラスタリングアルゴリズムにおける類似度の計算は、特徴ベクトルの間の距離によって算出されるため、まず特徴ベクトルを作成しておく必要がある。
特徴ベクトルの要素は、「特徴(次元)」とその「値(特徴量)」であり、文脈を語彙パターンとした場合には、「特徴(次元)」=「語彙パターン」、「値(特徴量)」=「語彙パターンの頻度」、となる。すなわち、「語彙パターンの頻度を基に計算する重み」を特徴量にした特徴ベクトルでエンティティペア間の関係を表現する。同様に、文脈を品詞パターンとした場合には、「特徴(次元)」=「品詞パターン」、「値(特徴量)」=「品詞パターンの頻度」、となる。
典型的な態様では、類似度は、両者の特徴ベクトル間のコサイン類似度に基づいて算出される。特徴ベクトル間の距離尺度については、ユーグリット距離、マハラノビス距離等の公知の距離尺度を用いることができる。
特徴ベクトルの要素は、「特徴(次元)」とその「値(特徴量)」であり、文脈を語彙パターンとした場合には、「特徴(次元)」=「語彙パターン」、「値(特徴量)」=「語彙パターンの頻度」、となる。すなわち、「語彙パターンの頻度を基に計算する重み」を特徴量にした特徴ベクトルでエンティティペア間の関係を表現する。同様に、文脈を品詞パターンとした場合には、「特徴(次元)」=「品詞パターン」、「値(特徴量)」=「品詞パターンの頻度」、となる。
典型的な態様では、類似度は、両者の特徴ベクトル間のコサイン類似度に基づいて算出される。特徴ベクトル間の距離尺度については、ユーグリット距離、マハラノビス距離等の公知の距離尺度を用いることができる。
特徴ベクトルと類似度について図1に基づいて具体的に説明する。Google
acquires YouTube”を含む文が10回, Google buys YouTubeを含む文が8回出現した場合、エンティティペア(Google, YouTube)の特徴ベクトルは図1の列ベクトルV1のように表現される。そのペアに含まれない語彙パターンの頻度は0とする。同様に、エンティティペア(Microsoft, Powerset)の特徴ベクトルは図1の列ベクトルV2のように表現される。列ベクトルV1と列ベクトルV2のコサイン類似度は高いので、エンティティペア(Google, YouTube) とエンティティペア(Microsoft, Powerset)との類似度は高いと言え、1つの態様では、クラスタリングによって、これらの2つのエンティティペアは同じクラスタに属する。同様に、エンティティペア(Obama, United States)とエンティティペア(Barak Obama, U.S.)に対して共通して出現している語彙パターン(例えばX is the president of Yなど)があれば、エンティティペア同士の関係類似度が高くなり、クラスタリングによって、これらの2つのエンティティペアは同じクラスタに属することになる。
一方、語彙パターンX acquires Yと共にエンティティペア(Google,
YouTube)が10回出現し、語彙パターンX acquires Yと共にエンティティペア(Microsoft, Powerset)が9回出現した場合、語彙パターンX acquires Yの特徴ベクトルは図1の行ベクトルV3のように表現される。同様に、語彙パターンX buys Yの特徴ベクトルは図1の列ベクトルV4のように表現される。行ベクトルV3と行ベクトルV4のコサイン類似度は高いので、語彙パターンX acquires Y と語彙パターンX buys Yとの類似度は高いと言え、1つの態様では、クラスタリングによって、これらの2つのエンティティペアは同じクラスタに属する。
acquires YouTube”を含む文が10回, Google buys YouTubeを含む文が8回出現した場合、エンティティペア(Google, YouTube)の特徴ベクトルは図1の列ベクトルV1のように表現される。そのペアに含まれない語彙パターンの頻度は0とする。同様に、エンティティペア(Microsoft, Powerset)の特徴ベクトルは図1の列ベクトルV2のように表現される。列ベクトルV1と列ベクトルV2のコサイン類似度は高いので、エンティティペア(Google, YouTube) とエンティティペア(Microsoft, Powerset)との類似度は高いと言え、1つの態様では、クラスタリングによって、これらの2つのエンティティペアは同じクラスタに属する。同様に、エンティティペア(Obama, United States)とエンティティペア(Barak Obama, U.S.)に対して共通して出現している語彙パターン(例えばX is the president of Yなど)があれば、エンティティペア同士の関係類似度が高くなり、クラスタリングによって、これらの2つのエンティティペアは同じクラスタに属することになる。
一方、語彙パターンX acquires Yと共にエンティティペア(Google,
YouTube)が10回出現し、語彙パターンX acquires Yと共にエンティティペア(Microsoft, Powerset)が9回出現した場合、語彙パターンX acquires Yの特徴ベクトルは図1の行ベクトルV3のように表現される。同様に、語彙パターンX buys Yの特徴ベクトルは図1の列ベクトルV4のように表現される。行ベクトルV3と行ベクトルV4のコサイン類似度は高いので、語彙パターンX acquires Y と語彙パターンX buys Yとの類似度は高いと言え、1つの態様では、クラスタリングによって、これらの2つのエンティティペアは同じクラスタに属する。
品詞パターンの頻度を特徴とする類似度計算の仕方は語彙パターンの場合と全く同じであり、品詞パターンを抽出し、品詞パターンの出現頻度を要素とする特徴ベクトルを作成し、特徴ベクトル間の類似度(典型的にはコサイン類似度)を計算する。語彙パターンの頻度及び品詞パターンの頻度の両方を用いる場合に、一つの態様では、パターン抽出後は、語彙パターン、品詞パターンの区別は行わない。語彙パターンと品詞パターンは同じようにクラスタリングされ、関係が同じあるいは似ているエンティティペアに対して出現する語彙パターンと品詞パターンは同じクラスタの中に属することになる。
語彙パターンと品詞パターンの両方を用いる場合に、品詞パターンは語彙パターンの欠点を補完する機能を備えている。
語彙パターンは単語そのものから構成されているため、語彙パターンに含まれている単語がそのまま文書に出現していないとマッチされないという欠点がある。例えば、X is a large Yというパターンは「large」という単語の場合はマッチするが、great, bigなど同じ意味をもつ他の形容詞の場合にはマッチしない。この例において、品詞パターンX VBZ DT JJ Yを用いることで、largeだけではなく、どの形容詞についてもマッチされるようになり、品詞情報を用いて語彙パターンをより一般化(抽象化)することができる。
語彙パターンは単語そのものから構成されているため、語彙パターンに含まれている単語がそのまま文書に出現していないとマッチされないという欠点がある。例えば、X is a large Yというパターンは「large」という単語の場合はマッチするが、great, bigなど同じ意味をもつ他の形容詞の場合にはマッチしない。この例において、品詞パターンX VBZ DT JJ Yを用いることで、largeだけではなく、どの形容詞についてもマッチされるようになり、品詞情報を用いて語彙パターンをより一般化(抽象化)することができる。
語彙パターンを抽象化する(より広い範囲でマッチさせるため)手段は、品詞情報を用いるものに限定されないことが当業者に理解される。例えば、類義語辞書(シソーラス)を使ってlarge, great, bigをどれも同じものとしてマッチさせるとか、上位概念語−下位概念語の関係が登録されているオントロジー(語彙体系)を使って、下位概念語(例えば、prius, lexus, corolla)を上位概念語(「トヨタ車」)として抽象化するなど取り得る。すなわち、語彙パターンを抽象化する手段として、語彙パターンを品詞情報を使って抽象化する「品詞パターン(part-of-speech patterns)」に加えて、類義語辞書を使って抽象化する「類義語パターン(synonym patterns)」やオントロジーを使って抽象化する「上位概念語―下位概念語パターン(hypernym patterns)」など他の抽象化パターンを取り得ることが当業者に理解される。
また、このような辞書自体は公知であり、エンティティペアのクラスタリングにおいて、辞書を用いてエンティティペアを構成するエンティティをクラスタリングしてもよい。
また、このような辞書自体は公知であり、エンティティペアのクラスタリングにおいて、辞書を用いてエンティティペアを構成するエンティティをクラスタリングしてもよい。
本発明では、選択された行と行クラスタとの類似度を行ベクトル(特徴ベクトル)を用いて算出し、選択された列と列クラスタとの類似度を列ベクトル(特徴ベクトル)を用いて算出する。
1つの態様では、列クラスタ、行クラスタの特徴ベクトルは、重心ベクトルを用いる。重心ベクトルは、クラスタ内に属するエンティティペアあるいは語彙パターンの列ベクトルあるいは行ベクトルの和をエンティティペアあるいは語彙パターンの個数で割ったものである。
語彙パターンと品詞パターンの両方を用いる場合に、1つの態様では、パターン抽出後は、語彙パターン、品詞パターンの区別を行なうことなくエンティティペアを表す特徴として用いられる。したがって、同じ行ベクトルあるいは列ベクトルの中に、語彙パターンの頻度、品詞パターンの頻度がランダムに混在する。頻度が大きい順にソートすることで頻度が大きい語彙パターン、品詞パターンが上位に位置することになる。
1つの態様では、必要に応じて、語彙パターンと品詞パターンの頻度に重み付けを行ってもよい。
1つの態様では、列クラスタ、行クラスタの特徴ベクトルは、重心ベクトルを用いる。重心ベクトルは、クラスタ内に属するエンティティペアあるいは語彙パターンの列ベクトルあるいは行ベクトルの和をエンティティペアあるいは語彙パターンの個数で割ったものである。
語彙パターンと品詞パターンの両方を用いる場合に、1つの態様では、パターン抽出後は、語彙パターン、品詞パターンの区別を行なうことなくエンティティペアを表す特徴として用いられる。したがって、同じ行ベクトルあるいは列ベクトルの中に、語彙パターンの頻度、品詞パターンの頻度がランダムに混在する。頻度が大きい順にソートすることで頻度が大きい語彙パターン、品詞パターンが上位に位置することになる。
1つの態様では、必要に応じて、語彙パターンと品詞パターンの頻度に重み付けを行ってもよい。
1つの態様では、行クラスタリングと列クラスタリングは交互に実行される。すなわち、上記方法においては、前記行クラスタリングステップと列クラスタリングステップを交互に実行され、上記装置においては、前記行クラスタリング手段と前記列クラスタリング手段は、行クラスタリングと列クラスタリングステップを交互に実行するように構成されている。
行数と列数が異なる場合には、行クラスタリングと列クラスタリングを交互に実行した後に、数が多い方の行または列のみのクラスタリングを行う。
行数と列数が異なる場合には、行クラスタリングと列クラスタリングを交互に実行した後に、数が多い方の行または列のみのクラスタリングを行う。
本発明は、また、コンピュータに上記ステップを実行させるための、あるいは、コンピュータを上記手段として機能させるためのコンピュータプログラムとしても提供される。
本発明は、関係双対性(Relational Duality)を用いて共クラスタリングを行うことを特徴の1つとしている。任意の関係Rは2つの側面から定義することができる。一つは、いわゆる外延的定義であり、関係Rにある「エンティティのペア」により定義される。もう一つは、いわゆる内包的定義であり、関係Rを「語彙パターン」で表現することで定義される。この2通りの定義は同一の関係Rを定義しているためそれらの間には「双対性」(duality)が存在する。
具体的には、関係Rが買収関係(ある会社が別の会社に買われる)の場合、関係Rを定義するためには買収関係にある会社のペアを挙げることができる。例えば、(Google, YouTube), (Microsoft, Powerset)などが挙げられ、これは外延的定義である。買収関係を内包的に定義するためには二つの会社XとYの間に買収関係が存在することを示す語彙パターンを用いれば良い。例えば、YはXに買われる, X acquires
Y, X bought Y, Y is acquired by Xなどが考えられる。
Y, X bought Y, Y is acquired by Xなどが考えられる。
本発明は、この双対となる関係の定義に基づくクラスタリング手法を提案し、それを用いて関係抽出を行う。提案するクラスタリング手法は、語彙パターンとエンティティペアを「同時に」クラスタリングするものであり、共クラスタリングアルゴリズムの一種ではあるが、関係の異なる定義の双対性という制約に基づいて実現する点に特徴がある。
本発明は、教師なし学習であるクラスタリングによるので、訓練用データを必要としない。共クラスタリング(co-clustering)によりエンティティペアの関係種別クラスタリングに使う特徴量となる語彙パターンも同時にクラスタリングするので、特徴ベクトルの次元を圧縮し安定的なクラスタリングを可能とする。また、クラスタ数を予め決定することなくクラスタリングを行うことができる。クラスタ数は第1の閾値、第2の閾値をどのように選択するかによって間接的に設定される。
行クラスタリングステップと列クラスタリングステップを交互に実行することで、直前に作られたエンティティペアクラスタあるいは語彙・品詞パターンクラスタが次のクラスタリングステップで類似度を計測する際に反映されるという利点がある。例えば、語彙・品詞パターンをまず全部クラスタリングし終わってからエンティティペアをクラスタリングし始めるという設定だと、語彙・品詞パターンをクラスタリングする際に類似度を計算する時には似たようなエンティティペア(例:(Barack Obama, United States)と(Barack Obama,
U.S.))が同一クラスタに入っていないので類似度が小さくなってしまうという問題が生じ得る。
U.S.))が同一クラスタに入っていないので類似度が小さくなってしまうという問題が生じ得る。
[A]本実施形態の概要
本実施形態は、大量のテキストコーパスから近接して共起するエンティティペアを抽出し、抽出された大量のエンティティペアをそのエンティティ周辺の語彙パターンと合わせてco-clusteringを行うことにより、その結果として有意な関係種別を有するエンティティペア集合を代表クラスタとして抽出する。そしてその代表クラスタの関係種別を表すラベルを見出す。本実施形態に係る関係抽出システムの概念図を図2に示す。本実施形態の手法は次の4つの部分から構成される。
(1)エンティティペアの抽出(外延的な定義の自動抽出)
(2)語彙パターンの抽出(内包的な定義の自動抽出)
(3)共クラスタリング(Co-clustering)アルゴリズム
(4)各クラスタから代表的な関係を選択する。
本実施形態は、大量のテキストコーパスから近接して共起するエンティティペアを抽出し、抽出された大量のエンティティペアをそのエンティティ周辺の語彙パターンと合わせてco-clusteringを行うことにより、その結果として有意な関係種別を有するエンティティペア集合を代表クラスタとして抽出する。そしてその代表クラスタの関係種別を表すラベルを見出す。本実施形態に係る関係抽出システムの概念図を図2に示す。本実施形態の手法は次の4つの部分から構成される。
(1)エンティティペアの抽出(外延的な定義の自動抽出)
(2)語彙パターンの抽出(内包的な定義の自動抽出)
(3)共クラスタリング(Co-clustering)アルゴリズム
(4)各クラスタから代表的な関係を選択する。
本実施形態に係る関係抽出システムは、一つあるいは複数のコンピュータから構成されており、当該コンピュータは、ハードウェアとしての処理手段(CPU等)、記憶手段(ハードディスク、RAM、ROM等)、入力手段、出力手段ないし表示手段、ソフトウエアとしてのコンピュータを動作させる制御プログラム等を備えている。例えば、テキストコーパスはハードディスクに記憶されており、本明細書で詳述する各処理手段によって実行される各処理で得られた生成物(エンティティペア、語彙パターン、品詞パターン、これらの頻度、エンティティペアクラスタ、語彙パターンクラスタ等)はハードディスクあるいはRAMに記憶される。類義語や上位概念語―下位概念語の辞書を用いる場合には、これらの辞書はハードディスクあるいはROMに記憶されている。
[B]エンティティペア及び語彙パターンの抽出
テキストコーパスからエンティティペア間の関係を抽出するためには、先ず、テキストコーパスからエンティティペア及び語彙パターンを抽出する必要がある。コーパスは、例えば、システムのローカルハードディスクにあるローカルコーパス(local diskにあるテキストの集合やクロールしたWebテキストなど)である。このようなテキストコーパスには、大量のエンティティとそれらの間の潜在的な関係が含まれている。
テキストコーパスからエンティティペア間の関係を抽出するためには、先ず、テキストコーパスからエンティティペア及び語彙パターンを抽出する必要がある。コーパスは、例えば、システムのローカルハードディスクにあるローカルコーパス(local diskにあるテキストの集合やクロールしたWebテキストなど)である。このようなテキストコーパスには、大量のエンティティとそれらの間の潜在的な関係が含まれている。
これらのテキストをまず文単位に切る。文単位で処理することによって計算に必要なリソース(メモリなど)効率的に使うことができる。そして、それらの文を単語に分けて、品詞をつける。この処理は、品詞タグ付け(part-of-speech(POS) tagging)として知られている。文の品詞タグ付けを行って名詞句を抽出する。例えば、固有名詞や名詞と固有名詞の連続する出現をエンティティとして選択する一つの文で二つ以上のエンティティが存在すると、エンティティペアとそのエンティティペアが出現する文脈から語彙パターンを生成する。以下に、より具体的に説明する。
「東京は日本の首都である」という文があったときに、品詞タグ付け後、<東京/名詞,は/助詞,日本/名詞,の/助詞,首都/名詞,で/助動詞,ある/助動詞>の列が得られる。得られた単語と品詞列から、名詞、動詞、形容詞、形容動詞を取り、それらのエンティティをエンティティペアの要素の候補とする。前記の文では、「東京」、「日本」と「首都」が抽出の候補エンティティになる。
候補エンティティから、候補となるエンティティペアを作る。候補エンティティペアは文の中の順序を保った2つの候補エンティティである。例えば、前記の文であれば、(東京、日本)、(日本、首都)、(東京、首都)という3つのエンティティペアを候補エンティティペアとする。文の中で候補エンティティペアが出現したら、そのエンティティペアを記録し、頻度を増やす。また、そのペアが出現する文の位置(document IDとdocument中の文の位置)も記録する。
1つの態様では、品詞タガーを使って、名詞句を全てエンティティとして抽出するが、候補エンティティとして固有名詞を優先的に抽出したい場合には、NER(Named Entity Recognizer)を使って、文中の固有名詞を抽出し、エンティティペアに固有名詞があったら、それを記録するようにしてもよい。
上記の候補エンティティペアの頻度を全コーパスで数えるために、コーパス全体に対して、上記の処理を実行する。候補エンティティペアを抽出した後、候補エンティティペア及びコーパス中に出現するそれらのエンティティペアの頻度が分かり、更に、どのエンティティペアが固有名詞を含むかも分かる。この処理が終わった後、新しくテキストがコーパスに入るときには、逐次的にそのテキストに同じ処理を施すことにより頻度を更新できる。
取得した候補エンティティペアを使い、候補エンティティペアの周辺の文脈から語彙パターンを抽出する。その時、固有名詞を含むエンティティペアや頻度の高いエンティティペアの語彙パターンを優先的に抽出する。候補エンティティペアの語彙パターン抽出前に様々なフィルタリング手法(例えば、エンティティペアの出現頻度やエンティティ間の距離を用いる)を使い、ノイズやあまり関係のないようなエンティティペアを発見し、それらのペアを除去する。例えば、頻度の少ないエンティティペア(例えば4回以下)に対しては、ノイズとして認識し、語彙パターン抽出を実行しない。新しいテキストがコーパスに追加されるときに、もしエンティティペアの頻度が4回以上になったら、エンティティペアはノイズではなくなり、通常通りに語彙パターンを抽出する。それぞれのエンティティペアに対して、そのエンティティペアはどういった語彙パターンと一緒に出現したか(共起したか)ということを記録しておく。
語彙パターンを決めるために、先ず、候補エンティティペアの2つエンティティ間のテキストにおける距離Dを測る。距離Dは単に2つのエンティティ間の単語数とする。距離Dが、閾値Dthよりも大きいエンティティペアに対しては、エンティティ間の関連性が低いとして、語彙パターンを抽出しない。
閾値Dth以下のエンティティペアについて、元の文においてエンティティペアの第1エンティティをXに、エンティティペアの第2エンティティをYに置き換えた後、X,Yを含む以下の部分列(単語列)Sを取り出し、単語列Sのn-gram(nは1からKまで)を全て生成する。得られたn-gramを特徴ベクトルの1つの次元として、エンティティペアを含む文にわたって頻度を数える。特徴ベクトルはn-gramを次元として、その値はn-gramの頻度である。
部分列S=PreX X InXY Y PostY
ここで、PreX は Xの(文中の)直前のm1個の単語列で、PostYはYの直後のm2個の単語列である。また、InXY は (X, Y)の間の単語列である。1つの態様では、パラメータm1 とm2は5である。InXY が10以下であれば候補ペアとして抽出する(つまり、InXYの長さDがDthよりも大きいと抽出しない。)。N-gramの nは1からKまでとする。1つの態様では、K=7である。1つの態様では、DがK−2よりも大きい(D>K−2、即ち、D+2>K)の時、(X, InXY, Y)というn-gramも生成する。
部分列S=PreX X InXY Y PostY
ここで、PreX は Xの(文中の)直前のm1個の単語列で、PostYはYの直後のm2個の単語列である。また、InXY は (X, Y)の間の単語列である。1つの態様では、パラメータm1 とm2は5である。InXY が10以下であれば候補ペアとして抽出する(つまり、InXYの長さDがDthよりも大きいと抽出しない。)。N-gramの nは1からKまでとする。1つの態様では、K=7である。1つの態様では、DがK−2よりも大きい(D>K−2、即ち、D+2>K)の時、(X, InXY, Y)というn-gramも生成する。
さらに具体的に説明する。
エンティティの前後のm個の単語、エンティティ間の全ての単語
(ただし、エンティティ間の距離DがDth以内)の n-gram (n=1,2,3, …,K)を取る。
例えば、
They discussed with Barack Obama, president of the United States in December to find a solution to the problem.
m1 = m2 =2、Dth=10、とすると、
抽出対象となる部分列Sは、
S=discussed with Barack Obama, president of the United States in December
となる。
抽出されるn-gramは、
[K=7の時(D=4,D<K−2]
n = 4:discussed with X,;with X, president;X, president of; ...;the Y in December
n = 6:discussed with X, president of;with X, president of the;X, president of the Y;...
n = 7:discussed with X, president of the;with X, president of the Y;X, president of the Y in;, president of the Y in December
n = 2:discussed with;with X;X,;, president;president of;of the;the Y;Y in;in December
また、別の例として、文が:
“They discussed with Barack Obama, the first African American president of the United States in December to find a solution to the
problem”
m1=m2=2,Dth=10とすると、抽出対象列
S=“discussed with X, the first African American president of the Y in December”
この場合、D=8(つまり、”, the first African American president of the”の長さなので、D=8である)。また、K=7と仮定すると、D=8>K−2である。
[K = 7の時、 D = 8 > K−2]
抽出されるn-gram は、
n=1, 2, .., 7のn-gramのすべて(上記の例と同様にn=1から7までのn-gramをすべて生成) と次のパターン:
X, the first African American president of the Y(n=8)
すなわち、DがK−2よりも大きい場合は、n=1からKまでのn-gramの全てに加えて、部分列(X, InXY, Y)もn-gramとして抽出する(この部分列はn-gramであるが、nがKよりも大きい)。
生成されたn-gram の全てを関係を表す特徴として用いる。
1つの態様では、語彙パターン抽出は文を切り出した後に行う。つまり、1つの文から部分列を抽出し、その部分列からn-gramを生成する。1つの態様では、文中にエンティティペアの一方あるいは両方が複数に表れても、置き換えられた出現(XないしY)は1つだけにするが、同時に置き換えてもよい。
エンティティの前後のm個の単語、エンティティ間の全ての単語
(ただし、エンティティ間の距離DがDth以内)の n-gram (n=1,2,3, …,K)を取る。
例えば、
They discussed with Barack Obama, president of the United States in December to find a solution to the problem.
m1 = m2 =2、Dth=10、とすると、
抽出対象となる部分列Sは、
S=discussed with Barack Obama, president of the United States in December
となる。
抽出されるn-gramは、
[K=7の時(D=4,D<K−2]
n = 4:discussed with X,;with X, president;X, president of; ...;the Y in December
n = 6:discussed with X, president of;with X, president of the;X, president of the Y;...
n = 7:discussed with X, president of the;with X, president of the Y;X, president of the Y in;, president of the Y in December
n = 2:discussed with;with X;X,;, president;president of;of the;the Y;Y in;in December
また、別の例として、文が:
“They discussed with Barack Obama, the first African American president of the United States in December to find a solution to the
problem”
m1=m2=2,Dth=10とすると、抽出対象列
S=“discussed with X, the first African American president of the Y in December”
この場合、D=8(つまり、”, the first African American president of the”の長さなので、D=8である)。また、K=7と仮定すると、D=8>K−2である。
[K = 7の時、 D = 8 > K−2]
抽出されるn-gram は、
n=1, 2, .., 7のn-gramのすべて(上記の例と同様にn=1から7までのn-gramをすべて生成) と次のパターン:
X, the first African American president of the Y(n=8)
すなわち、DがK−2よりも大きい場合は、n=1からKまでのn-gramの全てに加えて、部分列(X, InXY, Y)もn-gramとして抽出する(この部分列はn-gramであるが、nがKよりも大きい)。
生成されたn-gram の全てを関係を表す特徴として用いる。
1つの態様では、語彙パターン抽出は文を切り出した後に行う。つまり、1つの文から部分列を抽出し、その部分列からn-gramを生成する。1つの態様では、文中にエンティティペアの一方あるいは両方が複数に表れても、置き換えられた出現(XないしY)は1つだけにするが、同時に置き換えてもよい。
パラメータDth、m1、m2、Kは、閾値として当業者において適宜設定され得るものであり、上述の態様ではDth =10、m1=5、m2=5、K=7としているが、これらに限定されない。例えば、Dth =10の場合、エンティティペアが単語10個以上離れている場合には、語彙パターン・特徴ベクトルの抽出を行わない。また、特徴ベクトルを計算するときに、閾値Dth を動的閾値(例えば、1 〜10 まで動的に変化可能)としてもよい。また、検索データベースに、所望の語彙パターンが出現できるようにするために、最小の
Dthの値を記録してもよい。例えば、「Obama is the president of the USA」 という文について、「X is the president of the Y」が出現するための最小のDthは5である。もし、Dth = 4 であれば、この語彙パターンは出現しないとして、検索アルゴリズムが実行される。
Dthの値を記録してもよい。例えば、「Obama is the president of the USA」 という文について、「X is the president of the Y」が出現するための最小のDthは5である。もし、Dth = 4 であれば、この語彙パターンは出現しないとして、検索アルゴリズムが実行される。
品詞パターンについて説明する。例えば、Obama is the president of the U.S.という文の中で、
Obama/PERSON;is/VBZ;the/DT;president/NN;of/IN;the/DT;U.S./LOCATION
ここで、VBZ:動詞-3人称単数、DT:限定詞、NN:名詞(単数または不可算名詞)、IN:前提詞または従属接続詞)と解釈されたときに、ObamaとU.S.の関係(エンティティペア(Obama, U.S.) の特徴)を表す。
1つの語彙パターンは 「is the president of the」、
1つの品詞パターンは 「VBZ DT NN IN DT」、となる。
品詞パターンが同じであればエンティティペアのエンティティ間の関係が類似する可能性がある。例えば、上記の文と下記の文の品詞パターンは同じある。
Obama is the leader of the U.S.
Obama/PERSON;is/VBZ;the/DT;president/NN;of/IN;the/DT;U.S./LOCATION
ここで、VBZ:動詞-3人称単数、DT:限定詞、NN:名詞(単数または不可算名詞)、IN:前提詞または従属接続詞)と解釈されたときに、ObamaとU.S.の関係(エンティティペア(Obama, U.S.) の特徴)を表す。
1つの語彙パターンは 「is the president of the」、
1つの品詞パターンは 「VBZ DT NN IN DT」、となる。
品詞パターンが同じであればエンティティペアのエンティティ間の関係が類似する可能性がある。例えば、上記の文と下記の文の品詞パターンは同じある。
Obama is the leader of the U.S.
品詞パターンは語彙パターンに比べてより抽象化されているので語彙パターンがマッチされない場合でも品詞パターンがマッチされるので語彙パターンだけだと類似度がゼロになってしまうエンティティペアに関してもある程度の類似度の値を計算することができる。いわばパターンのゼロ頻度問題を回避するために品詞パターンを用いることができる。例をあげて説明する。
エンティティペア(ostrich,bird)に関してX is a large Yという語彙パターンと、それに対応する X VBZ DT JJ Yという品詞パターンのみが抽出されているとする。一方、エンティティペア(lion,cat)に関してはX is a big Yという語彙パターンと、それに対応するX VBZ DT JJ Yという品詞パターンのみが抽出されているとする。
語彙パターンのみを用いてこれらのエンティティペア間の関係類似度(パターンベクトル間のコサイン類似度)を計算すると、共通して出現する語彙パターンがないため類似度はゼロとなる。一方、品詞パターンまでベクトルに含めるとlargeもbigも両方とも形容詞(adjective)なのでコサイン類似度は0.5となる。
エンティティペア(ostrich,bird)に関してX is a large Yという語彙パターンと、それに対応する X VBZ DT JJ Yという品詞パターンのみが抽出されているとする。一方、エンティティペア(lion,cat)に関してはX is a big Yという語彙パターンと、それに対応するX VBZ DT JJ Yという品詞パターンのみが抽出されているとする。
語彙パターンのみを用いてこれらのエンティティペア間の関係類似度(パターンベクトル間のコサイン類似度)を計算すると、共通して出現する語彙パターンがないため類似度はゼロとなる。一方、品詞パターンまでベクトルに含めるとlargeもbigも両方とも形容詞(adjective)なのでコサイン類似度は0.5となる。
表1に、エンティティペア及び語彙パターンの抽出の他の例を示す。語彙パターンについては、スペースの都合上、一部の語彙パターンのみを示している。また、対応する品詞パターン(統語構造)も合わせて記載してある。
エンティティペア及び語彙パターンを抽出する際に、Lemmatizationによって名詞の複数形を単数形とし、動詞の活用形(過去形や進行形)を基底形とすることで、活用によるばらつきが吸収される。lowercaseにすることで大文字、小文字によるばらつきが吸収される。
エンティティペア及び語彙パターン、品詞パターンの抽出の具体的な手法については、上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において様々な変形や変更が施され得ることが当業者に理解される。
エンティティペア及び語彙パターン、品詞パターンの抽出の具体的な手法については、上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において様々な変形や変更が施され得ることが当業者に理解される。
コーパスを最後まで処理することで、多数のエンティティペア、多数の語彙パターンが抽出される。それぞれのエンティティペアに対して、そのエンティティペアはどういった語彙パターンと一緒に出現したか(共起したか)という出現回数(共起頻度)も取得される。そして、多数のエンティティペアを行に、多数の語彙パターンを列に持つ行列を作成する。エンティティペア、語彙パターンと「行」、「列」との対応を逆にしてもよい。この共起行列の要素は、各々あるエンティティペアはある語彙パターンに対して何回出現したかという出現回数(共起頻度)を表している。この共起行列は次に述べる共クラスタリングアルゴリズムへの入力となる。
[C]共クラスタリング(Co-clustering)アルゴリズム
抽出された全てのエンティティペアの集合E、抽出された全ての語彙パターンの集合Pを用いて、各エンティティペアと各語彙パターンの関係を行列Aで表す。各エンティティペアを「行」、各語彙パターンを「列」とする。行列Aの要素Ai,jは、エンティティペアeiに対して抽出された語彙パターンpiの出現回数である。
抽出された全てのエンティティペアの集合E、抽出された全ての語彙パターンの集合Pを用いて、各エンティティペアと各語彙パターンの関係を行列Aで表す。各エンティティペアを「行」、各語彙パターンを「列」とする。行列Aの要素Ai,jは、エンティティペアeiに対して抽出された語彙パターンpiの出現回数である。
行列Aにおいて、正規化された各行ベクトルeiは、複数の語彙パターンに対するエンティティペアeiの分布を表す。同様に、行列Aにおいて、正規化された各列ベクトルpjは、複数のエンティティペアに対する語彙パターンエンpjの分布を表す。
正規化について説明する。あるエンティティペアに対する行ベクトルを正規化するためにはまずその行の要素をそれぞれ二乗して足し、その総和の平方根(ルート)をとり、その値で全ての要素を割り算する。ベクトルx=[x1,x2,…,xn]で表すとそのノルムLが次の式で定義される。
次に、ベクトルxをその長さが1になるように正規化(normalize)するためにはLで各要素を割る。正規化されたベクトルはx/Lである。正規化することによって要素の絶対値により違いがなくなる。この処理をベクトルAの行ベクトルと列ベクトルに適応してから各クラスタリングステップで類似度を計算する。コサイン類似度を計算する場合は必ずしもベクトル同士が正規化されていなくても良いが、それぞれのベクトルのノルムを用いる。
Distributional hypothesisから、二つのエンティティペアが語彙パターンの集合に対して類似の分布を有する場合には、これらのエンティティペアは類似の関係を備えていると言える。すなわち、似ているエンティティペアとは、そのエンティティペアが出現する語彙パターンの分布が似ているものであり、似ている語彙パターンとは、その語彙パターンが出現するエンティティペアの分布が似ているものである。本実施形態では、分布の類似を用いることでエンティティペアと語彙パターンを同時にクラスタリングする。
正規化について説明する。あるエンティティペアに対する行ベクトルを正規化するためにはまずその行の要素をそれぞれ二乗して足し、その総和の平方根(ルート)をとり、その値で全ての要素を割り算する。ベクトルx=[x1,x2,…,xn]で表すとそのノルムLが次の式で定義される。
次に、ベクトルxをその長さが1になるように正規化(normalize)するためにはLで各要素を割る。正規化されたベクトルはx/Lである。正規化することによって要素の絶対値により違いがなくなる。この処理をベクトルAの行ベクトルと列ベクトルに適応してから各クラスタリングステップで類似度を計算する。コサイン類似度を計算する場合は必ずしもベクトル同士が正規化されていなくても良いが、それぞれのベクトルのノルムを用いる。
Distributional hypothesisから、二つのエンティティペアが語彙パターンの集合に対して類似の分布を有する場合には、これらのエンティティペアは類似の関係を備えていると言える。すなわち、似ているエンティティペアとは、そのエンティティペアが出現する語彙パターンの分布が似ているものであり、似ている語彙パターンとは、その語彙パターンが出現するエンティティペアの分布が似ているものである。本実施形態では、分布の類似を用いることでエンティティペアと語彙パターンを同時にクラスタリングする。
本実施形態の共クラスタリング(co-clustering)アルゴリズムの擬似コードを表2に示す。
共クラスタリングアルゴリズムは、エンティティペアの集合E、語彙パターン・品詞パターンの集合P、エンティティペアと語彙パターン・品詞パターンの関係を表す行列A、行クラスタリング用閾値φ、列クラスタリング用閾値θを入力とし、行クラスタCE、列クラスタCPを出力する。具体的な処理の流れは次の通りである。
エンティティペアはその頻度の総和(全ての語彙パターンに対して何回出現したかということ、つまり行の和ΣjAi,j)で大きいものから小さいものの順にソートする。語彙パターン・品詞パターンはその頻度の総和(全てのエンティティペアに対して何回出現したかということ、つまり列の和ΣiAi,j)で大きいものから小さいものの順にソートする。表2の行番号1と2ではそれぞれエンティティペアのリストE、語彙パターン・品詞パターンのリストPをソースすることを、SORT関数で表している。出現回数が多い順にソートを行うことで、コーパスにおいてより一般的なエンティティペア及び語彙パターン・品詞パターンが、エンティティペアの集合E、語彙パターン・品詞パターンの集合Pの上位に現れ、より一般的でないエンティティペア及び語彙パターン・品詞パターンがエンティティペアの集合E、語彙パターン・品詞パターンの集合Pの下位に位置することになる。
行3において、行クラスタCE、列クラスタCPの空集合を用意する。
次に、語彙パターン・品詞パターンとエンティティペアを同時にco-clusteringを行う(表2の行番号4〜9までのループ)。まず語彙パターン・品詞パターンの集合Pの先頭にある語彙パターン(または品詞パターン)pを取り出してPOPする。これにより語彙パターン・品詞パターンの集合Pのサイズが1つだけ小さくなる。関数ASSIGNは、パターンpに対応するベクトルpと列クラスタの集合CPの各列クラスタcjとの類似度を計算する。cjはj番目の列クラスタの重心ベクトルを表す。ベクトルpとベクトルcjとの間の類似度をコサイン類似度を用いて計算する。ベクトルpと既存の全ての語彙パターン・品詞パターンクラスタCjとのコサイン類似度を計算し、最大の類似度が予め決められた列クラスタリング用閾値(語彙パターン・品詞パターンクラスタリング用閾値)θより大きい場合には、その類似度が最大となる語彙パターン・品詞パターンクラスタc*にベクトルpを統合する。ベクトルpと最も類似度が高いクラスタc*の類似度が列クラスタリング閾値θ以下の場合には、ベクトルpからなる新しい列クラスタを作成して、列クラスタ集合CPに加える。
同様に、エンティティペアの集合Eの先頭にあるエンティティペアeを取り出してPOPする。これによりエンティティペアの集合Eのサイズが1つだけ小さくなる。関数ASSIGNは、エンティティペアeに対応するベクトルeと行クラスタの集合CEの各行クラスタciとの類似度を計算する。ciはi番目の行クラスタの重心ベクトルを表す。ベクトルeとベクトルciとの間の類似度をコサイン類似度を用いて計算する。ベクトルeと最も類似度が高いクラスタc*の類似度が行クラスタリング用閾値φよりも大きい場合には、ベクトルeをクラスタベクトルc*に統合する。ベクトルeと最も類似度が高いクラスタc*の類似度が行クラスタリング閾値φ以下の場合には、ベクトルeをからなる新しい行クラスタを作成して、行クラスタ集合CEに加える。
この処理は語彙パターン・品詞パターンの集合Pとエンティティペアの集合Eが空になるまで繰り返す。一回whileループを回すとPとEは一つずつ減るので、PとEの要素数が大きい方のリストの要素数になると(つまり、max(|P|,|E|))クラスタリングが終了する。
本実施形態に係る共クラスタリングについて、表3の5×6の行列を例にとって説明する。表3の行列には行が5つ、列が6つ存在する。説明上の簡便のため表3の行列は0または1のみを要素としているが、共クラスタリングアルゴリズムは任意の正の実数を要素として持つ行列に適用される。列クラスタリング用閾値と行クラスタリング用閾値は共に0.5に設定した。
ベクトル間のコサイン類似度を考えると同じ次元に1が含まれていればコサイン類似度が高くなるので、第5列と第6列の間には高い(類似度が1)類似度があることになる。同様に、第1列と第3列ベクトル同士のコサイン類似度が1/√2となる。第2列ベクトルと第4の列ベクトル間のコサイン類似度も1/√2である。従って、直感的には(第1、第3列)、(第2、第4列)と(第4、第5列)として3つの列クラスタが作成されるのが妥当と思われる。本実施形態の共クラスタリングアルゴリズムを表3の共起行列に適用することで、どのようなクラスタが得られるかについて説明する。
本実施形態に係る共クラスタリング手法ではまず、行と列をその要素の総和の降順にソートする。表3の行列は既にこの規則に従っているので、この操作を行っても何も変化がない。
さて、ここから共クラスタリングルーチンが始まるが、まずは第1列を自分自身からなるクラスタにする。最初の列クラスタが作成後の行列を表3Bに示す。つまり、最初の列クラスタは[1]となる。ここでは列の番号を使って列クラスタを参照することにする。この処理によって表3の行列は変化しないので表3Bで示す行列は表3Aと同じである。
本実施形態に係る共クラスタリングアルゴリズムは行と列を交互に操作するので、次に、行をクラスタリングする。まだ行クラスタは1つも作成されていないので最初の行クラスタとして第1行そのものが選択される。最初の行クラスタが作成後の行列を表3Cに示す。この操作によって表3Bの行列は変化しない。最初の行クラスタを[1]で表現する。ここでは行の番号を使って行クラスタを参照することにする。
次の、列クラスタリングを行う。第2列を選択し、第2列を既に作成した列クラスタ([1])と比較して類似度を計算する。類似度がゼロであり、列クラスタリング用閾値より小さいため第2列は自分自身のみが入っている新たなクラスタを生成する。第2列が新たなクラスタを作った後の行列を表3Dに示す。現時点では列クラスタは[1]と[2]である。この操作によって行列は変化しない(表3D参照)。
第2行を選択し、第2行を既に作成した行クラスタ([1])と比較して類似度を計算する。類似度がゼロであり、行クラスタリング用閾値より小さいため第2行は自分自身のみが入っている新たなクラスタを生成する。第2行が新たなクラスタを作った後の行列を表3Eに示す。現時点では行クラスタは[1]と[2]である。この操作によって行列は変化しない(表3E参照)。
次に、第3列が選択されるが、第3列は第1列が作成した列クラスタと0.707
(=1/√2)の類似度を持っており、類似度が列クラスタリング用閾値(0.5)より大きいため、第1列クラスタの中に統合される。列クラスタは[1,3], [2]となる。第1列と第3列ベクトルが足されるのでここで初めて行列が変化する。(表3F参照)。列の数が一つ減っていることに注意されたい。
(=1/√2)の類似度を持っており、類似度が列クラスタリング用閾値(0.5)より大きいため、第1列クラスタの中に統合される。列クラスタは[1,3], [2]となる。第1列と第3列ベクトルが足されるのでここで初めて行列が変化する。(表3F参照)。列の数が一つ減っていることに注意されたい。
これで行は全てクラスタリングされたので、この後は列のみをクラスタリングして行く。次に、第6列が選択されるが、第6列と第5列により生成されたクラスタとの類似度が列クラスタリング用閾値(0.5)より大きいため、第5列クラスタの中に統合される(図3L参照)。これでクラスタリングアルゴリズムが修了する。
結果として、列クラスタ[1,3]、[2,4]、[5,6]と行クラスタ[1,4]、[2,5]、[3]が出来上がる。
語彙パターン・品詞パターンクラスタリング用閾値φと、エンティティペアクラスタリング用閾値θの決め方について説明する。一つの態様では、閾値φ、θは、いくつかの組み合わせで何回か共クラスタリングアルゴリズムを繰り返し実行してより良いクラスタリング結果を出力する閾値を実験的に決めることができる。例えば、あるデータセット(テキストコーパス)において閾値φ、θを0〜1の範囲で変化させながら複数の組み合わせの精度を比較し、精度が良好な場合の値の組み合わせを閾値φ、θとする。
あるいは、閾値φ、θをデータから計算してもよい。閾値計算方法の1つの態様について説明する。
閾値は行クラスタリング類似度閾値(エンティティペアクラスタリング用閾値)θと列クラスタリング類似度閾値(語彙・品詞パターンクラスタリング用閾値)φとして2つあるが、計算の仕方は同じであるため、閾値φの方だけ説明する。
まずは全ての語彙・品詞パターン間の類似度を計測し、その頻度分布(ヒストグラム、つまりある範囲内の類似度があるパターンペアがいくつあるか)を描く(図3)。図3から「類似度が小さいペアが沢山あって、類似度が高いペアは圧倒的に少ない」ということがわかる。このような現象は言語処理の様々なところで現れ、例えば、単語の出現頻度とその順位の間の関係はこのような形をしており、ジップの法則(Zipf’s law)と呼ばれている。本実施形態では、この類似度分布を指数分布(正確にはZeta分布)として仮定し、その分布のパラメータの値をデータの中から近似的に計算する。類似度の分布を近似できればその平均値を計算することができる。理想的なクラスタリングができている場合(つまり、全てのクラスタ同士の類似度がゼロである場合)は閾値φと類似度分布の平均が等しくなる。式(6)が閾値の近似値を与えている。
以下に具体的に説明する。
閾値はクラスタリング対象の点(エンティティペアあるいは語彙・品詞パターン)の類似度分布から近似的に計算される。まず、類似度分布を指数分布として仮定し、次の式で定義されるものとする。
ここで、xは類似度を表し、g(x)はxの類似度を持つ点同士の数を意味する。更に、aとk(1<k<2)は定数である。類似度が幅dとなる領域に分割しているものとすると類似度が[0, d]範囲の点ペア数g(d)は次の式(2)で与えられる。
g(x)は正規化されている分布であるため次の式(3)を満たす。
式(2)と式(3)からaとkは次のように計算できる。
本実施形態の共クラスタリング(co-clustering)手法は既に作られているクラスタと次にクラスタリングしたい点との類似度を計測し、最大な類似度をもつクラスタの類似度が閾値以上であればそのクラスタにその点を入れるようにしている。従って、クラスタリングする点の数が増えると各クラスタの平均類似度がおよそ閾値と等しくなる。一方、理想的なクラスタリングができている場合はクラスタ間の類似度がゼロなはずである。従って、その場合点の間の類似度の平均は閾値と等しくなる。つまり、以上計算した類似度分布の平均と理想的なクラスタリング結果をもたらす閾値は等しくなる。このことを使って閾値の値は次のように計算できる。
あるいは、閾値φ、θをデータから計算してもよい。閾値計算方法の1つの態様について説明する。
閾値は行クラスタリング類似度閾値(エンティティペアクラスタリング用閾値)θと列クラスタリング類似度閾値(語彙・品詞パターンクラスタリング用閾値)φとして2つあるが、計算の仕方は同じであるため、閾値φの方だけ説明する。
まずは全ての語彙・品詞パターン間の類似度を計測し、その頻度分布(ヒストグラム、つまりある範囲内の類似度があるパターンペアがいくつあるか)を描く(図3)。図3から「類似度が小さいペアが沢山あって、類似度が高いペアは圧倒的に少ない」ということがわかる。このような現象は言語処理の様々なところで現れ、例えば、単語の出現頻度とその順位の間の関係はこのような形をしており、ジップの法則(Zipf’s law)と呼ばれている。本実施形態では、この類似度分布を指数分布(正確にはZeta分布)として仮定し、その分布のパラメータの値をデータの中から近似的に計算する。類似度の分布を近似できればその平均値を計算することができる。理想的なクラスタリングができている場合(つまり、全てのクラスタ同士の類似度がゼロである場合)は閾値φと類似度分布の平均が等しくなる。式(6)が閾値の近似値を与えている。
以下に具体的に説明する。
閾値はクラスタリング対象の点(エンティティペアあるいは語彙・品詞パターン)の類似度分布から近似的に計算される。まず、類似度分布を指数分布として仮定し、次の式で定義されるものとする。
ここで、xは類似度を表し、g(x)はxの類似度を持つ点同士の数を意味する。更に、aとk(1<k<2)は定数である。類似度が幅dとなる領域に分割しているものとすると類似度が[0, d]範囲の点ペア数g(d)は次の式(2)で与えられる。
g(x)は正規化されている分布であるため次の式(3)を満たす。
式(2)と式(3)からaとkは次のように計算できる。
本実施形態の共クラスタリング(co-clustering)手法は既に作られているクラスタと次にクラスタリングしたい点との類似度を計測し、最大な類似度をもつクラスタの類似度が閾値以上であればそのクラスタにその点を入れるようにしている。従って、クラスタリングする点の数が増えると各クラスタの平均類似度がおよそ閾値と等しくなる。一方、理想的なクラスタリングができている場合はクラスタ間の類似度がゼロなはずである。従って、その場合点の間の類似度の平均は閾値と等しくなる。つまり、以上計算した類似度分布の平均と理想的なクラスタリング結果をもたらす閾値は等しくなる。このことを使って閾値の値は次のように計算できる。
図4に、共クラスタリングの結果として3つのエンティティペアクラスタ(A,B,C)、4つの語彙パターンクラスタ(1,2,3,4)が作成されている場合を示す。(B,2)はエンティティペアクラスタBと語彙パターンクラスタ2の間の双対性を示しており、(B,2)で表現される関係の外延的定義はBで、内包的定義は2である。共クラスタリングアルゴリズムから得られる語彙パターンクラスタとエンティティペアクラスタは対応している。例えば、
{(Google,YouTube),(Microsoft,Powerset),(Yahoo,Inktomi)}というエンティティペアクラスタと、{Y is acquired by X, X purchases Y, Y goes X}という語彙パターンクラスタは対応している。
{(Google,YouTube),(Microsoft,Powerset),(Yahoo,Inktomi)}というエンティティペアクラスタと、{Y is acquired by X, X purchases Y, Y goes X}という語彙パターンクラスタは対応している。
各エンティティペアクラスタは異なる関係を表現している。そこで、各エンティティペアクラスタに固有な擬似ラベルを付けることは有用である。各エンティティペアクラスタに属するエンティティペアを語彙パターンの頻度のベクトルで表し、各エンティティペアクラスタの重心ベクトルを求める(重心ベクトルとはそのクラスタ内に存在するエンティティペアを表す語彙パターンベクトルの和をその個数で割ったものである)。各エンティティペアクラスタを語彙パターンを次元とする一つのベクトルで表し、次に多クラス分類機であるMulti-class Logistic Regression with L1 regularizationを用いエンティティペアクラスタを識別する。この解析ではそれぞれのエンティティペアクラスタを他のエンティティペアクラスタから識別する語彙パターンが分かるのでそのような特徴的な語彙パターンを使って各エンティティペアクラスタをラベル付けすることができる。例えば、{(Google,YouTube),(Microsoft,Powerset)}のような買収関係にある会社ペアを含むエンティティペアクラスタであれば、X acquire Yのような語彙パターンがそのクラスタのラベルとして選択される。このラベル付けの技術は(L1正則化を用いる最大エントロピー法)既存のものである。
各クラスタから選択された10個の代表クラスタ(ラベル)を表4に例示する。表4における各クラスタのタイトルは便宜上設けたものである。
各クラスタから選択された10個の代表クラスタ(ラベル)を表4に例示する。表4における各クラスタのタイトルは便宜上設けたものである。
本実施形態の2つのエンティティ間の関係抽出は、図5に示すような検索システムに利用することができる。図5に示す検索システムは、2つのエンティティペア{(A,B),(C,?)}がクエリとして入力され、「?」として適切なエンティティを検索する。検索システムの出力「?」は、(A,B)のエンティティA,B間の関係と似ている関係を持つ(C,X)となるようなエンティティXである。典型的には、エンティティXは、ランキングされたリストとして得られる。例えば、本検索システムは、入力として{(日本、東京),(フランス,?)}の3つのエンティティ(単語)が与えられた時、最上位の結果として、「パリ」を「?」として出力する。つまり、「日本」と「東京」の関係は「フランス」と「パリ」の関係とよく似ていることを示している。上記のようなクエリに答えるためには、エンティティAとエンティティBの間の関係を抽出し、それらの関係を持つ他のエンティティペア(C,X)をデータベースから検索する必要がある。本実施形態の2つのエンティティ間の関係抽出により取得された共起行列を検索データベースに用いることができる。
本発明は、これらの実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において様々な変形や変更が施され得ることが当業者に理解される。
Claims (13)
- テキストコーパスにおいて、複数のエンティティペアを抽出すると共に、抽出された各エンティティペアの頻度を取得するステップと、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターンを抽出すると共に、抽出された各語彙パターンの頻度を取得するステップと、
複数のエンティティペア、複数の語彙パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成するステップと、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成するステップと、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリングステップと、を備え、
前記クラスタリングステップは、
ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成する行クラスタリングステップと、
ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成する列クラスタリングステップと、を備えている、
テキストコーパスにおける2つのエンティティ間の関係抽出方法。 - 前記行クラスタリングステップと列クラスタリングステップを交互に実行することを特徴とする、請求項1に記載のテキストコーパスにおける2つのエンティティ間の関係抽出方法。
- さらに、品詞パターンを抽出すると共に、抽出された品詞パターンの頻度を取得するステップを備え、
前記第1共起行列は、複数のエンティティペア、複数の語彙パターン及び品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン・各品詞パターンとを関連付ける頻度を要素とするものであり、
前記第2共起行列を作成するステップは、前記複数の語彙パターン及び品詞パターンを頻度が大きい順にソートすることを含み、
前記第3共起行列を作成するステップは、複数の語彙パターン・品詞パターンをクラスタリングして、語彙パターン・品詞パターンのクラスタを取得することを含み、前記第3共起行列は、取得したエンティティペアのクラスタ、語彙パターン・品詞パターンのクラスタのいずれか一方を行、他方を列とする、請求項1、2いずれか1項に記載のテキストコーパスにおける2つのエンティティ間の関係抽出方法。 - 語彙パターンのクラスタリングは、類義語及び/あるいは上位概念語−下位概念語の関係が登録された辞書を用いて、類義語同士及び/あるいは下位概念語を上位概念語にクラスタリングすることを含む、請求項1乃至3いずれか1項に記載のテキストコーパスにおける2つのエンティティ間の関係抽出方法。
- テキストコーパスにおいて、複数のエンティティペアを抽出する手段と、
抽出された各エンティティペアの頻度を取得する手段と、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターンを抽出する手段と、
抽出された各語彙パターンの頻度を取得する手段と、
複数のエンティティペア、複数の語彙パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターンとを関連付ける頻度を要素とする第1共起行列を作成する手段と、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成する手段と、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリング手段と、を備え、
前記クラスタリング手段は、行クラスタリング手段と、列クラスタリング手段と、を備え、
前記行クラスタリング手段は、ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成するように構成され、
前記列クラスタリング手段は、ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成するように構成されている、
テキストコーパスにおける2つのエンティティ間の関係抽出装置。 - 前記行クラスタリング手段と前記列クラスタリング手段は、行クラスタリングと列クラスタリングステップを交互に実行するように構成されている、請求項5に記載のテキストコーパスにおける2つのエンティティ間の関係抽出装置。
- さらに、品詞パターンを抽出すると共に、抽出された品詞パターンの頻度を取得する手段を備え、
前記第1共起行列は、複数のエンティティペア、複数の語彙パターン及び品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン・各品詞パターンとを関連付ける頻度を要素とするものであり、
前記第2共起行列を作成する手段は、前記複数の語彙パターン及び品詞パターンを頻度が大きい順にソートすることを含み、
前記第3共起行列を作成する手段は、複数の語彙パターン・品詞パターンをクラスタリングして、語彙パターン・品詞パターンのクラスタを取得することを含み、前記第3共起行列は、取得したエンティティペアのクラスタ、語彙パターン・品詞パターンのクラスタのいずれか一方を行、他方を列とする、請求項5、6いずれか1項に記載のテキストコーパスにおける2つのエンティティ間の関係抽出装置。 - さらに、語彙パターンのクラスタリングは、類義語及び/あるいは上位概念語−下位概念語の関係が登録された辞書を備え、
語彙パターンのクラスタリングは、前記辞書を用いて、類義語同士及び/あるいは下位概念語を上位概念語にクラスタリングすることを含む、請求項5乃至7いずれか1項に記載のテキストコーパスにおける2つのエンティティ間の関係抽出装置。 - テキストコーパスにおける2つのエンティティ間の関係を抽出するために、コンピュータに請求項1乃至4いずれか1項に記載のステップを実行させるコンピュータプログラム。
- テキストコーパスにおいて、複数のエンティティペアを抽出すると共に、抽出された各エンティティペアの頻度を取得するステップと、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターン及び/あるいは品詞パターンを抽出すると共に、抽出された各語彙パターン及び/あるいは品詞パターンの頻度を取得するステップと、
複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン及び/あるいは品詞パターンとを関連付ける頻度を要素とする第1共起行列を作成するステップと、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターン及び/あるいは品詞パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成するステップと、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリングステップと、を備え、
前記クラスタリングステップは、
ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成する行クラスタリングステップと、
ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成する列クラスタリングステップと、を備えている、
テキストコーパスにおける2つのエンティティ間の関係抽出方法。 - 前記行クラスタリングステップと列クラスタリングステップを交互に実行することを特徴とする、請求項10に記載のテキストコーパスにおける2つのエンティティ間の関係抽出方法。
- テキストコーパスにおいて、複数のエンティティペアを抽出する手段と、
抽出された各エンティティペアの頻度を取得する手段と、
テキストコーパスにおいて、抽出した複数のエンティティペアの周辺の文脈から複数の語彙パターン及び/あるいは品詞パターンを抽出する手段と、
抽出された各語彙パターン及び/あるいは品詞パターンの頻度を取得する手段と、
複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンのいずれか一方を行、他方を列として、各エンティティペアと各語彙パターン及び/あるいは品詞パターンとを関連付ける頻度を要素とする第1共起行列を作成する手段と、
前記第1共起行列において、前記複数のエンティティペア、前記複数の語彙パターン及び/あるいは品詞パターンをそれぞれ頻度が大きい順にソートして第2共起行列を作成する手段と、
前記第2共起行列において、複数のエンティティペア、複数の語彙パターン及び/あるいは品詞パターンをクラスタリングして、エンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタを取得し、取得したエンティティペアのクラスタ、語彙パターン及び/あるいは品詞パターンのクラスタのいずれか一方を行、他方を列とし、クラスタリングにより加算された頻度を要素とする第3共起行列を作成するクラスタリング手段と、を備え、
前記クラスタリング手段は、行クラスタリング手段と、列クラスタリング手段と、を備え、
前記行クラスタリング手段は、ソート順に1つの行を選択し、選択された行と既に生成されている1個以上の行クラスタとの類似度を両者の行ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第1の閾値よりも大きい場合には、当該選択された行を、当該選択された行との間で前記最大の類似度となる行クラスタに統合し、前記最大の類似度が前記第1の閾値以下の場合または行クラスタが存在しない場合には、当該選択された行から新しい行クラスタを作成するように構成され、
前記列クラスタリング手段は、ソート順に1つの列を選択し、選択された列と既に生成されている1個以上の列クラスタとの類似度を両者の列ベクトルを用いて計算し、計算された類似度の中で最大の類似度が事前に設定された第2の閾値よりも大きい場合には、当該選択された列を、当該選択された行との間で前記最大の類似度となる列クラスタに統合し、前記最大の類似度が前記第2の閾値以下の場合または列クラスタが存在しない場合には、当該選択された列から新しい列クラスタを作成するように構成されている、
テキストコーパスにおける2つのエンティティ間の関係抽出装置。 - 前記行クラスタリング手段と前記列クラスタリング手段は、行クラスタリングと列クラスタリングステップを交互に実行するように構成されている、請求項12に記載のテキストコーパスにおける2つのエンティティ間の関係抽出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010096551A JP2011227688A (ja) | 2010-04-20 | 2010-04-20 | テキストコーパスにおける2つのエンティティ間の関係抽出方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010096551A JP2011227688A (ja) | 2010-04-20 | 2010-04-20 | テキストコーパスにおける2つのエンティティ間の関係抽出方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011227688A true JP2011227688A (ja) | 2011-11-10 |
Family
ID=45042962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010096551A Pending JP2011227688A (ja) | 2010-04-20 | 2010-04-20 | テキストコーパスにおける2つのエンティティ間の関係抽出方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011227688A (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118584A (ja) * | 2010-11-29 | 2012-06-21 | Toshiba Corp | データクラスタリング装置及び方法 |
JP2013171382A (ja) * | 2012-02-20 | 2013-09-02 | Nec Corp | 共起辞書作成装置 |
JP2015232855A (ja) * | 2014-06-11 | 2015-12-24 | 日本電信電話株式会社 | イベント同一性判定方法、イベント同一性判定装置、イベント同一性判定プログラム |
WO2016111007A1 (ja) * | 2015-01-09 | 2016-07-14 | 株式会社Ubic | データ分析システム、データ分析システムの制御方法、及びデータ分析システムの制御プログラム |
CN109033084A (zh) * | 2018-07-26 | 2018-12-18 | 国信优易数据有限公司 | 一种语义层次树构建方法以及装置 |
US10394955B2 (en) * | 2017-12-21 | 2019-08-27 | International Business Machines Corporation | Relation extraction from a corpus using an information retrieval based procedure |
CN110321551A (zh) * | 2019-05-30 | 2019-10-11 | 泰康保险集团股份有限公司 | GloVe词向量模型增量训练方法、装置、介质及电子设备 |
KR20200067713A (ko) * | 2018-12-04 | 2020-06-12 | 숭실대학교산학협력단 | 오류 트리플 검출 시스템 및 방법 |
CN111782816A (zh) * | 2020-04-20 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 生成知识图谱的方法及装置、搜索方法、引擎及系统 |
CN112883715A (zh) * | 2019-11-29 | 2021-06-01 | 武汉渔见晚科技有限责任公司 | 一种词向量的构建方法及装置 |
KR20210092698A (ko) * | 2020-01-15 | 2021-07-26 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Spo의 추출 방법, 장치, 전자기기 및 저장 매체 |
CN113988002A (zh) * | 2021-11-15 | 2022-01-28 | 天津大学 | 一种基于神经聚类方法的近似注意力系统及方法 |
CN116881463A (zh) * | 2023-09-05 | 2023-10-13 | 北京金景科技有限公司 | 基于数据的艺术多模态语料库构建系统 |
-
2010
- 2010-04-20 JP JP2010096551A patent/JP2011227688A/ja active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118584A (ja) * | 2010-11-29 | 2012-06-21 | Toshiba Corp | データクラスタリング装置及び方法 |
JP2013171382A (ja) * | 2012-02-20 | 2013-09-02 | Nec Corp | 共起辞書作成装置 |
JP2015232855A (ja) * | 2014-06-11 | 2015-12-24 | 日本電信電話株式会社 | イベント同一性判定方法、イベント同一性判定装置、イベント同一性判定プログラム |
WO2016111007A1 (ja) * | 2015-01-09 | 2016-07-14 | 株式会社Ubic | データ分析システム、データ分析システムの制御方法、及びデータ分析システムの制御プログラム |
US10394955B2 (en) * | 2017-12-21 | 2019-08-27 | International Business Machines Corporation | Relation extraction from a corpus using an information retrieval based procedure |
CN109033084A (zh) * | 2018-07-26 | 2018-12-18 | 国信优易数据有限公司 | 一种语义层次树构建方法以及装置 |
CN109033084B (zh) * | 2018-07-26 | 2022-10-28 | 国信优易数据股份有限公司 | 一种语义层次树构建方法以及装置 |
KR102212310B1 (ko) | 2018-12-04 | 2021-02-05 | 숭실대학교산학협력단 | 오류 트리플 검출 시스템 및 방법 |
KR20200067713A (ko) * | 2018-12-04 | 2020-06-12 | 숭실대학교산학협력단 | 오류 트리플 검출 시스템 및 방법 |
CN110321551B (zh) * | 2019-05-30 | 2022-12-06 | 泰康保险集团股份有限公司 | GloVe词向量模型增量训练方法、装置、介质及电子设备 |
CN110321551A (zh) * | 2019-05-30 | 2019-10-11 | 泰康保险集团股份有限公司 | GloVe词向量模型增量训练方法、装置、介质及电子设备 |
CN112883715A (zh) * | 2019-11-29 | 2021-06-01 | 武汉渔见晚科技有限责任公司 | 一种词向量的构建方法及装置 |
CN112883715B (zh) * | 2019-11-29 | 2023-11-07 | 武汉渔见晚科技有限责任公司 | 一种词向量的构建方法及装置 |
KR20210092698A (ko) * | 2020-01-15 | 2021-07-26 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Spo의 추출 방법, 장치, 전자기기 및 저장 매체 |
KR102464248B1 (ko) * | 2020-01-15 | 2022-11-07 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Spo의 추출 방법, 장치, 전자기기 및 저장 매체 |
CN111782816A (zh) * | 2020-04-20 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 生成知识图谱的方法及装置、搜索方法、引擎及系统 |
CN111782816B (zh) * | 2020-04-20 | 2024-04-09 | 北京沃东天骏信息技术有限公司 | 生成知识图谱的方法及装置、搜索方法、引擎及系统 |
CN113988002A (zh) * | 2021-11-15 | 2022-01-28 | 天津大学 | 一种基于神经聚类方法的近似注意力系统及方法 |
CN116881463A (zh) * | 2023-09-05 | 2023-10-13 | 北京金景科技有限公司 | 基于数据的艺术多模态语料库构建系统 |
CN116881463B (zh) * | 2023-09-05 | 2024-01-26 | 南京艺术学院 | 基于数据的艺术多模态语料库构建系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104794B (zh) | 一种基于主题词的文本相似度匹配方法 | |
JP2011227688A (ja) | テキストコーパスにおける2つのエンティティ間の関係抽出方法及び装置 | |
US11379668B2 (en) | Topic models with sentiment priors based on distributed representations | |
CN110321925B (zh) | 一种基于语义聚合指纹的文本多粒度相似度比对方法 | |
US11068653B2 (en) | System and method for context-based abbreviation disambiguation using machine learning on synonyms of abbreviation expansions | |
US11625537B2 (en) | Analysis of theme coverage of documents | |
US20130036076A1 (en) | Method for keyword extraction | |
CN102214189B (zh) | 基于数据挖掘获取词用法知识的系统及方法 | |
CN114254653A (zh) | 一种科技项目文本语义抽取与表示分析方法 | |
US11893537B2 (en) | Linguistic analysis of seed documents and peer groups | |
WO2009123260A1 (ja) | 共起辞書作成システムおよびスコアリングシステム | |
JP2011118689A (ja) | 検索方法及びシステム | |
Pandey et al. | An unsupervised Hindi stemmer with heuristic improvements | |
JP4534666B2 (ja) | テキスト文検索装置及びテキスト文検索プログラム | |
Utomo et al. | Text classification of british english and American english using support vector machine | |
CN115794995A (zh) | 目标答案获取方法及相关装置、电子设备和存储介质 | |
CN113963748A (zh) | 一种蛋白质知识图谱向量化方法 | |
Selamat | Improved N-grams approach for web page language identification | |
JP2001331515A (ja) | 単語シソーラス構築方法及びコンピュータシステムに単語シソーラスの構築を行わせるためのコンピュータソフトウエアプログラム製品 | |
Sood et al. | Creating domain based dictionary and its evaluation using classification accuracy | |
JP4567025B2 (ja) | テキスト分類装置、テキスト分類方法及びテキスト分類プログラム並びにそのプログラムを記録した記録媒体 | |
Goumy et al. | Ecommerce Product Title Classification. | |
Moghadam et al. | Comparative study of various Persian stemmers in the field of information retrieval | |
CN113516202A (zh) | Cbl特征提取与去噪的网页精准分类方法 | |
CN112800243A (zh) | 一种基于知识图谱的项目预算分析方法及系统 |