JP2009129323A - 同義語抽出装置 - Google Patents

同義語抽出装置 Download PDF

Info

Publication number
JP2009129323A
JP2009129323A JP2007305693A JP2007305693A JP2009129323A JP 2009129323 A JP2009129323 A JP 2009129323A JP 2007305693 A JP2007305693 A JP 2007305693A JP 2007305693 A JP2007305693 A JP 2007305693A JP 2009129323 A JP2009129323 A JP 2009129323A
Authority
JP
Japan
Prior art keywords
word
processing target
words
list
matrix
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.)
Granted
Application number
JP2007305693A
Other languages
English (en)
Other versions
JP5079471B2 (ja
Inventor
Yasutsugu Morimoto
康嗣 森本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007305693A priority Critical patent/JP5079471B2/ja
Publication of JP2009129323A publication Critical patent/JP2009129323A/ja
Application granted granted Critical
Publication of JP5079471B2 publication Critical patent/JP5079471B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】有限のメモリを用いて大規模なテキストから同義語を抽出する。
【解決手段】テキストから単語(処理対象単語)とその文脈となる単語(共起単語)の組を抽出し、共起単語をランダム行列によって射影し、射影した結果を集約して得られる圧縮文脈行列から得られる圧縮文脈の類似度から、単語間の類似度を判定する。
【選択図】図2

Description

本発明は、テキスト中から同義語を抽出する技術に関し、特に有限のメモリを用いて、大量のテキストを対象として同義語を抽出する技術に関する。
パソコン及びインターネットの普及によって、ユーザがアクセス可能な電子化文書の量が増大している。このような大規模な文書情報の中から、所望の文書を効率的に発見するための技術の一つに文書検索技術がある。文書検索技術によれば、入力されたキーワードを含む文書を発見することで、ユーザが所望の文書を効率的に入手することができる。しかしながら、単純な文字列の検索だけでは不十分な場合も多い。文字列検索における問題の一つに同義語の問題がある。すなわち、同じ意味を表現する複数の単語が存在するために、同じ意味を表す文書が単純な文字列検索では発見できず、検索漏れが発生する場合がある。このような同義語の問題に対処するために、同義語辞書を検索システムに持たせることが従来から行われている。
同義語辞書の人手作成には大きなコストが必要であるため、同義語辞書をテキストデータから自動で作成することが従来から試みられている。同義語辞書を作成するための方法の一つとして、単語の出現文脈、すなわち着目している単語の近傍に現れる単語や文字列に着目する方法がある。非特許文献1に、同義語抽出技術が開示されている。
P.P. Senellart, V. D. Blondel, Automatic discovery of similar words, Survey of Text Mining: Clustering, Classification, and Retrieval, M. W. Berry, Springer, (2003/08).
従来技術では、十分な精度で同義語を抽出することは実現できていない。その理由の代表的なものが、スパースネスである。スパースネスの問題とは、ある単語に注目した場合に、本来なら近傍に出現すべき単語が「偶然」出現していないために、単語の出現文脈を正確に捉えられない現象を言う。
スパースネスの問題を解決するための最もオーソドックスな方法は、対象テキストのサイズを大きくすることである。しかしながら、テキストサイズを大きくすると、同義語抽出を行うために必要な計算量、及び記憶領域のサイズが急速に大きくなる。特に、記憶領域サイズに関する問題が大きい。現実的な処理時間を実現するためには、計算機のメモリのサイズ内で処理を行うことが必須である。なぜならば、ハードディスクはメモリと比較すると、記憶可能な領域のサイズは大きく、安価ではあるものの、そのアクセス速度は極めて遅いためである。そのため、扱うことが可能なテキストサイズに、メモリのサイズに起因する事実上の上限があり、テキストサイズを大きくすることでスパースネスの問題を解決することは困難であった。
本発明はこのような課題を解決するためになされたものであり、有限のメモリを用いて、事実上無制限のサイズのテキストを対象とした同義語抽出を行うことを目的とする。
本発明の代表的な形態は、プロセッサ、メモリ及びインタフェースを備え、テキストから単語(処理対象単語)とその出現文脈、すなわち共起する単語(共起単語)の組を抽出し、前記共起単語をランダム行列によって射影し、射影した結果を集約して得られる圧縮文脈行列から得られる圧縮文脈の類似度から、単語間の類似度を判定する。
すなわち、本発明による同義語抽出装置は、プロセッサと、メモリと、外部記憶装置とを備え、プロセッサは、テキストから当該テキストに含まれる処理対象単語の出現頻度を記録したリストを作成する処理、リストに含まれる処理対象単語の少なくとも一部に対応してランダム行列を生成する処理、リストに含まれる処理対象単語と共起する共起単語の組をテキストから抽出する処理、処理対象単語と共起する共起単語の組をランダム行列によってランダム射影し、ランダム射影結果の和を計算することによって、処理対象単語の意味を表現するベクトルを計算する処理、ベクトル間の距離を計算することにより処理対象単語間で同義語の組を抽出する処理を実行し、メモリ上に、処理対象単語の出現頻度を記録したリスト、ランダム行列及び処理対象単語の意味を表現するベクトルの計算結果が置かれている。
また、本発明の同義語抽出装置は、プロセッサと、メモリと、インタフェースとを備え、メモリは、テキストから当該テキストに含まれる処理対象単語の出現頻度を記録したリストを作成する処理、リストに含まれる処理対象単語の少なくとも一部に対応してランダム行列を生成する処理、リストに含まれる処理対象単語と共起する共起単語の組をテキストから抽出する処理、処理対象単語と共起する共起単語の組をランダム行列によってランダム射影し、ランダム射影結果の和を計算することによって、処理対象単語の意味を表現する意味ベクトルを計算する処理を実行した結果得られた複数の処理対象単語に対応する意味ベクトルを保持し、プロセッサは、インタフェースを介して受け付けた単語に対応する意味ベクトルとメモリ上に保持されている他の処理対象単語に対応する意味ベクトル間の距離を計算し、距離が近い処理対象単語を受け付けた単語の同義語として出力する。
ランダム行列の次元は、共起単語の総数をM個とするとき、M×N次元(N≪M)である。
本発明によれば、有限の計算機メモリを用いて、事実上無制限のサイズのテキストを対象とした同義語抽出を行うことが可能となる。
以下、本発明の実施の形態を、図面を参照して説明する。
図1は、本発明の同義語抽出装置を実現する計算機システムのブロック図である。本実施の形態の同義語抽出装置は、CPU101、主メモリ102、入出力装置103及びディスク装置110を備える。
CPU101は、主メモリ102に記憶されるプログラムを実行することによって各種処理を行う。具体的には、CPU101は、ディスク装置110に記憶されるプログラムを、主メモリ102上に呼び出して実行する。主メモリ102は、CPU101によって実行されるプログラム及びCPU101によって必要とされる情報等を記憶する。入出力装置103には、ユーザから情報が入力される。また、入出力装置103は、CPU101の指示に応じて、情報を出力する。例えば、入出力装置103は、キーボード、マウス及びディスプレイのうち少なくとも一つを含む。
ディスク装置110は、各種情報を記憶する。具体的には、ディスク装置110は、OS111、同義語抽出プログラム112、テキスト113、単語リスト114、ランダム行列115、圧縮文脈行列116、及び形態素解析結果117を記憶する。OS111は、同義語抽出装置100の処理の全体を制御する。同義語抽出プログラム112は、テキストから同義語を抽出する。テキスト113は、同義語抽出プログラムへの入力となるテキストである。単語リスト114は、テキストから抽出された単語が格納される。なお、単語リスト114については、図4で詳細を説明する。ランダム行列115は、単語文脈ベクトルを射影するために用いる変換行列である。圧縮文脈行列116は、ランダム行列115によって変換された後の単語の文脈情報が格納される行列である。形態素解析結果117は、テキスト113を形態素解析した結果が格納される。
以下では、本発明の基本的な考え方について説明する。図2は、従来の同義語抽出技術において用いられる単語文脈行列の例である。単語文脈行列は、単語の「意味」を、その単語と共起する単語とその共起の頻度によって表現した行列である。各行、各列はそれぞれ単語を表しており、行列の要素(i,k)は、単語iが、単語kと何回共起したかを示す。行列の各行は、ある単語に着目した場合の、その単語と共起する単語の共起頻度が格納されている。例えば、図2では、「サーチ」という単語が、「ネット」と20回、「英語」と2回、「画像」と10回、「高速」と2回、「日本語」と3回、「文書」と30回、それぞれ共起したという情報が格納されており、この情報が「サーチ」の意味を表していると考える。
同義語の抽出、すなわち単語の意味が似ているかどうかの計算は、この共起頻度の分布の類似性を計算することによって行うことができる。各行に対応する単語を処理対象単語、各列に相当する単語を共起単語と特に呼ぶ場合がある。誤解されるおそれがない場合は、両方をまとめて単語と呼ぶ。また、各行は、処理対象単語の「意味」を、共起単語を次元とするベクトルで表現したものであり、単語文脈ベクトルと呼ぶ。
従来の同義語抽出技術により、大量のテキストから同義語を抽出しようとすると、大量の計算機リソース、特にメモリが必要となる。例えば、処理対象単語数、共起単語数として、100万語を扱うことを想定する。図2の行列を、単純に100万×100万の行列として保持しようとすると、10の12乗個の要素からなる行列となるため、メモリ上で処理を行うことは非現実的である。この行列のほとんどの要素が0であるため、例えばリストなどの構造を用いて、行列の非ゼロの要素のみを保持することにより、必要なメモリを低減することが行われる。文書検索でよく用いられる文書と単語の行列においても同様の問題があるが、この場合、各行における非ゼロの要素は一定であるため、非ゼロの要素のみを保持する方法が有効である。しかしながら、同義語抽出のための単語と単語の行列では、行内の非ゼロの要素は一定ではない。テキスト量が増加するにしたがって、行内の非ゼロの要素が徐々に増加していくため、このようなデータ構造の工夫を行ったとしても、有限のメモリ量で処理を行える保証がない。
本発明では、ランダム行列を用いたランダム射影によってこの問題を解決する。図3は、本発明の基本的な考え方を示す説明図である。ランダム射影は、ランダム行列によって高次元空間をより低次元の部分空間に射影することで次元圧縮を行う技術である。同義語抽出に適用する際には、高次元の行列である単語文脈行列にランダム射影を適用することにより、サイズが小さい圧縮文脈行列を得ることができる。
ランダム行列は、行ベクトルの長さの期待値が1であるという制約を満たした、乱数が格納された行列である。元の空間における距離が、射影後の低次元部分空間において確率的な意味で保存されていることが知られている。このとき、単語文脈行列における2個の単語に対応する単語文脈ベクトル間のユークリッド距離が、下式(1)で推定できる。圧縮後の次元数Nが大きいほど誤差は小さいが、Nが大きいと必要なメモリ量が多くなる。実際には、要求される誤差のレベルおよび使用可能なメモリ量により決定すれば良い。
Figure 2009129323
M:単語文脈行列の共起単語の次元数
N:圧縮文脈行列の次元数
R:ランダム行列
X:圧縮文脈行列の行ベクトル
図3のように、A次元×M次元の行列に、M次元×N次元のランダム行列を掛けることによってできる、A次元×N次元の圧縮文脈行列において、単語iと単語jの距離を計算することによって、元の単語×単語文脈行列における距離計算を代替する。ランダム射影及びランダム行列の構成法としては、例えば、“E. Bingham, Random projection in dimensionality reduction: Applications to image and text data, Proc. of 7th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2001), PP.245-250, 2001.”に記載されている方法を用いることができる。
ランダム射影によって、以下の利点が得られる。第一に、次元圧縮により必要なメモリを削減するとともに、有限のメモリで全ての計算を行うことを保証できる。A×M次元の単語文脈行列は、実際には行列の形で保持する必要はなく、A次元×N次元のランダム行列と、圧縮文脈行列のみをメモリ上に保持すれば良い。よって、処理が進むにつれて、必要なメモリ量が増大するなどの問題がない。また、次元圧縮による精度の低下分は、圧縮後の行列の次元数によって定まるため、テキスト量の増大によって変化しない。第二に、単純なデータ構造で実装が容易である。固定長の配列を用いることができるため、リストなどのデータ構造における複雑な操作が不必要である。
図4は、単語リストの概念図である。単語リストは、処理対象のテキストを形態素解析し、同じ単語の出現回数を集計して得られる、頻度つきの異なり単語リストである。単語の文字列、単語ID、出現頻度からなる。単語IDは、一意に付与されたIDであり、行列のアクセスに利用される。以下では、単語IDと行列の行あるいは列が対応しているものとして説明する。また、高速なアクセスが可能であるように、トライ、ハッシュなどの技術を用いて実装することが望ましい。
図5は、本発明の同義語抽出装置によって実行される同義語抽出処理のフローチャートである。
まず、テキストを読み込み、形態素解析処理を行う(S11)。形態素解析結果は、一旦ファイルなどに保持しておくが、メモリ量に余裕がある場合には、メモリ上に保持していても構わない。なお、文単位、あるいはパラグラフ、ファイルなどを単位として形態素解析を行いながら、S12の処理を行っても良い。次に、単語リスト作成処理を行う(S12)。形態素解析結果を読み込みながら、同じ単語をまとめ上げて、頻度をカウントし、一意な単語IDを付与する。この処理は、メモリ上で行われるが、単語リストに必要なメモリ量は、文脈行列と比較して大幅に小さいため、実際上は問題が起きない。例えば、1000万語の単語を対象とするとして、1単語平均が4文字(8バイト)だとしても、高々80メガバイトのメモリがあれば、文字列を保持することができる。また、“有村他、データストリームのためのマイニング技術、情報処理学会誌、Vol.46, No.1”に記載される技術を用いて有限のメモリを用いて、頻度が高い順に一定個数の単語リストを近似的に作成することで、必要最低限のメモリによって単語リストを管理することも可能である。
次に、ランダム行列、圧縮文脈行列を生成する(S13)。ランダム行列、圧縮文脈行列のサイズ、M,Nを決定し、必要なメモリ領域を確保する。ランダム行列に関しては、ランダムに値を設定する。行列サイズMは、単語リスト中の単語の個数に準じて決定する。具体的には、出現頻度が多い順などの優先度順に、閾値以上の出現頻度を有する単語を取り出すなどの方法でMを決定する。Nは、Nが大きい方が精度が高く、小さいと精度が低くなるので、メモリサイズの制約や必要な精度に応じて決定する。
全ての共起に対して処理を完了したかどうかを調べる(S14)。完了していれば、S17に進む。完了していなければ、S15に進む。S15では、形態素解析結果を読み込み、共起を1個取得する。この処理を、図6を用いて詳細に説明する。
図6は、形態素解析結果の例を示す説明図である。今、例えば、2番目の単語「解析」に着目しているとする。このとき、「解析」との共起には様々な考え方が存在する。例えば、前、後、あるいは前後N単語以内に出現した単語が共起したとみなす方法がある。前後1単語を文脈とする場合には、「解析」に対し、「形態素」、「結果」が共起単語となり、(解析、形態素)、(解析、結果)という共起が得られる。また、構文解析を行って、係り受け関係にある単語の組を共起とするという方法もある。この場合、助詞などの機能語は除外し、(結果、読み込む)、(共起、取得する)などの共起が得られる。本発明では、どのような種類の共起を使用するかは問題ではなく、任意のタイプの共起を利用可能である。
次に、共起をランダム行列によってランダム射影し、圧縮文脈行列を更新する(S16)。処理対象単語iの文脈に共起単語jが出現し、(処理対象単語i,共起単語j)という共起が得られたとする。このとき、ランダム行列のj行の内容を、圧縮文脈行列のi行に加算する。正確には、ランダム行列の(j,k)要素(k=1,2,…,N)の値を、圧縮文脈行列の(i,k)要素の値に加算する。これは以下のように説明できる。単語文脈行列とランダム行列の掛け算は、式(2)のように表される。すなわち、単語文脈行列のi行とランダム行列の任意の列k列との内積が圧縮文脈行列の(i,k)要素に格納される。
Figure 2009129323
(単語i,単語j)の共起が出現したということは、(i,j)要素の値が1大きくなったことを示すが、この際の圧縮文脈行列の(i,j)要素の増分は、ランダム行列の(j,k)要素の値となる。すなわち、線形の操作のみで圧縮文脈行列の要素を求めることができるため、単語文脈行列全体を作成しなくても、(単語i,単語j)の共起が見つかる度に圧縮文脈行列の更新を行えば良い。
共起が1個見つかる度に、S16の処理を繰り返すことで、全ての共起に対して単語文脈行列を作成した後に、ランダム行列によってランダム射影を行った場合と同じ結果の、圧縮文脈行列を取得することができる。この繰り返し処理では、単語文脈行列を作成する必要がなく、インクリメンタルに処理を行うことができるため、必要なメモリ量を大幅に減らすことができる。また、1個の共起に対してS16の処理を行うのに必要な計算量は常に一定であるため、テキストサイズが大規模化しても計算速度が低下していくという心配がない。
S17では、全ての処理対象単語の組み合わせについて、単語の類似性を計算する。単語の類似性は、圧縮文脈行列の行ベクトル同士の類似性によって求めることができる。類似性の判定には、例えば、ユークリッド距離などを用いることができる。Johnson-Lindenstraussの補題では、ユークリッド距離が保存されることが証明されているが、それ以外の距離を利用することも可能である。各単語について、例えば、類似性の高い順に予め決められた数の単語を同義語として抽出し、出力する。
以下では、本発明の第2の実施の形態について説明する。まず、図5に示した第1の実施の形態の問題点について説明する。第1の実施の形態では、全てのテキストに対し、一旦単語リストの作成を行った後、文脈行列の作成を行う2パス方式を採用している。しかしながら、この方式では以下のような問題が存在する。例えば、1年単位で販売されている新聞のテキストデータを処理対象とする場合を考える。同義語抽出対象となるテキストは量が多い方が望ましいため、新たにテキストが販売された場合には、これを追加して同義語抽出を行うことができる必要がある。同様に、Webの文書なども次々に新たな文書が作成されるため、このような新規文書を追加して処理を行える必要がある。このような場合、新規テキストが追加されることで、最初、単語リストに含まれていないにも関わらず、新規テキストが追加されるにつれ、多く出現するようになる単語が存在する可能性がある。例えば、「サーチエンジン」のような単語はインターネットが普及した後に作成された文書には非常に多く出現するが、それ以前の文書にはほとんど出現しない。このような場合、以下のような問題が生じる。説明のために、2種類のテキスト(テキスト1、テキスト2)が存在し、テキスト1には「サーチエンジン」が含まれず、テキスト2には「サーチエンジン」が多く含まれるとする。すなわち、テキスト1とテキスト2をあわせて処理すれば、「サーチエンジン」は単語リストに採用されるものとする。また、処理を始める時点では、テキスト1しか入手できていないものとする。
図7は、テキスト1のみから抽出した単語リスト、テキスト2から抽出した単語リスト、テキスト1、2をあわせて処理を行った場合の単語リストをそれぞれ示している。ここで、単語リストは頻度が多い順に5個の単語を抽出して格納するものとする。テキスト1のみに多い単語として「図書」があり、テキスト2のみに多い単語として「サーチエンジン」があることが分かる。また、テキスト1、2を合わせて全体を見ると、「図書」よりも「サーチエンジン」が多いことが分かる。よって、テキスト1、2を合わせて一括して処理した場合には、「図書」が単語リストに採用されず、「サーチエンジン」が採用される。
ここで、第1の実施の形態で述べた方式で、テキスト1から単語リストを作成し、同義語抽出を行ったとし、その後、テキスト2が入手できたとする。このとき、第一の実施の形態の方式では、テキスト1に関して処理を行った時点で、単語リスト及びランダム行列、圧縮文脈行列は確定してしまっている。そのため、「サーチエンジン」に関する共起単語及び共起頻度を圧縮文脈行列に反映することができず、全体での頻度がより小さい「図書」が採用されたままになってしまうという問題が発生する。
本発明の第2の実施の形態では、このようにテキストが長期にわたって追加され、単語の出現傾向が途中で変化したとしても、その変化に追随できる同義語抽出方式について説明する。ここで、出現傾向の変化に追随できるとは、テキスト1、2を合わせて処理を行った場合と、テキスト1、2を分けて順番に処理を行った場合で、近似的に同じ結果が得られることを言う。
図8は、第2の実施の形態における同義語抽出方式の基本的考え方を示す説明図である。本実施の形態の考え方は、以下の通りである。まずメモリの制約はないものと仮定する。この場合、新たな単語が単語リストに追加された場合には、それに伴ってランダム行列の行数を1だけ大きくする。新たに生成されたランダム行列の行には、予め定められた方法で、ランダムに値を設定する。新たな単語を処理対象単語として扱う場合には、圧縮文脈行列の行数も1だけ大きくする。これにより、新たな単語が単語リストに追加される場合に対しても、単語ベクトルの次元を適切に圧縮することができる。しかしながら、ランダム行列の行数が大きくなるため、徐々に必要なメモリサイズも大きくなることが問題である。そこで、本実施の形態では、ハードディスクとメモリを組み合わせることによってこの問題を解決する。すなわち、新たに追加された単語を含む単語リストに対応するランダム行列、圧縮文脈行列をハードディスク上に持つことにする。そして、ある一定数の単語に対応する部分集合のみをメモリ上に持ち、部分集合である、メモリ上のランダム行列のみを用いて圧縮文脈行列の変更を行う。この場合、圧縮文脈行列の値は近似値となる。
メモリ上にロードされる行の決定は、各行に対応する単語の出現頻度に基づいて行う。すなわち、単語リスト中の出現頻度が高い順に単語を一定個数取り出し、この単語に対応するランダム行列中の行をメモリ上に保持する。単語リスト中の単語の出現頻度に基づく順序が変化した場合には、頻度が低下した単語に対応する行をハードディスクに退避し、出現頻度が増加した単語に対応する行をメモリ上にロードする。
図8に例を示す。図8(a)は、ハードディスク上のデータの概念図である。ハードディスク上のデータに関しては、「図書」のような途中で低頻度であることが判明した単語も含めたランダム行列、圧縮文脈行列が保持されている。図8(b)は、メモリ上のデータの概念図である。メモリ上のデータに関しては、「図書」のような低頻度語は除外した、部分集合のデータが保持されている。
以上の処理を実現するために単語リストに以下のような変更を加える。図9に、第2の実施の形態で用いる単語リストの構成図を示す。第1の実施の形態で用いた単語リストと異なる点は、複数の単語IDを保持している点である。全体単語IDは一旦付与されたIDは変更されず、処理を通じて不変であり、ハードディスク上のデータを一意に特定するために用いられる。一方、一時単語IDはメモリ上のデータを一意に特定するために用いられるIDである。作業IDは、一時単語IDの更新のために用いる作業用のIDである。図9の例では、「サーチエンジン」の一時単語IDが「−」となっているが、これは共起単語として利用されていないことを示す。また、一時単語IDが付与されている単語は、単語リスト中で出現頻度が高い順にある一定の個数(図8の場合は、5個)である。単語リストは、ランダム行列等の行列と比較して十分小さいため、ランダム行列に採用される個数と比較して十分な個数の単語を全てメモリ上に保持しておく。
図10は、本発明の第2の実施の形態の同義語抽出装置によって実行される同義語抽出処理のフローチャートである。全てのファイルに対して処理を完了したかどうかを調べる(S21)。完了していれば、S28に進む。完了していなければ、S22に進む。なお、図10ではファイルを単位としてS22〜S27の処理を行っているが、ファイル以外の単位として、文単位、あるいはパラグラフ単位で処理を行っても構わない。S22では、未処理のファイルからテキストを読み込み、形態素解析処理を行う。形態素解析結果は、一旦ファイルなどに保持しておくが、メモリ量に余裕がある場合には、メモリ上に保持していても構わない。S23では、単語リスト更新処理を行う。形態素解析結果を読み込みながら、同じ単語をまとめ上げて、頻度をカウントし、単語リストを更新する。既に登録済みの単語については頻度を加算し、新しい単語に関しては新規単語として単語リストに登録して全体単語IDを付与し、頻度を設定する。次に、ランダム行列、圧縮文脈行列更新処理を行う(S24)。本ステップの処理は、後で図11を用いて詳細に説明する。
次に、全ての共起に対して処理を完了したかどうかを調べる(S25)。完了していれば、S21に進み、次のファイルの処理を行う。完了していなければ、S26に進む。S26では、形態素解析結果を読み込み、共起を1個取得する。次に、共起をランダム行列によってランダム射影し、圧縮文脈行列を更新する(S27)。
S28では、圧縮文脈行列を検索エンジンに登録する。第1の実施の形態では、任意の2個の単語の組に対し、類似度計算を行い、同義語データを作成したが、第2の実施の形態では、圧縮文脈行列の形でデータを保持しておき、ユーザが入力した単語に対し、同義語の候補を返す構成としている。ユーザが入力した単語の行ベクトルを取得し、この行ベクトルとの類似度を計算して、類似度が高い単語を例えば類似度の高い順に予め決められた数だけ、同義語候補として返す。検索エンジンに関しては、S17の処理と同等の処理を動的に行えば良い。
図11は、S24のランダム行列、圧縮文脈行列更新処理の詳細なフローチャートである。単語リスト中の単語について、頻度が大きい順にM個の単語を抽出し、単語リストにおいて作業IDを付与する(S241)。ここで、Mはメモリ上のランダム行列の行数を示す。図9の例において、例えばMを5とする。この場合、「図書」以外の単語に作業IDが付与される。S23の単語リスト更新処理において新たに追加された新規追加単語(新たに全体単語IDを付与された単語)に対し、ハードディスク上のランダム行列、圧縮文脈行列に新たに行を追加して値を設定する(S242)。ランダム行列に対しては、所定の方法により生成した乱数を設定する。圧縮文脈行列に対しては0を設定する。図9の例において、新規追加単語が「サーチエンジン」であったとする。その場合、サーチエンジンに対応する行をランダム行列、圧縮文脈行列に追加し、値を設定する。
メモリからハードディスクに退避される単語の一覧を取得する(S243)。単語リスト内の全ての単語について、作業IDが付与されておらず、一時単語IDが付与されている単語を、退避される単語として抽出する。退避される単語に対応するランダム行列、圧縮文脈行列の行が書き換えの対象となる。図9の例の場合、「図書」が退避される単語として抽出される。次に、ハードディスクからメモリにロードされる単語の一覧を取得する(S244)。単語リスト内の全ての単語について、作業IDが付与されており、一時IDが付与されていない単語を、ロードする単語として抽出する。S243で抽出した語数とS244で抽出した語数は等しい。図9の例の場合、「サーチエンジン」がロードされる単語として抽出される。
次に、メモリ上のランダム行列、圧縮文脈行列を更新する(S245)。S244で取得した単語に対応するデータを、ハードディスク上のランダム行列、圧縮文脈行列から取得し、メモリ上のランダム行列、圧縮文脈行列の、S243で取得した単語に対応する位置に複写する。図9の場合、ハードディスク上のランダム行列、圧縮文脈行列の「サーチエンジン」に対応する行の内容を、メモリ上の「図書」に対応する行に複写する。
本発明による同義語抽出装置の構成例を示すブロック図。 単語文脈行列の概念図。 本発明の第1の実施の形態の基本的な考え方の説明図。 単語リストの概念図。 同義語抽出処理のフローチャート。 形態素解析結果の説明図。 複数のテキストがある場合の問題点を説明する図。 本発明の第2の実施の形態の基本的な考え方の説明図。 単語リストの説明図。 同義語抽出処理のフローチャート。 ランダム行列、圧縮文脈行列更新処理のフローチャート。
符号の説明
100 同義語抽出装置
101 CPU
102 主メモリ
103 入出力装置
110 ディスク装置
111 OS
112 同義語抽出プログラム
113 テキスト
114 単語リスト
115 ランダム行列
116 圧縮文脈行列
117 形態素解析結果

Claims (3)

  1. プロセッサと、メモリと、外部記憶装置とを備え、
    前記プロセッサは、テキストから当該テキストに含まれる処理対象単語の出現頻度を記録したリストを作成する処理、前記リストに含まれる処理対象単語の少なくとも一部に対応してランダム行列を生成する処理、前記リストに含まれる処理対象単語と共起する共起単語の組を前記テキストから抽出する処理、前記処理対象単語と共起する共起単語の組を前記ランダム行列によってランダム射影し、ランダム射影結果の和を計算することによって、前記処理対象単語の意味を表現するベクトルを計算する処理、前記ベクトル間の距離を計算することにより前記処理対象単語間で同義語の組を抽出する処理を実行し、
    前記メモリ上に、前記処理対象単語の出現頻度を記録したリスト、前記ランダム行列及び前記処理対象単語の意味を表現するベクトルの計算結果が置かれていることを特徴とする同義語抽出装置。
  2. 請求項1記載の同義語抽出装置において、前記メモリ上に置かれる処理対象単語のリストに含まれる単語数Aが予め設定されており、全ての処理対象単語を含む全体単語リストが前記外部記憶装置に記憶され、前記全体単語リスト中の出現頻度順上位A個に含まれる処理対象単語が変化したとき、前記メモリ上に置かれる処理対象単語のリスト及び前記ランダム行列を前記全体単語リスト中の出現頻度順上位A個に含まれる処理対象単語に対応したものに変更することを特徴とする同義語抽出装置。
  3. プロセッサと、メモリと、インタフェースとを備え、
    前記メモリは、テキストから当該テキストに含まれる処理対象単語の出現頻度を記録したリストを作成する処理、前記リストに含まれる処理対象単語の少なくとも一部に対応してランダム行列を生成する処理、前記リストに含まれる処理対象単語と共起する共起単語の組を前記テキストから抽出する処理、前記処理対象単語と共起する共起単語の組を前記ランダム行列によってランダム射影し、ランダム射影結果の和を計算することによって、前記処理対象単語の意味を表現する意味ベクトルを計算する処理を実行した結果得られた複数の処理対象単語に対応する意味ベクトルを保持し、
    前記プロセッサは、前記インタフェースを介して受け付けた単語に対応する意味ベクトルと前記メモリ上に保持されている他の処理対象単語に対応する意味ベクトル間の距離を計算し、距離が近い処理対象単語を前記受け付けた単語の同義語として出力することを特徴とする同義語抽出装置。
JP2007305693A 2007-11-27 2007-11-27 同義語抽出装置 Expired - Fee Related JP5079471B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007305693A JP5079471B2 (ja) 2007-11-27 2007-11-27 同義語抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007305693A JP5079471B2 (ja) 2007-11-27 2007-11-27 同義語抽出装置

Publications (2)

Publication Number Publication Date
JP2009129323A true JP2009129323A (ja) 2009-06-11
JP5079471B2 JP5079471B2 (ja) 2012-11-21

Family

ID=40820151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007305693A Expired - Fee Related JP5079471B2 (ja) 2007-11-27 2007-11-27 同義語抽出装置

Country Status (1)

Country Link
JP (1) JP5079471B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010213230A (ja) * 2009-03-12 2010-09-24 Oki Electric Ind Co Ltd 近似計算処理装置、近似ウェーブレット係数計算処理装置、及び近似ウェーブレット係数計算処理方法
JP2011175328A (ja) * 2010-02-23 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> 意味属性推定装置、意味属性推定方法、意味属性推定プログラム
JP2011258114A (ja) * 2010-06-11 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 関連語計算装置、関連語計算方法及び関連語計算プログラム
JP2013105210A (ja) * 2011-11-10 2013-05-30 Nippon Telegr & Teleph Corp <Ntt> 単語属性推定装置及び方法及びプログラム
WO2013150633A1 (ja) * 2012-04-05 2013-10-10 株式会社日立製作所 文書処理システム、及び、文書処理方法
WO2014002776A1 (ja) * 2012-06-25 2014-01-03 日本電気株式会社 同義語抽出システム、方法および記録媒体
WO2014002774A1 (ja) * 2012-06-25 2014-01-03 日本電気株式会社 同義語抽出システム、方法および記録媒体
JP2018045658A (ja) * 2016-09-16 2018-03-22 ヤフー株式会社 判定装置および判定方法
WO2018190128A1 (ja) * 2017-04-11 2018-10-18 ソニー株式会社 情報処理装置および情報処理方法
JP2019133478A (ja) * 2018-01-31 2019-08-08 株式会社Fronteo 計算機システム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010213230A (ja) * 2009-03-12 2010-09-24 Oki Electric Ind Co Ltd 近似計算処理装置、近似ウェーブレット係数計算処理装置、及び近似ウェーブレット係数計算処理方法
JP4735729B2 (ja) * 2009-03-12 2011-07-27 沖電気工業株式会社 近似計算処理装置、近似ウェーブレット係数計算処理装置、及び近似ウェーブレット係数計算処理方法
JP2011175328A (ja) * 2010-02-23 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> 意味属性推定装置、意味属性推定方法、意味属性推定プログラム
JP2011258114A (ja) * 2010-06-11 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 関連語計算装置、関連語計算方法及び関連語計算プログラム
JP2013105210A (ja) * 2011-11-10 2013-05-30 Nippon Telegr & Teleph Corp <Ntt> 単語属性推定装置及び方法及びプログラム
WO2013150633A1 (ja) * 2012-04-05 2013-10-10 株式会社日立製作所 文書処理システム、及び、文書処理方法
WO2014002776A1 (ja) * 2012-06-25 2014-01-03 日本電気株式会社 同義語抽出システム、方法および記録媒体
WO2014002774A1 (ja) * 2012-06-25 2014-01-03 日本電気株式会社 同義語抽出システム、方法および記録媒体
JPWO2014002776A1 (ja) * 2012-06-25 2016-05-30 日本電気株式会社 同義語抽出システム、方法および記録媒体
JP2018045658A (ja) * 2016-09-16 2018-03-22 ヤフー株式会社 判定装置および判定方法
WO2018190128A1 (ja) * 2017-04-11 2018-10-18 ソニー株式会社 情報処理装置および情報処理方法
JPWO2018190128A1 (ja) * 2017-04-11 2020-02-27 ソニー株式会社 情報処理装置および情報処理方法
JP2019133478A (ja) * 2018-01-31 2019-08-08 株式会社Fronteo 計算機システム

