JP2000207404A - 文書検索方法及び装置並びに記録媒体 - Google Patents
文書検索方法及び装置並びに記録媒体Info
- Publication number
- JP2000207404A JP2000207404A JP11004587A JP458799A JP2000207404A JP 2000207404 A JP2000207404 A JP 2000207404A JP 11004587 A JP11004587 A JP 11004587A JP 458799 A JP458799 A JP 458799A JP 2000207404 A JP2000207404 A JP 2000207404A
- Authority
- JP
- Japan
- Prior art keywords
- document
- gram
- documents
- word
- generated
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 任意の文書に類似する類似文書の検索に用い
るN−gramの数を有効に削減でき、類似文書の検索処理
を高速に行える文書検索方法及び装置、並びに、その検
索方法を実施するためのプログラムを記録した記録媒体
を提供する。 【解決手段】 検索対象文書に含まれる単語を抽出し
(S2〜S6)、その単語のN−gramを生成して(S7
〜S9)、検索対象文書と含まれるN−gramとの関係を
示す転置ベクトル表を準備しておく(S10,S11)。任
意の検索キー文書に含まれる単語を抽出して、その単語
のN−gramを生成する。転置ベクトル表と、その検索キ
ー文書におけるN−gramとに基づき、検索キー文書に類
似する類似文書を検索する。
るN−gramの数を有効に削減でき、類似文書の検索処理
を高速に行える文書検索方法及び装置、並びに、その検
索方法を実施するためのプログラムを記録した記録媒体
を提供する。 【解決手段】 検索対象文書に含まれる単語を抽出し
(S2〜S6)、その単語のN−gramを生成して(S7
〜S9)、検索対象文書と含まれるN−gramとの関係を
示す転置ベクトル表を準備しておく(S10,S11)。任
意の検索キー文書に含まれる単語を抽出して、その単語
のN−gramを生成する。転置ベクトル表と、その検索キ
ー文書におけるN−gramとに基づき、検索キー文書に類
似する類似文書を検索する。
Description
【0001】
【発明の属する技術分野】本発明は、任意の文書に類似
する類似文書を複数の検索対象文書から検索する方法及
び装置、並びに、その検索方法を実施するためのプログ
ラムを記録した記録媒体に関する。
する類似文書を複数の検索対象文書から検索する方法及
び装置、並びに、その検索方法を実施するためのプログ
ラムを記録した記録媒体に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】ワード
プロセッサなどによって作成される電子文書はその量が
増大しており、ユーザが指定した質問文書に類似する類
似文書を検索する対象である検索対象文書のデータ量も
膨大であり、その類似文書を検索する処理の高速化が困
難な状況である。このような質問文書に対する類似文書
を検索対象文書から検索する方法として、以下のような
3種の方法、特開平2−2458号公報に開示の方法(以下
従来例1という)、特開平6−110948号公報に開示の方
法(以下従来例2という)、特開平9−153051号公報に
開示の方法(以下従来例3という)が公知である。
プロセッサなどによって作成される電子文書はその量が
増大しており、ユーザが指定した質問文書に類似する類
似文書を検索する対象である検索対象文書のデータ量も
膨大であり、その類似文書を検索する処理の高速化が困
難な状況である。このような質問文書に対する類似文書
を検索対象文書から検索する方法として、以下のような
3種の方法、特開平2−2458号公報に開示の方法(以下
従来例1という)、特開平6−110948号公報に開示の方
法(以下従来例2という)、特開平9−153051号公報に
開示の方法(以下従来例3という)が公知である。
【0003】従来例1は、質問文書及び検索対象文書か
らキーワードを抽出し、抽出したキーワードを比較して
類似度を判定し、類似度が高い文書を類似文書として出
力する。この従来例1では、キーワードの抽出の仕方に
よって検索できない単語が発生する。また、検索漏れが
生じる。例えば、検索対象文書1で「開発作業」、検索
対象文書2で「開発」というキーワードが抽出されてい
る場合に、質問文書で「開発」とキーワード抽出がなさ
れると、検索対象文書1が検索されないことになる。
らキーワードを抽出し、抽出したキーワードを比較して
類似度を判定し、類似度が高い文書を類似文書として出
力する。この従来例1では、キーワードの抽出の仕方に
よって検索できない単語が発生する。また、検索漏れが
生じる。例えば、検索対象文書1で「開発作業」、検索
対象文書2で「開発」というキーワードが抽出されてい
る場合に、質問文書で「開発」とキーワード抽出がなさ
れると、検索対象文書1が検索されないことになる。
【0004】従来例2は、複数の検索対象文書に対して
N−gram参照列を生成し、その各N−gramに重み付けを
行い、複数の参照列間の共通性を除去し、質問文書をN
−gramに分解し、分解した各N−gramに重み付けを行
い、質問文書のN−gramと検索対象文書の参照列のN−
gramとを比較し、質問文書と検索対象文書との類似度を
表す点数を求め、その点数に応じて類似文書を検索す
る。この従来例2では、検索対象文書の共通性を求め
て、類似度の判断に利用するので、検索対象文書に追
加,削除などの変化が起こった場合、共通性を再度求め
なくてはならず、検索対象文書の変化に柔軟に対応でき
ない。また、検索対象文書の集合が変化した場合、それ
らの共通性も変化するので、同一の質問文書であっても
類似度を表す点数が変化し、類似度の評価判断が逆転す
る可能性がある。また、検索対象文書に偏りがある場
合、それらの共通性を取り除くと、その分野の特定に有
効な情報が取り除かれることになって、正しい類似度を
判断できない。更に、文書に含まれるすべてのN−gram
を対象として類似度を判断するので、文字種が多い日本
語の場合、その類似度計算に膨大な時間がかかる。日本
語の場合、JIS第一水準の漢字だけでも1024種存在
し、例えば2−gramの種類数はその2乗の1048576 種に
達する。これにカタカナ,ひらがななども加えると、2
−gramの種類は莫大な数となり、類似度計算に長時間を
要する。
N−gram参照列を生成し、その各N−gramに重み付けを
行い、複数の参照列間の共通性を除去し、質問文書をN
−gramに分解し、分解した各N−gramに重み付けを行
い、質問文書のN−gramと検索対象文書の参照列のN−
gramとを比較し、質問文書と検索対象文書との類似度を
表す点数を求め、その点数に応じて類似文書を検索す
る。この従来例2では、検索対象文書の共通性を求め
て、類似度の判断に利用するので、検索対象文書に追
加,削除などの変化が起こった場合、共通性を再度求め
なくてはならず、検索対象文書の変化に柔軟に対応でき
ない。また、検索対象文書の集合が変化した場合、それ
らの共通性も変化するので、同一の質問文書であっても
類似度を表す点数が変化し、類似度の評価判断が逆転す
る可能性がある。また、検索対象文書に偏りがある場
合、それらの共通性を取り除くと、その分野の特定に有
効な情報が取り除かれることになって、正しい類似度を
判断できない。更に、文書に含まれるすべてのN−gram
を対象として類似度を判断するので、文字種が多い日本
語の場合、その類似度計算に膨大な時間がかかる。日本
語の場合、JIS第一水準の漢字だけでも1024種存在
し、例えば2−gramの種類数はその2乗の1048576 種に
達する。これにカタカナ,ひらがななども加えると、2
−gramの種類は莫大な数となり、類似度計算に長時間を
要する。
【0005】従来例3は、検索対象文書から所定の部分
文字列とその出現頻度とを求め、出現頻度に基づいて部
分文字列の重要度を求め、質問文書から所定の部分文字
列とその出現頻度とを求め、その出現頻度及び上記重要
度に基づいて類似度を求め、その類似度に応じて類似文
書を検索する。この従来例3では、一度にすべての部分
文字列を抽出するので、重要度の算出処理に長時間を要
する。出現頻度で重要度を求めても、例えば数字などを
考えると、出現頻度が重要度に直結しているとは考えら
れない場合もあり、正確な検索を行えない。
文字列とその出現頻度とを求め、出現頻度に基づいて部
分文字列の重要度を求め、質問文書から所定の部分文字
列とその出現頻度とを求め、その出現頻度及び上記重要
度に基づいて類似度を求め、その類似度に応じて類似文
書を検索する。この従来例3では、一度にすべての部分
文字列を抽出するので、重要度の算出処理に長時間を要
する。出現頻度で重要度を求めても、例えば数字などを
考えると、出現頻度が重要度に直結しているとは考えら
れない場合もあり、正確な検索を行えない。
【0006】本発明は斯かる事情に鑑みてなされたもの
であり、検索に用いるN−gramの数を有効に削減でき、
類似文書の検索処理を高速に行える文書検索方法及び装
置、並びに、その検索方法を実施するためのプログラム
を記録した記録媒体を提供することを目的とする。
であり、検索に用いるN−gramの数を有効に削減でき、
類似文書の検索処理を高速に行える文書検索方法及び装
置、並びに、その検索方法を実施するためのプログラム
を記録した記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】請求項1に係る文書検索
方法は、任意の文書に類似する類似文書を、複数の文書
から検索する文書検索方法において、前記複数の文書に
含まれる単語を抽出するステップと、抽出した単語のN
−gramを生成するステップと、前記任意の文書に含まれ
る単語を抽出するステップと、抽出した単語のN−gram
を生成するステップと、前記任意の文書について生成し
たN−gramと前記複数の文書について生成したN−gram
とを比較し、その比較結果に基づいて類似文書を検索す
るステップとを有することを特徴とする。
方法は、任意の文書に類似する類似文書を、複数の文書
から検索する文書検索方法において、前記複数の文書に
含まれる単語を抽出するステップと、抽出した単語のN
−gramを生成するステップと、前記任意の文書に含まれ
る単語を抽出するステップと、抽出した単語のN−gram
を生成するステップと、前記任意の文書について生成し
たN−gramと前記複数の文書について生成したN−gram
とを比較し、その比較結果に基づいて類似文書を検索す
るステップとを有することを特徴とする。
【0008】請求項2に係る文書検索方法は、請求項1
において、単語を抽出する際に、字面情報を用いて単語
を抽出することとし、抽出した単語の中から不要な単語
を除去することを特徴とする。
において、単語を抽出する際に、字面情報を用いて単語
を抽出することとし、抽出した単語の中から不要な単語
を除去することを特徴とする。
【0009】請求項3に係る文書検索方法は、請求項1
または2において、生成したN−gramの中から不要なN
−gramを除去することを特徴とする。
または2において、生成したN−gramの中から不要なN
−gramを除去することを特徴とする。
【0010】請求項4に係る文書検索方法は、請求項1
において、前記任意の文書について生成したN−gramと
前記複数の文書について生成したN−gramとに基づい
て、前記任意の文書と前記複数の文書夫々との類似度を
計算し、その類似度に応じて類似文書を検索することと
し、類似文書の候補を選定し、選定した類似文書の候補
について前記類似度を計算することを特徴とする。
において、前記任意の文書について生成したN−gramと
前記複数の文書について生成したN−gramとに基づい
て、前記任意の文書と前記複数の文書夫々との類似度を
計算し、その類似度に応じて類似文書を検索することと
し、類似文書の候補を選定し、選定した類似文書の候補
について前記類似度を計算することを特徴とする。
【0011】請求項5に係る文書検索方法は、請求項1
において、前記複数の文書について生成したN−gramの
存在情報をベクトルの形式で記憶手段に格納することと
し、前記ベクトルの各行を複数の要素を単位としてブロ
ック分けし、不要なブロックは除去して前記ベクトルを
圧縮することを特徴とする。
において、前記複数の文書について生成したN−gramの
存在情報をベクトルの形式で記憶手段に格納することと
し、前記ベクトルの各行を複数の要素を単位としてブロ
ック分けし、不要なブロックは除去して前記ベクトルを
圧縮することを特徴とする。
【0012】請求項6に係る文書検索方法は、請求項1
において、前記複数の文書について生成したN−gramの
存在情報をベクトルの形式で、読み出し速度が異なる複
数の記憶手段に分けて格納することを特徴とする。
において、前記複数の文書について生成したN−gramの
存在情報をベクトルの形式で、読み出し速度が異なる複
数の記憶手段に分けて格納することを特徴とする。
【0013】請求項7に係る文書検索装置は、任意の文
書に類似する類似文書を、複数の文書から検索する文書
検索装置において、前記複数の文書に含まれる単語を抽
出する第1単語抽出手段と、抽出した単語のN−gramを
生成する第1N−gram生成手段と、前記任意の文書に含
まれる単語を抽出する第2単語抽出手段と、抽出した単
語のN−gramを生成する第2N−gram生成手段と、前記
任意の文書について生成したN−gramと前記複数の文書
について生成したN−gramとを比較し、その比較結果に
基づいて類似文書を検索する類似文書検索手段とを備え
ることを特徴とする。
書に類似する類似文書を、複数の文書から検索する文書
検索装置において、前記複数の文書に含まれる単語を抽
出する第1単語抽出手段と、抽出した単語のN−gramを
生成する第1N−gram生成手段と、前記任意の文書に含
まれる単語を抽出する第2単語抽出手段と、抽出した単
語のN−gramを生成する第2N−gram生成手段と、前記
任意の文書について生成したN−gramと前記複数の文書
について生成したN−gramとを比較し、その比較結果に
基づいて類似文書を検索する類似文書検索手段とを備え
ることを特徴とする。
【0014】請求項8に係る文書検索装置は、請求項7
において、前記第1単語抽出手段及び第2単語抽出手段
は、文書の字面情報を用いて単語を抽出する手段と、抽
出した単語の中から不要な単語を除去する手段とを有す
ることを特徴とする。
において、前記第1単語抽出手段及び第2単語抽出手段
は、文書の字面情報を用いて単語を抽出する手段と、抽
出した単語の中から不要な単語を除去する手段とを有す
ることを特徴とする。
【0015】請求項9に係る文書検索装置は、請求項7
または8において、前記第1N−gram生成手段及び第2
N−gram生成手段は、生成したN−gramの中から不要な
N−gramを除去する手段を有することを特徴とする。
または8において、前記第1N−gram生成手段及び第2
N−gram生成手段は、生成したN−gramの中から不要な
N−gramを除去する手段を有することを特徴とする。
【0016】請求項10に係る文書検索装置は、請求項7
において、前記類似文書検索手段は、前記任意の文書に
ついて生成したN−gramと前記複数の文書について生成
したN−gramとに基づいて、前記複数の文書から類似文
書の候補を選定する手段と、前記任意の文書と選定した
類似文書の候補夫々との類似度を計算する手段と、その
類似度に応じて類似文書を検索する手段とを有すること
を特徴とする。
において、前記類似文書検索手段は、前記任意の文書に
ついて生成したN−gramと前記複数の文書について生成
したN−gramとに基づいて、前記複数の文書から類似文
書の候補を選定する手段と、前記任意の文書と選定した
類似文書の候補夫々との類似度を計算する手段と、その
類似度に応じて類似文書を検索する手段とを有すること
を特徴とする。
【0017】請求項11に係る文書検索装置は、請求項7
において、前記複数の文書について生成したN−gramの
存在情報をベクトルの形式で格納する格納手段を更に備
え、前記ベクトルの各行を複数の要素を単位としてブロ
ック分けし、不要なブロックは除去して前記ベクトルを
圧縮するようにして前記格納手段に格納するようにした
ことを特徴とする。
において、前記複数の文書について生成したN−gramの
存在情報をベクトルの形式で格納する格納手段を更に備
え、前記ベクトルの各行を複数の要素を単位としてブロ
ック分けし、不要なブロックは除去して前記ベクトルを
圧縮するようにして前記格納手段に格納するようにした
ことを特徴とする。
【0018】請求項12に係る文書検索装置は、請求項7
において、前記複数の文書について生成したN−gramの
存在情報の一部を格納する第1格納手段と、前記複数の
文書について生成したN−gramの存在情報の残りの部分
を格納する、前記第1格納手段とは読み出し速度が異な
る第2格納手段とを更に備えることを特徴とする。
において、前記複数の文書について生成したN−gramの
存在情報の一部を格納する第1格納手段と、前記複数の
文書について生成したN−gramの存在情報の残りの部分
を格納する、前記第1格納手段とは読み出し速度が異な
る第2格納手段とを更に備えることを特徴とする。
【0019】請求項13に係る記録媒体は、任意の文書に
類似する類似文書を、複数の文書から検索するためのプ
ログラムを記録してあるコンピュータでの読み取り可能
な記録媒体において、前記複数の文書に含まれる単語を
抽出することを前記コンピュータにさせるプログラムコ
ード手段と、抽出した単語のN−gramを生成することを
前記コンピュータにさせるプログラムコード手段と、前
記任意の文書に含まれる単語を抽出することを前記コン
ピュータにさせるプログラムコード手段と、抽出した単
語のN−gramを生成することを前記コンピュータにさせ
るプログラムコード手段と、前記任意の文書について生
成したN−gramと前記複数の文書について生成したN−
gramとを比較し、その比較結果に基づいて類似文書を検
索することを前記コンピュータにさせるプログラムコー
ド手段とを有することを特徴とする。
類似する類似文書を、複数の文書から検索するためのプ
ログラムを記録してあるコンピュータでの読み取り可能
な記録媒体において、前記複数の文書に含まれる単語を
抽出することを前記コンピュータにさせるプログラムコ
ード手段と、抽出した単語のN−gramを生成することを
前記コンピュータにさせるプログラムコード手段と、前
記任意の文書に含まれる単語を抽出することを前記コン
ピュータにさせるプログラムコード手段と、抽出した単
語のN−gramを生成することを前記コンピュータにさせ
るプログラムコード手段と、前記任意の文書について生
成したN−gramと前記複数の文書について生成したN−
gramとを比較し、その比較結果に基づいて類似文書を検
索することを前記コンピュータにさせるプログラムコー
ド手段とを有することを特徴とする。
【0020】請求項14に係る記録媒体は、請求項13にお
いて、単語を抽出することを前記コンピュータにさせる
前記プログラムコード手段は、字面情報を用いて単語を
抽出することを前記コンピュータにさせるプログラムコ
ード手段と、抽出した単語の中から不要な単語を除去す
ることを前記コンピュータにさせるプログラムコード手
段とを含むことを特徴とする。
いて、単語を抽出することを前記コンピュータにさせる
前記プログラムコード手段は、字面情報を用いて単語を
抽出することを前記コンピュータにさせるプログラムコ
ード手段と、抽出した単語の中から不要な単語を除去す
ることを前記コンピュータにさせるプログラムコード手
段とを含むことを特徴とする。
【0021】請求項15に係る記録媒体は、請求項13また
は14において、抽出した単語のN−gramを生成すること
を前記コンピュータにさせるプログラムコード手段は、
生成したN−gramの中から不要なN−gramを除去するこ
とを前記コンピュータにさせるプログラムコード手段を
含むことを特徴とする。
は14において、抽出した単語のN−gramを生成すること
を前記コンピュータにさせるプログラムコード手段は、
生成したN−gramの中から不要なN−gramを除去するこ
とを前記コンピュータにさせるプログラムコード手段を
含むことを特徴とする。
【0022】請求項16に係る記録媒体は、請求項13にお
いて、類似文書を検索することを前記コンピュータにさ
せる前記プログラムコード手段は、前記任意の文書につ
いて生成したN−gramと前記複数の文書について生成し
たN−gramとに基づいて、前記複数の文書から類似文書
の候補を選定することを前記コンピュータにさせるプロ
グラムコード手段と、前記任意の文書と選定した類似文
書の候補夫々との類似度を計算することを前記コンピュ
ータにさせるプログラムコード手段と、その類似度に応
じて類似文書を検索することを前記コンピュータにさせ
るプログラムコード手段とを含むことを特徴とする。
いて、類似文書を検索することを前記コンピュータにさ
せる前記プログラムコード手段は、前記任意の文書につ
いて生成したN−gramと前記複数の文書について生成し
たN−gramとに基づいて、前記複数の文書から類似文書
の候補を選定することを前記コンピュータにさせるプロ
グラムコード手段と、前記任意の文書と選定した類似文
書の候補夫々との類似度を計算することを前記コンピュ
ータにさせるプログラムコード手段と、その類似度に応
じて類似文書を検索することを前記コンピュータにさせ
るプログラムコード手段とを含むことを特徴とする。
【0023】請求項17に係る記録媒体は、請求項13にお
いて、前記複数の文書について生成したN−gramの存在
情報をベクトルの形式で格納手段に格納することを前記
コンピュータにさせるプログラムコード手段と、前記ベ
クトルの各行を複数の要素を単位としてブロック分け
し、不要なブロックは除去して前記ベクトルを圧縮する
ことを前記コンピュータにさせるプログラムコード手段
とを更に有することを特徴とする。
いて、前記複数の文書について生成したN−gramの存在
情報をベクトルの形式で格納手段に格納することを前記
コンピュータにさせるプログラムコード手段と、前記ベ
クトルの各行を複数の要素を単位としてブロック分け
し、不要なブロックは除去して前記ベクトルを圧縮する
ことを前記コンピュータにさせるプログラムコード手段
とを更に有することを特徴とする。
【0024】請求項18に係る記録媒体は、請求項13にお
いて、前記複数の文書について生成したN−gramの存在
情報をベクトルの形式で、読み出し速度が異なる複数の
記憶手段に分けて格納することを前記コンピュータにさ
せるプログラムコード手段を更に有することを特徴とす
る。
いて、前記複数の文書について生成したN−gramの存在
情報をベクトルの形式で、読み出し速度が異なる複数の
記憶手段に分けて格納することを前記コンピュータにさ
せるプログラムコード手段を更に有することを特徴とす
る。
【0025】請求項1,7,13による第1発明では、検
索対象文書から単語を抽出し、その単語のN−gramを生
成すると共に、質問文書から単語を抽出し、その単語の
N−gramを生成する。そして、検索対象文書におけるN
−gramと質問文書におけるN−gramとを比較して、検索
対象文書と質問文書との類似度を求め、その類似度に応
じて類似文書を検索する。
索対象文書から単語を抽出し、その単語のN−gramを生
成すると共に、質問文書から単語を抽出し、その単語の
N−gramを生成する。そして、検索対象文書におけるN
−gramと質問文書におけるN−gramとを比較して、検索
対象文書と質問文書との類似度を求め、その類似度に応
じて類似文書を検索する。
【0026】このように、単語抽出を行った後に、N−
gram生成を行うので、すべてのN−gramを生成する方法
に比べて、N−gram生成に要する時間を短縮できる。ま
た、検索処理で重要とならない語(助詞など)が単語抽
出によって取り除かれているので、検索時に考慮を必要
とするN−gramの数を削減できて、文書検索処理を高速
化できる。
gram生成を行うので、すべてのN−gramを生成する方法
に比べて、N−gram生成に要する時間を短縮できる。ま
た、検索処理で重要とならない語(助詞など)が単語抽
出によって取り除かれているので、検索時に考慮を必要
とするN−gramの数を削減できて、文書検索処理を高速
化できる。
【0027】請求項2,8,14による第2発明では、字
面情報により単語を抽出する。よって、極めて短時間に
単語抽出を行える。また、抽出した単語の中の不要な単
語を除去した後、N−gram生成を行う。よって、類似度
を求めるN−gramの数を削減でき、検索処理の高速化を
図れる。
面情報により単語を抽出する。よって、極めて短時間に
単語抽出を行える。また、抽出した単語の中の不要な単
語を除去した後、N−gram生成を行う。よって、類似度
を求めるN−gramの数を削減でき、検索処理の高速化を
図れる。
【0028】請求項3,9,15による第3発明では、例
えばN−gram辞書を参照して、生成したN−gramの中の
不要なN−gramは除去する。よって、類似度を求めるN
−gramの数を大幅に削減でき、検索処理の高速化を図れ
る。
えばN−gram辞書を参照して、生成したN−gramの中の
不要なN−gramは除去する。よって、類似度を求めるN
−gramの数を大幅に削減でき、検索処理の高速化を図れ
る。
【0029】請求項4,10,16による第4発明では、簡
単な演算処理によって類似文書候補を選定し、その選定
した類似文書候補についてのみ類似度を求める。よっ
て、転置ベクトル表に登録されているすべての検索対象
文書について類似度を求める方法と比べて、少ない回数
の計算処理にて類似度を求めることができ、検索処理の
高速化を図れる。
単な演算処理によって類似文書候補を選定し、その選定
した類似文書候補についてのみ類似度を求める。よっ
て、転置ベクトル表に登録されているすべての検索対象
文書について類似度を求める方法と比べて、少ない回数
の計算処理にて類似度を求めることができ、検索処理の
高速化を図れる。
【0030】請求項5,11,17による第5発明では、検
索対象文書におけるN−gramの情報を示すベクトルの各
行を複数の要素毎にブロック化し、検索処理において意
味がないブロックは除外してベクトルを圧縮する。よっ
て、そのベクトルの読み出しの回数を低減でき、検索時
間の短縮化を図れる。
索対象文書におけるN−gramの情報を示すベクトルの各
行を複数の要素毎にブロック化し、検索処理において意
味がないブロックは除外してベクトルを圧縮する。よっ
て、そのベクトルの読み出しの回数を低減でき、検索時
間の短縮化を図れる。
【0031】請求項6,12,18による第6発明では、ベ
クトルの中で頻繁に利用するものは、高速読み出し可能
な主記憶に格納しておく。よって、検索処理の高速化を
図れる。
クトルの中で頻繁に利用するものは、高速読み出し可能
な主記憶に格納しておく。よって、検索処理の高速化を
図れる。
【0032】
【発明の実施の形態】以下、本発明をその実施の形態を
示す図面を参照して具体的に説明する。
示す図面を参照して具体的に説明する。
【0033】図1は、本発明の文書検索方法を実施する
ためのシステム構成を示す概念図である。類似文書検索
が行えるように、検索対象文書をインデックスに登録す
る文書登録装置1と、ユーザが指定または入力した検索
キー文書(質問文書)に対する類似文書をインデックス
から検索する類似文書検索装置2とを設けている。
ためのシステム構成を示す概念図である。類似文書検索
が行えるように、検索対象文書をインデックスに登録す
る文書登録装置1と、ユーザが指定または入力した検索
キー文書(質問文書)に対する類似文書をインデックス
から検索する類似文書検索装置2とを設けている。
【0034】図2は、文書登録装置1の機能ブロック図
である。文書登録装置1は、文書データベースから検索
対象文書を選択する文書選択装置11と、選択された文書
から単語(キーワード)を抽出するキーワード抽出装置
12と、単語のN−gram(N文字連鎖)を生成するN−gr
am生成装置13と、インデックス(転置ベクトル表)を生
成するインデックス生成装置14とを有する。
である。文書登録装置1は、文書データベースから検索
対象文書を選択する文書選択装置11と、選択された文書
から単語(キーワード)を抽出するキーワード抽出装置
12と、単語のN−gram(N文字連鎖)を生成するN−gr
am生成装置13と、インデックス(転置ベクトル表)を生
成するインデックス生成装置14とを有する。
【0035】図3は、キーワード抽出装置12の機能ブロ
ック図である。キーワード抽出装置12は、字面解析によ
って単語を抽出する字面解析装置121 と、類似文書検索
においてノイズとなる文字を除去する不要文字除去装置
122 と、不要語辞書を参照して不要な文字列を除去する
不要文字列除去装置123 と、同義語辞書を参照して同義
語を加える同義語展開装置124 と、抽出された単語の出
現頻度を集計する頻度集計装置125 とを有する。
ック図である。キーワード抽出装置12は、字面解析によ
って単語を抽出する字面解析装置121 と、類似文書検索
においてノイズとなる文字を除去する不要文字除去装置
122 と、不要語辞書を参照して不要な文字列を除去する
不要文字列除去装置123 と、同義語辞書を参照して同義
語を加える同義語展開装置124 と、抽出された単語の出
現頻度を集計する頻度集計装置125 とを有する。
【0036】図4は、N−gram生成装置13の機能ブロッ
ク図である。N−gram生成装置13は、文字列(単語)を
N−gramに分解するN−gram分解装置131 と、N−gram
辞書を参照して登録されているN−gramを抽出するN−
gram辞書参照装置132 と、不要なN−gramを除去する不
要N−gram除去装置133 とを有する。
ク図である。N−gram生成装置13は、文字列(単語)を
N−gramに分解するN−gram分解装置131 と、N−gram
辞書を参照して登録されているN−gramを抽出するN−
gram辞書参照装置132 と、不要なN−gramを除去する不
要N−gram除去装置133 とを有する。
【0037】図5は、インデックス生成装置14の機能ブ
ロック図である。インデックス生成装置14は、生成され
たN−gramに応じて文書特徴ベクトルを生成する文書特
徴ベクトル生成装置141 と、文書特徴ベクトルを転置し
た転置ベクトルを生成し、転置ベクトル表に登録する転
置ベクトル表登録装置142 とを有する。
ロック図である。インデックス生成装置14は、生成され
たN−gramに応じて文書特徴ベクトルを生成する文書特
徴ベクトル生成装置141 と、文書特徴ベクトルを転置し
た転置ベクトルを生成し、転置ベクトル表に登録する転
置ベクトル表登録装置142 とを有する。
【0038】次に、文書登録処理について説明する。図
6は、その処理手順を示すフローチャートである。文書
データベースから文書(キーワード,入力文,文章全体
またはその一部分などの何らかの意味がある文字列)を
文書選択装置11にて選択して、キーワード抽出装置12へ
送る(S1)。
6は、その処理手順を示すフローチャートである。文書
データベースから文書(キーワード,入力文,文章全体
またはその一部分などの何らかの意味がある文字列)を
文書選択装置11にて選択して、キーワード抽出装置12へ
送る(S1)。
【0039】入力された文書の中から、字面解析装置12
1 にて、同じ文字種(ひらがな,カタカナ,漢字,英
字,記号など)が2文字以上連続する文字列を単語とし
て抽出する(S2)。類似文書検索において誤検索の原
因となる文字(漢数字,アラビア数字など)を、不要文
字除去装置122 にて文字列から除去する(S3)。除去
対象の不要文字の例としては、漢数字(一,二,三)、
単位記号(円)、日付(年,月,日)などがある。不要
文字列除去装置123 にて、文字列の不要/必要を判定し
て不要な文字列を除去する(S4)。文字列が不要語辞
書に登録されているか否かを判定し、登録されている場
合にはその文字列を不要文字列として除去し、登録され
ていない場合にはその文字列を必要な文字列と判定して
残す。除去対象の不要文字列の例としては、金額(一億
円)、日付(一九九五年十一月)などがある。また、同
義語展開装置124 にて、同義語辞書を検索し、登録され
ている同義語も抽出単語に加える(S5)。頻度集計装
置125 にて、以上のようにして抽出された文字列(単
語)の出現頻度を集計し、抽出された文字列を出現頻度
順に並べて文字列表を作成する(S6)。作成した文字
列表をN−gram生成装置13へ送る。
1 にて、同じ文字種(ひらがな,カタカナ,漢字,英
字,記号など)が2文字以上連続する文字列を単語とし
て抽出する(S2)。類似文書検索において誤検索の原
因となる文字(漢数字,アラビア数字など)を、不要文
字除去装置122 にて文字列から除去する(S3)。除去
対象の不要文字の例としては、漢数字(一,二,三)、
単位記号(円)、日付(年,月,日)などがある。不要
文字列除去装置123 にて、文字列の不要/必要を判定し
て不要な文字列を除去する(S4)。文字列が不要語辞
書に登録されているか否かを判定し、登録されている場
合にはその文字列を不要文字列として除去し、登録され
ていない場合にはその文字列を必要な文字列と判定して
残す。除去対象の不要文字列の例としては、金額(一億
円)、日付(一九九五年十一月)などがある。また、同
義語展開装置124 にて、同義語辞書を検索し、登録され
ている同義語も抽出単語に加える(S5)。頻度集計装
置125 にて、以上のようにして抽出された文字列(単
語)の出現頻度を集計し、抽出された文字列を出現頻度
順に並べて文字列表を作成する(S6)。作成した文字
列表をN−gram生成装置13へ送る。
【0040】N−gram分解装置131 にて、文字列表に含
まれる文字列をN−gramに分解する(S7)。N−gram
辞書参照装置132 にて、分解したN−gramの中から、N
−gram辞書に登録されているものを抽出する(S8)。
また、次のような処理により、不要N−gram除去装置13
3 にて、不要と判断されるN−gramを除去する(S
9)。S8で抽出したN−gramを出現頻度順に並べて、
N−gramリストを作成し、そのN−gramリストに含まれ
るN−gramについて、その出現頻度などに基づいて重要
度を算出する。算出した重要度が所定値を下回るN−gr
amは不要なN−gramと判定して、N−gramリストから削
除する。このようにして生成したN−gramを、インデッ
クス生成装置14へ送る。このようにN−gramの数を減ら
すので、類似文書の検索速度の向上を図れる。
まれる文字列をN−gramに分解する(S7)。N−gram
辞書参照装置132 にて、分解したN−gramの中から、N
−gram辞書に登録されているものを抽出する(S8)。
また、次のような処理により、不要N−gram除去装置13
3 にて、不要と判断されるN−gramを除去する(S
9)。S8で抽出したN−gramを出現頻度順に並べて、
N−gramリストを作成し、そのN−gramリストに含まれ
るN−gramについて、その出現頻度などに基づいて重要
度を算出する。算出した重要度が所定値を下回るN−gr
amは不要なN−gramと判定して、N−gramリストから削
除する。このようにして生成したN−gramを、インデッ
クス生成装置14へ送る。このようにN−gramの数を減ら
すので、類似文書の検索速度の向上を図れる。
【0041】文書特徴ベクトル生成装置141 にて、生成
されたN−gramの登録番号に対応したビットを“1”に
して、文書特徴ベクトルを生成する(S10)。図7に、
文書特徴ベクトルの一例を示す。図7に示す例では、4
種の検索対象文書1〜検索対象文書4のそれぞれに4種
のN−gram1〜N−gram4が含まれているか否かを表し
ており、例えば、文書2では、N−gram2及びN−gram
4を含み、N−gram1及びN−gram3を含まない。
されたN−gramの登録番号に対応したビットを“1”に
して、文書特徴ベクトルを生成する(S10)。図7に、
文書特徴ベクトルの一例を示す。図7に示す例では、4
種の検索対象文書1〜検索対象文書4のそれぞれに4種
のN−gram1〜N−gram4が含まれているか否かを表し
ており、例えば、文書2では、N−gram2及びN−gram
4を含み、N−gram1及びN−gram3を含まない。
【0042】転置ベクトル表登録装置142 にて、文書特
徴ベクトルを転置して転置ベクトルを生成し、転置ベク
トル表にその転置ベクトルを登録する(S11)。図8
に、図7の文書特徴ベクトルに対応した転置ベクトル表
を示す。例えば、N−gram2が文書2及び文書4に含ま
れていることを表している。本発明では、N−gramが含
まれている場合にはビット“1”、含まれていない場合
にはビット“0”を割り当てるのみであり、きわめて簡
易に転置ベクトル表を作成することができる。
徴ベクトルを転置して転置ベクトルを生成し、転置ベク
トル表にその転置ベクトルを登録する(S11)。図8
に、図7の文書特徴ベクトルに対応した転置ベクトル表
を示す。例えば、N−gram2が文書2及び文書4に含ま
れていることを表している。本発明では、N−gramが含
まれている場合にはビット“1”、含まれていない場合
にはビット“0”を割り当てるのみであり、きわめて簡
易に転置ベクトル表を作成することができる。
【0043】そして、登録終了の指示がなされた否かを
判断し(S12)、なされた場合には(S12:YES)登録処
理を終了し、なされていない場合には(S12:NO)S1
に戻って別の検索対象文書における登録処理を繰り返
す。
判断し(S12)、なされた場合には(S12:YES)登録処
理を終了し、なされていない場合には(S12:NO)S1
に戻って別の検索対象文書における登録処理を繰り返
す。
【0044】次に、効率が良い転置ベクトル表作成につ
いて説明する。図9は、転置ベクトル表登録装置142 の
機能ブロック図である。転置ベクトル表登録装置142
は、転置ベクトル表を生成する転置ベクトル表生成装置
1421と、転置ベクトル表の各行の要素をブロック化する
ブロック分解装置1422と、転置ベクトル表を圧縮するベ
クトル圧縮装置1423とを有する。
いて説明する。図9は、転置ベクトル表登録装置142 の
機能ブロック図である。転置ベクトル表登録装置142
は、転置ベクトル表を生成する転置ベクトル表生成装置
1421と、転置ベクトル表の各行の要素をブロック化する
ブロック分解装置1422と、転置ベクトル表を圧縮するベ
クトル圧縮装置1423とを有する。
【0045】転置ベクトル表生成装置1421で生成した転
置ベクトル表に対して、ブロック分解装置1422にて、各
行の要素を長さL毎に区切る。ベクトル圧縮装置1423に
て、長さLに区切られたブロック内に“0”要素のみが
含まれるブロックは保持せず、少なくとも1つの“1”
要素を含むブロックを位置情報と共に保持する。このよ
うに圧縮化しておいても、転置ベクトル表を再構成しよ
うとする場合、位置情報を基に“1”要素を含むブロッ
クを復元して、ブロックが存在しない部分をすべて
“0”要素で埋めることにより再構成が可能である。こ
のように転置ベクトル表を圧縮することにより、計算機
資源の有効利用、転置ベクトル表へのアクセス回数の低
減を実現でき、検索速度の向上を図れる。
置ベクトル表に対して、ブロック分解装置1422にて、各
行の要素を長さL毎に区切る。ベクトル圧縮装置1423に
て、長さLに区切られたブロック内に“0”要素のみが
含まれるブロックは保持せず、少なくとも1つの“1”
要素を含むブロックを位置情報と共に保持する。このよ
うに圧縮化しておいても、転置ベクトル表を再構成しよ
うとする場合、位置情報を基に“1”要素を含むブロッ
クを復元して、ブロックが存在しない部分をすべて
“0”要素で埋めることにより再構成が可能である。こ
のように転置ベクトル表を圧縮することにより、計算機
資源の有効利用、転置ベクトル表へのアクセス回数の低
減を実現でき、検索速度の向上を図れる。
【0046】図10は、類似文書検索装置2の機能ブロッ
ク図である。類似文書検索装置2は、検索キー文書(質
問文書)を入力する検索キー文書入力装置21と、入力さ
れた検索キー文書からキーワード(単語)を抽出するキ
ーワード抽出装置22と、単語のN−gramを生成するN−
gram生成装置23と、生成したN−gramに対応する転置ベ
クトルを取り出すインデックス参照装置24と、検索キー
文書に対する類似文書を判定する類似文書判定装置25と
を有する。
ク図である。類似文書検索装置2は、検索キー文書(質
問文書)を入力する検索キー文書入力装置21と、入力さ
れた検索キー文書からキーワード(単語)を抽出するキ
ーワード抽出装置22と、単語のN−gramを生成するN−
gram生成装置23と、生成したN−gramに対応する転置ベ
クトルを取り出すインデックス参照装置24と、検索キー
文書に対する類似文書を判定する類似文書判定装置25と
を有する。
【0047】なお、キーワード抽出装置22の構成は、前
述したキーワード抽出装置12の構成と同じであり、N−
gram生成装置23の構成は、前述したN−gram生成装置13
の構成と同じである。
述したキーワード抽出装置12の構成と同じであり、N−
gram生成装置23の構成は、前述したN−gram生成装置13
の構成と同じである。
【0048】図11は、インデックス参照装置24の機能ブ
ロック図である。インデックス参照装置24は、使用頻度
が高い転置ベクトル表を主記憶から読み出す転置ベクト
ル表先読み装置241 と、インデックスファイルから転置
ベクトル表を読み出す転置ベクトル表読み出し装置242
とを有する。
ロック図である。インデックス参照装置24は、使用頻度
が高い転置ベクトル表を主記憶から読み出す転置ベクト
ル表先読み装置241 と、インデックスファイルから転置
ベクトル表を読み出す転置ベクトル表読み出し装置242
とを有する。
【0049】図12は、類似文書判定装置25の機能ブロッ
ク図である。類似文書判定装置25は、転置ベクトルに基
づいて類似文書候補を選定する類似文書候補選定装置25
1 と、類似文書候補について類似度を計算する類似度計
算装置252 と、類似度順に検索結果をソートする検索結
果ソート装置253 と、類似度順にソートされた検索結果
を出力する検索結果出力装置254 とを有する。
ク図である。類似文書判定装置25は、転置ベクトルに基
づいて類似文書候補を選定する類似文書候補選定装置25
1 と、類似文書候補について類似度を計算する類似度計
算装置252 と、類似度順に検索結果をソートする検索結
果ソート装置253 と、類似度順にソートされた検索結果
を出力する検索結果出力装置254 とを有する。
【0050】次に、類似文書検索処理について説明す
る。図13は、その処理手順を示すフローチャートであ
る。検索キー文書入力装置21にて、文書(キーワード,
入力文,文章全体またはその一部分などの何らかの意味
がある文字列)を入力して、キーワード抽出装置22へ送
る(S21)。
る。図13は、その処理手順を示すフローチャートであ
る。検索キー文書入力装置21にて、文書(キーワード,
入力文,文章全体またはその一部分などの何らかの意味
がある文字列)を入力して、キーワード抽出装置22へ送
る(S21)。
【0051】キーワード抽出装置22における動作は、前
述したキーワード抽出装置12における動作と同様であ
る。即ち、入力された文書の中から、同じ文字種が2文
字以上連続する文字列を単語として抽出し(S22)、不
要な文字を文字列から除去し(S23)、不要語辞書を参
照して文字列の不要/必要を判定して不要な文字列を除
去し(S24)、同義語辞書を検索して同義語も抽出単語
に加え(S25)、抽出された文字列(単語)の出現頻度
を集計して文字列表を作成し(S26)、作成した文字列
表をN−gram生成装置23へ送る。
述したキーワード抽出装置12における動作と同様であ
る。即ち、入力された文書の中から、同じ文字種が2文
字以上連続する文字列を単語として抽出し(S22)、不
要な文字を文字列から除去し(S23)、不要語辞書を参
照して文字列の不要/必要を判定して不要な文字列を除
去し(S24)、同義語辞書を検索して同義語も抽出単語
に加え(S25)、抽出された文字列(単語)の出現頻度
を集計して文字列表を作成し(S26)、作成した文字列
表をN−gram生成装置23へ送る。
【0052】N−gram生成装置23における動作は、前述
したN−gram生成装置13における動作と同様である。即
ち、文字列表に含まれる文字列(単語)をN−gramに分
解し(S27)、分解したN−gramの中から、N−gram辞
書に登録されているものを抽出し(S28)、不要と判断
されるN−gramを除去し(S29)、残ったN−gramをイ
ンデックス参照装置24へ送る。
したN−gram生成装置13における動作と同様である。即
ち、文字列表に含まれる文字列(単語)をN−gramに分
解し(S27)、分解したN−gramの中から、N−gram辞
書に登録されているものを抽出し(S28)、不要と判断
されるN−gramを除去し(S29)、残ったN−gramをイ
ンデックス参照装置24へ送る。
【0053】転置ベクトル表を読み出す場合に、まず主
記憶に書き込まれているか否かを判断する(S30)。主
記憶に書き込まれている場合には(S30:YES)、そこか
ら転置ベクトル表先読み装置241 にて転置ベクトル表を
読み出す(S31)。主記憶に書き込まれていない場合に
は(S30:NO)、転置ベクトル表読み出し装置242 に
て、インデックスファイルから転置ベクトル表を読み出
す(S32)。読み出した転置ベクトル表を類似文書判定
装置25へ送る。頻繁に必要となる転置ベクトル表を、高
速にアクセスできる主記憶上に書き込むようにしたの
で、検索処理の高速化を図れる。
記憶に書き込まれているか否かを判断する(S30)。主
記憶に書き込まれている場合には(S30:YES)、そこか
ら転置ベクトル表先読み装置241 にて転置ベクトル表を
読み出す(S31)。主記憶に書き込まれていない場合に
は(S30:NO)、転置ベクトル表読み出し装置242 に
て、インデックスファイルから転置ベクトル表を読み出
す(S32)。読み出した転置ベクトル表を類似文書判定
装置25へ送る。頻繁に必要となる転置ベクトル表を、高
速にアクセスできる主記憶上に書き込むようにしたの
で、検索処理の高速化を図れる。
【0054】類似文書候補選定装置251 にて、次のよう
にして類似文書候補を選定する(S33)。検索キー文書
から取り出されたN−gramに対応する転置ベクトルを、
入力された転置ベクトル表から取り出す。取り出した転
置ベクトルを足し合わせる。そして、この加算結果(重
なり語数)が1以上となる検索対象文書を類似文書候補
とする。類似文書候補となった文書について、類似度計
算装置252 にて、類似度を後述する所定の計算式に従っ
て計算する(S34)。そして、検索結果ソート装置253
にて、類似度順に検索結果をソートし、類似度順にソー
トされた検索結果を検索結果出力装置254 から出力する
(S35)。
にして類似文書候補を選定する(S33)。検索キー文書
から取り出されたN−gramに対応する転置ベクトルを、
入力された転置ベクトル表から取り出す。取り出した転
置ベクトルを足し合わせる。そして、この加算結果(重
なり語数)が1以上となる検索対象文書を類似文書候補
とする。類似文書候補となった文書について、類似度計
算装置252 にて、類似度を後述する所定の計算式に従っ
て計算する(S34)。そして、検索結果ソート装置253
にて、類似度順に検索結果をソートし、類似度順にソー
トされた検索結果を検索結果出力装置254 から出力する
(S35)。
【0055】ここで、類似度計算の具体例について説明
する。検索対象文書及び転置ベクトル表は、前述した図
8に示すものとする。また、検索キー文書には、N−gr
am1とN−gram3とが含まれているとする。まず、これ
らのN−gram1及びN−gram3に対応する転置ベクトル
を図8から取り出して、それらを各文書1〜文書4につ
いて足し合わせる。具体的にその加算値は、文書1:
2,文書2:0,文書3:2,文書4:1となる。その
加算値が1以上である文書1,文書3,文書4を類似文
書候補とする。文書2は加算値が0であるので類似文書
候補としない。次に、これらの類似文書候補(文書1,
文書3,文書4)それぞれについて、以下の式(1)に
従って類似度Dを計算する。 D=γ/(α・β)1/2 但し、 α:検索対象文書(文書1,文書3,文書4)のN−gr
amの総数 β:検索キー文書(質問文書)のN−gramの総数 γ:対応する転置ベクトルの加算値(上記例では、文書
1:2,文書文書3:2,文書4:1)
する。検索対象文書及び転置ベクトル表は、前述した図
8に示すものとする。また、検索キー文書には、N−gr
am1とN−gram3とが含まれているとする。まず、これ
らのN−gram1及びN−gram3に対応する転置ベクトル
を図8から取り出して、それらを各文書1〜文書4につ
いて足し合わせる。具体的にその加算値は、文書1:
2,文書2:0,文書3:2,文書4:1となる。その
加算値が1以上である文書1,文書3,文書4を類似文
書候補とする。文書2は加算値が0であるので類似文書
候補としない。次に、これらの類似文書候補(文書1,
文書3,文書4)それぞれについて、以下の式(1)に
従って類似度Dを計算する。 D=γ/(α・β)1/2 但し、 α:検索対象文書(文書1,文書3,文書4)のN−gr
amの総数 β:検索キー文書(質問文書)のN−gramの総数 γ:対応する転置ベクトルの加算値(上記例では、文書
1:2,文書文書3:2,文書4:1)
【0056】なお、上述の式(1)に示す類似度Dの計
算式は一例であり、他の式に従って類似度Dを求めるよ
うにしても良いことは言うまでもない。
算式は一例であり、他の式に従って類似度Dを求めるよ
うにしても良いことは言うまでもない。
【0057】本発明では、このように、転置ベクトル表
に登録されているすべての検索対象文書について類似度
を計算するのではなく、最初に類似文書候補を選定し、
それらの類似文書候補についてのみ類似度を計算するよ
うにしているので、少ない回数の計算で類似度を求める
ことができ、検索処理の高速化を図れる。
に登録されているすべての検索対象文書について類似度
を計算するのではなく、最初に類似文書候補を選定し、
それらの類似文書候補についてのみ類似度を計算するよ
うにしているので、少ない回数の計算で類似度を求める
ことができ、検索処理の高速化を図れる。
【0058】図14は、本発明の記録媒体の実施の形態の
構成を示すブロック図である。ここに例示するプログラ
ムは、図6及び図13に示すS1〜S12及びS21〜S35を
含んでおり、以下に説明する記録媒体に記録されてい
る。
構成を示すブロック図である。ここに例示するプログラ
ムは、図6及び図13に示すS1〜S12及びS21〜S35を
含んでおり、以下に説明する記録媒体に記録されてい
る。
【0059】図14において、コンピュータ30とオンライ
ン接続する記録媒体31は、コンピュータ30の設置場所か
ら隔たって設置される例えばWWW(World Wide Web)の
サーバコンピュータを用いてなり、記録媒体31には前述
の如きプログラム31a が記録されている。記録媒体31か
ら読み出されたプログラム31a がコンピュータ30を制御
することにより、コンピュータ30が文書登録処理及び類
似文書検索処理を実行する。
ン接続する記録媒体31は、コンピュータ30の設置場所か
ら隔たって設置される例えばWWW(World Wide Web)の
サーバコンピュータを用いてなり、記録媒体31には前述
の如きプログラム31a が記録されている。記録媒体31か
ら読み出されたプログラム31a がコンピュータ30を制御
することにより、コンピュータ30が文書登録処理及び類
似文書検索処理を実行する。
【0060】コンピュータ30の内部に設けられた記録媒
体32は、内蔵設置される例えばハードディスクドライブ
またはROMなどを用いてなり、記録媒体32には前述の
如きプログラム32a が記録されている。記録媒体32から
読み出されたプログラム32aがコンピュータ30を制御す
ることにより、コンピュータ30が文書登録処理及び類似
文書検索処理を実行する。
体32は、内蔵設置される例えばハードディスクドライブ
またはROMなどを用いてなり、記録媒体32には前述の
如きプログラム32a が記録されている。記録媒体32から
読み出されたプログラム32aがコンピュータ30を制御す
ることにより、コンピュータ30が文書登録処理及び類似
文書検索処理を実行する。
【0061】コンピュータ30に設けられたディスクドラ
イブ30a に装填して使用される記録媒体33は、運搬可能
な例えば光磁気ディスク,CD−ROMまたはフレキシ
ブルディスクなどを用いてなり、記録媒体33には前述の
如きプログラム33a が記録されている。記録媒体33から
読み出されたプログラム33a がコンピュータ30を制御す
ることにより、コンピュータ30が文書登録処理及び類似
文書検索処理を実行する。
イブ30a に装填して使用される記録媒体33は、運搬可能
な例えば光磁気ディスク,CD−ROMまたはフレキシ
ブルディスクなどを用いてなり、記録媒体33には前述の
如きプログラム33a が記録されている。記録媒体33から
読み出されたプログラム33a がコンピュータ30を制御す
ることにより、コンピュータ30が文書登録処理及び類似
文書検索処理を実行する。
【0062】
【発明の効果】以上のように本発明では、検索対象文書
及び質問文書からその中に含まれる単語を特徴量として
抽出し、その抽出した単語からN−gramを生成し、検索
対象文書におけるN−gramと質問文書におけるN−gram
とを比較して類似度を求めて、類似文書を検索するよう
にしたので、検索処理に必要なN−gramを短時間で得る
ことができ、検索処理の高速化を図れる。
及び質問文書からその中に含まれる単語を特徴量として
抽出し、その抽出した単語からN−gramを生成し、検索
対象文書におけるN−gramと質問文書におけるN−gram
とを比較して類似度を求めて、類似文書を検索するよう
にしたので、検索処理に必要なN−gramを短時間で得る
ことができ、検索処理の高速化を図れる。
【図1】本発明の文書検索方法を実施するためのシステ
ム構成を示す概念図である。
ム構成を示す概念図である。
【図2】文書登録装置の機能ブロック図である。
【図3】キーワード抽出装置の機能ブロック図である。
【図4】N−gram生成装置の機能ブロック図である。
【図5】インデックス生成装置の機能ブロック図であ
る。
る。
【図6】文書登録処理の手順を示すフローチャートであ
る。
る。
【図7】文書特徴ベクトルの一例を示す図である。
【図8】図7に対応する転置ベクトル表を示す図であ
る。
る。
【図9】転置ベクトル表登録装置の機能ブロック図であ
る。
る。
【図10】類似文書検索装置の機能ブロック図である。
【図11】インデックス参照装置の機能ブロック図であ
る。
る。
【図12】類似文書判定装置の機能ブロック図である。
【図13】類似文書検索処理の手順を示すフローチャー
トである。
トである。
【図14】本発明の記録媒体の実施の形態の構成を示す
ブロック図である。
ブロック図である。
1 文書登録装置 2 類似文書検索装置 12,22 キーワード抽出装置 13,23 N−gram生成装置 14 インデックス生成装置 24 インデックス参照装置 25 類似文書判定装置 30 コンピュータ 31,32,33 記録媒体 121 字面解析装置 122 不要文字除去装置 123 不要文字列除去装置 131 N−gram分解装置 132 N−gram辞書参照装置 133 不要N−gram除去装置 141 文書特徴ベクトル生成装置 142 転置ベクトル表登録装置 241 転置ベクトル表先読み装置 242 転置ベクトル表読み出し装置 251 類似文書候補選定装置 252 類似度計算装置 1421 転置ベクトル表生成装置 1422 ブロック分解装置 1423 ベクトル圧縮装置
Claims (18)
- 【請求項1】 任意の文書に類似する類似文書を、複数
の文書から検索する文書検索方法において、前記複数の
文書に含まれる単語を抽出するステップと、抽出した単
語のN−gramを生成するステップと、前記任意の文書に
含まれる単語を抽出するステップと、抽出した単語のN
−gramを生成するステップと、前記任意の文書について
生成したN−gramと前記複数の文書について生成したN
−gramとを比較し、その比較結果に基づいて類似文書を
検索するステップとを有することを特徴とする文書検索
方法。 - 【請求項2】 単語を抽出する際に、字面情報を用いて
単語を抽出することとし、抽出した単語の中から不要な
単語を除去する請求項1記載の文書検索方法。 - 【請求項3】 生成したN−gramの中から不要なN−gr
amを除去する請求項1または2記載の文書検索方法。 - 【請求項4】 前記任意の文書について生成したN−gr
amと前記複数の文書について生成したN−gramとに基づ
いて、前記任意の文書と前記複数の文書夫々との類似度
を計算し、その類似度に応じて類似文書を検索すること
とし、類似文書の候補を選定し、選定した類似文書の候
補について前記類似度を計算する請求項1記載の文書検
索方法。 - 【請求項5】 前記複数の文書について生成したN−gr
amの存在情報をベクトルの形式で記憶手段に格納するこ
ととし、前記ベクトルの各行を複数の要素を単位として
ブロック分けし、不要なブロックは除去して前記ベクト
ルを圧縮する請求項1記載の文書検索方法。 - 【請求項6】 前記複数の文書について生成したN−gr
amの存在情報をベクトルの形式で、読み出し速度が異な
る複数の記憶手段に分けて格納する請求項1記載の文書
検索方法。 - 【請求項7】 任意の文書に類似する類似文書を、複数
の文書から検索する文書検索装置において、前記複数の
文書に含まれる単語を抽出する第1単語抽出手段と、抽
出した単語のN−gramを生成する第1N−gram生成手段
と、前記任意の文書に含まれる単語を抽出する第2単語
抽出手段と、抽出した単語のN−gramを生成する第2N
−gram生成手段と、前記任意の文書について生成したN
−gramと前記複数の文書について生成したN−gramとを
比較し、その比較結果に基づいて類似文書を検索する類
似文書検索手段とを備えることを特徴とする文書検索装
置。 - 【請求項8】 前記第1単語抽出手段及び第2単語抽出
手段は、文書の字面情報を用いて単語を抽出する手段
と、抽出した単語の中から不要な単語を除去する手段と
を有する請求項7記載の文書検索装置。 - 【請求項9】 前記第1N−gram生成手段及び第2N−
gram生成手段は、生成したN−gramの中から不要なN−
gramを除去する手段を有する請求項7または8記載の文
書検索装置。 - 【請求項10】 前記類似文書検索手段は、前記任意の
文書について生成したN−gramと前記複数の文書につい
て生成したN−gramとに基づいて、前記複数の文書から
類似文書の候補を選定する手段と、前記任意の文書と選
定した類似文書の候補夫々との類似度を計算する手段
と、その類似度に応じて類似文書を検索する手段とを有
する請求項7記載の文書検索装置。 - 【請求項11】 前記複数の文書について生成したN−
gramの存在情報をベクトルの形式で格納する格納手段を
更に備え、前記ベクトルの各行を複数の要素を単位とし
てブロック分けし、不要なブロックは除去して前記ベク
トルを圧縮するようにして前記格納手段に格納するよう
にした請求項7記載の文書検索装置。 - 【請求項12】 前記複数の文書について生成したN−
gramの存在情報の一部を格納する第1格納手段と、前記
複数の文書について生成したN−gramの存在情報の残り
の部分を格納する、前記第1格納手段とは読み出し速度
が異なる第2格納手段とを更に備える請求項7記載の文
書検索装置。 - 【請求項13】 任意の文書に類似する類似文書を、複
数の文書から検索するためのプログラムを記録してある
コンピュータでの読み取り可能な記録媒体において、前
記複数の文書に含まれる単語を抽出することを前記コン
ピュータにさせるプログラムコード手段と、抽出した単
語のN−gramを生成することを前記コンピュータにさせ
るプログラムコード手段と、前記任意の文書に含まれる
単語を抽出することを前記コンピュータにさせるプログ
ラムコード手段と、抽出した単語のN−gramを生成する
ことを前記コンピュータにさせるプログラムコード手段
と、前記任意の文書について生成したN−gramと前記複
数の文書について生成したN−gramとを比較し、その比
較結果に基づいて類似文書を検索することを前記コンピ
ュータにさせるプログラムコード手段とを有することを
特徴とする記録媒体。 - 【請求項14】 単語を抽出することを前記コンピュー
タにさせる前記プログラムコード手段は、字面情報を用
いて単語を抽出することを前記コンピュータにさせるプ
ログラムコード手段と、抽出した単語の中から不要な単
語を除去することを前記コンピュータにさせるプログラ
ムコード手段とを含む請求項13記載の記録媒体。 - 【請求項15】 抽出した単語のN−gramを生成するこ
とを前記コンピュータにさせるプログラムコード手段
は、生成したN−gramの中から不要なN−gramを除去す
ることを前記コンピュータにさせるプログラムコード手
段を含む請求項13または14記載の記録媒体。 - 【請求項16】 類似文書を検索することを前記コンピ
ュータにさせる前記プログラムコード手段は、前記任意
の文書について生成したN−gramと前記複数の文書につ
いて生成したN−gramとに基づいて、前記複数の文書か
ら類似文書の候補を選定することを前記コンピュータに
させるプログラムコード手段と、前記任意の文書と選定
した類似文書の候補夫々との類似度を計算することを前
記コンピュータにさせるプログラムコード手段と、その
類似度に応じて類似文書を検索することを前記コンピュ
ータにさせるプログラムコード手段とを含む請求項13
記載の記録媒体。 - 【請求項17】 前記複数の文書について生成したN−
gramの存在情報をベクトルの形式で格納手段に格納する
ことを前記コンピュータにさせるプログラムコード手段
と、前記ベクトルの各行を複数の要素を単位としてブロ
ック分けし、不要なブロックは除去して前記ベクトルを
圧縮することを前記コンピュータにさせるプログラムコ
ード手段とを更に有する請求項13記載の記録媒体。 - 【請求項18】 前記複数の文書について生成したN−
gramの存在情報をベクトルの形式で、読み出し速度が異
なる複数の記憶手段に分けて格納することを前記コンピ
ュータにさせるプログラムコード手段を更に有する請求
項13記載の記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11004587A JP2000207404A (ja) | 1999-01-11 | 1999-01-11 | 文書検索方法及び装置並びに記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11004587A JP2000207404A (ja) | 1999-01-11 | 1999-01-11 | 文書検索方法及び装置並びに記録媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000207404A true JP2000207404A (ja) | 2000-07-28 |
Family
ID=11588181
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11004587A Pending JP2000207404A (ja) | 1999-01-11 | 1999-01-11 | 文書検索方法及び装置並びに記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000207404A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003288362A (ja) * | 2002-03-27 | 2003-10-10 | Seiko Epson Corp | 特定要素ベクトル生成装置、文字列ベクトル生成装置、類似度算出装置、特定要素ベクトル生成プログラム、文字列ベクトル生成プログラム及び類似度算出プログラム、並びに特定要素ベクトル生成方法、文字列ベクトル生成方法及び類似度算出方法 |
| JP2006113746A (ja) * | 2004-10-13 | 2006-04-27 | Hewlett-Packard Development Co Lp | 文書分類装置、方法、プログラム |
| CN100412864C (zh) * | 2004-09-29 | 2008-08-20 | 株式会社东芝 | 全文检索系统及方法 |
| JP2015011080A (ja) * | 2013-06-26 | 2015-01-19 | 株式会社コシダカホールディングス | 選曲傾向の似た人が歌っている曲をおすすめ曲として提示するカラオケシステム |
| JP2015164066A (ja) * | 2015-05-07 | 2015-09-10 | 富士通株式会社 | 情報検索装置、情報検索方法およびそのプログラム |
| JP2016133817A (ja) * | 2015-01-15 | 2016-07-25 | 富士通株式会社 | 類似性判定装置、類似性判定方法および類似性判定プログラム |
| WO2020213158A1 (ja) * | 2019-04-19 | 2020-10-22 | 富士通株式会社 | 特定方法、生成方法、次元圧縮方法、表示方法および情報処理装置 |
-
1999
- 1999-01-11 JP JP11004587A patent/JP2000207404A/ja active Pending
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003288362A (ja) * | 2002-03-27 | 2003-10-10 | Seiko Epson Corp | 特定要素ベクトル生成装置、文字列ベクトル生成装置、類似度算出装置、特定要素ベクトル生成プログラム、文字列ベクトル生成プログラム及び類似度算出プログラム、並びに特定要素ベクトル生成方法、文字列ベクトル生成方法及び類似度算出方法 |
| CN100412864C (zh) * | 2004-09-29 | 2008-08-20 | 株式会社东芝 | 全文检索系统及方法 |
| JP2006113746A (ja) * | 2004-10-13 | 2006-04-27 | Hewlett-Packard Development Co Lp | 文書分類装置、方法、プログラム |
| JP2015011080A (ja) * | 2013-06-26 | 2015-01-19 | 株式会社コシダカホールディングス | 選曲傾向の似た人が歌っている曲をおすすめ曲として提示するカラオケシステム |
| JP2016133817A (ja) * | 2015-01-15 | 2016-07-25 | 富士通株式会社 | 類似性判定装置、類似性判定方法および類似性判定プログラム |
| JP2015164066A (ja) * | 2015-05-07 | 2015-09-10 | 富士通株式会社 | 情報検索装置、情報検索方法およびそのプログラム |
| WO2020213158A1 (ja) * | 2019-04-19 | 2020-10-22 | 富士通株式会社 | 特定方法、生成方法、次元圧縮方法、表示方法および情報処理装置 |
| CN113728316A (zh) * | 2019-04-19 | 2021-11-30 | 富士通株式会社 | 确定方法、生成方法、维度压缩方法、显示方法以及信息处理装置 |
| JPWO2020213158A1 (ja) * | 2019-04-19 | 2021-12-09 | 富士通株式会社 | 特定方法、生成方法、次元圧縮方法、表示方法および情報処理装置 |
| JP2023014348A (ja) * | 2019-04-19 | 2023-01-26 | 富士通株式会社 | 生成方法、次元圧縮方法、表示方法および情報処理装置 |
| JP7367754B2 (ja) | 2019-04-19 | 2023-10-24 | 富士通株式会社 | 特定方法および情報処理装置 |
| JP7552675B2 (ja) | 2019-04-19 | 2024-09-18 | 富士通株式会社 | 生成方法および情報処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5745745A (en) | Text search method and apparatus for structured documents | |
| JP3696731B2 (ja) | 構造化文書の検索方法および装置および構造化文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JP2742115B2 (ja) | 類似文書検索装置 | |
| US20050197829A1 (en) | Word collection method and system for use in word-breaking | |
| JPH11110416A (ja) | データベースからドキュメントを検索するための方法および装置 | |
| JPH11110414A (ja) | データベースからテキストを検索するための方法および装置 | |
| JPH10334118A (ja) | 辞書索引作成装置と文書検索装置 | |
| JP2001043236A (ja) | 類似語抽出方法、文書検索方法及びこれらに用いる装置 | |
| JP4502114B2 (ja) | データベース検索装置 | |
| JP3361563B2 (ja) | 形態素解析装置及びキーワード抽出装置 | |
| JP4900947B2 (ja) | 略語抽出方法、略語抽出装置およびプログラム | |
| JP2000207404A (ja) | 文書検索方法及び装置並びに記録媒体 | |
| CN118797027A (zh) | 一种基于数据分析的英语文本数据处理方法 | |
| JP4640593B2 (ja) | 多言語文書検索装置および多言語文書検索方法、並びに、多言語文書を検索するプログラム | |
| JPH11143902A (ja) | n−gramを用いた類似文書検索方法 | |
| JP3848014B2 (ja) | 文書検索方法および文書検索装置 | |
| JP4253483B2 (ja) | 異表記辞書作成装置および異表記辞書作成方法およびその方法をコンピュータに実行させるためのプログラム | |
| JP5412137B2 (ja) | 機械学習装置及び方法 | |
| JPH0991297A (ja) | 文字列検索方法及び装置 | |
| JP4953459B2 (ja) | 文字ベクトルを用いた略語生成装置、方法及びプログラム | |
| JP7117168B2 (ja) | 情報処理装置および情報処理方法 | |
| JP2002108888A (ja) | ディジタルコンテンツのキーワード抽出装置、方法及びコンピュータ読み取り可能な記録媒体 | |
| JP6181890B2 (ja) | 文献解析装置、文献解析方法およびプログラム | |
| CN119647406B (zh) | 文本生成方法、装置、电子设备及计算机可读存储介质 | |
| JP2007164635A (ja) | 同義語彙獲得方法及び装置及びプログラム |