JP2005352888A - 表記揺れ対応辞書作成システム - Google Patents
表記揺れ対応辞書作成システム Download PDFInfo
- Publication number
- JP2005352888A JP2005352888A JP2004174516A JP2004174516A JP2005352888A JP 2005352888 A JP2005352888 A JP 2005352888A JP 2004174516 A JP2004174516 A JP 2004174516A JP 2004174516 A JP2004174516 A JP 2004174516A JP 2005352888 A JP2005352888 A JP 2005352888A
- Authority
- JP
- Japan
- Prior art keywords
- term
- search
- notation
- notation fluctuation
- terms
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
【課題】着目する用語を中心として文書に起こりうる表記揺れを効率的に漏れなく収集する。
【解決手段】大規模な用語集合の中から表記揺れ候補と考えられる用語を予め選別しておき、表記揺れ候補となった用語に対してコストを調整した編集距離を測ることにより、表記揺れの候補となった用語の中から表記揺れと考えられる用語を収集する。
【選択図】図4
【解決手段】大規模な用語集合の中から表記揺れ候補と考えられる用語を予め選別しておき、表記揺れ候補となった用語に対してコストを調整した編集距離を測ることにより、表記揺れの候補となった用語の中から表記揺れと考えられる用語を収集する。
【選択図】図4
Description
本発明は、文書中で使用される用語の表記揺れを抽出する方法に関し、特に大規模な医学生物学文献等から漏れなく専門用語を抽出するのに有用な方法に関するものである。
用語(ここでは、単語や複合語を意味する)を書き言葉として使用するとき、用語に表記の揺れが生じる場合がある。例えば、“leucocyte”と“leukocyte”、“sulphate”と“sulfate”などである。同一の事物を示す用語にこのような表記揺れが生じているとき、それを考慮せずに検索や情報抽出などを行うと、結果に漏れが生じる。例えば、ユーザの要求に合った情報を文書から抽出し提供するようなシステムでは、ユーザにとって興味ある分野について予め用語辞書(例えば、生物用語辞書など)を用意しておき、文書からその用語辞書に合致する部分を抜き出し、GUIを通してユーザが指定した要求に見合った情報を提供する。ユーザは、興味ある分野について効率の良い情報収集が行えるわけである。しかしながら、このようなシステムにおいて、ある一表記しか保持していない用語辞書を用いて情報抽出を行った場合には、表記揺れが生じている部分が抽出結果から漏れるという問題が生じる。例えば、“leukocyte”が用語辞書に登録されていて、その表記揺れである“leucocyte”が文書に表れた場合には、“leucocyte”と“leukocyte”は、同一の事物を指すにも関わらず、“leucocyte”で書かれた情報は抽出されず漏れてしまうことになる。
このような問題に対応するには、表記揺れに対応した辞書を構築し、表記揺れに対応した辞書を備えた情報検索や情報抽出のシステムにする必要がある。表記揺れに対応した辞書は、表記揺れの用語を事前に元の用語の同義語として登録しておき、表記揺れに対応した辞書を備えたシステムでは、情報抽出する際に表記揺れの用語も一緒に使って抽出を行う。前記の例で言えば、“leucocyte”を“leukocyte”の同義語として登録しておき、“leucocyte”の入力に対して“leucocyte”と“leukocyte”で抽出を行う。
表記揺れに対応した辞書は、一般に手作業あるいは計算機を使って辞書の見出し語と表記揺れの用語との対応付けを行い、得られた表記ゆれの用語を辞書へ登録することにより作成する。計算機を使って見出し語と表記揺れの用語との対応を取る特開平7-73197号公報「異表記語辞書作成支援装置」では、索引語内の用語同士の類似性を判断することによって表記揺れの用語を収集している。また、特開2003-288366号公報「類似テキスト検索装置」では、用語それぞれのNグラム要素の一致を求める方法によって類似度の計算を行い、表記揺れを吸収した形で用語のマッチングをさせている。ここで、Nグラムとは、用語の連接する部分文字列のデータ形式(用語の索引)である。部分文字列の文字数をN(自然数)で指定する。3グラムの場合、例えば、用語“NICAA”に対して、用語を連接する3文字ずつの要素に分け、“NIC”, “ICA”, “CAA”という用語の索引が作成される。また、Nグラムによる類似度の計算とは、両方の文字列に共通して含まれるN文字の部分文字列を求める。次に、共通する部分文字列に対して重みを設定する。そしてこの重みをすべての一致する部分に関して加算する。この加算して得られた総和が、Nグラムによる類似度となる。
表記揺れに対応した辞書の作成を手作業で行う方法では、見出し語に対応する表記揺れをすべて見つけだし登録するのは困難である。一方、特開平7-73197号公報の方法は、検索のための用語を集めた索引語の中から順に用語を取り出し、索引語の残りの用語を比べて類似度を算出し、類似度が予め定めた値以上のものを表記揺れの用語(異表記語)として取り出す。ここでは、文字列同士の対応付けをLCS(Longest Common Subsequence:最長共通部分文字列)法や、ヘッケル(Heckel)法などによって行い、対応付けの終わった文字列の対に対して、一致文字列長、不一致文字列長、一致区分数などにより、一致文字列長が長いほど、不一致文字列長が短いほど、類似度が高いなどの評価を行い、二つの文字列の類似度を数値化している。しかし、このような類似度の算出方法は、索引語の量が増えると文字列同士の組合せ数が増え、用語の文字列長が長くなると文字列同士の対応付けが複雑になり、どちらの場合も計算量が膨大になり、計算時間の観点から現実的ではない。また、文字列同士の長さの差が大きいと異表記とはいえないため、類似文字列の長さが違いすぎるものは除去する方法を取っているが、類似文字列を探し出した後での絞り込みは非効率的である。
特開2003-288366号公報では、テキストの類似度を算出するために、テキストそれぞれのNグラムの要素一致度を演算し、一致度の高いものを類似テキストとしている。例えば、見出し語“windows”に対して、“winodws”と“windows2000”という2つの用語があった場合、表記揺れと考えられるものは“winodws”の文字列であるが、この方法では“windows”に対しては“win”, “ind”, “ndo”, “dow”, “ows”という3グラム要素の索引、“winodws”に対しては“win”, “ino”, “nod”, “odw”, “dws”という3グラム要素の索引、“windows2000”に対しては“win”, “ind”, “ndo”, “dow”, “ows”, “ws2”, “s20”, “200”,“000”という3グラム要素の索引を生成し、“windows”については類似度1、“windows2000”には類似度5を与える。従って、“winodws”より“windows2000”の文字列の類似度が高く出てしまう。
本発明は、着目する用語(例えば、辞書の見出し語)を中心として文書に起こりうる表記揺れを効率的に漏れなく収集する手段を提供することを目的とする。
本発明においては、大規模な用語集合の中から表記揺れ候補と考えられる用語を予め選別しておき、表記揺れ候補となった用語に対してコストを調整した編集距離を測ることにより、表記揺れの候補となった用語の中から表記揺れと考えられる用語を収集する。
検索語として与えられた用語の表記揺れを抽出する本発明のシステムは、テキスト文書から用語の集合を収集する用語収集部と、用語収集部によって収集された用語の集合の中から検索語に類似した用語群を検索する類似用語検索部と、類似用語検索部によって検索された用語群の中から検索語の表記揺れを抽出する表記揺れ検索部とを備え、類似用語検索部は、1文字ずつずらした隣接する所定長の部分文字列の共有度を基準にして、比較する2つの用語の類似度を判定し、表記揺れ検索部は、検索語との編集距離の総コストが与えられた閾値より小さい用語を検索語の表記揺れとして抽出する。
本発明によると、表記揺れを収集する作業を少ない労力で精度良く(漏れなく)行うことができ、この表記揺れまで含めて情報抽出を行うと抽出結果に表記揺れが存在した場合にでも漏れなく情報を集めることができる。
本発明は、表記揺れ辞書を構築する際に有効であるが、本発明の用途はこれに限定されないので、ここでは本発明のコアとなる部分について詳細を述べ、実施例にて手段の用途を説明することにする。
本発明では、着目する用語に対する表記揺れの候補をまず収集し、収集された候補の中から更に表記揺れを選別する。具体的には、次に示す通りである。説明のために、“iccar”という用語に対する表記揺れを収集する場合を例に取る。
まず初めに、表記揺れを探し出す対象となる用語を用意する。この場合は、上記にも述べたように“iccar”を用意する。次に、着目する用語がよく現れる分野の文書データから予め既存の方法を用いて、文書データ中の用語を切り出しておく。ここで既存の方法で切り出される用語とは、一例を挙げれば文書中に現れる名詞などが考えられる。例を使って説明すると、“iccar”は生物学の分野でよく現れるので、生物学の分野の文書から用語を切り出してきて、“ICCAR”, “ICAA”, “aar”, “Schaar”, “CaARN1”, “alpha1aAR”などを収集する。
次に、切り出された用語の集合から、着目する用語に類似した用語(表記揺れの候補の用語)を収集する。この際、類似している順に、ユーザがパラメタkに設定した数だけ収集する。表記揺れの候補の用語を収集するための、類似度の計算方法としては、着目する用語と既存の方法によって切り出された用語のそれぞれに対して、文字列長による索引を含んだNグラムによる類似度の計算方法を用いる。
ここで、類似度の計算方法として特開2003-288366号公報の方法と異なるのは、単なるNグラムではなく、文字列長による索引を含んだNグラムを用いる点である。文字列長による索引を含んだNグラムとは、図7に示すようなものである。例えば、用語“ICCAR”について、3グラムの索引、“[IC”, “ICA”, “CAA”, “AAR” “AR]”と文字列長の索引“%5”を持つ。ここで“[“ ,“]”は文字列の先頭と末尾を示す記号である。
類似度の計算方法は、共通する索引に対して重みを設定する。そしてこの重みをすべての一致する部分に関して加算する。この加算して得られた総和が、文字列の類似度となる。重みを1として計算すると“ICCAR”と“ICCA8”の類似度は、3と文字列長の類似度1となる。ここでNグラムが一致した場合の重みを、例では1として考えたが、例えば特異的な文字を含むNグラムの索引が一致する場合には、重みを高くするようなことも考えられる。つまりシステムでどのような文字列をより類似すると考えるかによって重みを変えることも考えられる。
表記揺れの候補の用語としては、着目する用語の文字数±mの文字数を持つ用語を収集する。パラメタmはユーザによって設定することができる。長さによる制約を行う方法とは次のようである。着目する用語に文字列数の許容度による索引(例えば、文字数4に対して±2の許容度の索引を作る場合には、%2, %3, %4, %5, %6)を生成させ、既存の方法によって切り出された用語にも文字列長の索引(例えば、文字数4であれば、%4の索引)を生成させる。Nグラムを用いた類似度の計算と同様に共通する索引を持つ場合には重みを与え、文字列同士の重みを加算することによって文字列長の類似度の計算を行う。文字列長の許容範囲内に収まる用語であればこの文字列長の類似度は“1”となる。そこで、文字列の類似度が高く、文字列長の類似度も1となるものを集めることによって長さの制約を充たし、着目する用語に類似した用語を収集できる。例えば“iccar”について、3グラムかつ文字列数の許容度2で索引を生成させると、“[ic”, “icc”, “cca”, “car”, “ar]”, “%3”, “%4”, “%5”, “%6”, “%7”が生成され、切り出した語の中にある用語の“car”との間で類似度を測ると、索引は“[ca”, “car”, “ar]”, “%3”なので、類似度は2と文字列長の類似度1となる。
長さによる制約をつけて類似文字列の候補を収集する理由としては、表記揺れによって増減する文字は高々数個と考えられるからで、長さによる制約によって特開2003-288366号公報で問題となるような、表記揺れではないが類似する用語まで収集してしまう可能性を排除することができる。
このようにして、類似度の計算を行い、パラメタkによって設定された数だけ、文字列長の類似度が1かつ類似度の高いものから順に表記揺れの候補の用語を集める。集められた表記揺れの候補の用語には、表記揺れの用語と表記揺れではなく単に類似した単語とが混じっている。そこで、表記揺れの候補の用語から、更に表記揺れだけに絞込みをかけるために、見出し語と表記揺れの候補の用語の間で編集距離を測る。
編集距離とは、通常、一方の文字列から他方の文字列を得るために行う、文字の操作(挿入・削除・置換)の回数を指す。ところが、ある文字列の置換によって全く別の事物を指すことが起こったり、記号によっては挿入されても事物は変わらないなど、文字や操作の種類による重要度の違いが見られるため、表記揺れを収集する際には、このような文字や操作の種類によってコストを変えた編集距離を用いたほうが、表記揺れの場合の編集距離を低くすることができ、表記揺れをクローズアップさせることができる。
そこで、本発明では操作の重みを、表記揺れと考えられる文字の置換や挿入、削除については低く設定し、表記揺れと考えられない操作については高く設定する。コストの設定については、例えば図10に示したように、文字列間で数字の置換があった場合には表記揺れとは考えにくいので高めのコストである100を与えたり、大文字小文字の置換については、表記揺れと考えられるので低めのコスト、例えば10を与えて計算する。このことによって表記揺れの候補の用語のうち、表記揺れによって生じた用語については、編集距離の総コストが低くなる。
“iccar”と“ICC-u”の編集距離の計算を図10のコスト表を用いて行うと、90となる。図11に編集距離の計算の動きを説明する。行列のC0…|x|,0…|y|にコストが入力されている。|x|は文字列の長さを表し、xiはi番目の文字を示している。Cijはx1…iとy1…jの間で計算される最小コストが入力されている。cは図10に表されているような操作に関連するコストを示している。
行列上で右下に得られたコストが編集距離の総コストとなる。
予め設定した閾値よりも総コストが低くなった場合に、その用語を着目する用語の表記揺れとする。閾値はユーザによって設定される。
予め設定した閾値よりも総コストが低くなった場合に、その用語を着目する用語の表記揺れとする。閾値はユーザによって設定される。
表記揺れに対応した辞書を構築する際の実施例を示す。ユーザによって、表記揺れを収集する対象となるマスター辞書や表記揺れを収集するテキストやパラメタが設定され、出力として表記揺れに対応した辞書が生成される。辞書の見出し語についてそれぞれ、テキストから表記揺れを収集し、辞書へ表記揺れを登録していき、全体として表記揺れに対応した辞書とする。
図1に、表記揺れ対応辞書作成システムの全体のシステム構成例を示す。本システムは、クライアント側計算装置C、サーバ側計算装置S、および通信ネットワークNより構成される。クライアント側計算装置とサーバ側計算装置が同一計算装置であって通信ネットワークを必ずしも用いない構成も可能である。必要に応じて印刷装置Prnも用いる。
クライアント側計算装置Cは演算手段C1と主記憶手段C2、補助記憶手段C3、入力手段としてのキーボードC41やマウスC42、更に表示手段C5などから構成される。主記憶手段C2では、クライアント管理手段P01が稼動し、表示手段C5上にGUIが表示されるとともに、クライアント側計算装置Cにおける処理全体を統括する。
サーバ側計算装置S側も同様に演算手段S1、主記憶手段S2、補助記憶手段S3、キーボードS41、マウスS42および表示手段S5などから構成される。サーバ側計算装置Sの主記憶手段S2では、以下に詳細を示す処理手段群が稼動する。これらの処理は、一時的なデータ2として、検索要求21、パラメタ22を主記憶手段S2上に動的もしくは固定的に確保して利用する。
サーバ側計算装置Sの補助記憶手段S3には、1次データ3となるべきテキストデータ31や辞書32、それから加工されて各種処理で参照される、2次加工データ群4が格納される。また、更に加工されて各種処理で参照されるデータが3次加工データ群5として格納される。2次加工データ群4には、テキスト31から切り出した用語41が含まれる。3次加工データ群5には、用語41から生成されるNグラムデータ(用語と用語のNグラムのデータ)51などが含まれる。
図2は、辞書構築などの要求、パラメタ設定を行うユーザインターフェースの一例である。図1におけるクライアント側計算装置のGUIの主画面11は、表記揺れを探し出す元となる見出し語が格納されている、マスター辞書を入力(指定)する入力部111、表記揺れに対応した辞書を出力する場所を指定する出力辞書格納指定部112、テキスト指定部(表記揺れを抽出する文書を指定する部分)113、表記揺れの候補数などのパラメタ設定部114、実行ボタン115から構成される。パラメタ設定部114では、表記揺れ候補の文字列長が見出し語の文字列長に対してどれくらい相違してもよいかを表す文字列長の許容度、表記揺れの候補数、Nグラムを生成する際にテキストを連接する何文字ずつの要素に分けるかの指定、編集距離の総コストの閾値等を指定する。
図3は、サーバ側計算装置における処理手段全体の構成例を示す図である。サーバ側計算装置Sにおける処理の全体を統括するのがサーバ側管理手段P02であり、それから直接呼び出されるのが、テキストデータ31から用語を収集する用語収集手段P11、部分文字列の索引を作成する索引作成手段P12、部分文字列の共有度によって類似文字列を検索する類似文字列検索手段P13、文字列間編集距離によって表記揺れを検索する表記揺れ検索手段P14である。更にその下の要素的な処理手段として、文字列長による制約部P21、部分文字列による共有度をスコア付けし文字列を序列化する文字列序列化部P22、文字列間編集距離計算部P23を備える。索引作成手段P12によって図7のようなデータ51が生成される。
図4により表記揺れ収集処理を説明する。左のラインがユーザ操作の流れ、中央のラインがクライアント側計算装置での処理の流れ、右のラインがサーバ側計算装置での処理の流れを示している。はじめにユーザの操作として、主画面の入力辞書指定部111(図2)において辞書の選択操作E111を行い、出力辞書の格納場所指定部112において辞書の出力場所の設定操作E112を行い、続いて表記揺れを収集するテキストを選択する操作E113をテキスト指定部113において行い、パラメタ設定部114において検索数などのパラメタ値の設定操作E114を行い、実行ボタン115を押して表記揺れ収集の実行指示E115を行う。
それをうけてクライアント側管理手段P01は、辞書、テキスト、パラメタ類等をLANやインターネットなどの通信ネットワークN(図1)を通じてサーバ側計算装置Sで稼動しているサーバ側管理手段P02に伝える(E12)。クライアント側計算装置とサーバ側計算装置が同一の場合にはプロセス間通信手段などによって伝える。
サーバ側管理手段P02(図3)は受け取った作業要求に基づき、表記揺れ抽出手段Pにテキスト、辞書、パラメタ類を与える。表記揺れ抽出手段では、受け取ったテキストデータ31から、用語収集手段P11によって用語を収集し、2次加工データ41を生成する。次に、P12の索引作成手段によって、2次加工データ41を更に加工し、用語-索引データ51を生成させる。次に、辞書32の各見出し語に対して、類似文字列検索手段P13によって、用語-索引データ51を参照しながら、部分文字列共有度によって類似文字列を検索する。その際、文字列長による制約部P21で文字列長による制約を行うことによって、ユーザが設定した文字列長の許容度の範囲で、類似文字列を検索する。文字列序列化部P22によって部分文字列による共有度をスコア付けして文字列を序列化し、類似度の高いものを表記揺れの候補とする。各見出し語に対して表記揺れの候補として得られたものを更に表記揺れ検索手段P14によって文字列間編集距離を参照して表記揺れを選択する。表記揺れとして得られたものを各見出し語の表記揺れとして辞書へ登録し、結果となる表記揺れ対応辞書を得る(E13,E14)。
それを再び、ネットワークやプロセス間通信によりクライアント管理手段P01に伝える(E15)。クライアント管理手段P01では返ってきた辞書を出力辞書格納指定部112で指定された格納場所へ格納する(E16)。
図5は、用語収集手段P11が行う処理の詳細である。処理はテキスト31から用語収集手段P11によって用語の収集を行い、2次加工データである用語の集合41として格納する。ここで、テキストデータ31から収集された用語の集合とは、一例を挙げれば文書中に現れる名詞の集合である。
図6は、テキストから切り出された用語の集合41から索引作成手段P12が行う処理である。用語の集合41から索引作成手段P12によって3次加工データである用語-索引のデータ51が作られる。図7は部分文字列による索引のデータ例であり、Nグラムのパラメタを3とした場合の部分文字列の索引を示している。例えば、用語“ICAA”に対して、テキストを連接する3文字ずつの要素に分け、“[IC”,“ICA”,“CAA”,“AA]”という索引が作成されている。ここで“[“ ,“]”は文字列の先頭と末尾を示す記号である。また、“%”の後に文字列長を付加した索引を持つ。この文字列長の索引を持つことがデータの特徴となっている。
図8は、類似文字列検索手段P13が行う処理の詳細である。辞書の用語32を入力として、その用語に対する部分文字列の索引を索引作成手段P12を用いて生成する。表記揺れで増減する文字列は高々±mであるので、その文字列長±mの索引を生成する。mはユーザによって指定される。文字列長が5である文字列“iccar”に対して3グラムで許容度±1の索引を生成すると、“[ic”、 “icc”、 “cca”、 “car”、“ar]”、“%4”、“%6”となる。次に、3次加工データの用語−索引データ51を参照し、見出し語とテキストデータ31から切り出された用語41との類似度を計算する。類似度の計算方法は、共通する索引に対して重みを設定し、この重みをすべての一致する部分に関して加算する。この加算して得られた総和が、文字列長による索引を含んだNグラムによる類似度となる。“ICCAR”と“ICCA8”の類似度は、3で文字列長の類似度は1となる。
そして、文字列長の類似度が1で、文字列の類似度の高い方から順に上位k個を類似文字列として出力する。kはユーザによって指定される。これらの処理は辞書の各見出し語に対して行われる。
図9は、表記揺れ検索手段P14による文字列間編集距離を用いた処理の詳細である。類似文字列を入力として、入力辞書の用語との文字列間編集距離を測る。編集距離の計算では、表記揺れと考えられる文字列の挿入、置換、削除についてはコストを低く設定するような重み付きの編集距離を用いる。編集距離が近かった文字列で編集距離の総コストがある閾値以下の用語を、入力辞書の用語の表記揺れの文字列として得る。これらの処理は辞書の各見出し語に対して行われる。
図10は編集距離計算のコストの一例を示すテーブルである。本例では、ハイフンの挿入・削除、大文字小文字の置換については、表記揺れと考えられるのでコストを低く設定し、数字の置換や-x-(ハイフン、文字、ハイフン)の置換・挿入・削除については、表記揺れとは考えられないのでコストを高く設定してある。
図12は、表記揺れを収集した例を示す図である。本例は、図12(a)に示すように、見出し語“iccar”に対して3グラムと4グラムの部分文字列の索引を作り、文字列の許容度m=1で、表記揺れの候補k=4とし、編集距離の閾値を60として表記揺れ“ICCAR”を収集した例を示す。テキストから収集された用語は、 “ICCAR”, “ICAA”, “aar”, “Schaar”, “CaARN1”, “alpha1aAR”であるとした。テキストから収集された各用語に対して文字列長の索引を与え、3グラムと4グラムの共有度から類似度を計算すると、図12(b)に示すようになる。ここで表記揺れの候補として、文字列長の類似度が1で類似度の高いものから順に4個の用語を選択すると、図12(c)のようになる。これら4個の用語に対して、図10に示したコストを用いて編集距離を計算する。編集距離の閾値を60以下という条件を満たす用語“ICCAR”が表記揺れとして抽出される。
文書を検索する場合には、ユーザが興味ある事柄に関連する用語(検索語)を入力し、文書に付加されている索引語とユーザの入力した用語とを照合し、索引語と検索語が合致した場合、その索引語を持つ文書を結果として提示する。その際、文書に付加されている索引語とユーザ入力の用語の間に表記揺れがあると、検索結果に漏れが生じる。文書についている索引語とユーザ入力の用語の間で本発明の手段を用い、ユーザ入力の用語の表記揺れとして考えられる索引語が付加されている文書も、検索結果として出力するシステムについて説明する。
全体の構成は図1の構成と同様であるが、サーバ側の補助記憶手段S3には一次データ群としてテキストデータ33が格納されており、2次加工データ群としてテキストデータの索引語42が格納されていて、3次加工データ群として索引語のNグラムデータ52が格納される。
図13は、検索要求、パラメタ設定を行うユーザインターフェースの一例である。クライアント側計算装置のGUIの主画面11は、検索語を入力する部分211、表記揺れの候補数などのパラメタ設定部212、実行ボタン213、出力結果表示部214から構成される。パラメタ設定部212では、表記揺れの候補の文字列長を見出し語に対してどれくらいの許容度を持たせるかを表す文字列長の許容度、表記揺れの候補数、Nグラムを生成する場合に、テキストを連接する何文字ずつの要素に分けるかを指定できるようにしておく。また、編集距離の総コストの閾値も指定できるようにしておく。
図14により、処理の流れを説明する。左のラインがユーザ操作の流れ、中央のラインがクライアント側計算装置での処理の流れ、右のラインがサーバ側計算装置での処理の流れを示している。はじめにユーザの操作として主画面の検索語入力部211(図13)において、検索語の入力E211を行い、パラメタ設定部212においてパラメタ値の設定操作E212を行い、実行ボタン213を押して表記揺れ収集の実行指示E213を行う。
それをうけてクライアント側管理手段P01は、辞書、テキスト、パラメタ類等をLANやインターネットなどの通信ネットワークN(図1)を通じてサーバ側計算装置Sで稼動しているサーバ側管理手段P02に伝える(E22)。クライアント側計算装置とサーバ側計算装置が同一の場合にはプロセス間通信手段などによって伝える。サーバ側管理手段P02は受け取った作業要求に基づき、表記揺れ抽出手段に検索語、パラメタ類を与えて、表記揺れ抽出手段では、受け取ったテキストデータ32から、用語収集手段P11によって、索引語を収集し、2次加工データ42を生成する。次に、索引作成手段P12によって、2次加工データ42を更に加工し、索引語-索引データ52を生成させる。次に、検索語に対して、類似文字列検索手段P13によって、用語-索引データ52を参照しながら、部分文字列共有度に基づいて類似文字列を検索する。その際、文字列長による制約部P21で文字列長による制約を行うことによって、ユーザが設定した文字列長の許容度の範囲で、類似文字列を検索する。文字列序列化部P22では、部分文字列による共有度をスコア付けし、類似度の高いものを表記揺れの候補とする。表記揺れの候補として得られたものを更に表記揺れ検索手段P14では、文字列間編集距離に基づいて表記揺れを選択する。表記揺れとして得られた用語が索引語となっている文書を検索結果とする(E23,E24)。それを再び、ネットワークやプロセス間通信によりクライアント管理手段P01に伝える(E25)。クライアント管理手段P01では、返ってきた結果を出力結果表示部214へ表示する(E26)。ユーザは結果をチェックする(E27)。
図15は、用語収集手段P11が行う処理の詳細である。用語収集手段P11はテキスト32から用語の収集を行い、2次加工データである索引語の集合42として格納する。
図16は、テキストから索引語のデータ42から索引作成手段P12が行う処理である。索引語の集合42から索引作成手段P12によって3次加工データである索引語-索引52のデータが作られる。
図17は、類似文字列検索手段P13が部分文字列共有度を用いて行う処理の詳細である。検索語を入力として、その用語に対する部分文字列の索引を索引作成手段P12を用いて生成する。表記揺れで増減する文字列は高々±mであるので、その文字列長±mの索引を生成する。mはユーザによって指定される。文字列長が5である文字列“iccar”に対して許容度±1の索引を生成すると、“[ic”、 “icc”、 “cca”、 “car”、“ar]”、“%4”、“%6”となる。次に、3次加工データの索引語-索引データ52を参照し、検索語と索引語42との類似度を計算する。類似度の計算方法は、共通する索引に対して重みを設定し、この重みをすべての一致する部分に関して加算する。この加算して得られた総和が、文字列長による索引を含んだNグラムによる類似度となる。“ICCAR”と“ICCA8”の類似度は、3で文字列長の類似度は1となる。そして、文字列長の類似度が1で類似度の高い順に上位k個を類似文字列として出力する。kはユーザによって指定される。
図18は、表記揺れ検索手段P14による文字列間編集距離を用いた処理の詳細である。類似文字列を入力として、検索語との文字列間編集距離を測る。編集距離の計算では、表記揺れと考えられる文字列の挿入、置換、削除についてはコストを低く設定するような重み付きの編集距離を用いる。編集距離が近かった文字列で編集距離の総コストがある閾値以下の用語を検索語の表記揺れの文字列として得る。
C:クライアント側計算装置
S:サーバ側計算装置
N:通信ネットワーク
P11:用語収集手段
P12:索引作成手段
P13:類似文字列検索手段
P14:表記揺れ検索手段
P21:文字列長による制約部
P22:文字列序列化部
P23:文字列間編集距離計算部
S:サーバ側計算装置
N:通信ネットワーク
P11:用語収集手段
P12:索引作成手段
P13:類似文字列検索手段
P14:表記揺れ検索手段
P21:文字列長による制約部
P22:文字列序列化部
P23:文字列間編集距離計算部
Claims (15)
- 検索語として与えられた用語の表記揺れを抽出するシステムにおいて、
テキスト文書から用語の集合を収集する用語収集部と、
前記用語収集部によって収集された用語の集合の中から前記検索語に類似した用語群を検索する類似用語検索部と、
前記類似用語検索部によって検索された用語群の中から前記検索語の表記揺れを抽出する表記揺れ検索部とを備え、
前記類似用語検索部は、1文字ずつずらした隣接する所定長の部分文字列の共有度を基準にして、比較する2つの用語の類似度を判定し、
前記表記揺れ検索部は、前記検索語との編集距離の総コストが与えられた閾値より小さい用語を前記検索語の表記揺れとして抽出することを特徴とする表記揺れ抽出システム。 - 請求項1記載の表記揺れ抽出システムにおいて、前記表記揺れ検索部は、2つの用語の編集距離を、文字の置換、挿入、削除に対して割り当てられたコストを用いて計算することを特徴とする表記揺れ抽出システム。
- 請求項1記載の表記揺れ抽出システムにおいて、前記類似用語検索部は、前記検索語との文字列数の相違が許容値内にある用語を対象として前記検索語に類似した用語群を検索することを特徴とする表記揺れ抽出システム。
- 請求項1記載の表記揺れ抽出システムにおいて、前記検索語の文字列を1文字ずつずらした部分文字列の索引を作成する索引作成部を有することを特徴とする表記揺れ抽出システム。
- 請求項3記載の表記揺れ抽出システムにおいて、前記文字列数の相違の許容値を入力する入力部を有することを特徴とする表記揺れ抽出システム。
- 請求項1記載の表記揺れ抽出システムにおいて、前記部分文字列の長さ、前記編集距離の総コストの閾値を入力する入力部を有することを特徴とする表記揺れ抽出システム。
- 請求項1記載の表記揺れ抽出システムにおいて、前記検索語として1つの辞書の複数の見出し語を与え、前記辞書に対する表記揺れ辞書を構築することを特徴とする表記揺れ抽出システム。
- コンピュータを用いて検索語として入力された用語の表記揺れを抽出する方法において、
コンピュータが、
指定されたテキスト文書から用語の集合を収集する工程と、
前記収集された用語の集合の中から、1文字ずつずらした隣接する所定長の部分文字列の共有度を基準にして、比較する2つの用語の類似度を判定し、前記検索語に類似した用語群を検索する類似用語検索工程と、
検索された前記用語群の中から、前記検索語との編集距離の総コストが与えられた閾値より小さい用語を前記検索語の表記揺れとして抽出し、前記検索語の表記揺れを抽出する表記揺れ検索工程と、
を実行する表記揺れ抽出方法。 - 請求項8記載の表記揺れ抽出方法において、前記表記揺れ検索工程では、2つの用語の編集距離を、文字の置換、挿入、削除に対して割り当てられたコストを用いて計算することを特徴とする表記揺れ抽出方法。
- 請求項8記載の表記揺れ抽出方法において、前記類似用語検索工程では、前記検索語との文字列数の相違が許容値内にある用語を対象として前記検索語に類似した用語群を検索することを特徴とする表記揺れ抽出方法。
- 請求項8記載の表記揺れ抽出方法において、前記検索語の文字列を1文字ずつずらした部分文字列の索引を作成する索引作成工程を有することを特徴とする表記揺れ抽出方法。
- 請求項10記載の表記揺れ抽出方法において、前記文字列数の相違の許容値の入力を受け付ける工程を有することを特徴とする表記揺れ抽出方法。
- 請求項8記載の表記揺れ抽出方法において、前記部分文字列の長さ、前記編集距離の総コストの閾値の入力を受け付ける工程を有することを特徴とする表記揺れ抽出方法。
- 請求項8記載の表記揺れ抽出方法において、前記検索語として1つの辞書の複数の見出し語に対して前記工程を順次実行し、前記辞書に対する表記揺れ辞書を構築することを特徴とする表記揺れ抽出方法。
- コンピュータに請求項8記載の表記揺れ抽出方法を実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004174516A JP2005352888A (ja) | 2004-06-11 | 2004-06-11 | 表記揺れ対応辞書作成システム |
US10/988,973 US20050278292A1 (en) | 2004-06-11 | 2004-11-16 | Spelling variation dictionary generation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004174516A JP2005352888A (ja) | 2004-06-11 | 2004-06-11 | 表記揺れ対応辞書作成システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005352888A true JP2005352888A (ja) | 2005-12-22 |
JP2005352888A5 JP2005352888A5 (ja) | 2007-07-12 |
Family
ID=35461711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004174516A Withdrawn JP2005352888A (ja) | 2004-06-11 | 2004-06-11 | 表記揺れ対応辞書作成システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050278292A1 (ja) |
JP (1) | JP2005352888A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011509463A (ja) * | 2007-12-31 | 2011-03-24 | マスターカード インターナシヨナル インコーポレーテツド | データベース内に近似文字列照合を実装するための方法およびシステム |
JP2011186976A (ja) * | 2010-03-11 | 2011-09-22 | Dainippon Printing Co Ltd | 表記ゆれ解析装置、表記ゆれ解析方法、プログラムおよび記憶媒体 |
JP2012108795A (ja) * | 2010-11-18 | 2012-06-07 | Ntt Docomo Inc | 同義語判定装置、同義語判定方法およびプログラム |
JP5049965B2 (ja) * | 2006-05-13 | 2012-10-17 | 株式会社ジャストシステム | データ処理装置及び方法 |
JP2012256197A (ja) * | 2011-06-08 | 2012-12-27 | Toshiba Corp | 表記ゆれ検出装置及び表記ゆれ検出プログラム |
JP2015041124A (ja) * | 2013-08-20 | 2015-03-02 | 株式会社日立ソリューションズ東日本 | データ処理装置およびデータ処理方法 |
JP2018501597A (ja) * | 2015-12-03 | 2018-01-18 | 小米科技有限責任公司Xiaomi Inc. | 類似性特定方法、装置、端末、プログラム及び記録媒体 |
JP2019145023A (ja) * | 2018-02-23 | 2019-08-29 | 株式会社リクルート | 文書校閲装置およびプログラム |
US11694172B2 (en) | 2012-04-26 | 2023-07-04 | Mastercard International Incorporated | Systems and methods for improving error tolerance in processing an input file |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4728860B2 (ja) * | 2006-03-29 | 2011-07-20 | 株式会社東芝 | 情報検索装置 |
US7865824B1 (en) * | 2006-12-27 | 2011-01-04 | Tellme Networks, Inc. | Spelling correction based on input device geometry |
US8001136B1 (en) * | 2007-07-10 | 2011-08-16 | Google Inc. | Longest-common-subsequence detection for common synonyms |
US8341520B2 (en) * | 2007-09-24 | 2012-12-25 | Ghotit Ltd. | Method and system for spell checking |
US20090089666A1 (en) * | 2007-10-01 | 2009-04-02 | Shannon Ralph Normand White | Handheld Electronic Device and Associated Method Enabling Prioritization of Proposed Spelling Corrections |
EP2045691A1 (en) | 2007-10-01 | 2009-04-08 | Research In Motion Limited | Handheld electronic device and associated method enabling prioritization of proposed spelling corrections |
US8666976B2 (en) | 2007-12-31 | 2014-03-04 | Mastercard International Incorporated | Methods and systems for implementing approximate string matching within a database |
US8010547B2 (en) * | 2008-04-15 | 2011-08-30 | Yahoo! Inc. | Normalizing query words in web search |
US8838549B2 (en) * | 2008-07-07 | 2014-09-16 | Chandra Bodapati | Detecting duplicate records |
KR101174057B1 (ko) * | 2008-12-19 | 2012-08-16 | 한국전자통신연구원 | 인덱스 분석장치와 인덱스 검색장치 및 그 방법 |
US9124431B2 (en) * | 2009-05-14 | 2015-09-01 | Microsoft Technology Licensing, Llc | Evidence-based dynamic scoring to limit guesses in knowledge-based authentication |
US8856879B2 (en) | 2009-05-14 | 2014-10-07 | Microsoft Corporation | Social authentication for account recovery |
JP5156047B2 (ja) * | 2010-03-31 | 2013-03-06 | 株式会社東芝 | キーワード提示装置、方法及びプログラム |
JP5452534B2 (ja) * | 2011-03-30 | 2014-03-26 | 株式会社日立製作所 | 製品情報管理支援装置 |
CN102184195B (zh) * | 2011-04-20 | 2014-01-08 | 北京百度网讯科技有限公司 | 用于获取字符串间相似度的方法、装置和设备 |
WO2012154992A2 (en) * | 2011-05-10 | 2012-11-15 | Decarta | Systems and methods for performing search and retrieval of electronic documents using a big index |
US10678870B2 (en) * | 2013-01-15 | 2020-06-09 | Open Text Sa Ulc | System and method for search discovery |
US9298694B2 (en) * | 2013-04-11 | 2016-03-29 | International Business Machines Corporation | Generating a regular expression for entity extraction |
US9594742B2 (en) | 2013-09-05 | 2017-03-14 | Acxiom Corporation | Method and apparatus for matching misspellings caused by phonetic variations |
US10922734B2 (en) * | 2017-03-13 | 2021-02-16 | Fmr Llc | Automatic identification of issues in text-based transcripts |
CN107329947B (zh) * | 2017-05-15 | 2019-07-26 | 中国移动通信集团湖北有限公司 | 相似文本的确定方法、装置及设备 |
CN108564086B (zh) * | 2018-03-17 | 2024-05-10 | 上海柯渡医学科技股份有限公司 | 一种字符串的识别校验方法及装置 |
CN111078821B (zh) * | 2019-11-27 | 2023-12-08 | 泰康保险集团股份有限公司 | 字典设置方法、装置、介质及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255386A (en) * | 1990-02-08 | 1993-10-19 | International Business Machines Corporation | Method and apparatus for intelligent help that matches the semantic similarity of the inferred intent of query or command to a best-fit predefined command intent |
JP3761937B2 (ja) * | 1995-09-18 | 2006-03-29 | キヤノン株式会社 | パターン認識方法及び装置及びコンピュータ制御装置 |
US6175834B1 (en) * | 1998-06-24 | 2001-01-16 | Microsoft Corporation | Consistency checker for documents containing japanese text |
US7136876B1 (en) * | 2003-03-03 | 2006-11-14 | Hewlett-Packard Development Company, L.P. | Method and system for building an abbreviation dictionary |
CA2498728A1 (en) * | 2004-02-27 | 2005-08-27 | Dictaphone Corporation | A system and method for normalization of a string of words |
-
2004
- 2004-06-11 JP JP2004174516A patent/JP2005352888A/ja not_active Withdrawn
- 2004-11-16 US US10/988,973 patent/US20050278292A1/en not_active Abandoned
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5049965B2 (ja) * | 2006-05-13 | 2012-10-17 | 株式会社ジャストシステム | データ処理装置及び方法 |
JP2011509463A (ja) * | 2007-12-31 | 2011-03-24 | マスターカード インターナシヨナル インコーポレーテツド | データベース内に近似文字列照合を実装するための方法およびシステム |
KR101462707B1 (ko) | 2007-12-31 | 2014-11-27 | 마스터카드 인터내셔날, 인코포레이티드 | 데이터베이스 내에 근사 스트링 매칭을 구현하기 위한 방법 및 시스템 |
JP2011186976A (ja) * | 2010-03-11 | 2011-09-22 | Dainippon Printing Co Ltd | 表記ゆれ解析装置、表記ゆれ解析方法、プログラムおよび記憶媒体 |
JP2012108795A (ja) * | 2010-11-18 | 2012-06-07 | Ntt Docomo Inc | 同義語判定装置、同義語判定方法およびプログラム |
JP2012256197A (ja) * | 2011-06-08 | 2012-12-27 | Toshiba Corp | 表記ゆれ検出装置及び表記ゆれ検出プログラム |
US9128923B2 (en) | 2011-06-08 | 2015-09-08 | Kabushiki Kaisha Toshiba | Orthographical variant detection apparatus and orthographical variant detection method |
US11694172B2 (en) | 2012-04-26 | 2023-07-04 | Mastercard International Incorporated | Systems and methods for improving error tolerance in processing an input file |
JP2015041124A (ja) * | 2013-08-20 | 2015-03-02 | 株式会社日立ソリューションズ東日本 | データ処理装置およびデータ処理方法 |
JP2018501597A (ja) * | 2015-12-03 | 2018-01-18 | 小米科技有限責任公司Xiaomi Inc. | 類似性特定方法、装置、端末、プログラム及び記録媒体 |
US10089301B2 (en) | 2015-12-03 | 2018-10-02 | Xiaomi Inc. | Method and apparatus for determining semantic similarity of character strings |
JP2019145023A (ja) * | 2018-02-23 | 2019-08-29 | 株式会社リクルート | 文書校閲装置およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20050278292A1 (en) | 2005-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005352888A (ja) | 表記揺れ対応辞書作成システム | |
JP3918531B2 (ja) | 類似文書検索方法およびシステム | |
JP3755134B2 (ja) | コンピュータベースの適合テキスト検索システムおよび方法 | |
JP3598211B2 (ja) | 関連語抽出装置および関連語抽出方法および関連語抽出プログラムが記録されたコンピュータ読取可能な記録媒体 | |
JP4754247B2 (ja) | 複合語を構成する単語を割り出す装置及びコンピュータ化された方法 | |
JP5116775B2 (ja) | 情報検索方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体 | |
JP4767694B2 (ja) | 不正ハイパーリンク検出装置及びその方法 | |
JP5187313B2 (ja) | 文書重要度算出システム、文書重要度算出方法およびプログラム | |
CN113282689B (zh) | 基于领域知识图谱的检索方法、装置 | |
JP2003186894A (ja) | サブスタンス辞書の作成方法、サブスタンス間の二項関係抽出方法、予測方法、及び表示方法 | |
JP4997892B2 (ja) | 検索システム、検索方法及び検索プログラム | |
KR100396826B1 (ko) | 정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법 | |
JP4049317B2 (ja) | 検索支援装置およびプログラム | |
JP2019032704A (ja) | 表データ構造化システムおよび表データ構造化方法 | |
JP2006215717A (ja) | 情報検索装置、情報検索方法および情報検索プログラム | |
JP2010205060A (ja) | 文書内画像検索方法および文書内画像検索システム | |
CN114141384A (zh) | 用于检索医学数据的方法、设备和介质 | |
JP2006309347A (ja) | 対象文書からキーワードを抽出する方法、システムおよびプログラム | |
JP5577546B2 (ja) | 計算機システム | |
EP3432161A1 (en) | Information processing system and information processing method | |
US9104755B2 (en) | Ontology enhancement method and system | |
JP2009271819A (ja) | 文書検索システム、文書検索方法および文書検索プログラム | |
JP2008257511A (ja) | 専門用語抽出装置、方法及びプログラム | |
JP2004227037A (ja) | フィールドマッチング装置とそのプログラム、コンピュータ読み取り可能な記録媒体、及び同一フィールド判定方法 | |
JP6534454B2 (ja) | 情報検索方法及び情報検索装置並びに情報検索システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070528 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070528 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20081030 |