JP2004272639A - 単語抽出方法、装置、およびプログラム - Google Patents

単語抽出方法、装置、およびプログラム Download PDF

Info

Publication number
JP2004272639A
JP2004272639A JP2003063209A JP2003063209A JP2004272639A JP 2004272639 A JP2004272639 A JP 2004272639A JP 2003063209 A JP2003063209 A JP 2003063209A JP 2003063209 A JP2003063209 A JP 2003063209A JP 2004272639 A JP2004272639 A JP 2004272639A
Authority
JP
Japan
Prior art keywords
word
document
data
statistic
character string
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
JP2003063209A
Other languages
English (en)
Other versions
JP3953967B2 (ja
Inventor
Takayuki Adachi
貴行 足立
Setsuo Yamada
節夫 山田
Masaaki Nagata
昌明 永田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003063209A priority Critical patent/JP3953967B2/ja
Publication of JP2004272639A publication Critical patent/JP2004272639A/ja
Application granted granted Critical
Publication of JP3953967B2 publication Critical patent/JP3953967B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】単語抽出対象の文書集合における低頻度語に関しても、偶然性に依らず多種類の単語を抽出できるようにする。
【解決手段】部分文字列統計量計算部330は作業領域600から部分文字列に関するデータを読み出して、統計量を計算し、作業領域600へ格納する。単語候補統計量計算部340は作業領域600から単語候補および部分文字列の統計量を読み出すと共に、別文書統計量DB700から単語抽出対象文書とは別の文書集合から事前に計算しておいた部分文字列の統計量を読み出し、両文書集合の部分文字列の統計量を足し合わせて単語候補の統計量を計算し、作業領域600へ格納する。単語候補選別部350は作業領域600から単語候補の統計量データを読み出し、各単語候補を統計量に基づいて単語候補を選別して単語と定め、その定めた単語のデータを作業領域600へ格納する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、文書集合における文字列の統計量を用いて、文書集合にある単語を抽出する方法および装置に関するものである。
【0002】
【従来の技術】
近年、CD−ROMやインターネットなどから電子的文書を容易に入手できるようになった。そこで、利用者の要求を満たす文書集合から単語を抽出すること、例えば、ある一定の期間に作成された文書集合から単語を抽出することなど、が考えられる。
【0003】
文書集合から単語を抽出する技術としては、従来、例えば、単語抽出対象の文書集合から、その文書集合における文字列の出現頻度や文字列を含む文書数(文書頻度)を計算し、計算された文字列の出現頻度や文書頻度から統計量を計算して、その統計量を基に単語抽出対象の文書集合中の単語を抽出するものが知られている(例えば、非特許文献1参照)。
【0004】
【非特許文献1】
Mikio Yamamoto,他1名,「Using Suffix Arrays to Compute Term Frequency and Document Frequency for All Substrings in Corpus」,Computational Linguistics, Vol27, No.1, 2001, p.1−30
【0005】
【発明が解決しようとする課題】
しかしながら、上述した従来技術によって求められた低頻度の単語は偶然に低頻度となった可能性が高いので、例えば、一定頻度以上の単語に限定するなどして低頻度の単語を抽出対象外としていた。
【0006】
一方、CD−ROMやインターネットなどにある単語抽出対象とは別の文書集合の中には、従来技術では抽出対象外となってしまう低頻度語がある程度存在する可能性がある。
【0007】
本発明の目的は、単語抽出対象の文書集合における低頻度語に関しても、偶然性に依らず多種類の単語を抽出できる単語抽出方法および装置を提供することにある。
【0008】
【課題を解決するための手段】
上記目的を達成するために、本発明の単語抽出装置は、
単語抽出対象である第1の文書集合から、単語候補の抽出や統計量の計算に用いる部分文字列のデータを作成する部分文字列データ作成手段と、
第1の文書集合の部分文字列データから単語候補データを作成する単語候補データ作成手段と、
第1の文書集合の部分文字列データから第1の統計量を計算する部分文字列統計量計算手段と、
第1の統計量および別文書統計量データベースに納められている第1の文書集合とは別の第2の文書集合から事前に求めた統計量である第2の統計量を用いて、単語候補の統計量を計算する単語候補統計量計算手段と、
単語候補の統計量などを基に単語候補を絞り込む単語候補選別手段を有する。
【0009】
本発明は、CD−ROMやハードディスクなどの記録媒体、もしくは、インターネットなどのネットワーク上の記録媒体にある文書を収集して、単語抽出対象の文書集合(第1の文書集合)のデータを作成し、また、単語抽出対象とは別の文書集合(第2の文書集合)から計算した統計量(第2の統計量)を事前に準備しておき、第1の文書集合から単語候補を抽出し、第1の文書集合から計算した統計量(第1の統計量)と第2の統計量を用いて単語候補に関する統計量を計算し、その単語候補の統計量を基に単語を抽出することで、単語抽出対象の文書集合における低頻度語に関しても、偶然性に依らず多種類の単語を抽出できる。
【0010】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【0011】
図1は本発明の一実施形態の単語抽出装置のブロック図、図2はその処理手順を示すフローチャートである。
【0012】
本実施形態の単語抽出装置は文書収集・加工部100と文書集合データ作成部200と文書集合単語抽出部300と単語表示部400と文書DB500と作業領域600と別文書統計量DB700から構成される。各処理部100、200、300、400はCPU等の制御手段で実行される。文書DB500、作業領域600、別文書統計量DB700はいずれも記憶装置に記憶されている。
【0013】
文書収集・加工部100はCD−ROMやハードディスクなどの記録媒体もしくは、インターネットなどのネットワーク上の記録媒体にある文書を収集し、収集した文書中に現れる不要箇所を削除するなどの加工を行い、加工した文書を文書DB(データベース)500へ格納する(ステップ1000)。文書集合データ作成部200は文書DB500から複数の加工文書を読み出して、単語抽出対象の文書集合のデータを作成し、作業領域600へ格納する(ステップ2000)。文書集合単語抽出部300は作業領域600から単語抽出対象の文書集合のデータを読み出して、単語候補を抽出し、別文書統計量DB(データベース)700も用いて単語候補に対する統計量を計算し、その統計量を基に単語候補を絞り込み、単語を抽出して作業領域600へ格納する(ステップ3000)。単語表示部400は作業領域600から最終的に抽出した単語を読み出して、単語をディスプレイ等に可視表示する(ステップ4000)。
【0014】
文書集合語抽出部300は部分文字列データ作成部310と単語候補データ作成部320と部分文字列統計量計算部330と単語候補統計量計算部340と単語候補選別部350から構成される。
【0015】
部分文字列データ作成部310は作業領域600から単語抽出対象の文書集合のデータを読み出して、文書集合の中の任意の部分文字列に関するデータを作成し、作業領域600へ格納する。単語候補データ作成部320は作業領域600から部分文字列に関するデータを読み出して、任意の部分文字列から単語候補を抽出してその単語候補データを作成し、作業領域600へ格納する。部分文字列統計量計算部330は作業領域600から部分文字列に関するデータを読み出して、部分文字列の出現頻度や文書頻度といった統計量を計算し、作業領域600へ格納する。単語候補統計量計算部340は作業領域600から単語候補、および部分文字列の統計量を読み出すと共に、別文書統計量DB700から単語抽出対象文書とは別の文書集合から事前に計算しておいた部分文字列の統計量を読み出し、両文書集合の部分文字列の統計量を足し合わせて単語候補の統計量を計算し、作業領域600へ格納する。単語候補選別部350は作業領域600から単語候補の統計量データを読み出し、各単語候補を統計量に基づいて単語候補を選別して単語と定め、その定めた単語のデータを作業領域600へ格納する。
【0016】
図3は図1に示した部分文字列データ作成部310の構成を示すブロック図である。部分文字列データ作成部310は文書集合データ加工部311と文書先頭位置調査部312と部分文字列作成部313と先頭共通文字数調査部314から構成される。
【0017】
文書集合データ加工部311は作業領域600から単語抽出の対象となる複数の文書を1つに連結したデータである対象文書集合データ601を読み出し、文字列置換ルール315を用いて、対象文書集合データ601における文字列の置換処理などの加工を行って、加工済み対象文書集合データ602を作業領域600へ格納する。文書先頭位置調査部312は作業領域600から加工済み対象文書集合データ602を読み出し、各文書の先頭文字の位置番号を記載した文書先頭位置データ603を作業領域600へ格納する。部分文字列作成部313は、作業領域600から加工済み対象文書集合データ602を読み出し、加工済み対象文書集合データ602中の任意の位置から始まる部分文字列について、先頭文字の位置番号を加工済み対象文書集合データ602の先頭から順に格納した配列(suffix array)を作り、その配列に格納された位置番号から始まる部分文字列(実体は加工済み対象文書集合データ602にある)に対して文字コードを基に並び替え、その並び替えに合わせて配列に格納された位置番号も並び替えたsuffix array604を作業領域600へ格納する。先頭共通文字数調査部314は作業領域600から加工済み対象文書集合データ602とsuffix array604を読み出し、suffix array604に格納された位置番号から始まる部分文字列(実体は加工済み対象文書集合データ602にある)について、suffix array604の先頭から順に、現在見ている文字列と次に見る文字列の先頭の共通文字列の文字数を調べ、その共通する文字数を現在見ているsuffix array604の位置番号と対応付けて別の配列へ格納した先頭共通文字数データ605を作業領域600へ格納する。
【0018】
図4は、図1に示した単語候補データ作成部320の構成を示すブロック図である。単語候補データ作成部320は抽出文字数調査部321と入れ子文字列処理部322と単語候補抽出部323と単語候補選別部324から構成される。
【0019】
抽出文字数調査部321は、作業領域600から加工済み対象文書集合データ602とsuffix array604と先頭共通文字数データ605を読み出し、suffix array604の先頭から順に調べ、現在見ている位置番号から始まる部分文字列(実体は加工済み対象文書集合データ602にある)について、先頭から最長一致する部分文字列が他に出現していれば、その一致文字数をこの部分文字列の抽出文字数とする抽出文字数データ606を作業領域600へ格納する。入れ子文字列処理部322は、作業領域600からsuffix array604と抽出文字数データ606を読み出し、suffix array604の位置番号の値で並び替え、並び替えたsuffix arrayにおける位置番号と位置番号に対応する抽出文字数の関係から、その位置番号から始まり、長さが抽出文字数である部分文字列について、同様に求めた他の部分文字列の入れ子となれば除外し、その除外にあわせてsuffix array604を新suffix array607へ更新し、また、抽出文字数データ606を新抽出文字数データ608へ更新して作業領域600へ格納する。単語候補抽出部323は、作業領域600から加工済み対象文書集合データ602と新suffix array607と新抽出文字数データ608を読み出し、各抽出文字数の値が大きい順に抽出文字数に対応する新suffix array607の位置番号を並び替えて、位置番号から始まり、長さが抽出文字数である部分文字列(実体は加工済み対象文書集合データ602にある)を単語候補とした単語候補データ609を作業領域600へ格納する。単語候補選別部324は、作業領域600から単語候補データ609を読み出し、単語候補の形態素解析結果に対して形態素解析結果絞込みパターン325を用いたり、単語候補に対して文字列絞込みパターン326を用いたりして、単語候補を選別した選別単語候補データ610を作業領域600へ格納する。
【0020】
図5は、図1に示した部分文字列統計量計算部330と作業領域600の関係を示す図である。部分文字列統計量計算部330は、作業領域600から加工済み対象文書集合データ602と文書先頭位置データ603とsuffix array604と先頭共通文字数データ605を読み出し、suffix array604の位置番号から始まる部分文字列(実体は加工済み対象文書集合データにある)について、suffix array604の位置番号から始まる各部分文字列間の関係と先頭共通文字数データ605によって部分文字列の出現頻度を計算し、さらに、加工済み対象文書集合データ602における部分文字列の出現位置と、文書先頭位置データ603によって、加工済み対象文書集合データ602における部分文字列を含む文書数(文書頻度)を計算し、出現頻度・文書頻度データ611を作業領域600へ格納する。
【0021】
図6は、図1に示した単語候補統計量計算部340と作業領域600、別文書統計量DB700との関係を示す図である。単語候補統計量計算部340は、作業領域600から文書先頭位置データ603と選別単語候補データ610と出現頻度・文書頻度データ611を読み出し、また、別文書統計量DB700から別文書文書先頭位置データ701と加工済み別文書集合データ702と別文書suffix array703と別文書出現頻度・文書頻度データ704を読み出し、選別単語候補データ610の単語候補の出現頻度と文書頻度を、出現頻度・文書頻度データ611および別文書出現頻度・文書頻度データ704の出現頻度と文書頻度をそれぞれ足し合わせたものとする。なお、別文書出現頻度・文書頻度データ704は、出現頻度が2以上のものしかないため、さらに別文書で出現頻度および文書頻度が1のものも考慮する場合は、別文書suffix array703の位置番号から始まる部分文字列(実体は加工済み別文書集合データ702にある)を検索し、単語候補と同じ文字列で始まる部分文字列が存在すれば、その単語候補の出現頻度および文書頻度を1とする。次に、文書先頭位置データ603と別文書文書先頭位置データ701から総文書数を計算する。そして、単語候補の出現頻度と文書頻度と総文書数から単語候補の統計量を計算する。統計量の計算方法としては、単語として順序付けできるものであれば特に限定しない。最終的に、単語候補とそれらの統計量からなる単語候補統計量データ612を作業領域600へ格納する。
【0022】
図7は、図1に示した単語候補選別部350と既知語辞書351、作業領域600との関係を示す図である。単語候補選別部350は、作業領域600から単語候補統計量データ612を読み出し、統計量を基に単語候補を限定する。なお、最近の対象文書集合と過去の別文書集合を用いて最近の話題語を抽出したい場合は、統計量を基に限定された単語候補に対して、対象文書集合および別文書集合での各出現確率を計算し、対象文書集合の出現確率の方が別文書集合の出現確率より高いものに限定することによって可能となる。例えば、対象文書集合中の出現確率は、出現頻度・文書頻度データ611から求めた対象文書集合中の出現頻度と、加工済み対象文書集合データ602から求めた対象文書集合中の任意の文字列総数の割合を計算する。別文書集合中の出現確率は、別文書出現頻度・文書頻度データ704から求めた別文書集合中の出現頻度と、加工済み別文書集合データ702から求めた別文書集合中の任意の文字列総数の割合を計算する。さらに、必要であれば既知語辞書351に未記載な単語に限定する。選別した単語候補を単語と定めた選別単語候補データ613を作業領域600へ格納する。
【0023】
以下、本実施形態の具体例を説明する。なお、この例では対象を日本語として説明するが、言語はこれに限定されない。
【0024】
まず、図1の文書収集・加工部100では、CD−ROMやハードディスクなどの記録媒体もしくは、インターネットなどのネットワーク上の記録媒体にある文書のうち、あらかじめ定められた文書およびそれを起点としてあらかじめ定められた方法によって得ることが可能な文書を収集し、文書DB500へ格納する。例えば、図8(A)の文書がインターネット上のURL(Uniform Resource Locator)“http://www.xxx/0.html”にあり、文書収集・加工部100でそのURLの文書を収集するように定めておいたならば、その文書を収集し、同時に、図8(A)に関する付随データとして図8(B)を作成し、文書DB500へ格納する。付随データにはURL、ファイル名、更新日時、分野が格納されているが、他にあればこれに限定されない。なお、上記の収集に関する文書や方法は、文書収集・加工部100で利用可能な設定データによってあらかじめ定めておく。例えば、あらかじめ定められた文書とは、URLのような文書の参照情報などであるが、参照可能であればURLに限定されない。また、あらかじめ定められた文書を起点としてあらかじめ定められた方法で得るとは、定められた文書内に他の文書の参照情報があれば、その情報に基づいて参照可能な文書も得ることである。なお、参照可能な他の文書の情報は連鎖的に続く場合があるので、その連鎖数、収集する文書数、参照場所などを設定データに定めて制限することも可能である。その他のあらかじめ定められた方法としては、収集開始時刻や収集間隔、同じ参照場所にあっても更新日時などが異なれば、違う文書として扱うなどの条件に基づいて処理することである。さらに、設定データを文書の種類(分野)ごとに分けておけば、図8(B)に分野の情報を記録することも可能である。なお、分野情報の記録は、上記の方法の他に、図8(A)もしくは次の処理で作成された図8(C)から分野を推定する手段によって求めてもよい。
【0025】
次に、図8(A)についてタグなどを除くといった加工を施した図8(C)を作成し、文書DB500へ格納する。同時に、図8(B)に図8(C)が格納されている場所(加工ファイル名)を追加し、文書DB500の図8(B)から図8(D)へ更新する。同様に、図8(E)の文書を収集し、図8(E)に関する付随データ(図8(F))を作成し、図8(E)を加工して図8(G)の加工文書を作成し、図8(E)に関する付随データ(図8(F))から図8(H)へ更新して文書DB500へ格納する。同様な処理を収集した全文書に対して行う。
【0026】
次に、図1の文書集合データ作成部200では、文書DB500から複数の文書をまとめて文書集合のデータを作成する。例えば、更新日時を条件にして、今日(2003年1月2日とする)から過去1日の文書を単語抽出対象とする場合、文書DB500から更新日時が2003年1月1日および2日の文書を集めて、図9(A)の文書集合のデータを作成する。図9(A)は、各文書を1行で表したデータを連結したものであり、“¥n”は改行文字を表している。なお、文書集合データ作成に用いる文書の条件はあらかじめ文書集合データ作成部200で設定されている。その条件は、更新日時だけでなく、分野や、更新日時と分野の組合せなどでもよい。
【0027】
次に、図1の文書集合単語抽出部300について説明する。以下、部分文字列データ作成部310について図3に基づいて説明する。まず、図3の文書集合データ加工部311では、作業領域600から対象文書集合データ601(図9(A))を読み出し、文字列置換ルール315によって、以後の処理で抽出語に含めない文字をあらかじめ定めた文字に統一させるなどの加工をして、加工済み対象文書集合データ602(図9(B))を作成し、作業領域600へ格納する。例えば、図9(C)の文字列置換ルールによって、図9(A)の“、”(読点)や“。”(句点)を“_”(アンダーバー)に置換して図9(B)とする。なお、図9(B)は以後の説明のために便宜的に各文字の上部に、先頭からの位置番号を付与している。
【0028】
次に、図3の文書先頭位置調査部312では、作業領域600から加工済み対象文書集合データ602(図9(B))を読み出し、加工済み文書集合中の文書の先頭位置を格納した文書先頭位置データ603(図10(A))を作成し、作業領域600へ格納する。例えば、図10(A)の“0”は、図9(B)における最初の文書の先頭位置番号であり、“43”は、2番目の文書の先頭位置番号を表す。
【0029】
次に、図3の部分文字列作成部313では、作業領域600から加工済み対象文書集合データ602(図9(B))を読み出し、文書集合中の任意の部分文字列について、先頭文字の位置番号を文書集合の先頭から順に配列に格納したsuffix array604(図10(B))を作成する。この際、先頭文字が空白や改行やアンダーバーであった場合は対象外としている。例えば、図10(B)では、空白や改行やアンダーバーを部分文字列の対象外としているため、図9(B)における文字の位置番号“14”のアンダーバーや位置番号“42”の改行から始まる位置番号は載っていない。その後、図10(B)の位置番号に対応する部分文字列(実体は図9(B)にある)を文字コード順に並び替えて、その並び替えに合わせて図10(B)の位置番号も並び替えたsuffix array604(図10(C))を作業領域600に格納する。例えば、図10(C)では、位置番号“19”と位置番号“43”から始まる文字列の先頭は共に“行政改革”のように先頭文字列が共通するものがあれば隣接している。なお、図10(B)には記されている位置番号が図10(C)には記されていないが、図10(B)の説明のために便宜的に記されていただけであり、処理によって削除されるということではない。
【0030】
次に、図3の先頭共通文字数調査部314では、作業領域から加工済み対象文書集合データ602(図9(B))とsuffix array604(図10(C))を読み出し、図10(C)の先頭から順に位置番号に対応する部分文字列(実体は図9(B)にある)を調べ、現在見ている部分文字列と次に見る部分文字列を比べて、先頭が共通な文字列の文字数を調べて、先頭共通文字数データ605(図10(D))として作業領域600へ格納する。例えば、現在、位置番号“19”から始まる部分文字列を見ている場合は、次に見る位置番号“43”から始まる部分文字列と先頭が共通である文字列“行政改革”の文字数は4文字となる。なお、文字列の途中に空白や改行やアンダーバーが含まれないものとしている。この結果、図10(D)の位置番号“19”に対応して“4”が格納される。以上で部分文字列データ作成部310の処理が終了する。
【0031】
次に、図1の単語候補データ作成部320について図4に基づいて説明する。まず、図4の抽出文字数調査部321では、作業領域600から加工済み対象文書集合データ602(図9(B))、suffix array604(図10(C))、先頭共通文字数データ605(図10(D))を読み出し、図10(C)の先頭から順に調べ、現在見ている位置番号に対応する部分文字列(実体は図9(B)にある)のうち、先頭から最長一致する部分文字列が他にも現れれば、その一致文字数をその部分文字列の抽出文字数とし、抽出文字数データ606(図11)を作業領域600へ格納する。具体的には、現在見ている位置番号から始まる部分文字列(実体は図9(B)にある)に対応する先頭共通文字数と1つ前の位置番号から始まる部分文字列(実体は図9(B)にある)に対応する先頭共通文字数を比べ、1つ前の先頭共通文字数の方が大きければ、その値を現在見ている部分文字列の抽出文字数とし、そうでなければ、現在見ている先頭共通文字数をそのまま抽出文字数とする。例えば、図10(D)において、現在見ている位置番号が“43”とすると、1つ前の先頭共通文字数が“4”で現在の先頭共通文字数が“0”なので、現在見ている位置番号の部分文字列の抽出文字数は“4”となる。
【0032】
次に、図4の入れ子文字列処理部322では、作業領域600からsuffix array604(図10(C))、抽出文字数データ606(図11)を読み出し、suffix array604(図10(C))を位置番号の順に並び替えて(図10(B))、図10(B)の先頭から順番に対応する抽出文字数を調べ、現在の位置番号と次の位置番号が連続した場合に、現在の位置番号に対応する抽出文字数が、次の位置番号に対応する抽出文字数より大きい場合は、次の位置番号から始まる部分文字列は現在の位置番号から始まる部分文字列の入れ子になるので、それを対象外とするための印付けした図12(A)を作成する。例えば、図12(A)において、位置番号“19”では抽出文字数は“4”、位置番号は“20”では抽出文字数は“3”であるので、位置番号“20”から始まる部分文字列は位置番号“19”から始まる部分文字列の入れ子となり、図12(A)の位置番号“20”には対象外を表す“0”が入る。その後、図12(A)から対象となるsuffix arrayの位置番号およびそれに対応する抽出文字数データを新たに作成し、suffix arrayの位置番号から始まる部分文字列を文字コード順に並べ替えた新suffix array607(図12(B))と、新suffix array607の位置番号に対応する抽出文字数のデータである新抽出文字数データ608(図12(C))が作業領域600へ格納される。
【0033】
次に、図4の単語候補抽出部323では、作業領域600から加工済み対象文書集合データ602(図9(B))、新suffix array607(図12(B))、新抽出文字数データ608(図12(C))を読み出し、図12(B)を、その位置番号に対応する抽出文字数の値が大きい順に並び替え、並び替えたものについて先頭から順に、位置番号から始まり長さが抽出文字数である部分文字列(実体は加工済み対象文書集合データ602にある)を単語候補として抽出する。抽出する際には、既に抽出したものとは異なるもののみ抽出する。例えば、図12(B)と図12(C)から、位置番号“19”では“行政改革”が4文字で抽出される。次の位置番号“43”では“行政改革”が既に抽出されているので抽出しない。その結果、単語候補データ609(図12(D))が作業領域600へ格納される。
【0034】
次に、図4の単語候補選別部324では、作業領域600から単語候補データ609(図12(D))を読み出し、単語候補を形態素解析した結果(図13(A))について、形態素解析結果絞込みパターン325(図13(B))に該当するものを除き、絞り込まれた単語候補(図13(C))が文字列絞込みパターン326(図13(D))に該当するものを除いて、選別単語候補データ610(図13(E))を作業領域600へ格納する。なお、図13(A)の書式は、“表記/品詞名”もしくは空白を区切りとして“表記/品詞名”を並べたものである。また、図13(B)のパターンも、形態素解析結果と同じ書式であるが記述に正規表現を許している。例えば、図13(B)の“*”は任意の文字列を意味し、“(助詞|補助動詞)は”助詞または補助動詞を意味するので、パターン“*/*(助詞|補助動詞)”は、“表記は任意/品詞名の末尾が助詞もしくは補助動詞となるもの”を意味している。これを用いて、図13(A)から該当するものを調べると、“課題/名詞 は/連用助詞”における“は/連用助詞”の部分が該当するので、単語候補“課題は”は除かれ、図13(C)となる。また、図13(D)も文字列だけでなく正規表現を許している。例えば、図13(D)のパターンは、最初の“^”で先頭を意味し、“[]”に囲まれる文字列でその文字列中の任意の一文字を意味するので、全体として、先頭文字が“[]”に囲まれる任意の文字であることを意味している。これを用いて、図13(C)から該当する文字列を調べると、“ント”が“ン”から始まる文字列で該当するので、単語候補“ント”は除かれ、図13(E)となる。以上で単語候補データ作成部320の処理を終了する。
【0035】
次に、図1の部分文字列統計量計算部330について図5に基づいて説明する。まず、図5の部分文字列統計量計算部330では、作業領域600から加工済み対象文書集合データ602(図9(B))、文書先頭位置データ603(図10(A))、suffix array604(図10(C))、先頭共通文字数データ605(図10(D))を読み出し、suffix arrayの各位置番号から始まる部分文字列(実体は図9(B)にある)について、各位置番号に対応した先頭共通文字数データ605とsuffix array604の隣接する部分文字列の関係から出現頻度(tf)を求め、また、その部分文字列の図9(B)中の出現位置と図10(A)から、その部分文字列が含まれる文書数(文書頻度(df))を計算し、各文字列の出現頻度とそれを含んだ文書数を出現頻度・文書頻度データ611(図14(A))として作業領域600へ格納する。例えば、図10(C)の現在の位置番号が“19”であり、その1つ前の位置番号“30”に対応する図10(D)の先頭共通文字数が“0”であった場合、位置番号“19”とその1つ前の位置番号“30”との先頭が共通な文字列は存在しない。一方、位置番号“19”に対応する図10(D)の先頭共通文字数が“4”であった場合、位置番号“19”と次の位置番号“43”との先頭が共通な文字列は存在する。さらに、次の位置番号“43”に対応する図10(D)の先頭共通文字数が“0”であった場合、次の位置番号“43”と次の次の位置番号との先頭が共通な文字列は存在しない。以上のような関係から、位置番号“19”と“43”で先頭が共通な1〜4文字(対象文字範囲)からなる文字列“行”、“行政”、“行政改”、“行政改革”は出現頻度2となる。一方、“行”、“行政”、“行政改”、“行政改革”の文書頻度は、図10(A)から、図10(C)の位置番号が“19”は、位置番号0〜42の範囲にある最初の文書に表れ、位置番号“43”は位置番号43〜59の範囲にある2番目の文書に現れることが分かるので、文書頻度2となる。以上で、部分文字列統計量計算部330の処理を終了する。
【0036】
次に、図1の単語候補統計量計算部340について図6に基づいて説明する。まず、単語抽出対象の文書集合(図3の対象文書集合データ601)の代わりに単語抽出対象とは別の文書集合に対して、あらかじめ図2の文書集合単語抽出部300の部分文字列データ作成部310と部分文字列統計量計算部330の処理を同様に行って、図3における文書先頭位置データ603に代わる別文書文書先頭位置データ701、加工済み対象文書集合データ602に代わる加工済み別文書集合データ702、suffix array604に代わる別文書suffix array703、図5における出現頻度・文書頻度データ611に代わる別文書出現頻度・文書頻度データ704を格納した別文書統計量DB700が準備されているとする。
【0037】
図6の単語候補統計量計算部340では、作業領域600から文書先頭位置データ603(図10(A))、選別単語候補データ610(図13(E))、出現頻度・文書頻度データ611(図14(A))を読み出す。また、別文書統計量DB700から別文書文書先頭位置データ701、加工済み別文書集合データ702、別文書suffix array703、別文書出現頻度・文書頻度データ704(図14(C))を読み出す。なお、別文書統計量DB700にある、別文書文書先頭位置データ701、加工済み別文書集合データ702、別文書suffix array703は単語抽出対象のものと同様に処理して求められたとして、ここでは、図示を省略している。次に、図13(E)に対して、図14(A)および図14(C)から出現頻度と文書頻度をそれぞれ足し合わせる。例えば、図13(E)の“行政改革”の出現頻度は、図14(A)の“行政改革”のtf=2と図14(C)の“行政改革”のtf=800から図14(E)の“行政改革”のtf=802となる。また、図13(E)の“行政改革”の文書頻度は、図14(A)の“行政改革”のdf=2と図14(C)の“行政改革”のdf=550から図14(E)の“行政改革”のdf=552となる。なお、図14(C)は、出現頻度が2以上のものであるため、別文書で出現頻度および文書頻度が1のものも考慮する場合については、別文書suffix array703の位置番号から始まる部分文字列(実体は別文書加工済み対象文書集合データ702にある)を検索して単語候補と同じ文字列が存在するかどうかで求める。次に、図10(A)と別文書文書先頭位置データ701から総文書数を計算する。例えば、図14(B)の文書数が5であり、図14(D)の文書数が100000であれば、総文書数(Dnum)は100005となる。次に、単語候補の出現頻度(tf)と文書頻度(df)と総文書数(Dnum)から単語候補の統計量を計算する。統計量の計算方法としては、単語として順序付けできるものであれば特に限定しない。例えば、「北研二、外2名、「情報検索アルゴリズム」、2002、p.43−45」に開示されている。総文書数に対する文書頻度の比が出現頻度の分布から計算される推定値よりも大きいものを特徴的な値とする、残差IDF(ridf)が考えられる。残差IDFは、ridf=−log(df/Dnum)+log(1−exp(−tf/Dnum))の式で計算される。例えば、図14(E)の“行政改革”は、tf=802、df=552、Dnum=100005としてridfを計算すると、0.53となる。最終的に、単語候補とそれらの統計量からなる単語候補統計量データ612(図14(E))を作業領域600へ格納する。以上で、単語候補統計量計算部340の処理を終了する。
【0038】
次に、図1の単語候補選別部350について図7に基づいて説明する。まず、単語候補選別部350は作業領域600から単語候補統計量データ612(図14(E))を読み出し、統計量の閾値以上のものを選択する。例えば、図14(E)のうちridfが0.2以上のものを選択する場合、図15が得られ、これが選別単語候補データ613として作業領域600へ格納される。
【0039】
なお、最近の対象文書集合と過去の別文書集合を用いて最近の話題語を抽出したい場合は、統計量の闘値によって選択された単語候補に対して、対象文書集合および別文書集合での各出現確率を計算し、対象文書集合の出現確率の方が別文書集合の出現確率より高いものに限定することによって可能となる。単語候補の文書集合中での出現確率を、例えば、(単語候補の文書集合中の出現回数)/(文書集合中の任意の文字列総数)で求めたとする。加工済み対象文書集合データ602から、対象文書集合中の任意の文字列総数が100000、別文書加工済み対象文書集合データ702から、別文書集合中の任意の文字列総数が100000000であったとする。対象文書集合における“行政改革”の出現頻度は出現頻度・文書頻度データ611(図14(A))から2であるので、出現確率は2/100000=0.00002である。また、別文書集合における“行政改革”の出現頻度は別文書出現頻度・文書頻度データ704(図14(C))から800であるので、出現確率は800/100000000=0.000008となる。その結果、対象文書集合での出現確率の方が高くなるので、“行政改革”は話題語として抽出される。そして、選別単語候補データ613(図15)に、各文書集合での出現確率を格納する。また、既知語辞書351を用意しておき、図15の単語のうち、既知語辞書351の見出しには載っていない単語のみからなるものを選別単語候補データ613とすることも可能である。上記の話題語や既知語の処理は単語候補選別部350で利用可能な設定データによってあらかじめ定めておく。以上で、単語候補選別部350の処理を終了する。以上により、文書集合単語抽出部300の全ての処理を終了する。
【0040】
次に、図1の単語表示部400では、作業領域600から選別単語候補データ613(図15)を読み出し、表示装置(不図示)へ表示する。また、ユーザが取得可能な記録媒体へ格納しても構わない。なお、最近の対象文書集合と過去の別文書集合を用いて、各文書集合での出現確率が求められている場合は、選別単語候補データ613(図15)を読み出した後、各文書集合での単語の出現確率から話題の強さ(話題度)を計算して、その話題度の大きい順に並び替えて表示することができる。例えば、話題度を(対象文書集合での出現確率−別文書集合での出現確率)で求めたとする。“行政改革”の話題度は、選別単語候補データ613(図15)から、0.0002−0.000008=0.000192となる。また、“大統領官邸”の話題度は、0.0002−0.0000016=0.0001984となるので、“大統領官邸”、“行政改革”の順に表示される。
【0041】
ところで、本発明との比較として、図1の単語候補統計量計算部340で、別文書統計量DB700を使用しなかった場合(従来技術)、図6の単語候補統計量データ612は、図16のようになる。従来技術では偶然に単語抽出されるのを避けるために、出現頻度が閾値以上の単語に限定している。例えば、出現頻度の閾値を10以上とすると、図16の出現頻度2のものは抽出対象外となってしまう。一方、本発明では、“行政改革”のように、図14(A)から単語抽出対象の文書集合での出現頻度が2であっても、図15にあるように、単語抽出対象とは別の文書集合の出現頻度を足し合わせた値(802)を利用しているため、単語抽出対象の文書集合において低頻度となる単語も偶然性に依らず単語抽出が可能である。
【0042】
なお、本発明は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、CD−ROM等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【0043】
【発明の効果】
以上説明したように、本発明によれば、CD−ROMやハードディスクなどの記録媒体、もしくは、インターネットなどのネットワーク上の記録媒体にある文書を収集して、単語抽出対象の文書集合(第1の文書集合)を作成し、また、単語抽出対象とは別の文書集合(第2の文書集合)から計算した統計量(第2の統計量)を事前に準備しておき、第1の文書集合から単語候補を抽出し、第1の文書集合から計算した統計量(第1の統計量)と第2の統計量を用いて単語候補に関する統計量を計算し、その単語候補の統計量を基に単語を抽出することで、単語抽出対象の文書集合における低頻度語に関しても、偶然性に依らず多種類の単語を抽出できる。
【図面の簡単な説明】
【図1】本発明の一実施形態の単語抽出装置の構成を示すブロック図である。
【図2】図1の単語抽出装置の全体の処理の流れを示すフローチャートである。
【図3】部分文字列データ作成部310の構成を示すブロック図である。
【図4】単語候補データ作成部320の構成を示すブロック図である。
【図5】部分文字列統計量計算部330の構成を示すブロック図である。
【図6】単語候補統計量計算部340の構成を示すブロック図である。
【図7】単語候補選別部350の構成を示すブロック図である。
【図8】文書収集・加工部100で用いるデータの例を示す図である。
【図9】文書集合データ作成部200、文書集合データ加工部311で作成されるデータの例を示す図である。
【図10】部分文字列データ作成部310で作成されるデータの例を示す図である。
【図11】抽出文字数調査部321で作成されるデータの例を示す図である。
【図12】入れ子文字列処理部322、単語候補抽出部323で作成されるデータの例を示す図である。
【図13】単語候補選別部324で作成されるデータの例を示す図である。
【図14】部分文字列統計量計算部330、単語候補統計量計算部340で作成されるデータの例を示す図である。
【図15】単語候補選別部350で作成されるデータの例を示す図である。
【図16】別文書統計量データを用いない場合の単語候補統計量計算部340で作成されるデータの例を示す図である。
【符号の説明】
100 文書収集・加工部
200 文書集合データ作成部
300 文書集合単語抽出部
310 部分文字列データ作成部
311 文書集合データ加工部
312 文書先頭位置調査部
313 部分文字列作成部
314 先頭共通文字数調査部
315 文字列置換テーブル
320 単語候補データ作成部
321 抽出文字数調査部
322 入れ子文字列処理部
323 単語候補抽出部
324 単語候補選別部
325 形態素解析結果絞込みパターン
326 文字列絞込みパターン
330 部分文字列統計量計算部
340 単語候補統計量計算部
350 単語候補選別部
351 既知語辞書
400 語表示部
500 文書DB
600 作業領域
601 対象文書集合データ
602 加工済み対象文書集合データ
603 文書先頭位置データ
604 suffix array
605 先頭共通文字数データ
606 抽出文字数データ
607 新suffix array
608 新抽出文字数データ
609 単語候補データ
610 選別単語候補データ
611 出現頻度・文書頻度データ
612 単語候補統計量データ
613 選別単語候補データ
700 別文書統計量DB
701 別文書文書先頭位置データ
702 加工済み別文書集合データ
703 別文書suffix array
704 別文書出現頻度・文書頻度データ
1000,2000,3000,4000 ステップ

Claims (3)

  1. 文書集合から単語を抽出する方法であって、
    単語抽出対象である第1の文書集合から単語候補データを作成する単語候補データ作成ステップと、
    第1の文書集合から統計量である第1の統計量を計算する部分文字列統計量計算ステップと、
    第1の統計量と、第1の文書集合とは別の第2の文書集合から事前に求めた統計量である第2の統計量を用いて、単語候補の統計量を計算する単語候補統計量計算ステップと、
    単語候補の統計量を基に単語候補を絞り込む単語候補選別ステップを有する単語抽出方法。
  2. 文書集合から単語を抽出する装置であって、
    単語抽出対象である第1の文書集合から、単語候補の抽出および統計量の計算に用いる部分文字列のデータを作成する部分文字列データ作成手段と、
    第1の文書集合の部分文字列データから単語候補データを作成する単語候補データ作成手段と、
    第1の文書集合の部分文字列データから第1の統計量を計算する部分文字列統計量計算手段と、
    第1の統計量と、別文書統計量データベースに納められている第1の文書集合とは別の第2の文書集合から事前に求めた統計量である第2の統計量を用いて、単語候補の統計量を計算する単語候補統計量計算手段と、
    単語候補の統計量を基に単語候補を絞り込む単語候補選別手段を有する単語抽出装置。
  3. 請求項1に記載の単語抽出方法をコンピュータに実行させるための単語抽出プログラム。
JP2003063209A 2003-03-10 2003-03-10 単語抽出方法、装置、およびプログラム Expired - Lifetime JP3953967B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003063209A JP3953967B2 (ja) 2003-03-10 2003-03-10 単語抽出方法、装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003063209A JP3953967B2 (ja) 2003-03-10 2003-03-10 単語抽出方法、装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2004272639A true JP2004272639A (ja) 2004-09-30
JP3953967B2 JP3953967B2 (ja) 2007-08-08

Family

ID=33124843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003063209A Expired - Lifetime JP3953967B2 (ja) 2003-03-10 2003-03-10 単語抽出方法、装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP3953967B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015025751A1 (ja) * 2013-08-23 2015-02-26 日本電気株式会社 頻出系列の列挙装置、方法および記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015025751A1 (ja) * 2013-08-23 2015-02-26 日本電気株式会社 頻出系列の列挙装置、方法および記録媒体

Also Published As

Publication number Publication date
JP3953967B2 (ja) 2007-08-08

Similar Documents

Publication Publication Date Title
EP1225517A2 (en) System and methods for computer based searching for relevant texts
US9195738B2 (en) Tokenization platform
US20090299978A1 (en) Systems and methods for keyword and dynamic url search engine optimization
WO2008022581A1 (fr) Procédé et dispositif d'obtention de mots nouveaux et système et procédé de saisie
JP2008090401A (ja) 文書検索装置、文書検索方法および文書検索プログラム
JP2009271799A (ja) 企業相関情報抽出システム
JP2009122807A (ja) 連想検索システム
JP4969209B2 (ja) 検索システム
JP4189387B2 (ja) 知識検索システム、知識検索方法及びプログラム
JP2001265774A (ja) 情報検索方法、装置、および情報検索プログラムを記録した記録媒体、ハイパーテキスト情報検索システム
JP2007164635A (ja) 同義語彙獲得方法及び装置及びプログラム
JP2009271798A (ja) 業界マップ生成システム
WO2003046765A1 (fr) Procede d'extraction automatique de mot associe
JP2004272639A (ja) 単語抽出方法、装置、およびプログラム
JP4675986B2 (ja) 情報共有装置及び情報共有プログラム
JP2003006221A (ja) 予測分析型検索システム、予測分析型検索方法およびコンピュータプログラム
EP3203384A1 (en) Method, device, and computer program for providing a definition or a translation of a word belonging to a sentence as a function of neighbouring words and of databases
CN113934910A (zh) 一种自动优化、更新的主题库构建方法,及热点事件实时更新方法
JP2007026116A (ja) 概念検索システム及び概念検索方法
Barouni-Ebarhimi et al. A novel approach for frequent phrase mining in web search engine query streams
JP2002108888A (ja) ディジタルコンテンツのキーワード抽出装置、方法及びコンピュータ読み取り可能な記録媒体
JP2005258678A (ja) 単語抽出方法、装置、およびプログラム
JP2009098932A (ja) 連想検索システム
JP2003186912A (ja) Webページ検索の適合度計算方法とその装置、Webページ検索の検索結果表示方法とその装置、並びにそれらの方法の実行プログラムとそれらの方法の実行プログラムを記録した記録媒体
JP2002117043A (ja) 文書検索装置、文書検索方法およびその方法を実施するためのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050124

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070402

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: 20070418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070425

R150 Certificate of patent or registration of utility model

Ref document number: 3953967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term