Also Published As

Publication number Publication date
JP5079471B2 (ja) 2012-11-21

Similar Documents

Publication Publication Date Title
JP5079471B2 (ja) 同義語抽出装置
US11853334B2 (en) Systems and methods for generating and using aggregated search indices and non-aggregated value storage
Manjari et al. Extractive Text Summarization from Web pages using Selenium and TF-IDF algorithm
KR20190062391A (ko) 전자 기록의 문맥 리트리벌을 위한 시스템 및 방법
US20230259563A1 (en) System, Method and Computer Program Product for Protecting Derived Metadata When Updating Records within a Search Engine
JP5710581B2 (ja) 質問応答装置、方法、及びプログラム
JP2005174336A (ja) 情報抽出のための一般化文字列パターンの学習および使用
Aggarwal et al. Wikipedia-based distributional semantics for entity relatedness
Chen et al. Polyuhk: A robust information extraction system for web personal names
Berdyugina et al. Setting up context-sensitive real-time contradiction matrix of a given field using unstructured texts of patent contents and natural language processing
JP5869948B2 (ja) パッセージ分割方法、装置、及びプログラム
US8554696B2 (en) Efficient computation of ontology affinity matrices
JP2009277099A (ja) 類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
Dinov et al. Natural language processing/text mining
JP4567025B2 (ja) テキスト分類装置、テキスト分類方法及びテキスト分類プログラム並びにそのプログラムを記録した記録媒体
CN113330430B (zh) 语句结构向量化装置、语句结构向量化方法及记录有语句结构向量化程序的记录介质
JP2011159100A (ja) 逐次類似文書検索装置、逐次類似文書検索方法およびプログラム
JP6181890B2 (ja) 文献解析装置、文献解析方法およびプログラム
JP6805927B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP5906810B2 (ja) 全文検索装置、プログラム及び記録媒体
Veretennikov An efficient algorithm for three-component key index construction
Ramesh et al. Extractive Text Summarization Using Graph Based Ranking Algorithm And Mean Shift Clustering
CN117851574A (zh) 一种文本对话方法、装置及电子设备
Meng et al. IPKB: a digital library for invertebrate paleontology
Dais et al. A Comparison on Techniques for Automatic Generation of Presentation Slides

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120829

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees