JP2005099884A - Retrieving device - Google Patents

Retrieving device Download PDF

Info

Publication number
JP2005099884A
JP2005099884A JP2000204568A JP2000204568A JP2005099884A JP 2005099884 A JP2005099884 A JP 2005099884A JP 2000204568 A JP2000204568 A JP 2000204568A JP 2000204568 A JP2000204568 A JP 2000204568A JP 2005099884 A JP2005099884 A JP 2005099884A
Authority
JP
Japan
Prior art keywords
character string
search
input
replaceable
unit
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
Application number
JP2000204568A
Other languages
Japanese (ja)
Inventor
Takashi Miyake
孝志 三宅
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.)
IIGA CO Ltd
Original Assignee
IIGA CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IIGA CO Ltd filed Critical IIGA CO Ltd
Priority to JP2000204568A priority Critical patent/JP2005099884A/en
Priority to PCT/JP2001/005796 priority patent/WO2002005131A1/en
Priority to AU2001269434A priority patent/AU2001269434A1/en
Publication of JP2005099884A publication Critical patent/JP2005099884A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion

Abstract

<P>PROBLEM TO BE SOLVED: To perform automatic processing of association between character strings based on replacement possibility and connection possibility. <P>SOLUTION: Words including an input word 11 are retrieved as primary words 13. Then, secondary words 17 are retrieved by using connectable words 15 obtained by excluding the input word 11 from the primary words 13. Then, replaceable words 19 are obtained by excluding the connectable words 15 from the secondary words 17. The replaceable words 19 are defined as the synonyms of the input word 11, and registered in a dictionary. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、例えば、入力された単語と置換可能な単語を、すなわち、類義語を検索する検索装置に関するものである。
また、その検索した類義語を用いて類義語辞書を生成する検索装置に関するものである。
【0002】
【従来の技術】
インターネット等のネットワーク上に分散されたデータや、データベースに蓄積されたデータの検索を行う場合には、ユーザは、キーワードを入力して関連するデータを検索する。このキーワードにより、ユーザが望んでいたデータを検索できない場合には、そのキーワードに類義する他のキーワードを用いて検索することがしばしばある。しかし、ユーザが類義する他のキーワードを考えるためには、かなりの時間を費やしたり、あるいは、かなりの発想の転換や、かなりの経験を必要とした。
【0003】
一方、類義語を自動的に提供するために、類義語辞書が用いられる。この類義語辞書は、あらかじめ、類義する単語を登録しておくものである。この類義語辞書は、類義語辞書の作成者が選択した類義語を登録しているものであるが、十分な類義語が登録されていない場合もある。
また、類義語を登録する場合には、膨大な労力がかかるという問題がある。また、類義語の作成者が全ての分野に通じている訳ではなく、専門分野や、特殊な分野や、私的な分野の類義語が類義語辞書に登録されていない場合がある。
また、電子技術用語や、バイオテクノロジーの用語等の日進月歩の動きの激しい分野において、新たな単語が次々と発生しているため、類義語辞書を最新の状態にしなければならないという問題があった。
また、類義語辞書を登録するにあたり、2つの単語の共起性や出現確率や、2つの単語の受けかかり関係の確率等を用いた確率モデルを用いて類義語辞書を作成することも行われているが、不完全な技術であり、実用レベルには至っていない。
【0004】
【発明が解決しようとする課題】
以上のように、従来、類義語を検索したり、類義語辞書を構築したりする場合に、簡単、かつ、迅速に行える手法がなかった。
【0005】
この発明は、例えば、入力された単語(文字列)に類義する単語(文字列)を検索する検索装置を提供することを目的とする。
また、この発明は、例えば、置換可能性と結合可能性に基づく文字列間の関係付けの自動処理をすることを目的とする。
又、この発明は、例えば、その一応用例として、検索した単語を用いて類義語辞書を自動構築する検索装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
この発明に係る検索装置は、文字列を登録文字列として登録した辞書から、文字列を検索する検索装置において、
ある文字列を入力文字列として入力する入力部と、
入力部が入力した入力文字列と置換可能な置換可能文字列を辞書から検索して出力する検索部と
を有することを特徴とする。
【0007】
上記検索部は、
入力部が入力した入力文字列を用いて入力文字列が一部分に含まれている登録文字列を一次文字列として辞書から検索する一次検索部と、
一次検索部により検索された一次文字列から入力文字列を除いた残部を結合可能文字列とし、結合可能文字列が一部分に含まれている登録文字列を二次文字列として辞書から検索する二次検索部と、
二次検索部により検索された二次文字列から結合可能文字列を除いた残部を、入力文字列と置換可能な置換可能文字列として出力する出力部と
を備えたことを特徴とする。
【0008】
上記一次検索部は、
入力文字列と登録文字列の前方とが一致する登録文字列を検索する前方一致検索と、入力文字列と登録文字列の後方とが一致する登録文字列を検索する後方一致検索と、入力文字列と登録文字列の中間とが一致する登録文字列を検索する中間一致検索との少なくともいずれかの検索により一次文字列を検索し、
上記二次検索部は、
一次検索部が前方一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の後方とが一致する登録文字列を検索する後方一致検索により二次文字列を検索し、
一次検索部が後方一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の後方とが一致する登録文字列を検索する前方一致検索により二次文字列を検索し、
一次検索部が中間一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の前方と後方の両方とが一致する登録文字列を検索する両方一致検索により二次文字列を検索することを特徴とする。
【0009】
上記入力部は、辞書に登録された登録文字列を順に入力文字列として入力し、上記検索部は、辞書に登録された登録文字列の置換可能文字列を辞書から検索して出力し、
上記検索装置は、さらに、上記検索部が出力した置換可能文字列が登録文字列と置換可能な文字列であることを示す情報を辞書に記憶させる関係付け部を備えたことを特徴とする。
【0010】
上記検索装置は、さらに、検索部が出力した置換可能文字列を入力部に入力文字列として入力することにより、置換可能文字列に対して、さらに、置換可能文字列を検索させるループ部を備えたことを特徴とする。
【0011】
上記二次検索部は、同一の二次文字列が出現した場合、同一の二次文字列の出現回数をカウントするカウント部を有し、上記出力部は、置換可能文字列の出現回数の大きい順に置換可能文字列を出力するソート部を有することを特徴とする。
【0012】
上記検索装置は、インターネットのデータとデータベースのデータとの少なくともいずれかを検索する検索キーワードを入力文字列として入力し、検索キーワードに類義するキーワードを置換可能性文字列として出力することを特徴とする。
【0013】
この発明に係る検索装置は、入力する文字列の集合を保持する入力文字列集合と、
入力された文字列と置換可能な文字列を検索するためのサンプリング文字列の集合を保持するサンプリング文字列集合と、
入力文字列集合に保持された文字列の集合の各文字列に対して検索され出力された置換可能な文字列のリストの集合を保持する置換可能文字列リスト集合と、ある入力文字列と置換可能な置換可能文字列を上記サンプリング文字列集合に保持されたサンプリング文字列の集合から検索して置換可能文字列リストとして出力する置換可能文字列検索部と、
上記入力文字列集合に保持された文字列の集合から文字列を順に入力し、入力した文字列を入力文字列として上記置換可能文字列検索部に順に与え、上記置換可能文字列検索部から出力された置換可能文字列リストを上記置換可能文字列リスト集合に追加する制御部と
を有することを特徴とする。
【0014】
【発明の実施の形態】
実施の形態1.
図1は、この実施の形態の検索装置が実現されるパーソナルコンピュータ51を示す図である。パーソナルコンピュータ51は、CPU53とバス55とメモリ57と通信ボード59と磁気ディスク61とコンパクトディスクドライブ69とフレキシブルディスクドライブ71とキーボード73とマウス75から構成されている。磁気ディスク61には、辞書63と検索プログラム65とブラウザ67が記憶されている。辞書63は、ここでは単に単語を登録している単語辞書である。具体的には、単語を文字列としてテキストファイル形式で記憶している。
【0015】
以下、大文字のアルファベットを用いて文字を表し、アルファベットを一つ以上組み合わせて文字列(単語)として説明をする。
辞書63は、例えば、AB,AC,ABC,…というような単語をテキストファイルとして羅列している辞書である。検索プログラム65は、以下に述べる検索装置がソフトウェアで実現されたものである。検索プログラム65は、メモリ57にロードされ、CPU53により実行され、その結果、以下に述べる検索装置の動作を実行するものである。ブラウザ67は、インターネットの検索プログラムである。ブラウザ67もメモリ57にロードされ、CPU53により実行される。メモリ57は、ランダムアクセスメモリ等により構成される揮発性メモリである。通信ボード59は、インターネット77またはLAN79と接続するためのプロトコルを実行するものである。例えば、モデムやイーサネット用ボードやTCP/IP用ボードが用いられる。パーソナルコンピュータ51は、通信ボード59により、インターネット77またはLAN79に接続され、パーソナルコンピュータ81あるいはサーバコンピュータ83と通信することができる。
【0016】
なお、辞書63,検索プログラム65,ブラウザ67が磁気ディスク61に記憶されている場合を示したが、コンパクトディスクドライブ69のCD(コンパクトディスク)またはフレキシブルディスクドライブ71のFD(フレキシブルディスク)に記憶されていても構わない。また、辞書63,検索プログラム65,ブラウザ67はパーソナルコンピュータ81やサーバコンピュータ83に記憶されていてネットワークを介してパーソナルコンピュータ51に対してロードされたり、あるいは、ネットワークを介してパーソナルコンピュータ51からアクセスされるようになっていても構わない。
また、検索プログラム65は、全てソフトウェアで作成することができる。例えば、C言語やビジュアルベーシック言語を用いて作成することができる。しかし、検索プログラム65は、図示していないリードオンリーメモリ内にファームウェアとして存在していても構わないし、あるいは、一部分または、全てがハードウェアとして存在していても構わない。ハードウェアとして存在する場合は、LSI化されて他の回路と一緒に動作することになる。あるいは、検索プログラム65は、オペレーティングシステムや、ウィンドウシステムのソフトウェアドライバとして動作するものであっても構わない。その場合には、検索プログラム65は、オペレーティングシステムやウィンドウシステムからのシステムコールや、割り込み処理により動作する。
【0017】
図2は、検索プログラム65の構成及び動作を示す図である。検索プログラム65は、単語入力部21と検索部23と関係付け部37とループ部39を備えている。検索部23は、一次検索部25と二次検索部27と出力部31を備えている。単語入力部21は、単語を入力単語11として入力する。この単語とは、例えば、ユーザからブラウザ67へ入力されたインターネットに対する検索キーワードあるいは、データベースに対するキーワードである。検索部23は、単語入力部21が入力した入力単語11と置換可能な置換可能単語を辞書63から検索して出力するものである。一次検索部25は、単語入力部21が入力した入力単語11を用いて入力単語11が一部分に含まれている登録単語を一次単語13として辞書63から検索する。二次検索部27は、一次検索部25により検索された一次単語13から入力単語11を除いた残部を結合可能単語として結合可能単語が一部分に含まれている登録単語を二次単語17として辞書63から検索する。出力部31は、二次検索部27により検索された二次単語17から結合可能単語を除いた残部を入力単語11と置換可能な置換可能単語19として出力する。
【0018】
図3は、前述した検索部23の動作を示す図である。
図4は、さらに動作の具体例を示す図である。
図5は、辞書63に登録された単語例を示す図である。
【0019】
ここでは、まず、辞書63に図5に示すような単語があらかじめ登録されているものとする。図5の実線の矢印と破線の矢印については後に説明する。図3において、入力単語11としてABが入力されたものとする。
一次検索部25は、ABを用いてABが含まれる単語を辞書63から検索する。一次検索部25はABを用いて前方一致検索及び後方一致検索および中間一致検索を行う。そして、一次単語13として前方一致単語ABLMと後方一致単語OPABと中間一致単語CDABEFを検索する。二次検索部27は、これらの一次単語13を入力し、各単語からABを除いた残部からなる結合可能単語15を生成する。この例では、ABLMからABが取り除かれ、LMを生成する。また、OPABからABを取り除きOPを生成する。また、CDABEFからABを取り除きCDとEFを生成する。二次検索部27は、これらの結合可能単語15を用いて再び辞書63を検索する。二次検索部27は、一次検索部25が前方一致単語を検索した場合には、後方一致検索を行う。また、一次検索部25が後方一致単語を検索した場合には、前方一致検索を行う。また、一次検索部25が中間一致単語を検索した場合には、前方と後方の両方が一致する両方一致検索を行う。
二次検索部27は検索を行いながら、一致した単語があれば同一の単語の出現数をカウント部29によりカウントさせながら二次単語17を出力する。この例では、二次検索部27は後方一致単語としてXYZLMを1回検出し、GHLMを2回検出する。また、前方一致単語としてOPUVWを7回、OPIJを2回検出する。また、前方と後方の両方一致単語としてCDSTEFを4回検出し、CDKLEFを2回検出する。
出力部31は、これらの二次単語17を入力する。出力部31のソート部33はカウント部29がカウントしたカウントを用いて二次単語17をソートし、出現回数の多い方を先に出力する。
また、出力部31の重み下げ部35は出現回数が多過ぎるものがあれば、TF−IDF手法により、あるいはその他の手法により、出現回数が多い単語の重みを変える。この例では、OPUVWの出現回数が7回あったので最低の出現回数である1に変更した場合を示している。
ここで、tf・idf法とは、単語の頻度を利用してスコアを求め、検索された単語に優先順位をつける手法をいう。tf・idf法で求められるスコアは、もっとも典型的な例では、以下の式で決められる。
スコア=tf×idf
ただし、
tf:=あるキーワードがその対象文書中に含まれる出現回数
tfとは「Term Frequency」の略
idf:=log(N/n)
Nは全文書数、nがそのキーワードを含むファイル数
idfとは「inverse Document Frequency」の略
である。
tf・idf法の基本的なアイデアは、「ある文書群における高頻度語の重要度を下げ、低頻度語の重要度を上げる」ということである。つまり、文書数Nの文書群において、あるキーワードが多くの文書中に現れる普遍的なキーワードだった場合には、idfは小さくなり、逆に、特定の文書にしか現れない場合にはidfは大きくなる。要するに、idfはtfにかかる「重み付け」に当たる。tf・idf法には改良版もあるが、これについてもtf・idfでの1/log(n)のかわりに別の指標を用いるだけで、基本的にこのアイデアに基づいている。
出力部31は入力単語11であるABを置換する可能性のある置換可能単語19として図6の(a)に示す6つの単語を出力する。これらの単語は、ABと置換可能なものであり、類義語にあたるものである。検索プログラム65がこの置換可能単語19を出力するとブラウザ67は入力単語11の代わりに置換可能単語19の中から重み(出現回数)の大きな単語を用いて再度インターネットの検索を行うことができる。
【0020】
図4は、前述した図3の一具体例を示すものである。ここでは、入力単語11として「愛知」が入力され、前方一致検索を行い、「愛知」を前方に有する一次単語13として「愛知県」、「愛知医大」、「愛知みかん」が一次検索部25により検索された場合を示している。二次検索部27は、この3つの単語から後方一致検索を行うため、「県」、「医大」、「みかん」という結合可能単語15を生成し、2次検索を行う。その結果、二次単語17として「山梨県」、「静岡医大」、「静岡みかん」を検索したことを示している。出力部31は、二次単語17を出現回数でソートし、置換可能単語19として「静岡」、及び、「山梨」を出力する。このようにして、「愛知」という単語に対して「静岡」と「山梨」という2つの単語が置換可能単語である、すなわち、類義語であるという検索を行うことができる。
【0021】
次に、前述した検索プログラム65を用いて辞書63を単なるテキストファイルの辞書から類義語辞書に変更する場合について説明する。
図2に示した関係付け部37は、出力部31から出力された置換可能単語19を入力し、辞書63に入力単語11が置換可能単語19で置換可能であることを記憶させる。例えば、図5に示すように、図6の(a)に示したABと置換可能な置換可能単語19に対してABから実線の矢印が向けられている。この矢印は、関係付け部37により付加されるものである。具体的には、この矢印は、ABから各単語が記憶されているアドレスへのポインタとして実現できる。あるいは、リレーショナルデータベース形式でリレーションを付けることにより関連を記憶させることができる。もし、置換可能単語19として出力された単語が辞書63に存在しない場合には、関係付け部37はその単語を新たに辞書63に登録し、入力単語11の類義語であるという関連付けを記憶させる。このように、入力単語11が入力され、置換可能単語19が出力されるたび、関係付け部37は辞書63に類義語を登録し続ける。
前述した例は、ブラウザ67に入力されたキーワードを入力単語11とする場合を説明したが、辞書63にある単語を全て順に入力単語11として入力し、置換可能単語19を出力させ、関係付け部37により類義語を記憶させることにより辞書63は記憶さている全ての登録単語についての類義語を持つことができる。例えば、辞書63に1万語の単語が登録されている場合には、この1万語の単語を順に検索プログラム65に入力し、各単語の置換可能単語19を出力させ、関係付け部37により類義関係を記憶させることにより辞書63は単なる単語を登録した単語辞書ではなく、類義語辞書に変化する。この動作を、辞書63に新たな単語が登録されるたびに行ってもかまわないし、定期的、例えば、1週間に一度、1ヶ月に一度行うようにしても構わない。また、辞書63への新たな単語の登録は、例えば、インターネットの各ホームページからある指定された技術分野や、ある指定された私的な分野や、あるユーザが特に興味を持つ分野のデータを検索してくるロボットプログラムやエージェントプログラムの実行することにより行うことができる。このようにして、辞書63は専門的かつ、私的な分野の類義語辞書となる。こうして、ロボットプログラムやエージェントプログラムによる自動単語登録が行われ、かつ、検索プログラム65による自動類義語登録が行われることにより、辞書63は自動的に単語を増加させ、かつ、自動的に類義語を登録することになる。
【0022】
次に、検索プログラム65のループ部39の動作について説明する。置換可能単語19が出力されると、ループ部39は、置換可能単語19を入力し、再び入力単語11として検索プログラム65に入力させる。すなわち、置換可能単語19を入力単語11としてフィードバックするものである。例えば、図3において、XYZが置換可能単語19として出力された場合、このXYZを再び入力単語11として検索プログラム65に入力するものである。XYZが入力され、XYZの置換可能単語19として図6の(b)に示すようにGH,GHLM,OPIJ,XYの4つの単語が出力された場合には、関係付け部37はこれら4つの単語をXYZの類義語として登録すると同時に、かつ、ABの2次的な類義語として登録することもできる。
図5、図6において、XYZから4つの単語に向けられた実線の矢印は類義語を示しており、ABから4つの単語に向けられた破線の矢印は2次的な類義語であることを示している。このように、一つの類義語が見つかった場合には、その類義語の更なる類義語を検索することにより、類義語を連鎖的に探すことができる。
【0023】
前述した検索装置は、人間の認識の本質を原理としている。すなわち、人間が類義語か否かを判断する場合には、置換可能であるかどうかという認識を行い、置換可能である場合には、類義語であると考える。前述した検索装置は、入力単語に対して置換可能な単語を検索プログラム65により自動的に求めるものである。そのアルゴリズムは、前述したように、前方一致検索や、後方一致検索という非常に簡単なものではあるが、前述した人間の類義語を判断するための置換可能であるかという本質を検索プログラム65のアルゴリズムとして実現したものであり、このような人間の認識の本質に基づく類義語の検索を行うものは存在しない。
【0024】
前述した検索装置は、日本語に適応することもできるし、英語、仏語、独語、中国語等の他の言語に適応することも可能である。すなわち、対象とする言語を問わない。また、前述したように、検索装置を自動で起動できるようにしておけば、常に更新作業が可能である。また、前述した置換可能単語19には単に類義語だけではなく、意義上の上下関係(包含関係)がある単語(例えば、「ゴム」の上意語として「弾性体」)を抽出することも可能である。
【0025】
また、前述した例においては、単語を例にして説明したが、単語だけではなく、文字、文句、語句、字句、文、文章、書類、レポート、マニュアル、報告書、調査書、雑誌、出版物等の文字列に対しても適用することができる。例えば、文章を入力させた場合には、構文解析等を行い、置換可能な文章を検索し、置換可能文章として出力することが可能である。
また、このように置換可能な文や文章やテキストを検索することにより、入力された文や文章やテキストをカテゴリ別に分類することも可能である。単語を類義語として関係付けたように、文や文章やテキストを類義文章や類義テキストとして関係付けることにより、入力した文や文章やテキストを自動的に分類することができる。
【0026】
実施の形態2.
図7は、実施の形態2の検索装置を示す図である。
図7に示すコンポーネントにおいて、集合とは、文字,単語,節,句,文等の文字列の集合を言う。そして、これらの集合は、コンピュータの記憶装置に記憶されるデータであり、ファイルとして記憶されていたり、あるいは、メールとして記憶されていたり、あるいは、ウェブページやホームページとして記憶されていたり、データベースとして記憶されていたりするものである。
また、以下に述べる制御部と置換可能文字列検索部は、ソフトウェアで実現されても構わないし、ハードウェアで実現されても構わないし、ソフトウェアとハードウェアの組み合わせで実現されてもよい。
図7の各コンポーネントはそれぞれ下記の条件を満たせばその実装は問わない。
【0027】
入力文字列集合
・文字列の集合を保持する。
・集合の要素を一つづつ最後まで取り出すことができる。
【0028】
サンプリング文字列集合
・文字列の集合を保持する。
・ある文字列と前方一致、中間一致、後方一致する文字列を含む部分集合を抽出できる。
【0029】
制御部
・起動トリガー指示を受け付ける。
・入力文字列集合の各要素について検索を行うループ処理を行う。
・置換可能文字列検索部に対して検索要求を出す。
・検索結果のリストを置換可能文字列リスト集合に追加する。
【0030】
置換可能文字列検索部
・サンプリング文字列集合に対して一次検索を要求する。
・サンプリング文字列集合に対して二次検索を要求する。
・置換可能文字列リストを作成する(順位付けを含む)。
【0031】
置換可能文字列リスト集合
・入力文字列集合の要素一つに対する置換可能文字列の検索結果のリストの集合を保持する。
【0032】
実装の例
・サンプリング文字列集合の実装例としてRDBMS(リレーショナルデータベースマネジメントシステム)がある。
この場合、置換可能文字列リスト集合の実装は関係付けエンティティが効率のよい実装となる。
【0033】
入力文字列集合とサンプリング文字列集合とが保持する文字列集合の収集方法は下記のような例が考えられるが、それらに限定されない。すなわち、文字列が集合として存在することがシステムの動作条件であるが、その収集方法までは規定しない。
サンプリング文字列集合
・ユーザーからの入力
・受け取ったメール
・ブラウズしたウェブページ
・ロボットが収集したウェブページ
入力文字列集合
・ユーザー入力
・サンプリング文字列集合そのもの
【0034】
置換可能文字列集合リストの生成動作の開始タイミングには下記のような例が考えられるが、それらに限定はされない。
・ユーザーからの起動指示
・入力文字列集合の状態(集合要素の増減など)の変更通知
・定期的な起動
【0035】
次に、図7に示した検索装置の協調動作について説明する。
(0)起動指示
制御部に対して起動トリガーが発生する。この起動トリガーは、ユーザーによる場合、あるいは、入力文字列集合からの変更通知による場合、あるいは、サンプリング文字列集合の変更通知による場合、あるいは、定期的な起動による場合が考えられる。
(1)入力文字列の取得
制御部は、起動後、入力文字列集合から入力文字列を取得する。この取得動作は、入力文字列集合にある文字列の数だけ順に行われる。即ち、集合の各要素(文字列)について、ループ処理が行われる。
(2)置換可能な文字列の検索
制御部は、入力文字列集合から取得した文字列を置換可能文字列検索部に与える。置換可能文字列検索部は、以下に述べるような動作により入力文字列と置換可能な文字列リストを検索して制御部に出力する。
(3)一次検索
置換可能文字列検索部は、実施の形態1と同様な検索をサンプリング文字列集合に対して行う。サンプリング文字列集合は、実施の形態1と同じような辞書であっても構わないし、入力した文字列と前方一致、中間一致、後方一致する文字列を含む部分集合を抽出できるデータベースであっても構わない。例えば、サンプリング文字列集合は、SQL文を受け付けるデータベース、あるいは、キュアリー(問い合わせ)を受け付けるデータベースであっても構わない。
(4)二次検索
置換可能文字列検索部は、実施の形態1と同様な二次検索をサンプリング文字列集合に対して行い、置換可能文字列を得る。
(5)置換可能文字列リストの作成
置換可能文字列検索部は、二次検索により得た置換可能文字列の出現回数や、出現頻度を用いて優先度付け、あるいは、順位付けを行い、置換可能文字列リストを作成し、制御部に出力する。
図8は、頻度(順位付け)の例を示す図である。
サンプリング文字列集合には、図8(a)に示すように5つの単語が保持されているものとする。そして、図8(b)に示すように、「西武」という単語で一次検索を行うと「西武鉄道」と「西武デパート」という2つの単語が検索され、結合可能文字列として「鉄道」と「デパート」の2つの文字列が得られる。この2つの結合可能文字列を用いて二次検索を行った結果、「東武鉄道」と「東武デパート」と「三越デパート」という単語が二次検索の結果得られる。そして、図8(c)に示すように、置換可能文字列として、「東武」と「三越」が得られるが、その頻度(順位付け)は「東武」が2、「三越」が1となる。
(6)置換可能文字列リスト集合への追加
制御部は、置換可能文字列検索部から得た置換可能文字列リストを置換可能文字列リスト集合に追加する。制御部は、入力文字列集合から文字列を順にすべて取りだし、置換可能文字列リストを得て置換可能文字列リスト集合に出力する。
【0036】
【発明の効果】
以上のように、この発明によれば、類義語を自動的に置換可能性単語として検索してくるので、ユーザが容易に見つけることができない隠れた関係にある類義語を発見することが可能である。すなわち、先入観があると発見できない関係が見出される可能性がある。もし、ユーザが類義語として出力されたものがなぜ類義語になったかを知りたい場合には、図示していない対話形式のインタフェースを準備しておき、ユーザからシステムに対してなぜその類義語が類義語として検索されたかを問い掛けるようにすることができる。その場合、その対話式のインタフェースは、図3に示した一次単語13と結合可能単語15と二次単語17を表示することにより、すなわち、検索の途中経過を表示することにより、その単語が類義語として検索された理由をユーザに教えることができる。
【0037】
また、この発明によれば、この発明の一応用例として、類義語辞書の構築を自動的に行うことができる。従来は、類義語辞書は、人手で編纂され、膨大な労力が必要とされる。このため、類義語辞書を個人が所有することはできなかった。しかし、この発明の検索装置によれば、個人用の私的な類義語辞書を自動的に作成できる。また、専門分野や特殊分野の類義語辞書を自動的に作成し、かつ、自動的に更新することができる。
【0038】
また、この発明によれば、データベースの検索やインターネットの検索を行う場合、検索エンジンに与えるキーワードを自動的に増やすことができる。
【0039】
また、この発明によれば、検索装置を用いて人工知能用基礎データベースを構築することができる。類義語辞書はコンピュータが言葉の意味を知るための手がかりとなるものであり、この類義語辞書を自動的に構築し、この類義語辞書を人工知能用の基礎データベースとすることができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1の検索装置が動作するパーソナルコンピュータ51の構成図。
【図2】 この発明の実施の形態1の検索プログラム65の構成図。
【図3】 この発明の実施の形態1の検索プログラム65の動作図。
【図4】 この発明の実施の形態1の具体例を示す図。
【図5】 この発明の実施の形態1の辞書63の登録単語例を示す図。
【図6】 この発明の実施の形態1の類義語の連鎖を示す図。
【図7】 この発明の実施の形態2の協調動作図。
【図8】 この発明の実施の形態2の具体例を示す図。
【符号の説明】
11 入力単語、13 一次単語、15 結合可能単語、17 二次単語、19 置換可能単語、21 単語入力部、23 検索部、25 一次検索部、27二次検索部、29 カウント部、31 出力部、33 ソート部、35 重み下げ部、37 関係付け部、39 ループ部、51 パーソナルコンピュータ、53 CPU、57 メモリ、59 通信ボード、61 磁気ディスク、63 辞書、65 検索プログラム、67 ブラウザ、69 コンパクトディスクドライブ、71 フレキシブルディスクドライブ、73 キーボード、75 マウス、77 インターネット、79 LAN、81 パーソナルコンピュータ、83
サーバコンピュータ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a search device that searches for a word that can be replaced with an input word, that is, a synonym, for example.
The present invention also relates to a search device that generates a synonym dictionary using the searched synonyms.
[0002]
[Prior art]
When searching for data distributed on a network such as the Internet or data stored in a database, a user searches for related data by inputting a keyword. If the keyword does not allow the user to search for the desired data, the keyword is often searched using another keyword similar to the keyword. However, it took a considerable amount of time to think about other keywords similar to the user, or a considerable change in ideas and a considerable amount of experience.
[0003]
On the other hand, a synonym dictionary is used to automatically provide synonyms. In this synonym dictionary, words to be synonymous are registered in advance. This synonym dictionary registers synonyms selected by the creator of the synonym dictionary, but there are cases where sufficient synonyms are not registered.
Moreover, there is a problem that enormous effort is required when registering synonyms. In addition, the creator of the synonym does not communicate in all fields, and synonyms in specialized fields, special fields, and private fields may not be registered in the synonym dictionary.
In addition, new words are generated one after another in fields where electronic technology terms, biotechnology terms and the like are moving rapidly, and there is a problem that the synonym dictionary must be updated.
In addition, when registering a synonym dictionary, a synonym dictionary is also created using a probability model using the co-occurrence and appearance probability of two words, the probability of the relationship between two words, and the like. However, it is incomplete technology and has not reached the practical level.
[0004]
[Problems to be solved by the invention]
As described above, conventionally, there has been no method that can be performed easily and quickly when searching for synonyms or constructing a synonym dictionary.
[0005]
An object of the present invention is to provide a search device that searches for a word (character string) similar to an input word (character string), for example.
Another object of the present invention is to perform automatic processing of association between character strings based on, for example, substitution possibility and combination possibility.
Another object of the present invention is to provide a search device that automatically constructs a synonym dictionary using searched words as one application example.
[0006]
[Means for Solving the Problems]
The search device according to the present invention is a search device for searching for a character string from a dictionary in which character strings are registered as registered character strings.
An input unit for inputting a character string as an input character string;
A search unit for searching and outputting a replaceable character string that can be replaced with the input character string input by the input unit;
It is characterized by having.
[0007]
The search part above
A primary search unit for searching a registered character string including a part of the input character string as a primary character string from the dictionary using the input character string input by the input unit;
The remainder obtained by removing the input character string from the primary character string searched by the primary search unit is set as a connectable character string, and a registered character string including a part of the connectable character string as a secondary character string is searched from the dictionary. Next search part,
An output unit that outputs the remaining part obtained by removing the connectable character string from the secondary character string searched by the secondary search unit as a replaceable character string replaceable with the input character string;
It is provided with.
[0008]
The primary search part
A forward match search that searches for a registered character string that matches the input character string and the front of the registered character string, a backward match search that searches for a registered character string that matches the input character string and the back of the registered character string, and an input character Search the primary string by searching at least one of the middle match search that searches for the registered string that matches the middle of the column and the registered string,
The secondary search part
When the primary search unit searches for a primary character string by a forward match search, it searches for a secondary character string by a backward match search that searches for a registered character string that matches the connectable character string and the back of the registered character string,
When the primary search unit searches the primary character string by the backward match search, the secondary search is performed by searching for the registered character string in which the connectable character string and the registered character string are matched, and the secondary character string is searched.
When the primary search unit searches for a primary character string by an intermediate match search, it searches for a registered character string that matches both the connectable character string and the front and rear of the registered character string. It is characterized by searching.
[0009]
The input unit sequentially inputs a registered character string registered in the dictionary as an input character string, and the search unit searches the dictionary for a replaceable character string of the registered character string registered in the dictionary and outputs it.
The search device further includes an association unit that stores information indicating that the replaceable character string output from the search unit is a character string replaceable with a registered character string in a dictionary.
[0010]
The search device further includes a loop unit that searches the replaceable character string for the replaceable character string by inputting the replaceable character string output from the search unit to the input unit as an input character string. It is characterized by that.
[0011]
The secondary search unit has a counting unit that counts the number of appearances of the same secondary character string when the same secondary character string appears, and the output unit has a large number of occurrences of replaceable character strings. It has the sort part which outputs a replaceable character string in order.
[0012]
The search device is characterized in that a search keyword for searching at least one of Internet data and database data is input as an input character string, and a keyword similar to the search keyword is output as a replaceable character string. To do.
[0013]
The search device according to the present invention includes an input character string set that holds a set of input character strings,
A sampling string set that holds a set of sampling strings for searching for a string that can be replaced with the input string;
A replaceable string list set that holds a set of replaceable string lists that are searched for and output for each string in the set of character strings held in the input string set, and replaced with a certain input string A replaceable character string search unit that searches for possible replaceable character strings from the set of sampling character strings held in the sampling character string set and outputs as a replaceable character string list;
The character string is sequentially input from the set of character strings held in the input character string set, the input character string is given to the replaceable character string search unit in order as an input character string, and output from the replaceable character string search unit A control unit for adding the replaced replaceable character string list to the replaceable character string list set;
It is characterized by having.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Embodiment 1 FIG.
FIG. 1 is a diagram showing a personal computer 51 in which the search device of this embodiment is realized. The personal computer 51 includes a CPU 53, a bus 55, a memory 57, a communication board 59, a magnetic disk 61, a compact disk drive 69, a flexible disk drive 71, a keyboard 73 and a mouse 75. The magnetic disk 61 stores a dictionary 63, a search program 65, and a browser 67. Here, the dictionary 63 is a word dictionary in which words are simply registered. More specifically, words are stored in a text file format as character strings.
[0015]
Hereinafter, an uppercase alphabet is used to represent a character, and one or more alphabets are combined to be described as a character string (word).
The dictionary 63 is a dictionary that lists words such as AB, AC, ABC,... As a text file. The search program 65 is a search device described below realized by software. The search program 65 is loaded into the memory 57 and executed by the CPU 53. As a result, the search program 65 performs the operation of the search device described below. The browser 67 is an Internet search program. The browser 67 is also loaded into the memory 57 and executed by the CPU 53. The memory 57 is a volatile memory configured by a random access memory or the like. The communication board 59 executes a protocol for connecting to the Internet 77 or the LAN 79. For example, a modem, an Ethernet board, or a TCP / IP board is used. The personal computer 51 is connected to the Internet 77 or the LAN 79 via the communication board 59 and can communicate with the personal computer 81 or the server computer 83.
[0016]
In addition, although the case where the dictionary 63, the search program 65, and the browser 67 are stored in the magnetic disk 61 is shown, it is stored in the CD (compact disk) of the compact disk drive 69 or the FD (flexible disk) of the flexible disk drive 71. It does not matter. The dictionary 63, the search program 65, and the browser 67 are stored in the personal computer 81 and the server computer 83 and loaded into the personal computer 51 via the network, or accessed from the personal computer 51 via the network. It does not matter if it is designed.
The search program 65 can be created entirely by software. For example, it can be created using C language or visual basic language. However, the search program 65 may exist as firmware in a read-only memory (not shown), or a part or all of it may exist as hardware. When it exists as hardware, it is made into LSI and operates together with other circuits. Alternatively, the search program 65 may operate as an operating system or window system software driver. In that case, the search program 65 operates by a system call from the operating system or window system, or an interrupt process.
[0017]
FIG. 2 is a diagram showing the configuration and operation of the search program 65. The search program 65 includes a word input unit 21, a search unit 23, an association unit 37, and a loop unit 39. The search unit 23 includes a primary search unit 25, a secondary search unit 27, and an output unit 31. The word input unit 21 inputs a word as the input word 11. This word is, for example, a search keyword for the Internet input from the user to the browser 67 or a keyword for a database. The search unit 23 searches the dictionary 63 for a replaceable word that can be replaced with the input word 11 input by the word input unit 21 and outputs it. The primary search unit 25 uses the input word 11 input by the word input unit 21 to search the dictionary 63 as a primary word 13 for a registered word that includes the input word 11 as a part thereof. The secondary search unit 27 uses the remaining part obtained by removing the input word 11 from the primary word 13 searched by the primary search unit 25 as a connectable word, and registers a registered word that includes a part of the connectable word as a secondary word 17. Search from 63. The output unit 31 outputs the remaining part obtained by removing the connectable word from the secondary word 17 searched by the secondary search unit 27 as the replaceable word 19 that can be replaced with the input word 11.
[0018]
FIG. 3 is a diagram illustrating the operation of the search unit 23 described above.
FIG. 4 is a diagram showing a specific example of the operation.
FIG. 5 is a diagram illustrating an example of words registered in the dictionary 63.
[0019]
Here, it is assumed that words as shown in FIG. 5 are registered in the dictionary 63 in advance. The solid line arrows and the broken line arrows in FIG. 5 will be described later. In FIG. 3, it is assumed that AB is input as the input word 11.
The primary search unit 25 searches the dictionary 63 for words including AB using AB. The primary search unit 25 performs a forward match search, a backward match search, and an intermediate match search using AB. Then, the front match word ABLM, the back match word OPAB, and the intermediate match word CDABEF are searched as the primary word 13. The secondary search unit 27 inputs these primary words 13 and generates a connectable word 15 consisting of the remainder obtained by removing AB from each word. In this example, AB is removed from ABLM to generate LM. In addition, OP is generated by removing AB from OPAB. Further, AB is removed from CDABEF to generate CD and EF. The secondary search unit 27 searches the dictionary 63 again using these connectable words 15. The secondary search unit 27 performs a backward match search when the primary search unit 25 searches for a forward match word. When the primary search unit 25 searches for a backward matching word, a forward matching search is performed. Further, when the primary search unit 25 searches for an intermediate match word, a both-match search in which both the front and the rear match is performed.
While performing the search, the secondary search unit 27 outputs the secondary word 17 while causing the count unit 29 to count the number of occurrences of the same word if there is a matched word. In this example, the secondary search unit 27 detects XYZLM once as a backward matching word and detects GHLM twice. Further, OPUVW is detected 7 times and OPIJ is detected twice as a forward matching word. Also, CDSTEF is detected four times as both forward and backward matching words, and CDKLEF is detected twice.
The output unit 31 inputs these secondary words 17. The sorting unit 33 of the output unit 31 sorts the secondary words 17 using the count counted by the counting unit 29, and outputs the one with the larger number of appearances first.
Further, if the weight reduction unit 35 of the output unit 31 has an excessive number of appearances, the weight of a word with a large number of appearances is changed by the TF-IDF method or other methods. In this example, since the number of occurrences of OPUVW is 7, the case where the number of occurrences is changed to 1 which is the minimum number of appearances is shown.
Here, the tf / idf method refers to a method of obtaining a score using the frequency of words and giving priority to searched words. In the most typical example, the score obtained by the tf · idf method is determined by the following equation.
Score = tf × idf
However,
tf: = Number of appearances that a certain keyword is included in the target document
tf stands for "Term Frequency"
idf: = log (N / n)
N is the total number of documents, n is the number of files containing the keyword
idf is an abbreviation for "Inverse Document Frequency"
It is.
The basic idea of the tf / idf method is “to lower the importance of high-frequency words and increase the importance of low-frequency words in a certain document group”. That is, if a certain keyword is a universal keyword appearing in many documents in a document group of N documents, idf is small, and conversely if id appears only in a specific document, idf is large. Become. In short, idf corresponds to “weighting” applied to tf. There is also an improved version of the tf · idf method, but this is basically based on this idea by using another index instead of 1 / log (n) in tf · idf.
The output unit 31 outputs the six words shown in FIG. 6A as the replaceable words 19 that may replace the input word 11 AB. These words can be replaced with AB and are synonyms. When the search program 65 outputs the replaceable word 19, the browser 67 can search the Internet again using a word having a large weight (number of appearances) from the replaceable word 19 instead of the input word 11.
[0020]
FIG. 4 shows a specific example of FIG. 3 described above. Here, “Aichi” is input as the input word 11, a forward matching search is performed, and “Aichi”, “Aichi Medical University”, and “Aichi Mikan” are the primary search unit 25 as the primary word 13 having “Aichi” ahead. The case where it searched by is shown. In order to perform a backward matching search from these three words, the secondary search unit 27 generates a connectable word 15 such as “prefecture”, “medical college”, and “mandarin orange” and performs a secondary search. As a result, it is shown that “Yamanashi Prefecture”, “Shizuoka Medical University”, and “Shizuoka Mikan” are searched as the secondary word 17. The output unit 31 sorts the secondary words 17 by the number of appearances, and outputs “Shizuoka” and “Yamanashi” as the replaceable words 19. In this way, it is possible to perform a search that the two words “Shizuoka” and “Yamanashi” are replaceable words, that is, synonyms, for the word “Aichi”.
[0021]
Next, a case will be described in which the dictionary 63 is changed from a simple text file dictionary to a synonym dictionary using the search program 65 described above.
2 inputs the replaceable word 19 output from the output unit 31, and stores in the dictionary 63 that the input word 11 can be replaced with the replaceable word 19. For example, as shown in FIG. 5, a solid line arrow is directed from AB to the replaceable word 19 that can be replaced with AB shown in FIG. This arrow is added by the association unit 37. Specifically, this arrow can be realized as a pointer from AB to the address where each word is stored. Alternatively, associations can be stored by attaching relations in a relational database format. If the word output as the replaceable word 19 does not exist in the dictionary 63, the associating unit 37 newly registers the word in the dictionary 63 and stores the association that it is a synonym of the input word 11. Thus, whenever the input word 11 is input and the replaceable word 19 is output, the associating unit 37 continues to register synonyms in the dictionary 63.
In the above-described example, the case where the keyword input to the browser 67 is the input word 11 has been described. However, all the words in the dictionary 63 are sequentially input as the input word 11 and the replaceable word 19 is output. By storing synonyms in 37, the dictionary 63 can have synonyms for all registered words. For example, when 10,000 words are registered in the dictionary 63, the 10,000 words are sequentially input to the search program 65, and the replaceable word 19 of each word is output. By storing the synonym relationship, the dictionary 63 changes to a synonym dictionary instead of a word dictionary in which simple words are registered. This operation may be performed every time a new word is registered in the dictionary 63, or may be performed periodically, for example, once a week, once a month. In addition, new words are registered in the dictionary 63 by, for example, searching for data in a specified technical field, a specified private field, or a field of particular interest to a user from each homepage on the Internet. This can be done by executing an incoming robot program or agent program. In this manner, the dictionary 63 becomes a synonym dictionary in a professional and private field. Thus, automatic word registration by the robot program or agent program is performed, and automatic synonym registration by the search program 65 is performed, so that the dictionary 63 automatically increases words and automatically registers synonyms. It will be.
[0022]
Next, the operation of the loop unit 39 of the search program 65 will be described. When the replaceable word 19 is output, the loop unit 39 inputs the replaceable word 19 and causes the search program 65 to input it again as the input word 11. That is, the replaceable word 19 is fed back as the input word 11. For example, in FIG. 3, when XYZ is output as the replaceable word 19, this XYZ is again input to the search program 65 as the input word 11. When XYZ is input and four words GH, GHLM, OPIJ, and XY are output as replaceable words 19 of XYZ as shown in FIG. 6B, the associating unit 37 selects these four words. Can be registered as a synonym of XYZ and at the same time as a secondary synonym of AB.
5 and 6, the solid arrows directed from the XYZ to the four words indicate synonyms, and the broken arrows directed from the AB to the four words indicate secondary synonyms. Yes. In this way, when one synonym is found, it is possible to search for synonyms in a chain by searching for further synonyms of the synonym.
[0023]
The search device described above is based on the essence of human recognition. That is, when it is determined whether or not a person is a synonym, it is recognized whether or not it can be replaced. The search device described above automatically obtains a word that can be substituted for the input word by the search program 65. As described above, the algorithm is very simple such as a forward match search or a backward match search. However, the algorithm of the search program 65 is based on the essence of whether the above-described replacement is possible for determining a human synonym. There is no such thing that searches for synonyms based on the essence of human recognition.
[0024]
The search device described above can be adapted to Japanese or other languages such as English, French, German and Chinese. That is, the target language is not limited. Further, as described above, if the search device can be automatically activated, the update operation can always be performed. In addition, the replaceable word 19 described above can extract not only a synonym but also a word having a meaningful hierarchical relationship (inclusion relationship) (for example, “elastic body” as an acronym of “rubber”). It is.
[0025]
In addition, in the above-mentioned example, the explanation was made by taking a word as an example, but not only a word but also a character, a phrase, a phrase, a lexical, a sentence, a sentence, a document, a report, a manual, a report, a survey, a magazine, a publication It can also be applied to character strings such as. For example, when a sentence is input, it is possible to perform syntactic analysis, search for a replaceable sentence, and output it as a replaceable sentence.
In addition, by searching for replaceable sentences, sentences, and texts, it is possible to classify the input sentences, sentences, and texts by category. Just as a word is related as a synonym, an input sentence, sentence, or text can be automatically classified by associating a sentence, sentence, or text as a synonym sentence or synonym text.
[0026]
Embodiment 2. FIG.
FIG. 7 is a diagram illustrating the search device according to the second embodiment.
In the component shown in FIG. 7, a set refers to a set of character strings such as characters, words, clauses, phrases, and sentences. These sets are data stored in a storage device of a computer, stored as a file, stored as an email, stored as a web page or home page, or stored as a database. It is something that has been done.
Further, the control unit and replaceable character string search unit described below may be realized by software, may be realized by hardware, or may be realized by a combination of software and hardware.
Each component in FIG. 7 may be mounted as long as the following conditions are satisfied.
[0027]
Input string set
-Holds a set of strings.
-You can extract the elements of the set one by one to the end.
[0028]
Sampling string set
-Holds a set of strings.
-It is possible to extract a subset including a character string that matches a certain character string with a forward match, an intermediate match, and a backward match.
[0029]
Control unit
・ Accept start trigger instructions.
-Perform loop processing to search for each element of the input string set.
-Send a search request to the replaceable character string search unit.
Add the search result list to the replaceable string list set.
[0030]
Replaceable string search part
Request primary search for sampling string set.
Request secondary search for sampling string set.
Create a replaceable string list (including ranking).
[0031]
Replaceable string list set
Holds a list of search results of replaceable character strings for one element of the input character string set.
[0032]
Implementation example
An RDBMS (relational database management system) is an example of implementation of a sampling character string set.
In this case, the implementation of the replaceable character string list set is an efficient implementation of the association entity.
[0033]
Examples of the method of collecting the character string sets held by the input character string set and the sampling character string set are as follows, but are not limited thereto. That is, the operating condition of the system is that character strings exist as a set, but the collection method is not specified.
Sampling string set
・ User input
・ Received mail
・ Browsed web pages
・ Web pages collected by robots
Input string set
・ User input
・ Sampling string set itself
[0034]
Examples of the start timing of the generation operation of the replaceable character string set list are as follows, but are not limited thereto.
・ Start-up instructions from the user
-Notification of input string set status change (such as increase / decrease of set elements)
・ Regular startup
[0035]
Next, the cooperative operation of the search device shown in FIG. 7 will be described.
(0) Start instruction
An activation trigger is generated for the control unit. The activation trigger may be a case of a user, a change notification from an input character string set, a change notification of a sampling character string set, or a periodic activation.
(1) Acquisition of input character string
A control part acquires an input character string from an input character string set after starting. This acquisition operation is performed in order for the number of character strings in the input character string set. That is, loop processing is performed for each element (character string) of the set.
(2) Search for replaceable character strings
The control unit gives the character string acquired from the input character string set to the replaceable character string search unit. The replaceable character string search unit searches for a character string list that can be replaced with the input character string by the operation described below, and outputs it to the control unit.
(3) Primary search
The replaceable character string search unit performs a search similar to that of the first embodiment on the sampling character string set. The sampling character string set may be a dictionary similar to that of the first embodiment, or may be a database that can extract a subset including character strings that match the input character string with forward match, intermediate match, and backward match. I do not care. For example, the sampling character string set may be a database that accepts an SQL sentence or a database that accepts a cure (inquiry).
(4) Secondary search
The replaceable character string search unit performs a secondary search similar to that of the first embodiment on the sampling character string set to obtain a replaceable character string.
(5) Creation of replaceable character string list
The replaceable character string search unit creates a replaceable character string list by assigning priorities or rankings using the appearance frequency and appearance frequency of replaceable character strings obtained by secondary search, and creating a replaceable character string list. Output to.
FIG. 8 is a diagram illustrating an example of the frequency (ranking).
Assume that five words are held in the sampling character string set as shown in FIG. Then, as shown in FIG. 8B, when a primary search is performed with the word “Seibu”, two words “Seibu Railway” and “Seibu Department Store” are searched, and “Railway” and “ Two character strings "department" are obtained. As a result of the secondary search using these two connectable character strings, the words “Tobu Railway”, “Tobu Department Store”, and “Mitsukoshi Department Store” are obtained as a result of the secondary search. As shown in FIG. 8C, “Tobu” and “Mitsukoshi” are obtained as replaceable character strings, and the frequency (ranking) is “Tobu” is 2 and “Mitsukoshi” is 1. .
(6) Addition to replaceable character string list set
The control unit adds the replaceable character string list obtained from the replaceable character string search unit to the replaceable character string list set. The control unit sequentially extracts all character strings from the input character string set, obtains a replaceable character string list, and outputs the replaceable character string list to the replaceable character string list set.
[0036]
【The invention's effect】
As described above, according to the present invention, synonyms are automatically searched as replaceable words, so it is possible to find synonyms in a hidden relationship that cannot be easily found by the user. In other words, there is a possibility of finding a relationship that cannot be found if there is a preconception. If the user wants to know why what was output as a synonym became a synonym, prepare an interactive interface (not shown) and search the system for why the synonym is synonymous with the system. You can ask what happened. In that case, the interactive interface displays the primary word 13, the connectable word 15, and the secondary word 17 shown in FIG. 3, that is, displays the progress of the search, so that the word is a synonym. The user can be informed about the reason for the search.
[0037]
Further, according to the present invention, as an application example of the present invention, a synonym dictionary can be automatically constructed. Conventionally, synonym dictionaries have been compiled manually, requiring enormous effort. For this reason, a synonym dictionary could not be owned by an individual. However, according to the search device of the present invention, a personal private synonym dictionary can be automatically created. Also, synonym dictionaries for specialized fields and special fields can be automatically created and updated automatically.
[0038]
In addition, according to the present invention, the number of keywords given to the search engine can be automatically increased when performing a database search or Internet search.
[0039]
Further, according to the present invention, a basic database for artificial intelligence can be constructed using a search device. The synonym dictionary is a clue for the computer to know the meaning of the word. This synonym dictionary is automatically constructed, and this synonym dictionary can be used as a basic database for artificial intelligence.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a personal computer 51 in which a search device according to Embodiment 1 of the present invention operates.
FIG. 2 is a configuration diagram of a search program 65 according to Embodiment 1 of the present invention.
FIG. 3 is an operation diagram of a search program 65 according to the first embodiment of the present invention.
FIG. 4 is a diagram showing a specific example of the first embodiment of the present invention.
FIG. 5 is a diagram showing an example of registered words in the dictionary 63 according to the first embodiment of the present invention.
FIG. 6 is a diagram showing a synonym chain according to Embodiment 1 of the present invention;
FIG. 7 is a cooperative operation diagram according to the second embodiment of the present invention.
FIG. 8 is a diagram showing a specific example of Embodiment 2 of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 11 Input word, 13 Primary word, 15 Combinable word, 17 Secondary word, 19 Replaceable word, 21 Word input part, 23 Search part, 25 Primary search part, 27 Secondary search part, 29 Count part, 31 Output part 33 Sorting unit 35 Weight reduction unit 37 Association unit 39 Loop unit 51 Personal computer 53 CPU 57 Memory 59 Communication board 61 Magnetic disk 63 Dictionary 65 Search program 67 Browser 69 Compact disk Drive, 71 Flexible disk drive, 73 Keyboard, 75 Mouse, 77 Internet, 79 LAN, 81 Personal computer, 83
Server computer.

Claims (8)

文字列を登録文字列として登録した辞書から、文字列を検索する検索装置において、
ある文字列を入力文字列として入力する入力部と、
入力部が入力した入力文字列と置換可能な置換可能文字列を辞書から検索して出力する検索部と
を有することを特徴とする検索装置。
In a search device that searches a character string from a dictionary in which character strings are registered as registered character strings,
An input unit for inputting a character string as an input character string;
A search device, comprising: a search unit that searches a dictionary for a replaceable character string that can be replaced with an input character string that is input by an input unit.
上記検索部は、
入力部が入力した入力文字列を用いて入力文字列が一部分に含まれている登録文字列を一次文字列として辞書から検索する一次検索部と、
一次検索部により検索された一次文字列から入力文字列を除いた残部を結合可能文字列とし、結合可能文字列が一部分に含まれている登録文字列を二次文字列として辞書から検索する二次検索部と、
二次検索部により検索された二次文字列から結合可能文字列を除いた残部を、入力文字列と置換可能な置換可能文字列として出力する出力部と
を備えたことを特徴とする請求項1記載の検索装置。
The search part above
A primary search unit for searching a registered character string including a part of the input character string as a primary character string from the dictionary using the input character string input by the input unit;
The remainder obtained by removing the input character string from the primary character string searched by the primary search unit is set as a connectable character string, and a registered character string including a part of the connectable character string as a secondary character string is searched from the dictionary. Next search part,
The output part which outputs the remainder part which remove | excluded the character string which can be combined from the secondary character string searched by the secondary search part as a replaceable character string which can be substituted with an input character string, It is characterized by the above-mentioned. The search device according to 1.
上記一次検索部は、
入力文字列と登録文字列の前方とが一致する登録文字列を検索する前方一致検索と、入力文字列と登録文字列の後方とが一致する登録文字列を検索する後方一致検索と、入力文字列と登録文字列の中間とが一致する登録文字列を検索する中間一致検索との少なくともいずれかの検索により一次文字列を検索し、
上記二次検索部は、
一次検索部が前方一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の後方とが一致する登録文字列を検索する後方一致検索により二次文字列を検索し、
一次検索部が後方一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の後方とが一致する登録文字列を検索する前方一致検索により二次文字列を検索し、
一次検索部が中間一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の前方と後方の両方とが一致する登録文字列を検索する両方一致検索により二次文字列を検索することを特徴とする請求項2記載の検索装置。
The primary search part
A forward match search that searches for a registered character string that matches the input character string and the front of the registered character string, a backward match search that searches for a registered character string that matches the input character string and the back of the registered character string, and an input character Search the primary string by searching at least one of the middle match search that searches for the registered string that matches the middle of the column and the registered string,
The secondary search part
When the primary search unit searches for a primary character string by a forward match search, it searches for a secondary character string by a backward match search that searches for a registered character string that matches the connectable character string and the back of the registered character string,
When the primary search unit searches the primary character string by the backward match search, the secondary search is performed by searching for the registered character string in which the connectable character string and the registered character string are matched, and the secondary character string is searched.
When the primary search unit searches for a primary character string by an intermediate match search, it searches for a registered character string that matches both the connectable character string and the front and rear of the registered character string. The search device according to claim 2, wherein the search device is searched.
上記入力部は、辞書に登録された登録文字列を順に入力文字列として入力し、
上記検索部は、辞書に登録された登録文字列の置換可能文字列を辞書から検索して出力し、
上記検索装置は、さらに、上記検索部が出力した置換可能文字列が登録文字列と置換可能な文字列であることを示す情報を辞書に記憶させる関係付け部を備えたことを特徴とする請求項1記載の検索装置。
The input unit sequentially inputs the registered character strings registered in the dictionary as input character strings,
The search unit searches the dictionary for replaceable character strings registered in the dictionary and outputs them,
The search apparatus further includes an association unit that stores information indicating that the replaceable character string output from the search unit is a character string replaceable with a registered character string in a dictionary. Item 4. The search device according to Item 1.
上記検索装置は、さらに、検索部が出力した置換可能文字列を入力部に入力文字列として入力することにより、置換可能文字列に対して、さらに、置換可能文字列を検索させるループ部を備えたことを特徴とする請求項1記載の検索装置。  The search device further includes a loop unit that searches the replaceable character string for the replaceable character string by inputting the replaceable character string output from the search unit to the input unit as an input character string. The search device according to claim 1, wherein: 上記二次検索部は、同一の二次文字列が出現した場合、同一の二次文字列の出現回数をカウントするカウント部を有し、上記出力部は、置換可能文字列の出現回数の大きい順に置換可能文字列を出力するソート部を有することを特徴とする請求項2記載の検索装置。  The secondary search unit has a counting unit that counts the number of appearances of the same secondary character string when the same secondary character string appears, and the output unit has a large number of occurrences of replaceable character strings. The search device according to claim 2, further comprising a sorting unit that sequentially outputs replaceable character strings. 上記検索装置は、インターネットのデータとデータベースのデータとの少なくともいずれかを検索する検索キーワードを入力文字列として入力し、検索キーワードに類義するキーワードを置換可能性文字列として出力することを特徴とする請求項1記載の検索装置。  The search device is characterized in that a search keyword for searching at least one of Internet data and database data is input as an input character string, and a keyword similar to the search keyword is output as a replaceable character string. The search device according to claim 1. 入力する文字列の集合を保持する入力文字列集合と、
入力された文字列と置換可能な文字列を検索するためのサンプリング文字列の集合を保持するサンプリング文字列集合と、
入力文字列集合に保持された文字列の集合の各文字列に対して検索され出力された置換可能な文字列のリストの集合を保持する置換可能文字列リスト集合と、ある入力文字列と置換可能な置換可能文字列を上記サンプリング文字列集合に保持されたサンプリング文字列の集合から検索して置換可能文字列リストとして出力する置換可能文字列検索部と、
上記入力文字列集合に保持された文字列の集合から文字列を順に入力し、入力した文字列を入力文字列として上記置換可能文字列検索部に順に与え、上記置換可能文字列検索部から出力された置換可能文字列リストを上記置換可能文字列リスト集合に追加する制御部と
を有することを特徴とする検索装置。
An input string set that holds a set of input strings;
A sampling string set that holds a set of sampling strings for searching for a string that can be replaced with the input string;
A replaceable string list set that holds a set of replaceable string lists that are searched for and output for each string in the set of character strings held in the input string set, and replaced with a certain input string A replaceable character string search unit that searches for possible replaceable character strings from the set of sampling character strings held in the sampling character string set and outputs as a replaceable character string list;
The character string is sequentially input from the set of character strings held in the input character string set, the input character string is given to the replaceable character string search unit in order as an input character string, and output from the replaceable character string search unit And a control unit for adding the replaceable character string list thus made to the replaceable character string list set.
JP2000204568A 2000-07-06 2000-07-06 Retrieving device Withdrawn JP2005099884A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000204568A JP2005099884A (en) 2000-07-06 2000-07-06 Retrieving device
PCT/JP2001/005796 WO2002005131A1 (en) 2000-07-06 2001-07-04 Searching device
AU2001269434A AU2001269434A1 (en) 2000-07-06 2001-07-04 Searching device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000204568A JP2005099884A (en) 2000-07-06 2000-07-06 Retrieving device

Publications (1)

Publication Number Publication Date
JP2005099884A true JP2005099884A (en) 2005-04-14

Family

ID=18701809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000204568A Withdrawn JP2005099884A (en) 2000-07-06 2000-07-06 Retrieving device

Country Status (3)

Country Link
JP (1) JP2005099884A (en)
AU (1) AU2001269434A1 (en)
WO (1) WO2002005131A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150449A (en) * 2010-01-20 2011-08-04 Kddi R & D Laboratories Inc Text sort program for sorting text containing unknown word, method and text analysis server
JP2019139413A (en) * 2018-02-08 2019-08-22 富士通株式会社 Search processing program, search processing method, and search processing apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2786118B2 (en) * 1994-11-22 1998-08-13 技術研究組合新情報処理開発機構 Semantic knowledge acquisition device
JPH11143875A (en) * 1997-11-10 1999-05-28 Nec Corp Device and method for automatic word classification
JP2000137718A (en) * 1998-11-04 2000-05-16 Nippon Telegr & Teleph Corp <Ntt> Similarity deciding method for word and record medium where similarity deciding program for word is recorded

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150449A (en) * 2010-01-20 2011-08-04 Kddi R & D Laboratories Inc Text sort program for sorting text containing unknown word, method and text analysis server
JP2019139413A (en) * 2018-02-08 2019-08-22 富士通株式会社 Search processing program, search processing method, and search processing apparatus
JP7091685B2 (en) 2018-02-08 2022-06-28 富士通株式会社 Search processing program, search processing method and search processing device

Also Published As

Publication number Publication date
AU2001269434A1 (en) 2002-01-21
WO2002005131A1 (en) 2002-01-17

Similar Documents

Publication Publication Date Title
Resnik et al. The web as a parallel corpus
JP4282769B2 (en) Retrieval of information using semantic representation of text
US9378285B2 (en) Extending keyword searching to syntactically and semantically annotated data
AU2005217413B2 (en) Intelligent search and retrieval system and method
US8041697B2 (en) Semi-automatic example-based induction of semantic translation rules to support natural language search
US6901399B1 (en) System for processing textual inputs using natural language processing techniques
Cimiano et al. Gimme'the context: context-driven automatic semantic annotation with C-PANKOW
US20090070322A1 (en) Browsing knowledge on the basis of semantic relations
KR20060002831A (en) Systems and methods for interactive search query refinement
JP2012520528A (en) System and method for automatic semantic labeling of natural language text
Liu et al. Information retrieval and Web search
JP2011118689A (en) Retrieval method and system
Nakashole et al. Real-time population of knowledge bases: opportunities and challenges
EP0998714A1 (en) System for processing textual inputs using natural language processing techniques
Karnalim Language-agnostic source code retrieval using keyword & identifier lexical pattern
Torres-Parejo et al. MTCIR: A multi-term tag cloud information retrieval system
Ceri et al. The information retrieval process
JP2005099884A (en) Retrieving device
WO2009090498A2 (en) Key semantic relations for text processing
Milić-Frayling Text processing and information retrieval
Shao et al. An efficient expansion word extraction algorithm for educational video
Hacquard et al. A Corpus Processing and Analysis Pipeline for Quickref
WO2009035871A1 (en) Browsing knowledge on the basis of semantic relations
Shah Review of indexing techniques applied in information retrieval
Raza et al. An Improved Semantic Query Expansion Approach Using Incremental User Tag Profile for Efficient Information Retrieval

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051020

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071002