JP5106042B2 - 文書関連性分析装置、方法及びプログラム - Google Patents

文書関連性分析装置、方法及びプログラム Download PDF

Info

Publication number
JP5106042B2
JP5106042B2 JP2007279066A JP2007279066A JP5106042B2 JP 5106042 B2 JP5106042 B2 JP 5106042B2 JP 2007279066 A JP2007279066 A JP 2007279066A JP 2007279066 A JP2007279066 A JP 2007279066A JP 5106042 B2 JP5106042 B2 JP 5106042B2
Authority
JP
Japan
Prior art keywords
character string
partial character
common partial
common
database
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.)
Expired - Fee Related
Application number
JP2007279066A
Other languages
English (en)
Other versions
JP2009110081A (ja
Inventor
一洋 風間
美幸 今田
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 JP2007279066A priority Critical patent/JP5106042B2/ja
Publication of JP2009110081A publication Critical patent/JP2009110081A/ja
Application granted granted Critical
Publication of JP5106042B2 publication Critical patent/JP5106042B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、テキスト情報を含むデジタル化された文書データの集合から文書データの関連性を分析する文書関連性解析装置、方法及びプログラムに関する。
従来の文書の関連性を解析する方法には、単語や文字nグラム(連続するn個の文字の並び)の出現頻度や共起頻度に基づいて類似性や関連性を判定する方法がある。この方法は、クラスタリングなどの関連づけ処理や重要語の抽出に用いられることが多い。
例えば、非特許文献1に記載された技術では、文書から単語の抽出には、日本語形態要素解析(日本語の文法と辞書を用いてテキストを言語で意味を持つ最小単位である形態素に分割し、品詞の判別をする処理)を用いる。また、文書の特徴語を抽出する場合にも、日本語形態素解析を用いて、必要に応じて単語を連結している。
他に、文書に出現する固有表現を基に文書を関連づける技術が存在する。以下の技術は人名を固有表現として使用する。非特許文献2に記載された技術では、あらかじめ日本語形態素解析を用いて文書の集合から人名を抽出する。また、非特許文献3に記載された技術では、解析する文書とは別に与えられた人名リストを用いている。
松尾真編、自然言語処理、「岩波講座ソフトウェア科学15」、岩波書店、1996、2.1節「言語の統計」、3章「形態素解析」、11章「情報の構造化と検索」 原田昌紀、佐藤進也、風間一洋、Web上のキーパーソンの発見と関係の可視化、「情報処理学会研究報告書」、情報処理学会、2003、17−24 松田豊、友部博教、橋田浩一、中島秀之、石塚満、Web上の情報からの人物関係ネットワークの抽出、「人口知能学会論文誌」、人口知能学会、2005、Vol.20、No.1、46−56
しかしながら、上述した従来技術による方法は、文書の意味的な類似性を解析する場合に適しているが、文書の集合全体が似ている場合にはうまく適用できず、文章の引用などの関係を抽出することはできない、という問題がある。
また、既存の特徴語抽出では日本語形態素解析技術を用いており、辞書登録の有無や使用する文法に依存するために新語や口語文章に弱く、また長い複合語やフレーズを扱うには不適切である、という問題がある。
本発明は上記の点に鑑みてなされたものであり、その目的は、日本語形態素解析や辞書を用いなくても、引用文や多用される複合語などの長い文字列に基づいて文書間の関連づけを行うことができる文書関連性分析装置、方法及びプログラムを提供することにある。
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、複数の入力された文書データの各々の組み合わせについて、所定の長さ以上の共通部分文字列を抽出し、抽出した共通部分文字列と抽出元の文書データを関連付け、抽出した共通部分文字列をキーとして、抽出元の文書データ群を共通部分文字列データベースに格納する共通部分文字列発見部と、前記共通部分文字列データベースに格納された前記共通部分文字列の各々の組み合わせについて、複数の共通部分文字列の中に共通に含まれる文字列のうち最も文字数が多い文字列である最大共通部分文字列を抽出し、抽出された前記最大共通部分文字列の長さが前記所定の長さ以上であれば、当該共通部分文字列と当該最大共通部分文字列を関連付け、変換元の共通部分文字列をキーとして、変換先の最大共通部分文字列を文字列変換部データベースに格納する部分文字列変換データベース作成部と、前記共通部分文字列データベースに格納された前記共通部分文字列をキーとして、前記文字列変換部データベースに格納された当該共通部分文字列に関連づけられた最大共通文字列と、前記共通部分文字列データベースに格納された当該共通部分文字列に関連づけられた文書データ群とを関連付け、前記文字列変換部データベースに格納された前記最大共通部分文字列をキーとして、当該最大共通部分文字列に関連付けられた文書データ群を結果データベースに格納する文書関連づけ部と、を有することを特徴とする。
また、本発明の一態様は、上記の文書関連性分析装置において、入力された文書データに含まれるテキスト情報を抽出し、テキストファイル形式の文書データに変換する前処理部を有することを特徴とする。
また、本発明の一態様は、共通部分文字列発見部と、部分文字列変換データベース作成部と、文書関連づけ部を備える文書関連性分析装置が行う文書関連性分析方法であって、前記共通部分文字列発見部が、複数の入力された文書データの各々の組み合わせについて、所定の長さ以上の共通部分文字列を抽出し、抽出した共通部分文字列と抽出元の文書データを関連付け、抽出した共通部分文字列をキーとして、抽出元の文書データ群を共通部分文字列データベースに格納する共通部分文字列発見ステップと、前記部分文字列変換データベース作成部が、前記共通部分文字列データベースに格納された前記共通部分文字列の各々の組み合わせについて、複数の共通部分文字列の中に共通に含まれる文字列のうち最も文字数が多い文字列である最大共通部分文字列を抽出し、抽出された前記最大共通部分文字列の長さが前記所定の長さ以上であれば、当該共通部分文字列と当該最大共通部分文字列を関連付け、変換元の共通部分文字列をキーとして、変換先の最大共通部分文字列を文字列変換部データベースに格納する部分文字列変換データベース作成ステップと、前記文書関連づけ部が、前記共通部分文字列データベースに格納された前記共通部分文字列をキーとして、前記文字列変換部データベースに格納された当該共通部分文字列に関連づけられた最大共通文字列と、前記共通部分文字列データベースに格納された当該共通部分文字列に関連づけられた文書データ群とを関連付け、前記文字列変換部データベースに格納された前記最大共通部分文字列をキーとして、当該最大共通部分文字列に関連付けられた文書データ群を結果データベースに格納する文書関連づけステップと、を有することを特徴とする。
また、本発明の一態様は、上記の文書関連性解析方法において、入力された文書データに含まれるテキスト情報を抽出し、テキストファイル形式の文書データに変換する前処理ステップを有することを特徴とする。
また、本発明の一態様は、コンピュータを、前記文書関連性分析装置として機能させるための文書関連性分析プログラムである。
本発明によれば、共通部分文字列発見部により所定の長さ以上の全ての共通部分文字列を抽出して、抽出した共通部分文字列と文書データを関連づけているので、日本語形態素解析や辞書を用いなくても、引用や多用される複合などの長い文字列に基づいて文書の集合を関連づけすることができる。
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態による文書関連性分析装置1の構成図である。
文書関連性分析装置1は、前処理部11と、共通部分文字列発見部12と、部分文字列変換データベース作成部13と、文書関連づけ部14と、文書データを保持しているハードディスク15と、共通部分文字列DB16A及び文字列変換DB16Bを記憶するメモリ17と、を含んで構成される。文書関連性分析装置1は、複数の文書データから各文書データに共通する文字列を抽出し、共通する文字列に基づいた文書間の関連づけを行う。
前処理部11は、ハードディスク15から文書データを取り出し、その文書データのテキスト情報を抽出して、テキストファイル形式の文書データに変換する。次に、前処理部は変換した文書データを共通部分文字列発見部12へ出力する。このため、本発明では、テキストファイル以外にも、例えば、MS Wordファイル、PDFファイル、HTMLファイルの様にテキストファイル形式に変換できる文書データを処理できる。
共通部分文字列発見部12は、まず、複数の入力されたテキストファイル形式の文書データの各々の組み合わせについて、所定の長さn以上の任意の長さの共通部分文字列を抽出する。共通部分文字列とは、対となる文書データに共通して存在する文字列である。ここで、nの値は目的に応じて決定する。例えば、文章を取り出したい場合にはnを大きく、複合語を取り出したい場合にはnを小さくする。nは文字列を細かく分割しないように制御するためのもので、nの値は最低限の文字列長を指定する。ここで、nと抽出する共通部分文字列の文字列長は一致せずともよい。また各文書データ対に対して抽出する共通部分文字列は、1つでも、複数でもよい。次に、共通部分文字列発見部12は、抽出した共通部分文字列をキーに、その共通部分文字列を持つ文書群を値として共通部分文字列DB16Aに格納する。例えば、共通部分文字列「会社員、○山△男容疑者(30)」を持つ文書データ224と文書データ262があった場合には、キーは「会社員、○山△男容疑者(30)」となり、値は{224,262}となる。この時、nの値を12とする。ここで、共通部分文字列の文字列長は、nと一致するとは限らない。これにより、共通部分文字列発見部12は、共通部分文字列と文書データを関連づける。
文書データを関連づける一番簡単な方法は、共通部分文字列発見部12で共通部分文字列の抽出が終了した段階で、同じ共通部分文字列を持つ文書データ同士を関連づけることである。しかし、実際に抽出された共通部分文字列は、単に句読点や送り仮名の有無だけが違う文字列や、ある共通部分文字列の一部に含まれる文字列や、一部を共通する共通部分文字列が多く見られるので、これらを統一・整理する必要がある。
そこで、部分文字列変換データベース作成部13は、得られた複数の類似する共通部分文字列を照合して、その中から文字列長が長く、頻繁に使用され、人間が読んでも妥当な文字列を再抽出する。具体的には、部分文字列変換データベース作成部13は、共通部分文字列DB16Aに格納された共通部分文字列の各々の組み合わせについて、最大共通部分文字列を抽出し、抽出した最大共通部分文字列の長さが所定の値n以上であれば、当該共通部分文字列と当該最大共通部分文字列を関連づける文字列変換DB16Bを生成する。つまり、部分文字列変換DB16Bは、共通部分文字列DB18Aに格納された共通部分文字列のうち、類似した文字列を統合するためのデータベースである。ここで、最大共通部分文字列とは、複数の共通部分文字列の中に共通に含まれる文字列であって、最も文字数が多い文字列である。
ここで、部分文字列変換データベース作成部13にて生成される文字列変換DB16Bは、変換元の文字列をキー、変換先の文字列を値としたテーブルである。例えば、共通部分文字列発見部12で抽出された共通部分文字列「会社員、○山△男容疑者(30)は」と「会社員、○山△男容疑者(30)の」があった場合には、最大共通部分文字列「会社員、○山△男容疑者(30)」が得られる。この時、キーが「会社員、○山△男容疑者(30)は」、値が「会社員、○山△男容疑者(30)」となるレコードと、キーが「会社員、○山△男容疑者(30)の」、値が「会社員、○山△男容疑者(30)」となるレコードが文字列変換DB16Bに格納される。
文字関連づけ部14は、共通部分文字列DB16Aと文字列変換DB16Bを参照して文書の関連づけを行う。ここで、文字関連づけ部14は、共通部分文字列発見部12により抽出された共通部分文字列をキーとして、共通部分文字列に関連づけられた最大共通文字列と文書データを関連付ける。具体的には、文字関連づけ部14は、共通部分文字列DB16Aに格納された共通部分文字列を、文字列変換DB16Bを用いて当該共通部分文字列に関連づけられた最大共通文字列に変換し、変換された最大共通部分文字列と文書データを関連付ける。文字関連づけ部14は、この処理を全ての共通部分文字列について行う。
例えば、文書データ207に「会社員、○山△男容疑者(30)は」という共通部分文字列が含まれており、文書データ224と文書データ262に「会社員、○山△男容疑者(30)」という共通部分文字列が含まれている場合には、文字関連づけ部14は、まず、「会社員、○山△男容疑者(30)は」を最大共通部分文字列「会社員、○山△男容疑者(30)」に変換する。次に、文字関連づけ部14は、キーが「会社員、○山△男容疑者(30)」、値が{207,224,262}というレコードが含まれた結果DB20を生成する。文字関連づけ部14は、この処理を共通部分文字列DB16Aに格納された全ての共通部分文字列について行う。最後に、文字関連づけ部14は、結果DB20を結果として出力する。
図2は、本実施形態の共通部分文字列発見部12における処理の流れの一例を表すフローチャートである。共通部分文字列発見部12は、動的計画法(dynamic programming)を用いて共通部分文字列を抽出する。ここでは、文書データ1と文書データ2の共通部分文字列を抽出する。ここで、文書データはテキストから構成されており、文書データ1はテキストs1、文書データ2はテキストs2から構成される。
共通部分文字列発見部12は、ステップS101からS112の処理でテキストs1とs2を比較し、一致した文字列の長さを二次元配列a[i][j]に記憶し、a[i][j]に記憶された文字列の長さがnと一致した場合には、発見された共通部分文字列の先頭位置pを位置リストPに追加する。ここで、先頭位置pとは、例えば、抽出した共通部分文字列がテキストs1の何文字目、テキストs2の何文字目から開始するかを示す情報である。
次に、共通部分文字列発見部12は、ステップS113からS115の処理で位置リストPとa[i][j]から、得られた共通部分文字列のリストLを作成する。
共通部分文字列発見部12は、まずiとjを0に初期化する(ステップS101)。次に、ステップS102の処理では、共通部分文字列発見部12は、iが文書データ1のテキストs1の長さ以上であるか否かを判定する。共通部分文字列発見部12は、iがテキストs1の長さ以上である場合はステップS113へ、そうでない場合には次のステップS103の処理を行う。ステップS103では、共通部分文字列発見部12は、jが文書データ2のテキストs2の長さ以上であるか否かを判定する。jがテキストs2の長さ以上である場合はiに1加え、jを0に初期化して(ステップS112)、ステップS102の処理を行う。そうでない場合(ステップS103:No)には、共通部分文字列発見部12は、テキストs1のi番目の文字とテキストs2のj番目の文字が一致するか(同じ文字であるか)否かを判定する(ステップS104)。一致しない場合は、共通部分文字列発見部12は、a[i][j]の値を0にして(ステップS105)、ステップS111の処理を行う。一致する場合は、共通部分文字列発見部12は、iまたはjが0か否かを判定する(ステップS106)。
共通部分文字列発見部12は、iまたはjが0である場合、a[i][j]の値を1に(ステップS107)、そうでない場合は、a[i][j]の値をa[i−1][j−1]+1にする(ステップS108)。次に、共通部分文字列発見部12は、a[i][j]の値がnか否かを判定する(ステップS109)。a[i][j]の値がnである場合には、共通部分文字列発見部12は、現在の共通部分文字列の先頭位置pを位置リストPに記憶する(ステップS110)。次のステップS111の処理では、共通部分文字列発見部12は、jに1を加算して、ステップS103の処理を行う。
また、ステップS113の処理では、共通部分文字列発見部12は、位置リストPが空か否かを判定する。共通部分文字列発見部12は、空でない場合には、共通文字列の先頭位置pを取り出す(ステップS114)。次に、共通部分文字列発見部12は、二次元配列aを走査して共通文字列の文字数を取得(a[i][j]=0の場合、a[i−1][j−1]の値。)し、文字列の最後を抽出する。この際、pの位置がテキストs1のk文字目、テキストs2のl文字目だった場合には、共通部分文字列発見部12は、a[k][l]から走査を開始する。また、iはkより大きく、jはlより大きい値である。共通部分文字列発見部12は、文字列の先頭位置pから文字列の最後(あるいは、テキストs1またはテキストs2の終端)まで文字をコピーし、得られた文字列s3を共通部分文字列リストLに追加する(ステップS115)また、位置リストPが空の場合には(ステップS113:Yes)、処理を終了する。
このようにして、共通部分文字列発見部12は、文書データ1と文書データ2の共通部分文字列を抽出する。共通部分文字列発見部12は、この処理を文書データの集合の全ての文書データ対に対して行い、抽出された共通部分文字列リストLに基づいて、共通部分文字列DB16Aを生成する。
図3は、本実施形態の部分文字列変換データベース作成部13における処理の流れの一例を表すフローチャートである。部分文字列変換データベース作成部13は、あらかじめ空のリストL2を作成しておく。
部分文字列変換データベース作成部13は、まず、共通部分文字列DB16Aから共通部分文字列のリストL1を作成する(ステップS201)。具体的には、部分文字列変換データベース作成部13は、共通部分文字列DB16Aのキーとなる共通部分文字列をリストL1に順次追加する。例えば、キーが「abcdexyz」であるレコードと、「abcdefdg」であるレコードと、「hijklm」であるレコードと、が共通部分文字列DB16Aに格納されていた場合には、「abcdexyz」と、「abcdefdg」と、「hijklm」と、が含まれるリストL1が生成される。
次に、部分文字列変換データベース作成部13は、リストL1の要素数が2以上か否かを判定(ステップS202)し、2未満なら処理を終了する。2以上である場合(ステップS202:Yes)、部分文字列変換データベース作成部13は、リストL1の先頭から文字列s11を取り出す(ステップS203)。次に、ステップS204に進むと、部分文字列変換データベース作成部13は、リストL1の要素数が1以上であるか否かを判定する。1未満である場合、部分文字列変換データベース作成部13は、ステップS211の処理を行う。1以上である場合は、部分文字列変換データベース作成部13は、リストL1の先頭から文字列S12を取り出す(ステップS205)。次に、部分文字列変換データベース作成部13は、文字列s11とs12の最大共通部分文字列s13(例えば、s11が「abcdexyz」、s12が「abcdefdg」だった場合、「abcde」)を抽出する(ステップS206)。
次に、部分文字列変換データベース作成部13は、抽出した文字列s13の長さがn未満であるか否かを判定する(ステップS207)。ここで、nの値は、共通部分文字列発見部12で使用したnの値と同じである。n未満である場合(ステップS207:Yes)、部分文字列変換データベース作成部13は、リストL2にs12を追加してS204の処理を行う。n以上である場合(ステップS207:No)、部分文字列変換データベース作成部13は、s11またはs12が文字変換DB16Bに登録されていない(キーがs11またはs12のレコードが存在しない)、または、すでに登録されている場合には、変換後の文字列(キーs11またはs12に対応する値)よりs13の文字数の方が少ないか否かを判定する(ステップS209)。ステップS209でYesの場合、部分文字列変換データベース作成部13は、文字変換DB16Bにキーがs11、値がs13のレコードと、キーがs12、値がs13のレコードの登録を行い、リストL2にs13を追加する(ステップS210)。ステップS209でNoの場合、リストL1をリストL2に置き換えて(ステップS211)、繰り返し上記の処理を行う(ステップS202)。
このようにして部分文字列変換データベース作成部13は、文字変換DB16Bを作成する。
図4は、本実施形態の文書関連づけ部14における処理の流れの一例を表すフローチャートである。文書関連づけ部14は、あらかじめ空のデータベースである結果DB20を作成しておく。結果DB20は、文字列をキー、文書群を値としたテーブルである。
文書関連づけ部14は、まず、共通部分文字列DB16Aが空か否か(下記に示す処理を全てのレコードについて行ったか)を判定する(ステップS301)。文書関連づけ部14は、共通部分文字列DB16Aが空の場合には、処理を終了し、そうでない場合には、キーとなっている共通部分文字列s21を取り出す(ステップS302)。次に、文書関連づけ部14は、s21に文字列変換DB16Bを繰り返し適用して、文字列s22を得る(ステップS303)。ここで、例えば、文字列変換DB16Bに、キーがs21(例えば、「abcdefg」)、値が「abcde」のレコードが存在した場合、s22は、「abcde」になる。また、文字列変換DB16Bに、キーが「abcde」、値が「abcd」のレコードが更に存在した場合には、s22は、「abcd」となる。
次のステップS304では、文書関連づけ部14は、共通部分文字列DB16Aからs21をキーに文書群D1を取り出す。次に、文書関連づけ部14は、結果DB20からs22をキーに文書群D2を取り出す(ステップS305)。次に、文書関連づけ部14は、文書群D2が空か否かを判定し(ステップS306)、空の場合には、キーがs22、値がD1のレコードを結果DB20に追加する(ステップS307)。そうでない場合には、文書関連づけ部14は、D2に含まれないがD1に含まれる文書(例えば、D1を{1,3}、D2を{1,2}とすると、{3}になる)をD2に追加する(ステップS308)。(これによりキーs22に対応する値は{1,2,3}となるレコードが結果DB20に登録される。)この処理を共通部分文字列DB16Aが空になるまで繰り返す。
このようにして、文書関連づけ部14は、文書の関連づけを行う。
図5は、文書関連づけ部14で生成された結果DB20から得られたグラフ構造を可視化した例を示す概念図である。この図に示すグラフ構造は、結果DB20に保存された文書データと共通部分文字列をノードとする二部グラフとして表現したものである。
この図に示される斜線で示されたノードは文書データであり、その横の数字は文書番号である。また、白いノードは抽出された共通部分文字列を示し、その横に共通部分文字列が表示されている。互いに関係がある文書データのノードと共通部分文字列のノードはエッジで接続されている。この図に示す画面では、例えば、共通部分文字列「会社員、○山△男容疑者(30)」を含む文書データは、224,262,207であり、文書データ207は、共通部分文字列「○○市の××△△施設」を共に含む。なお、この図において、文字数が17文字以上の共通部分文字列は、省略して示されている。例えば、図中の「××○○事務長、□田○子・・・[20]」は、抽出された共通部分文字列の文字数は20文字だが、「××○○事務長、□田○子」より後の文字は「・・・」で省略されている。ここで、「[20]」は、この共通部分文字列の文字数である。また、図中の「群馬県六合村(くにむら)・・・[17]」についても同様である。
結果DB20はこの他にも、ある検索語や文書に関連する文書や文章の提示、文章中でよく使われているフレーズの発見・提示、情報の伝播経路の検出、などの目的に使用することができる。
このように、本実施形態によれば、共通部分文字列発見部12により所定の長さ以上の共通部分文字列を抽出して、抽出した共通部分文字列と文書データを関連づけているので、日本語形態素解析や辞書を用いなくても、引用や多用される複合などの長い文字列に基づいて文書の集合を関連づけすることができる。
また、共通部分文字列を最大共通部分文字列に変換して文書データと関連づけているため、単に句読点や送り仮名の有無だけが違う文字列や、ある共通部分文字列の一部に含まれる文字列や、一部を共通する共通部分文字列を一つの最大共通部分文字列として統一して文書データと関連づけすることができる。これにより、日本語形態素解析を用いなくても、文書の関連の根拠として妥当な文字列を示すことができる。つまり、文書の関連に妥当な見出し語、及び文書の集合でよく用いられているフレーズを容易に抽出できる。
また、図1に示す文書関連性分析装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、文書関連性分析処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、前処理部11にてファイルを読み込む際に、改行文字や文字下げ部分の削除などを行ってもよい。これにより、改行の有無・改行位置の違い・文字下げなどの文章とは無関係な書式情報を取り除くことができる。
また、共通部分文字列発見部12及び部分文字列変換データベース作成部13において、文字列長を比較する前に、共通部分文字列の両端の空白、孤立非開始・非終端括弧(例えば、先頭の「)」、末尾の「(」など)、部分文字列を囲む括弧(例えば「(文字列)」)を削除してもよい。この理由は、これらは文章を読みやすくするための記号類であるだけでなく、共通部分文字列に付いたり、付かなかったりして、処理の妨げになり易いからである。
また、文書関連づけ部14において、ストップワード(処理の対象にしない単語)を含む共通部分文字列を取り除く処理を行ってもよい。例えば、新聞記事データ中には、「社会面に関連記事」のように記事の内容とは関係ないフレーズが多く出現するが、このようなフレーズを多数抽出するのを回避するためである。
また、現実の文書データの集合には、文書の複製が存在することが多く、複製が存在すると相互に関連づけられてしまう。また、文書の出現頻度が低い場合には、共通部分文字列発見部12における共通部分文字列の抽出結果が必ずしも妥当ではないことがある。この問題を解決するため、文書関連づけ部14において、文書の類似度が非常に高い文書対や、抽出された共通部分文字列の出現文書数(document frequency)が非常に低いものを除外してもよい。この処理によって文書関連づけ処理の精度を向上することができる。
また、図3、図4、図5に示したフローチャートは、高速化や並列化に対応したアルゴリズムに書き換えてもよい。
なお、本実施形態の実施例は、例えば、Webページ(例えば、個人のウェブログやホームページなど)をカテゴリー分類して自動的にリンク集を作成する装置や、Webページと関連性の高い広告を抽出して自動的にその広告をそのWebページに表示する装置などに応用することができる。
本発明の一実施形態による文書関連性分析装置の構成図である。 本実施形態の共通部分文字列発見部における処理の流れの一例を表すフローチャートである。 本実施形態による部分文字列変換データベース作成部における処理の流れの一例を表すフローチャートである。 本実施形態による文書関連づけ部における処理の流れの一例を表すフローチャートである。 本実施形態による文書関連づけ部で生成された結果DBから得られたグラフ構造を可視化した例を示す概念図である。
符号の説明
1…文書関連性分析装置 11…前処理部 12…共通部分文字列発見部 13…部分文字列変換データベース作成部 14…関連づけ部 15…ハードディスク 16…メモリ 16A…共通部分文字列DB 16B…部分変換DB 20…結果DB

Claims (5)

  1. 複数の入力された文書データの各々の組み合わせについて、所定の長さ以上の共通部分文字列を抽出し、抽出した共通部分文字列と抽出元の文書データを関連付け、抽出した共通部分文字列をキーとして、抽出元の文書データ群を共通部分文字列データベースに格納する共通部分文字列発見部と、
    前記共通部分文字列データベースに格納された前記共通部分文字列の各々の組み合わせについて、複数の共通部分文字列の中に共通に含まれる文字列のうち最も文字数が多い文字列である最大共通部分文字列を抽出し、抽出された前記最大共通部分文字列の長さが前記所定の長さ以上であれば、当該共通部分文字列と当該最大共通部分文字列を関連付け、変換元の共通部分文字列をキーとして、変換先の最大共通部分文字列を文字列変換部データベースに格納する部分文字列変換データベース作成部と、
    前記共通部分文字列データベースに格納された前記共通部分文字列をキーとして、前記文字列変換部データベースに格納された当該共通部分文字列に関連づけられた最大共通文字列と、前記共通部分文字列データベースに格納された当該共通部分文字列に関連づけられた文書データ群とを関連付け、前記文字列変換部データベースに格納された前記最大共通部分文字列をキーとして、当該最大共通部分文字列に関連付けられた文書データ群を結果データベースに格納する文書関連づけ部と、
    を有することを特徴とする文書関連性分析装置。
  2. 入力された文書データに含まれるテキスト情報を抽出し、テキストファイル形式の文書データに変換する前処理部を有することを特徴とする請求項に記載の文書関連性分析装置。
  3. 共通部分文字列発見部と、部分文字列変換データベース作成部と、文書関連づけ部を備える文書関連性分析装置が行う文書関連性分析方法であって、
    前記共通部分文字列発見部が、複数の入力された文書データの各々の組み合わせについて、所定の長さ以上の共通部分文字列を抽出し、抽出した共通部分文字列と抽出元の文書データを関連付け、抽出した共通部分文字列をキーとして、抽出元の文書データ群を共通部分文字列データベースに格納する共通部分文字列発見ステップと、
    前記部分文字列変換データベース作成部が、前記共通部分文字列データベースに格納された前記共通部分文字列の各々の組み合わせについて、複数の共通部分文字列の中に共通に含まれる文字列のうち最も文字数が多い文字列である最大共通部分文字列を抽出し、抽出された前記最大共通部分文字列の長さが前記所定の長さ以上であれば、当該共通部分文字列と当該最大共通部分文字列を関連付け、変換元の共通部分文字列をキーとして、変換先の最大共通部分文字列を文字列変換部データベースに格納する部分文字列変換データベース作成ステップと、
    前記文書関連づけ部が、前記共通部分文字列データベースに格納された前記共通部分文字列をキーとして、前記文字列変換部データベースに格納された当該共通部分文字列に関連づけられた最大共通文字列と、前記共通部分文字列データベースに格納された当該共通部分文字列に関連づけられた文書データ群とを関連付け、前記文字列変換部データベースに格納された前記最大共通部分文字列をキーとして、当該最大共通部分文字列に関連付けられた文書データ群を結果データベースに格納する文書関連づけステップと、
    を有することを特徴とする文書関連性分析方法。
  4. 入力された文書データに含まれるテキスト情報を抽出し、テキストファイル形式の文書データに変換する前処理ステップを有することを特徴とする請求項に記載の文書関連性分析方法。
  5. コンピュータを、請求項1に記載の文書関連性分析装置として機能させるための文書関連性分析プログラム。
JP2007279066A 2007-10-26 2007-10-26 文書関連性分析装置、方法及びプログラム Expired - Fee Related JP5106042B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007279066A JP5106042B2 (ja) 2007-10-26 2007-10-26 文書関連性分析装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007279066A JP5106042B2 (ja) 2007-10-26 2007-10-26 文書関連性分析装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009110081A JP2009110081A (ja) 2009-05-21
JP5106042B2 true JP5106042B2 (ja) 2012-12-26

Family

ID=40778543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007279066A Expired - Fee Related JP5106042B2 (ja) 2007-10-26 2007-10-26 文書関連性分析装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5106042B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5184583B2 (ja) * 2010-06-17 2013-04-17 ヤフー株式会社 文字列長を伸縮可能なタグクラウド構成装置及び方法
WO2012124301A1 (ja) * 2011-03-16 2012-09-20 日本電気株式会社 関連仕様対応付けシステム、関連仕様対応付け方法およびプログラム
JP5644607B2 (ja) * 2011-03-17 2014-12-24 富士通株式会社 情報提供プログラム、情報提供装置および情報提供方法
JP5470473B2 (ja) * 2013-01-16 2014-04-16 ヤフー株式会社 文字列長を伸縮可能なタグクラウド構成装置及び方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230006A (ja) * 2000-11-28 2002-08-16 Sadanobu Takane 自由記述回答の解析法、自由記述文書からのキーワード抽出法、および自由記述文書の解析支援法

Also Published As

Publication number Publication date
JP2009110081A (ja) 2009-05-21

Similar Documents

Publication Publication Date Title
US7346487B2 (en) Method and apparatus for identifying translations
US7890500B2 (en) Systems and methods for using and constructing user-interest sensitive indicators of search results
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
WO2005059771A1 (ja) 対訳判断装置、方法及びプログラム
TWI656450B (zh) 從中文語料庫提取知識的方法和系統
WO2008023470A1 (fr) Procédé de recherche de phrase, moteur de recherche de phrase, programme informatique, support d'enregistrement et stockage de document
US7284006B2 (en) Method and apparatus for browsing document content
US20090307183A1 (en) System and Method for Transmission of Communications by Unique Definition Identifiers
US8296319B2 (en) Information retrieving apparatus, information retrieving method, information retrieving program, and recording medium on which information retrieving program is recorded
JP5106042B2 (ja) 文書関連性分析装置、方法及びプログラム
JP2006251843A (ja) 同義語対抽出装置及びそのためのコンピュータプログラム
Venčkauskas et al. Problems of authorship identification of the national language electronic discourse
US7827029B2 (en) Systems and methods for user-interest sensitive note-taking
JP4447345B2 (ja) 類似特許明細書検索システム及びその方法並びにプログラム
JP4065346B2 (ja) 単語間の共起性を用いたキーワードの拡張方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004157931A (ja) 意図文型種別抽出方式
JP3855058B2 (ja) 言い換えを利用した文章作成支援処理装置および方法
JP4148247B2 (ja) 語彙獲得方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP4426893B2 (ja) 文書検索方法、文書検索プログラムおよびこれを実行する文書検索装置
CN111159405A (zh) 基于背景知识的讽刺检测方法
JP2007164462A (ja) 質問応答システム、質問応答方法及び質問応答プログラム
JP6373198B2 (ja) テキスト変換装置、方法、及びプログラム
JP2003099429A (ja) 用語集生成装置及び用語集生成プログラム並びに用語集検索装置
Karthikeya et al. Deep Learning Aided Digitization of Indian Music Treatises
Keerthika et al. Multi-linguistic optical character recognition

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120507

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

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

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

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees