JP2791106B2 - String search device - Google Patents

String search device

Info

Publication number
JP2791106B2
JP2791106B2 JP1149630A JP14963089A JP2791106B2 JP 2791106 B2 JP2791106 B2 JP 2791106B2 JP 1149630 A JP1149630 A JP 1149630A JP 14963089 A JP14963089 A JP 14963089A JP 2791106 B2 JP2791106 B2 JP 2791106B2
Authority
JP
Japan
Prior art keywords
character string
expansion
character
notation
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1149630A
Other languages
Japanese (ja)
Other versions
JPH0315980A (en
Inventor
敦 畠山
浩道 藤澤
寛次 加藤
川口  久光
雅章 藤縄
秀文 増崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1149630A priority Critical patent/JP2791106B2/en
Priority to PCT/JP1990/000774 priority patent/WO1990016036A1/en
Priority to DE69032712T priority patent/DE69032712T2/en
Priority to EP90909360A priority patent/EP0437615B1/en
Priority to US07/555,483 priority patent/US5168533A/en
Publication of JPH0315980A publication Critical patent/JPH0315980A/en
Priority to US07/843,162 priority patent/US5469354A/en
Priority to US07/914,334 priority patent/US5220625A/en
Priority to US07/985,795 priority patent/US5519857A/en
Priority to US08/031,625 priority patent/US5471610A/en
Priority to US08/031,700 priority patent/US5454105A/en
Priority to US08/444,842 priority patent/US5748953A/en
Priority to US08/839,407 priority patent/US6094647A/en
Application granted granted Critical
Publication of JP2791106B2 publication Critical patent/JP2791106B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION 【産業上の利用分野】[Industrial applications]

本発明は、テキストデータベースを指定した文字列で
検索する装置に係わり、特に統制されていないキーワー
ド(自由語と呼ぶ)を用いて検索する際に、同義語や表
記法の違いによる検索漏れをなくすのに好適な文字列検
索装置に関する。
The present invention relates to an apparatus for searching a text database using a specified character string, and particularly eliminates a search omission due to a difference in a synonym or a notation when searching using an uncontrolled keyword (called a free word). A character string search device suitable for

【従来の技術】[Prior art]

近年、文献情報や特許情報などの2次情報(書誌情
報)のみならず、1次情報(本文)をも含む大規模デー
タベース・サービスの重要性が増している。このような
データベース(DBと略すこともある)の情報検索では、
従来からキーワードや分類コードによる方法が用いられ
てきている。キーワードは、データベースへの情報登録
時に、キーワードを付与する(インデキシングと言う)
専門家が統制語集(シソーラスと呼ぶ)から選んで付け
ている。そして、DB検索者もこのシソーラスからキーワ
ードを選び出して検索を行なう方式がとられている。し
かしながら、このキーワード付与作業は、非常に煩雑な
作業を伴う。すなわち、登録すべき文書の内容を読み、
この内容を表現する適切な語彙をシソーラスから選び出
す必要がある。もしインデキシングを適切に行なわなけ
れば、データベースから正しい情報が得られないことに
なる。従って、このインデキシングには文書の内容に関
する専門知識を持ち、かつシソーラスに登録されている
語彙にも精通した専門家が必要になるという問題があ
る。また、検索時にも同様に、シソーラスに則った適切
な語彙をキーワードとして指定しなければ、要求する文
書を呼び出せなかったり、あるいは呼び出した文書の中
に不要なものが混じり込むという問題がある。 また、このシソーラスにおいては、分類体系自体が年
月と共に変化するため、常にキーワードや分類コードを
更新しなければならないという問題も生じてくる。更
に、インデキシングには時間がかかるため、新たな文書
はバッチ処理によりかなりの量をまとめて登録すること
になる。そのため、検索できる情報は常に一定期間のお
くれを持つという問題もある。このようなことから、DB
の普及に伴い、DBの専門家でなくとも、シソーラス等に
拘束されることなく、簡単に自由語(非統制語ともい
う)で、文書の登録、検索が行なえるシステムが望まれ
てきた。 このような自由語による検索の過程では、しばしばユ
ーザの指定するキーワードすなわち検索文字列と、検索
対象であるDB中で用いられている言葉が同一の内容を示
すのにもかかわらず、表記あるいは表現が食い違ってい
るために検索漏れを生ずる場合がある。例えば、 “ピアノ”という言葉を“ピヤノ” と記述したり、また “インターフェイス”という言葉を “インタフェース”、“インタフェイス” あるいは“インターフェース” と記述したりすることがある。このような微妙な音節表
記法のバリエーションの違いにより、所望する情報を検
索できない場合がある。 以下、表記法の異なる文字列に展開することを異表記
展開と呼び、辞書を用いて他の文字列へ展開することを
同義語展開と呼ぶ。また、表記法の異なる文字列のこと
を異表記と呼ぶ。 このような異表記や同義語の問題を解決する方法とし
て、特開昭62−011932を提案した。なお、この引例の中
では、異表記展開のことを異表記発生と呼び、同義語展
開のことを類似語抽出と呼んでいる。 第2図に、この引例の構成をブロック図で示す。 この構成では、ローマ字やカタカナ表現で入力した検
索文字列を、一旦全てカタカナの標準化された表記の文
字列に変換する。すなわち、異表記発生の逆の操作によ
り、複数個の表記法を一つにまとめる表記標準化処理を
まず最初に行なう。また、アルファベット表現で入力さ
れた検索文字列も外来語カナ変換により、カタカナ表面
に統一される。 こうして、一旦標準化したカタカナ文字列を、同義語
辞書を用いて類似語展開し、入力したカタカナ文字列と
同義の単語をカタカナ文字列として出力する。類似語抽
出した後のカタカナ文字列は、カナ漢字変換を行ない漢
字文字列へ、カナ外来語変換を行ないアルファベット表
現の外国語に、カナローマ字変換を施してローマ字文字
列へ変換する。 このようにして、類似語抽出の結果であるカタカナ文
字列を、漢字、ローマ字、カタカナ、外国語の各表現に
変換して、それぞれ異表記展開する。
In recent years, the importance of large-scale database services including not only secondary information (bibliographic information) such as document information and patent information but also primary information (text) has been increasing. When searching for information in such a database (sometimes abbreviated as DB),
Conventionally, a method using a keyword or a classification code has been used. Keywords are assigned at the time of registering information in the database (called indexing)
Experts select and add words from a controlled vocabulary (called a thesaurus). The DB searcher also selects a keyword from this thesaurus and performs a search. However, this keyword assignment operation involves a very complicated operation. That is, read the contents of the document to be registered,
It is necessary to select an appropriate vocabulary that expresses this content from the thesaurus. If the indexing is not performed properly, the correct information cannot be obtained from the database. Therefore, there is a problem that this indexing requires an expert who has expertise in the contents of the document and is also familiar with the vocabulary registered in the thesaurus. Similarly, at the time of retrieval, if an appropriate vocabulary in accordance with the thesaurus is not specified as a keyword, there is a problem that a requested document cannot be called or unnecessary documents are mixed in the called documents. In addition, in this thesaurus, since the classification system itself changes with time, there arises a problem that keywords and classification codes must be constantly updated. Furthermore, since indexing takes time, a large amount of new documents are registered in batches by batch processing. Therefore, there is also a problem that information that can be searched always has a certain period of time. Because of this, DB
With the spread of, there has been a demand for a system that can register and search documents in free words (also called uncontrolled words) easily without being restricted by the thesaurus, even if they are not DB specialists. In the process of searching using such free words, the keyword or search string specified by the user and the words used in the DB being searched often have the same notation or expression even though they indicate the same content. May be missed due to the discrepancies. For example, the word “piano” may be described as “Pyano”, and the word “interface” may be described as “interface”, “interface”, or “interface”. Due to such subtle variations in syllable notation, it may not be possible to retrieve desired information. Hereinafter, expanding to a character string having a different notation is referred to as a different notation expansion, and expanding to another character string using a dictionary is referred to as synonym expansion. Character strings with different notations are called different notations. As a method for solving such a problem of the notation and synonyms, Japanese Patent Laid-Open No. 62-011932 has been proposed. Note that, in this reference, the development of a different notation is called occurrence of a different notation, and the development of a synonym is called similar word extraction. FIG. 2 is a block diagram showing the configuration of this reference. In this configuration, all the search character strings input in Roman characters or katakana expressions are temporarily converted into character strings in standardized notation in katakana. That is, first, a notation standardization process for integrating a plurality of notations into one by performing the reverse operation of the occurrence of a different notation. Also, the search character string input in the alphabetical expression is unified on the katakana surface by the foreign language kana conversion. In this way, the once-standardized katakana character string is expanded into similar words using a synonym dictionary, and words synonymous with the input katakana character string are output as katakana character strings. The katakana character string after the extraction of similar words is converted to a kanji character string by performing kana-kanji conversion, and a kana-to-foreign word conversion is performed to convert a kana-romaji character to a foreign language of an alphabetic expression, and then converted to a roman character string. In this way, the katakana character string that is the result of similar word extraction is converted into Kanji, Romaji, Katakana, and foreign language expressions, and is developed in different notations.

【発明が解決しようとする課題】[Problems to be solved by the invention]

しかし上記引例では、表記を標準化する際に、元の文
字列が持つ情報を変えてしまうため、期待する展開結果
が得られないことがあった。このことを、カタカナの部
分文字列の変換ルール 「“ホオ”→“ホウ”」 を例にして説明する。この変換ルールは文字列 “ジョウホオ” を “ジョウホウ”(情報) と正しく標準化する。しかしこの同じ変換ルールを用い
ても “ジョウホオン”(定保温) が入力された場合には “ジョウホウン” と誤った文字列へ標準化してしまう。このことは、標準
化処理の後の同義語展開処理、更にその後に続く異表記
展開処理に影響をおよぼし、期待する展開結果が得られ
ないことになる。 本発明の第1の課題は上記の標準化を避け、常に期待
する展開結果を得ることにある。 また上記引例では、同義語辞書によって“計算機”か
ら“コンピュータ”に文字列を同義語展開するときに、
ユーザが入力する検索文字列を、一旦すべてカタカナ表
現に変換してから同義語展開し、そのあとでカナ漢字変
換、カナローマ字変換及びカナ外国語変換をする構成と
なっている。そのため、同義語辞書は必ずカタカナ文字
列からカタカナ文字列へ展開するようなものでなければ
ならなかった。すなわち、 見出し語:“コンピュータ” 同義語1:“ケイサンキ” 同義語2:“ジョウホウショリソウチ” などと、単語間の同義関係を常にカタカナ文字列で記述
しなければならなかった。このことは、同義語展開後の
カナ漢字変換辞書及びカナ外来語変換辞書でも、必ずこ
れらに対応する表現の文字列を出力するよう登録してお
かなければならないために、辞書が大きくなるという問
題がある。また、日本語には同じ読みを持っていても、
意味の異なる同音異議語が多く存在し、これが同義語展
開時に弊害を生じる。例えば“ケンサク”という文字列
は“検索”とも解釈できるし“研削”とも解釈できるの
で、カタカナ表現のみによる同義語辞書では両者を区別
できないという問題がある。さらに、同義語展開後のカ
タカナ漢字変換において、同音異議語の選択をユーザが
対話的に行わなければならないという問題があった。 また、検索文字列をカタカナ表現に変換するための外
国語カナ変換辞書や、同義語展開した後のカナ漢字変換
辞書及びカナ外国語変換辞書が必要であり、多種類の大
規模な辞書を使うためにその作成と保守が大変となる。 本発明の第2の課題は上記のカナ漢字変換、カナ外国
語変換時における同音異議語の問題と、これらの変換に
用いる大規模な辞書の作成、保守の問題を解決すること
にある。
However, in the above reference, when standardizing the notation, the information included in the original character string is changed, so that an expected expansion result may not be obtained. This will be described with an example of the conversion rule of the partial character string of katakana ““ HO ”→“ HO ””. This conversion rule correctly standardizes the string “joho” as “joho” (information). However, even if this same conversion rule is used, if “Johon” (constant warmth) is input, it will be standardized to “Johhoun” and the wrong character string. This affects the synonym expansion process after the standardization process and the subsequent different notation expansion process, and the expected expansion result cannot be obtained. A first object of the present invention is to avoid the above-mentioned standardization and always obtain expected development results. Further, in the above reference, when a character string is expanded from “computer” to “computer” using a synonym dictionary,
The search character string input by the user is once converted into katakana expression, then expanded into synonyms, and then kana-kanji conversion, kana-romaji conversion, and kana foreign language conversion are performed. For this reason, the synonym dictionary must always expand from katakana character strings to katakana character strings. In other words, the headword: “computer” Synonym 1: “Keisanki” Synonym 2: “Johoshishorisou”, and so on, the synonym between words had to be always described in katakana character strings. This is a problem because the kana-kanji conversion dictionary and the kana foreign-language conversion dictionary after synonym expansion must be registered so that the character strings of the expressions corresponding to these must be output. There is. Also, even if you have the same reading in Japanese,
There are many homonyms with different meanings, and this has an adverse effect on synonym expansion. For example, the character string “Kensaku” can be interpreted as “search” or “grinding”, so that there is a problem that a synonym dictionary using only katakana expressions cannot distinguish between them. Furthermore, in the conversion of katakana to kanji after synonym expansion, there is a problem that the user must interactively select a homonymous object word. In addition, a foreign language / kana conversion dictionary for converting a search character string into katakana expression, a kana / kanji conversion dictionary after synonym expansion, and a kana foreign language conversion dictionary are required, and various types of large-scale dictionaries are used. Therefore, its creation and maintenance become difficult. A second object of the present invention is to solve the problem of homonymous words at the time of kana-kanji conversion and kana foreign language conversion, and the problem of creating and maintaining a large-scale dictionary used for these conversions.

【課題を解決するための手段】[Means for Solving the Problems]

上記課題を解決するために、第1図のようにキーボー
ドから入力した文字列を一旦異表記展開し、異表記展開
された各々の文字列に対し、同義語辞書を参照して同義
語展開をし、更に同義語展開で得た各々の文字列に対し
て異表記展開する構成とする。 この異表記及び同義語展開処理の概略を第3図に示
す。ユーザが指定した検索文字列301は一旦異表記展開
し、その展開した文字列群302に対して、次に同義語辞
書310を用いて同義語展開する。その後、この同義語展
開で得られた文字列303に対して、さらに異表記展開
し、最終の展開結果として文字列群304を得る。 このように同義語展開の前に異表記展開することによ
り、表記の標準化によって情報を変更することなく展開
処理が可能となる。同義語辞書中の文字列の表現や表記
に配慮することなく辞書が構成できるため、辞書の作成
や編集が容易になる。また、同義語展開した文字列につ
いても異表記展開をすることにより、同義語展開で新し
く得られた文字列についても異表記を得ることができ
る。 次に本発明における重要な手段の一つである異表記展
開について説明する。異表記展開では、まず最初に入力
文字列を文字種毎に分割し、漢字及びひらがな文字列、
カタカナ文字列、アルファベット文字列の3種類の部分
文字列へ分割する。次に分割した部分文字列毎に変換ル
ールテーブルを用いて文字列の置き換え処理を行い、漢
字、カタカナの各文字種の異表記展開をしていく。アル
ファベット文字種については変換ルールテーブルは用い
ずに、入力文字列中のアルファベット文字を大文字から
小文字、小文字から大文字へコード変換する。 ここで変換ルールテーブルとは入力文字列中の該当文
字列を文字列のリストへ置き換えることを指示した変換
ルールを複数個蓄えたものである。 変換ルールは、例えば文字列“イウ”を“イウ”と
“ユウ”とに展開する場合には、 [“イウ”→(“イウ",“ユウ”)] と記述する。また部分文字列を文字列リストへ変換する
ことを、ここでは‘置き換え’と呼ぶことにする。 漢字、カタカナの各文字種の異表記展開用の異表記展
開用の変換ルールには例えば次のようなものが考えられ
る。 (1)漢字及びひらがな文字列の場合 (a)漢字の新字体と旧字体の表記による展開に関す
る変換ルール 例:[“斉”→(“斉",“斎",“齋",
“齊”)] (b)漢字の送りがな表記の違う展開に関する変換ル
ール 例:[“読み取り”→(“読み取り",“読
取”)] (2)カタカナの場合 ・類似音節の様々な表記に展開する変換ルール 例:[“ピア”→(“ピア",“ピヤ”)] このように、漢字ひらがな文字種、カタカナ文字種に
ついては、変換ルールテーブルを用いて異表記展開す
る。 次にローマ字の異表記展開について説明する。 ローマ字の異表記としては、ヘボン式表記法と訓令式
表記法あるいはこれらの表記法の混在したものが考えら
れる。従って、ここでは変換ルールとしてヘボン式表記
法と訓令式表記法の音節表記を併記したルールを作るも
のとする。例えばヘボン式表記法の “SHI" を訓令式表記法及びヘボン式表記法の音節表記の “SI"と“SHI" という2つの部分文字列のリストに置き換える変換ルー
ル [“SHI"→(“SI",“SHI")] を作ることによりローマ字の異表記展開を実現する。あ
るいは、別な方法としてローマ字の全文字列を一端カタ
カナ表記に変換し、カタカナ文字列中の各音節をヘボン
式表記法と訓令式表記法の両方で置き換える方法もあ
る。例えば、ローマ字文字列の “SISHAMO" を一端カタカナ文字列の “シシャモ” に変換し、次に [“シ”→(“SI",“SHI")] などの変換ルールでローマ字化する方法もある。 以上の文字種毎の展開の後、最初に文字種によって分
割した文字列の順序に従って展開した文字列を組み合せ
て、異表記展開の最終出力とする。 以上異表記展開処理をまとめると、 (1)漢字及びひらがな文字列に関する異表記展開(送
りがな、新旧字体)、 (2)カタカナ文字列に関する異表記展開、 (3)ローマ字文字列に関する異表記展開(ヘボン式、
訓令式表記)、 (4)アルファベット文字に関する異表記展開(大小文
字) がある。しかし、常時これらの異表記展開をする必要が
ない場合もある。この場合、使用する変換ルールテーブ
ルの種類をユーザが選択できる手段を合わせ持つことに
よって、むだな展開処理を省き、かつユーザの望む検索
処理が可能となる。 次に本発明におけるもう一つの重要な手段である同義
語展開について説明する。同義語展開では、入力文字列
を同義語辞書を用いて次の4種類の展開を行う。 (1)同位語展開 概念的に同位の語彙への展開 例:“計算機”から“コンピュータ”、 “情報処理装置”に展開する。 (2)上位語展開 上位の意味を持つ語彙への展開 例:“計算機”から“電子機器”に展開する。 (3)下位語展開 下位の意味を持つ語彙への展開 例:“計算機”から“電子卓上計算機”に展開する。 (4)関連語展開 関連した意味を持つ語彙への展開 例:“計算機”から “オフィスオートメイション”に展開する。 また、同義語展開でも異表記展開と同様に上記4種類
の語彙への展開を選択する手段を持つことによって、よ
り柔軟なユーザの望み通りの検索が可能となる。
In order to solve the above-mentioned problem, a character string input from a keyboard is temporarily expanded in different notations as shown in FIG. 1, and for each character string expanded in different notations, a synonym expansion is performed with reference to a synonym dictionary. Then, each character string obtained by synonym expansion is expanded into a different notation. FIG. 3 shows an outline of the different notation and synonym expansion processing. The search character string 301 specified by the user is temporarily expanded in a different notation, and the expanded character string group 302 is expanded into a synonym using the synonym dictionary 310 next. After that, the character string 303 obtained by this synonym expansion is further expanded into a different notation, and a character string group 304 is obtained as a final expansion result. In this way, by performing different notation expansion before synonym expansion, expansion processing can be performed without changing information by standardization of notation. Since the dictionary can be configured without considering the expression and notation of the character strings in the synonym dictionary, the creation and editing of the dictionary are facilitated. Also, by performing the different notation development on the character string expanded by the synonym, it is also possible to obtain the different notation on the character string newly obtained by the synonym expansion. Next, a description will be given of development of a different notation, which is one of important means in the present invention. In the notation expansion, first, the input character string is divided for each character type, and kanji and hiragana character strings,
It is divided into three types of partial character strings: katakana character strings and alphabet character strings. Next, a character string replacement process is performed for each of the divided partial character strings by using a conversion rule table, and different notations are developed for each character type of kanji and katakana. Regarding the alphabet character type, the alphabet character in the input character string is code-converted from uppercase to lowercase and from lowercase to uppercase without using the conversion rule table. Here, the conversion rule table is a table in which a plurality of conversion rules instructing to replace a corresponding character string in an input character string with a list of character strings are stored. For example, when the character string “Iu” is expanded into “Iu” and “Yu”, the conversion rule is described as “[Iu] → (“ Iu ”,“ Yu ”)]. Converting a partial character string into a character string list is herein referred to as "replacement". For example, the following conversion rules for developing different notations for developing different notations for each character type of kanji and katakana can be considered. (1) In the case of Kanji and Hiragana character strings (a) Conversion rules related to the expansion of Kanji by using the new and old fonts Example: [“Sai” → (“Sai”, “Sai”, “Sai”,
“Shi”)]] (b) Conversion rules for different expansions of kanji spellings Example: [“reading” → (“reading”, “reading”)] (2) In case of katakana ・ Expands to various notations of similar syllables Conversion rule to be performed Example: [“Peer” → (“Peer”, “Piya”)] As described above, the Kanji Hiragana character type and the Katakana character type are developed in different notations using the conversion rule table. Next, a description will be given of the development of different types of Roman characters. As the different notation of the Roman alphabet, the Hepburn-style notation and the Kunjo-style notation, or a mixture of these notations can be considered. Therefore, here, it is assumed that a rule in which the syllable notation of the Hepburn style notation and the Kunjo style notation are written together is created as a conversion rule. For example, a conversion rule for replacing “SHI” in Hepburn notation with a list of two substrings “SI” and “SHI” in syllable notation and syllable notation in Hepburn notation [“SHI” → (“SI "," SHI ")] to realize the expansion of the Roman alphabet. Alternatively, as another method, there is a method in which the entire Roman character string is once converted into katakana notation, and each syllable in the katakana character string is replaced with both the Hepburn notation and the Kunjo notation. For example, there is a method of converting the Roman character string “SISHAMO” to the katakana character string “Shishamo”, and then converting it to Roman characters using a conversion rule such as [“S” → (“SI”, “SHI”)]. . After the expansion for each character type described above, the character strings expanded first according to the order of the character strings divided according to the character type are combined to obtain the final output of the different notation expansion. The different notation expansion processing can be summarized as follows: (1) Different notation expansion for Kanji and Hiragana character strings (Yogana, new and old fonts); (2) Different notation expansion for Katakana character strings; (3) Different notation expansion for Roman character strings ( Hepburn,
(4) There are different notation developments (lowercase and uppercase) for alphabetic characters. However, there is a case where it is not always necessary to develop these different notations. In this case, by providing a means for allowing the user to select the type of conversion rule table to be used, useless expansion processing can be omitted and search processing desired by the user can be performed. Next, the synonym expansion which is another important means in the present invention will be described. In synonym expansion, the following four types of expansion are performed on an input character string using a synonym dictionary. (1) Isotopic expansion Conceptually expanding vocabulary Example: Expand from “computer” to “computer” and “information processing device”. (2) Expansion of upper words Expansion into vocabulary with higher meaning Example: Expand from “computer” to “electronic equipment”. (3) Lower word expansion Expansion into vocabulary with lower meaning Example: Expand from “computer” to “electronic desk calculator”. (4) Expansion of related words Expansion into vocabulary with related meanings Example: Expand from “computer” to “office automation”. In addition, in the case of synonym expansion, as in the case of different notation expansion, by having means for selecting expansion into the above four types of vocabulary, a more flexible search as desired by the user can be performed.

【作 用】[Operation]

以上の手段によってユーザの入力する検索文字列をま
ず最初に異表記展開し、異表記展開した文字列群の中の
各々の文字列を一つずつ同義語展開し、さらに同義語展
開して得られた新しい文字列に対して異表記展開を行
う。 このように異表記展開を同義語展開の前で行なうこと
により、表記の標準化による情報の欠落を避け、常に期
待する展開結果を得ることができる。 また、同義語辞書内での表記も統一化する必要がな
く、辞書の作成と保守を簡易化できる。また、同義語展
開の後でも異表記展開を行うために、同義語辞書に表記
のバリエーションを色々と記述しておく必要がなく辞書
を小さくすることができる。
By the above means, the search character string input by the user is first expanded in different notation, and each character string in the character string expanded in different notation is expanded one by one into synonyms, and further expanded into synonyms. Performs notation expansion on the new character string. By performing the different notation expansion before the synonym expansion in this way, it is possible to avoid lack of information due to standardization of the notation and always obtain the expected expansion result. Further, there is no need to unify notations in the synonym dictionary, and creation and maintenance of the dictionary can be simplified. Further, since the different notation expansion is performed even after the synonym expansion, it is not necessary to describe various notation variations in the synonym dictionary, and the dictionary can be reduced in size.

【実施例】【Example】

図面を用いて本発明の構成、作用を説明する。 第4図は本発明の実施例の構成を示すブロック図であ
る。本実施例は、コンソール400、対話制御部401、異表
記展開処理部402及び405、同義語展開処理部403、同義
語辞書ファイル404、文字列統合処理部406、文字列検索
処理部407、テキストデータベース408から構成されてい
る。コンソール400から入力された検索文字列40は、対
話制御部401を介して異表記展開処理部402へ送られる。
異表記展開処理部402で展開した文字列群41は、同義語
展開処理部403へ送られると共に、文字列統合処理部406
へも送られる。同義語展開処理部403では、同義語辞書4
04を参照し送られてきた文字列群41の各文字列と辞書の
見出しとのマッチングをとり、一致した文字列が存在す
れば、同義語展開モード制御信号410に従い、辞書に記
載してある見出しに対応する言葉を出力し、異表記展開
処理部405へ文字列群42を送る。異表記展開処理部405で
は、同義語展開された文字列42に対し、異表記展開処理
部403と全く同じ処理方法で異表記展開して、文字列群4
3を文字列統合処理部406へ出力する。文字列統合処理部
406は、異表記展開処理部402と405から受け取った文字
列群41と文字列群43を、一つの文字列群44にまとめて文
字列検索部407へ出力する。文字列検索部407は、受け取
った文字列群44のうちのいずれかの文字列が存在するも
のをテキストOBから検索して、ヒットした文書の識別子
情報などを、対話制御部401へ検索結果45として出力す
る。対話制御部401は、この検索結果45を受けて、検索
結果件数46や、テキスト情報46を適宜コンソール400へ
出力する。 異表記展開処理部402と405は、全く同一のものであ
る。文字列検索部407は公知の技術で、例えば特開昭63
−311530を用いて実現できる。テキストDB408は、文字
コード情報であれば、新聞記事データでも、ワープロで
作成した文書のデータでも、電子ファイリングシステム
の書誌事項データでも構わない。 以下、異表記展開処理部402、405と同義語展開処理部
403の構成作用について詳細に説明する。 まず、異表記展開処理の概要を第5図を用いて説明す
る。ここでは、最初に入力文字列501を異なる字種の間
で切断し、部分文字列へ分割する。例えば、入力文字列
501 “卓上型インタフォーン” の場合には、漢字文字列502 “卓上型” と、カタカナ文字列503 “インタフォーン” へ文字種に従って分割する。次に、分割した文字列毎に
異表記展開を行ない、漢字異表記文字列リスト504、カ
タカナ異表記文字列リスト505を得る。その後、漢字異
表記文字列リスト504及びカタカナ異表記文字列リスト5
05をそれぞれ展開し、2つの文字種で別々に展開した文
字列群を1つに組み合せて最終結果506として出力す
る。 次に、第6図を用いて異表記展開の処理内容を詳細に
説明する。第6図は本発明における異表記展開手段の実
施例を示すブロック図である。本実施例の構成は、文字
種分割・選別部601、ローマ字判別部602、ローマ字カナ
変換部603、漢字異表記展開部604、カタカナ異表記展開
部605、アルファベット異表記展開部606、カナローマ字
変換部607、分割文字列統合部610よりなる。 異表記展開処理部402あるいは405への入力文字列620
は、まず文字種分割・選別部601へ送られる。文字種分
割・選別部601では入力文字列620を、上述したように漢
字及びひらがな文字列631、カタカナ文字列632、アルフ
ァベット文字列633、それ以外の文字列630の4種類の部
分文字列に分割する。分割した部分文字列をそれぞれの
文字種に従って分類し、別々の展開処理を施す。以下文
字種別に、その展開処理の概要を示す。 (1)漢字・ひらがな・カタカナ・アルファベット以外
の文字列 この文字種には数字、記号、特殊文字あるいは外字コ
ード等が当たる。本実施例ではこれらの文字種を、展開
せずに入力した文字列630をそのまま分割文字列統合部6
10へ出力している。しかし数字に関して英数字を漢数字
に変換したり、英記号に関して記号“・”を“−”や
“/"に展開することなども考えられる。 (2)漢字・ひらがな文字列 これらの文字種に関しては、文字列631を漢字異表記
展開部604にて、漢字の新旧字体及び送りがなについて
の異表記展開をする。漢字異表記展開部604の出力文字
列641は、分割文字列統合部610へ送られる。 (3)カタカナ文字列 この文字種に関しては、文字列632をカタカナ異表記
展開部605にて、類似音節の表記について異表記展開を
行う。展開した文字列642は、分割文字列統合部610へ送
られる。また、同時にカナローマ字変換部607へも送ら
れる。カナローマ字変換部607でローマ字へ変換された
文字列653は、アルファベット異表記展開部606にて、ア
ルファベットの大小文字に関する異表記展開が行なわ
れ、文字列643として分割文字列統合部610へ送られる。 (4)アルファベット文字列 この文字種に関しては、日本語のローマ字表現の場合
と、外国語の原語の場合の2つの場合がある。 ここでは、まずローマ字判別部602で、文字列633がロ
ーマ字か外国語かの判定をする。この判定基準には、ロ
ーマ字の表記法を用いている。すなわち、アルファベッ
ト文字の並びがローマ字の表記法に合っていればローマ
字と判定し、ローマ字として解釈不能の場合は外国語と
判定する。この判定は、ローマ字カナ変換部603で兼ね
ることもできる。すなわち、ローマ字カナ変換ができれ
ば、ローマ字と判定し、そうでない場合に外国語と判定
する。また、この判定には本実施例の方法以外にも、外
国語辞書を使うといった方法も用いることが可能であ
る。 ローマ字判別部602でローマ字と判定した文字列651
は、ローマ字カナ変換部603に送られ、ここでカタカナ
文字列652に変換され、これを更にカタカナ異表記展開
部605で、類似音節に関する異表記展開を行い文字列群6
42を得る。文字列群642に対するこの後の処理は、
(3)のカタカナ文字列の処理と同じである。すなわ
ち、カタカナ異表記展開された文字列群642は、分割文
字列統合部610へ送られると共に、カナローマ字変換部6
07へも送り出される。カタカナ文字列群642は、カナロ
ーマ字変換部607で各々ローマ字へ変換され、ローマ字
文字列群653としてアルファベット異表記展開部606に送
られる。該ローマ字文字列群653は、アルファベット異
表記展開部606でアルファベットの大小文字に関する異
表記展開を施された後、分割文字列統合部610へ送られ
る。 一方、ローマ字判別部602で外国語と判定された文字
列634は、ローマ字カナ変換せずに、アルファベット異
表記展開部606へ送られ、その出力文字列643は分割文字
列統合部610へ送られる。 以上、異表記展開処理の流れについて説明した。続い
て、この異表記展開処理における各処理ブロックの詳細
について説明する。 まず始めにカタカナ異表記展開部605の処理について
説明する。第7図は異表記展開部における処理をカタカ
ナ文字列に例にして説明した図である。ここでは、 “インタフォーン” という入力文字列を例としている。異表記展開処理は、
変換ルールを参照して行う。また、その変換処理は、入
力文字列中の部分文字列として変換対象となり得るもの
があれば、該変換ルールを参照して他の表記に置き換え
るものである。この変換ルールのテーブル形式も本図に
示されている。この変換ルールテーブルは、見出し部と
展開文字列リスト部から構成されている。入力文字列中
に、変換ルールテーブルの見出し部分に相当するものが
存在すれば、該当部分を展開文字列リスト部に記述され
た異表記文字列群で順次置き換えていく。 この見出し文字列の探索は、入力文字列の先頭から最
長一致法により行なう。すなわち本図に示したように、
入力文字列中の “フォー” という部分文字列と “フォ” という部分文字列の両方が見出しにある場合には、より
長い見出しの “フォー” のほうの変換ルールを適用する。 第7図の例を用いて、この見出し文字列探索及び展開
文字列リストへの置き換え処理を説明する。見出し文字
列探索において、入力文字列中の部分文字列と見出し文
字列との照合のため、探索ポインタを設定する。入力文
字列と見出し文字列の照合時には、探索ポインタの位置
を動かしながら、入力文字列中の探索ポインタを先頭と
する文字列と、見出し文字列との照合を行なっていく。
まず探索ポインタを入力文字列の先頭文字にセットす
る。従って、この例では文字“イ”から見出し文字列の
探索を開始することになる。該当する見出しが存在しな
いので、探索ポインタを1文字移動して“ン”を先頭と
する文字列からもう一度見出し文字列を探索する。また
該当する見出しが存在しないので、もう1文字探索ポイ
ンタを移動して“タ”の文字から見出し文字列を探索す
る。今度は “タ” の見出し文字列が見つかるので、 “タ” の部分を展開文字列リスト部に記述された “タ”と“ター” に置き換える。そして探索ポインタを見出し “タ” の文字数分、すなわち1文字分移動する。次に“フ”の
文字から見出し文字列探索し、該当する見出し “フォー”と“フォ” を得る。今度は2つの見出し文字列が照合するが、この
ように複数個の照合した見出し文字列がある場合、最長
一致法に従い、最も長い見出し文字列のある変換ルール
を採用する。この例では、見出し “フォー” のほうが “フォ” より長いので、 “フォー” を展開用変換ルールとして採用し、入力文字列内の部分
文字列 “フォー” を展開文字列リスト部に記述された “フォー”、“フォ”、“ホー”及び“ホ” に置き換える。そして探索ポインタを見出し “フォー” の文字数分、すなわち3文字分移動する。最後に入力文
字列中の最終文字、“ン”から見出し探索を行なうこと
になるが、該当する見出しがないので文字“ン”は、展
開処理が施されずそのままとなる。こうして探索ポイン
タが入力文字列の最終位置に来たので処理を終了する。 以上の処理の結果として生成された展開リストを含む
文字列 “イン(タ,ター)(フォー,フォ,ホー,ホ)ン” の展開リストを組み合せることによって最終的な異表記
展開文字列が得られる。この例では、 “タ”の部分で2通り、 “フォー”の部分で4通り に展開するので展開結果は2×4の8通りの文字列、す
なわち 1)“インタフォーン” 2)“インタフォン” 3)“インタホーン” 4)“インタホン” 5)“インターフォーン” 6)“インターフォン” 7)“インターホーン” 8)“インターホン” となる。 以上の見出し文字列探索と展開文字列リストへの置き
換え処理を第8図に示すPAD図で説明する。まず探索ポ
インタを入力文字列の先頭にセットする。次に現在の探
索ポインタを先頭とする文字列で、変換ルールの見出し
文字列があるかどうかを探索する。もしもマッチングす
る見出しがなければ、探索ポインタを1文字後方に移動
してから、再び探索ポインタを先頭とする文字列でマッ
チングする見出し文字列を探索する。マッチングする見
出しが存在する場合には、マッチングした見出しのうち
最も長い見出しを採用して、該当部分を展開文字列リス
トで置き換える。置き換えがすんだら探索ポインタをマ
ッチングした見出し文字列の文字数分後方に移動する。
そして、探索ポインタが入力文字列の最終位置に来るま
で、上記の見出し文字列探索と展開リストへの置き換え
処理を繰り返す。 いままで説明してきた異表記展開における見出し文字
列の探索方法に関するもう一つの実施例について第9図
を用いて説明する。本実施例では、見出し文字列の探索
にオートマトンを用いている。以下、その手順について
述べる。まず変換ルールにより、図に示すようなオート
マトンを生成する。異表記展開処理は、このオートマト
ンに入力文字列を1文字ずつ入力して、そのオートマト
ンの動作出力から第7図で説明した展開文字列リストを
含む文字列を得る。 以下、具体的にその動作内容について説明する。本図
において記号aは入力文字を、丸はオートマトンを構成
する各状態を、丸の中の数字はその状態番号を示す。線
上の文字は、その文字が入力されたとき、矢印の方向へ
状態を遷移することを示す。記号 ‘’は、その後に続く文字以外の文字を表す。また、
記号‘→’は、以下に続く文字列を出力することを示
す。このオートマトンは、その動作を制御するための状
態遷移テーブルと、各状態の出力を記述する出力テーブ
ルからなる。状態遷移テーブルは、第10図に示すものと
なる。ここでは、各状態における入力文字とその文字が
入力されれたときに遷移する遷移先の状態番号が対とし
て記述されている。但し状態0へ遷移する場合は記述を
省略してある。すなわち、各状態において状態遷移テー
ブルに記述されていない文字が入力した場合には、状態
0へ遷移するものとしている。出力テーブルには第11図
に示すように、オートマトンの各状態において、出力す
る文字列リストが記述されている。オートマトンが動作
する場合、状態0以外の状態から状態0へ遷移する場合
のみ、この出力テーブルを参照して該当する展開文字列
を出力する。そして出力がすんだら、もう一度0への遷
移を引き起こした文字をオートマトンへ入力し、状態遷
移テーブルを参照してオートマトンを再遷移させる。状
態0から状態0へ戻る場合には、入力文字をそのまま出
力する。 以上、オートマトン方式における状態遷移の制御及び
出力について説明した。次に、具体例をもとに、この動
作を詳細に説明する。以下、第9図の入力例“インタフ
ォーン”の文字列が1文字入力される毎の動作について
記述する。最初、オートマトンの状態は、状態0にあ
る。 (1)文字“イ”が入力されると 状態遷移テーブルに状態0からの遷移先が登録されて
いないので、そのまま “イ” が出力され状態は0のままとなる。 (2)文字“ン”が入力されると 状態遷移テーブルに状態0からの遷移先が登録されて
いないので、そのまま “ン” が出力され状態は0のままとなる。 (3)文字“タ”が入力されると 状態遷移テーブルを参照し、現在の状態0から遷移先
として状態番号6が読み出され、状態は6に移る。 (4)文字“フ”が入力されると 状態遷移テーブルからは状態6から“フ”で遷移する
遷移先が得られない。かつ現在の状態は0でないので、
出力テーブルが参照され状態6での出力文字列 “タ”と“ター” が出力される。その後、状態は0に移動する。さらに、
この新しい状態0でもう一度入力文字の“フ”をオート
マトンに入力する。その結果、状態遷移テーブルの内容
に従って状態0から状態1に状態が移動する。 (5)文字“オ”が入力されると 状態遷移テーブルの内容から、状態1より状態2へ状
態が移動する。 (6)文字“ー”が入力されると 状態遷移テーブルの内容から、状態2より状態3へ状
態が移動する。 (7)文字“ン”が入力されると 状態遷移テーブルからは状態3から“ン”で遷移する
遷移先状態番号が得られない。かつ現在の状態は状態0
でないので、出力テーブルが参照され、状態3での出力
文字列 “フォー”、“フォ”、“ホー”及び“ホ” が出力される。その後、状態が0に移り、もう一度入力
文字の“ン”がオートマトンに入力される。ここでは、
状態遷移テーブルから遷移先が得られないので入力文字
の “ン” がそのまま出力される。 8)入力文字列の最終文字まで来たので、処理を終了す
る。 こうして展開リストを含む文字列 “イン(タ,ター)(フォー,フォ,ホー,ホ)ン” が得られる。 次に、この見出し文字列探索用オートマトンの生成方
式を第12図を用いて説明する。このオードマトン生成
は、実際に入力文字列が送られてくる前に一度作ってお
けば良い。本図は探索オートマトンの生成方式、すなわ
ち状態遷移テーブル及び出力テーブルの作成方式をPAD
図で表したもので、以下この内容について説明する。ま
ず状態遷移テーブル及び出力テーブルを初期化する。次
に、一つずつルールを取り出しながら変換ルールの終わ
りまで以下の処理を繰り返す。 (1)状態番号を0にセット (2)見出し文字列の終わりまで1文字ずつ文字を取り
出しながら状態遷移テーブルを作っていく。すなわち状
態遷移テーブルを参照し、取り出した文字による遷移先
が登録されていれば遷移先状態に移動する。遷移先が登
録されていなければ、新しい状態番号を生成し、状態遷
移テーブルに追加登録する。そして、今の状態を新しい
状態に移動する。さらに出力テーブルに状態0から今の
状態へ遷移させてきた文字列を登録する。 (3)見出し文字列の全文字について(2)の処理が終
了した後、出力テーブルに現在の状態番号と、変換ルー
ルの展開文字列リストを登録する。 具体的な処理の流れを2つの変換ルール [“フォー”→ (“フォー",“フォ",“ホー",“ホ”)] と [“フォ”→ (“フォー",“フォ",“ホー",“ホ”)] を使って説明する。 まず1番目の変換ルールの見出し文字列 “フォー” について処理する。 (1)文字“フ”の入力 状態遷移テーブルは最初初期化されているため、遷移
先状態番号は一つも登録されていない。従って新しい状
態番号1を生成し、状態を1に移動する。そして、出力
テーブルに状態0から状態1への遷移を引き起こす文字
列 “フ” を状態番号1の出力として登録する。 (2)文字“オ”の入力 状態遷移テーブルに今の状態1からの遷移先は定義さ
れていない。従って新しい状態番号2を生成し、状態を
2に移動する。そして出力テーブルに状態0から状態2
に至るまでの文字列 “フォ” を状態番号2の出力として登録する。 (3)文字“ー”の入力 状態遷移テーブルに今の状態2からの遷移先は定義さ
れていない。従って新しい状態番号3を生成し、状態を
3に移動する。そして出力テーブルに状態0から状態3
に至るまでの文字列 “フォー” を状態番号3の出力として登録する。また、これで見出
し文字列の最終文字であるので、変換ルールの展開文字
列リスト (“フォー",“フォ",“ホー",“ホ”) を、先に登録した出力文字列 “フォー” を入れ替える形で、状態3の出力として出力テーブルに
登録する。 次に2番目の変換ルールの見出し文字列 “フォ” についての処理を実行する。処理に先立ち、状態は0に
戻る。 (4)文字“フ”の入力 先に登録した状態遷移テーブルを参照して、遷移先の
状態番号1を得、状態を1に移動する。 (5)文字“オ”の入力 状態遷移テーブルを参照して、遷移先の状態番号2を
得、状態を2へ移動する。出力テーブルに状態2の出力
は既に登録されているが、見出し文字列の最終であるの
で、出力テーブルに状態2の出力として既に登録されて
いる。 “フォ” を、変換ルールの展開文字列リスト (“フォー",“フォ",“ホー",“ホ”) に書き替える。 以上の処理により、上記二つの変換ルールを探索する
オートマトンを作成することができる。具体例で示した
2つの変換ルール以外についても、これと全く同様の手
順でオートマトンにすることができる。 以上、例で説明してきたカタカナ異表記展開用の変換
ルールテーブルの詳細を第13図に示す。この他、変換ル
ールテーブルの作成には、カタカナ文字列の類似音節表
記に関してその表記の原則を定めた「昭和29年国語審議
会報告 外来語の表記」を利用することができる。すな
わち上記報告書ではカタカナ文字列の異表記が示され、
その表記を統一化するための原則が述べられているが、
これを逆に利用して変換ルールを作成することができ
る。 今までカタカナ文字列の異表記展開について例をあげ
て説明してきたが、漢字文字列の異表記展開について
も、漢字文字列用の変換ルールテーブルを用いるだけで
全く同じ処理で実現できる。漢字の新旧字体に関する異
表記展開用の変換ルールテーブルの例を第14図に示し、
送りがなに関する異表記展開ルールの例を第15図に示
す。 また、第13図から第15図に示した異表記展開ルールテ
ーブルは、必要に応じて追加修正が可能であり、従って
ユーザの望む異表記展開が可能となる。 以上が漢字異表記展開部604、カタカナ異表記展開部6
05の処理の詳細である。 次にローマ字の異表記展開に関する説明をする。本実
施例では、ローマ字の異表記展開をするのに、ローマ字
で入力された文字列を一旦カタカナ文字列へ変換した
後、これをカタカナ異表記展開し、もう一度カナローマ
字変換によりローマ字に戻すという方法を採っている。
従って、ローマ字の異表記展開に関する部分は、第6図
のローマ字カナ変換部603とカナローマ字変換部607の2
つとなる。 まずローマ字カナ変換部の処理内容について説明す
る。アルファベット文字列が入力されると、まずローマ
字カナ変換が行われる。ローマ字カナ変換部603では、
第16図に示すようなローマ字とカタカナの対応表を用い
て、ローマ字カナ変換が行われる。同図において、例え
ば1番目のレコードでは ローマ字の“A"がカタカナの“ア” に対応することを示している。ローマ字の項目中に複数
個の文字列が並んでいるレコードに関しては、複数個並
んでいる全ての文字列がカタカナの項目に対応している
ことを示している。例えば、ローマ字の “SYA"及び“SHA" が、カタカナの “シャ” に対応する。これらは、それぞれローマ字の訓令式表記
法と、ヘボン式表記法に対応している。従って、このロ
ーマ字カナ変換部603では訓令式でもヘボン式でもある
いはこれらの混合したような表記法の文字列でもカタカ
ナへ変換されることになる。変換方法は、前述した漢字
異表記展開、カタカナ異表記展開と同様である。すなわ
ち、入力文字列と対応表のローマ字文字列を最長一致で
探索して、順次対応するカタカナ文字列に置き換えてい
く。もし、対応するローマ字文字列が対応表に見つから
ないときには、入力文字列はローマ字でないと判断し、
カタカナ文字列の出力を行わない。 次にカナローマ字変換部607の説明をする。ここでも
第16図の対応表をそのまま用いる。こんどは逆に入力文
字列と対応表のカタカナ文字列とを最長一致でマッチン
グを取りながら順次ローマ字へ入力文字列を置き換えて
いく。前述の “シャ” の例のように対応するローマ字表記が複数個存在すると
きには、該当部分を部分文字列のリストとして置き換え
ていく。すなわち、カタカナの入力文字列に対し、異表
記展開の処理と同様に展開リストを含む文字列に展開
し、その展開リストの部分を組み合せることによってロ
ーマ字異表記展開の結果を得ることができる。これを “シシャモ” というカタカナ文字列が入力された場合を例にして説明
する。この時、入力文字列 “シシャモ” に対してカタカナローマ字対応表とのマッチング処理に
より、 “(SI,SHI)(SYA,SHA)MO" という展開リストを含む文字列が得られる。従って、展
開リストの組み合せにより、 1)“SISYAMO" 2)“SISHAMO" 3)“SHISYAMO" 4)“SHISHAMO" という4種類のローマ字異表記文字列が得られることに
なる。 以上が異表記展開方式の処理に関する説明である。 これまで、説明してきた異表記展開の実施例において
は、漢字ひらがな文字列、カタカナ文字列、ローマ字文
字列、及びアルファベット文字列の全てについて展開処
理を行っているが、これらの処理を選択的に行うことも
可能である。すなわち、異表記展開後の出力文字列の種
類を、 1)漢字ひらがな文字列 2)カタカナ文字列 3)ローマ字文字列 4)アルファベット文字列 のいずれかもしくは、これらの混合した文字列を異表記
展開結果として出力するように制御することができる。
こうして、異表記展開を文字種毎に選択可能にすること
により、むだな展開処理を省き、かつユーザの要求に応
じた検索処理が可能となる。 以下、この異表記展開結果の文字種制御方法について
説明する。 この出力文字種の制御は第17図に示すように、第6図
の実施例の構成に更にアルファベット文字列634の出力
制御を行うスイッチa608、及びカタカナ文字列群642の
出力制御を行うスイッチb609を設けることで実現する。
また、漢字異表記展開部604、カタカナ異表記展開部60
5、カナローマ字変換部607、スイッチa608、及びスイッ
チb609の出力を制御する制御信号線661、662、663、66
4、665をそれぞれ設ける。そして、ユーザが設定する異
表記展開結果出力文字種の指定モードにより該制御信号
をON、OFFすることでモードに応じた異表記展開を実現
する。例えば、ローマ字異表記展開が不要な場合にはカ
ナローマ字変換部607の制御信号663をOFFして出力を止
める。このような展開モードによる各変換部、展開部、
スイッチの制御信号の組み合せを第18図に示す。図にお
いて、展開モードはそれぞれ c:漢字及びひらがな異表記展開 k:カタカナ異表記展開 r:ローマ字異表記展開 a:アルファベット異表記展開 を実施し、出力することを示している。複数文字では複
数の異表記の出力指定を表す。例えば、展開モード ‘cka' は漢字ひらがな、カタカナ及びアルファベットの各異表
記を異表記展開結果として出力するモードであることを
表す。また、表中の○は該当モジュールが文字列を出力
することを示す。逆に○がついていないところは、文字
列を出力しない。例えば、 ‘cka' という文字列展開モードでは、ローマ字カナ変換部60
3、漢字異表記展開部604、カタカナ異表記展開部605が
展開文字列を出力し、スイッチa608、及びスイッチb609
が入力文字列を通すが、カナローマ字変換部607は文字
列を出力しないことを示す。 最後に同義語展開処理について説明する。 同義語展開処理部403は、第19図に示すような同義語
辞書を持つ。図において、レコード番号とは、辞書中の
各見出し文字列に付与されている一連番号である。各見
出し文字列には、それぞれ同位語、上位語、下位語、関
連語が定義されている。同図の同位語、上位語、下位
語、関連語の項目に記述されている番号は全て同辞書の
レコード番号を示す。例えば見出し “計算機” は、同位語としてレコード番号2および3、すなわち “コンピュータ”と“情報処理装置” を持っていることを表している。同義語展開では辞書中
のどの項目を用いて展開するか、同義語展開モード制御
信号410によりユーザがモードを設定できるようにして
いる。設定可能なモードは次の通りである。すなわち、 u:同位語を使った展開 b:上位語を使った展開 n:下位語を使った展開 r:関連語を使った展開 およびu,b,n,rの各モードを組み合せた展開ができるよ
うにしている。 同義語展開の処理は、同義語展開部への入力文字列中
に存在する辞書の見出し文字列を探索することによって
行う。すなわち、異表記展開処理における変換ルールの
見出し文字列の探索の場合と同様に、入力文字例の先頭
から最長一致により見出し文字列を探索する。そして、
同位語展開の場合には入力文字列において照合された部
分文字列を、順次同位語文字列のリストで置き換えてい
く。この際、照合した見出し文字列をも加えて書き替え
を行う。上位語展開、下位語展開、関連語展開の場合に
は、入力文字列と見出し文字列が完全に一致した時に限
って、上述の置き換え出力を行う。すなわち、入力文字
列中で部分的に一致しただけでは、展開を行わない。こ
れは、上位語展開、下位語展開、関連語展開において部
分的な文字列の置き換えは意味のない単語を作ってしま
うためである。 同位語展開の処理を例を用いて説明する。 入力文字列が “大型計算機” とすると、同義語辞書の見出し文字列探索を行うことに
より、入力文字列の3文字目から見出し文字列 “計算機” が照合する。同義語辞書のレコード番号1の “計算機” から、同位語としてレコード番号2の “コンピュータ” とレコード番号3の “情報処理装置” が同位語リスト (“計算機",“コンピュータ", “情報処理装置”) として得られる。入力文字列の該当部分をこのリストで
置き換えることにより、異表記展開処理の場合と同様
に、展開リストを含む文字列 “大型(計算機,コンピュータ,情報処理装置)” が得られる。この展開リストを組み合せて(この場合は
一つしかリストがないが) (1)“大型計算機” (2)“大型コンピュータ” (3)“大型情報処理装置” の3つの同位語文字列が得られることになる。 次に上位語展開の処理について例をあげて説明する。 入力文字列が “計算機” の場合、同義語辞書の見出し文字列探索で入力文字列と
見出し文字列 “計算機” が完全一致する。そこで、上位語としてレコード番号4
の “電子機器” が出力される。この場合には上位語が一つしかないが、
もちろん複数個あってもよい。複数個の上位語が存在す
る場合には、前述のようにリストとして出力する。 下位語、関連語についても上位語展開を全く同じ処理
となる。なお、同義語展開において辞書中に該当する文
字列が存在しないときは同義語展開処理部403から、何
も文字列が出力されない。 以上同義語展開の処理方式の実施例について説明し
た。ところで同義語展開では、辞書を使用するために辞
書のレコード数が多くなると見出し文字列探索に時間が
掛ることがある。この問題の解決として、辞書の見出し
文字列をインデクステーブルを用いて探索する方法があ
る。第20図にこの方式の概要を示す。同義語辞書は、予
めその見出し文字列にてアルファベット順に並べてお
く。そして、同義語辞書とは別に見出し文字列の第一番
目の文字だけを集め、その文字から始まる見出しが辞書
のどの部分から始まるかを登録したインデクステーブル
を持つ。例えば文字“A"で始まる見出しはレコード番号
1から存在していることを示している。見出し文字列探
索をするときには、まずこのインデクステーブルを参照
し、レコード番号を求め、次にこれに基づいて同義語辞
書にアクセスする。こうすることにより、同義語辞書の
全見出し文字列をスキャンする必要がなくなるため、処
理時間が短縮できる。例えば、文字“計”で始まる文字
列を探索しようとした場合、インデクステーブルによ
り、“計”で始まる文字列が辞書のレコード番号501か
ら存在することがわかる。従って、それ以前の無駄な文
字列探索を省くことができる。さらに、見出し文字列を
アルファベット順に並べることにより、見出し文字列の
探索中に先頭文字の異なる見出しまで探索したら後の探
索は省略できる。例えば“計”で始まる見出し文字列を
探索していれば、“計”以外の文字で始まる見出し “情報処理装置” まで探索すれば後の不要な探索を行わなくとも済む。 また、インデクステーブル及び辞書中の同位語などの
記述にレコード番号を用いたが、これを辞書中での位置
を特定するアドレスで記述することにより、辞書へのア
クセスを更に高速化できる。アドレスとは、辞書の該当
する見出し文字列が存在する最初の位置を示すもので、
例えば辞書の先頭からのバイト数がある。こうすること
により、辞書へのアクセスが直に特定できるため、レコ
ード番号を指定するよりも更に高速化が可能となる。
The configuration and operation of the present invention will be described with reference to the drawings. FIG. 4 is a block diagram showing the configuration of the embodiment of the present invention.
You. In this embodiment, the console 400, the dialog control unit 401,
Expansion processing units 402 and 405, synonym expansion processing unit 403, synonym
Word dictionary file 404, character string integration processing unit 406, character string search
The processing unit 407 includes a text database 408.
You. The search string 40 entered from the console 400 is
It is sent to the different notation development processing unit 402 via the talk control unit 401.
The character string group 41 expanded by the different notation expansion processing unit 402 is a synonym
It is sent to the expansion processing unit 403 and the character string integration processing unit 406
Also sent to In the synonym expansion processing unit 403, the synonym dictionary 4
Each character string of the character string group 41 sent with reference to 04 and the dictionary
Matches with the headline and there is a matched character string
Then, according to the synonym expansion mode control signal 410,
Outputs the words corresponding to the heading listed, and develops different notations
The character string group 42 is sent to the processing unit 405. In the notation expansion processing unit 405
Is a different notation expansion process for the character string 42 expanded
Character string group 4
3 is output to the character string integration processing unit 406. String integration processing unit
406 is the character received from the different notation development processing units 402 and 405
Column group 41 and character string group 43 are combined into one character string group 44
Output to character string search unit 407. The character string search unit 407
If any of the character strings in the character string group 44
Is searched from the text OB and the identifier of the hit document
Outputs information etc. to the dialog control unit 401 as the search result 45
You. In response to the search result 45, the dialog control unit 401
The number of results 46 and text information 46 to the console 400 as appropriate
Output. The different notation development processing units 402 and 405 are completely the same.
You. The character string search unit 407 is a known technology.
This can be realized using −311530. Text DB408 Character
If it is code information, even newspaper article data, word processing
The electronic filing system can be used for the created document data.
Bibliographic data. Hereinafter, the different notation expansion processing units 402 and 405 and the synonym expansion processing unit
The configuration and operation of 403 will be described in detail. First, an outline of the different notation development process will be described with reference to FIG.
You. Here, first, the input character string 501 is set between different character types.
And divide it into substrings. For example, the input string
In the case of 501 “desktop type interphone”, it is divided into a kanji character string 502 “desktop type” and a katakana character string 503 “interphone” according to the character type. Next, for each divided string
By performing different notation expansion, kanji different notation character string list 504,
The character string list 505 for different notation is obtained. Then kanji different
Notation character string list 504 and katakana different notation character string list 5
05 is expanded separately, and the sentence is expanded separately for two character types.
Combine character strings into one and output as final result 506
You. Next, referring to FIG. 6, the details of the processing for developing different notations will be described in detail.
explain. FIG. 6 is a diagram showing an example of a different notation developing means according to the present invention.
It is a block diagram showing an example. The configuration of the present embodiment
Seed division / sorting unit 601, Roman character discriminating unit 602, Roman character kana
Conversion unit 603, Kanji different notation expansion unit 604, Katakana different notation expansion
Part 605, Alphabet variant notation development part 606, Kana-Roman
It comprises a conversion unit 607 and a divided character string integration unit 610. Input character string 620 to different notation expansion processing unit 402 or 405
Is first sent to the character type division / selection unit 601. Character type
The split / selection unit 601 converts the input character string 620 into Chinese characters as described above.
Character and Hiragana character string 631, Katakana character string 632, Alf
4 types of character string 633 and other character string 630
Split into minute strings. Divide the substring into each
Classify according to the character type, and perform separate expansion processing. Sentence below
The outline of the expansion process is shown in Character Type. (1) Other than Kanji / Hiragana / Katakana / Alphabet
This character type includes numbers, symbols, special characters,
Or the like. In this embodiment, these character types are expanded
The character string 630 entered without any input
Output to 10. But for numbers, alphanumeric characters
Or convert the symbol "•" to "-"
Expanding to “/” is also conceivable. (2) Kanji / Hiragana character strings For these character types, character string 631 is written in different Kanji characters
In development section 604, new and old kanji and kanagana
To expand the notation. Output characters of Kanji different notation expansion unit 604
Column 641 is sent to divided character string integration section 610. (3) Katakana character string For this character type, character string 632 is written in katakana
In the expansion unit 605, develop different notations for the notation of similar syllables
Do. The expanded character string 642 is sent to the divided character string
Can be Also sent to Kana-Roman conversion unit 607 at the same time
It is. Converted to Roman characters by Kana-Roman conversion unit 607
The character string 653 is stored in the alphabet
Development of different notation regarding capital letter of Lefa Vet
Then, it is sent to the divided character string integration unit 610 as a character string 643. (4) Alphabet string This character type is expressed in Japanese Roman characters.
And the case of the foreign language. Here, first, the character string 633 is
-Determine whether it is a kamaji or a foreign language. These criteria include:
It uses the notation of roman characters. That is,
Roman if the sequence of G characters matches the Roman notation
Judged as a character and if it cannot be interpreted as a Roman character,
judge. This determination is also performed by the Roman alphabet / kana conversion unit 603.
You can also. In other words, it is possible to convert to Roman
If it is determined to be Roman, otherwise it is determined to be a foreign language
I do. In addition, other than the method of this embodiment,
It is also possible to use a method such as using a Japanese language dictionary.
You. Character string 651 determined to be Roman by the Roman alphabet discriminator 602
Is sent to the Romanized Kana conversion unit 603, where the Katakana
Converted to character string 652, which is further expanded into katakana
In part 605, different notation expansion for similar syllables is performed and character string group 6
Get 42. Subsequent processing for the character string group 642
This is the same as the processing of the katakana character string in (3). Sand
The character string group 642 expanded into katakana different notation
It is sent to the character string integration unit 610, and the kana-romaji conversion unit 6
Also sent to 07. Katakana character strings 642
Are converted to Roman characters by the Roman character conversion unit 607, and are converted to Roman characters.
Sent to Alphabet variant notation expansion unit 606 as character string group 653
Can be The Roman character string group 653 is different from the alphabet
Differences in uppercase and lowercase letters in the notation expansion unit 606
After undergoing notation expansion, it is sent to the divided character string integration unit 610.
You. On the other hand, a character determined to be a foreign language by the Roman alphabet determination unit 602
Column 634 has a different alphabet
Sent to the notation expansion unit 606, and the output character string 643 is a divided character
Sent to column integration section 610. The flow of the different notation development process has been described above. Continued
The details of each processing block in this variant notation expansion processing
Will be described. First, the processing of the katakana variant notation expansion unit 605
explain. Fig. 7 shows the processing in the different notation development section
FIG. 8 is a diagram illustrating an example of a character string. Here, an input character string “interphone” is used as an example. Different notation expansion processing
Perform by referring to the conversion rules. Also, the conversion process
What can be converted as a substring in a power string
If there is, refer to the conversion rule and replace with another notation
Things. The table format of this conversion rule is also shown in this figure.
It is shown. This conversion rule table has a header section and
It consists of an expanded character string list section. In the input string
Is equivalent to the heading of the conversion rule table
If it exists, the corresponding part is described in the expanded character string list part.
It is sequentially replaced by a group of different notation character strings. This search for the heading character string is performed from the beginning of the input character string.
Performed by the long match method. That is, as shown in this figure,
If both the “for” substring and the “for” substring in the input string appear in the heading,
Apply the conversion rule for the “Four” heading. Using the example of FIG. 7, this headline character string search and expansion
The replacement process with the character string list will be described. Heading character
In string search, substrings and headings in the input string
Set the search pointer for matching with the character string. Input sentence
When matching a character string with a heading character string, the position of the search pointer
Move the search pointer in the input string to the beginning.
The matching character string is compared with the heading character string.
First, set the search pointer to the first character of the input string.
You. Therefore, in this example, the character "i"
The search will begin. There is no corresponding heading
Therefore, move the search pointer one character and set
Search for the heading character string again from the character string. Also
Since there is no corresponding heading, another character search
To search for a heading character string from the letter “ta”.
You. This time, the character string “TA” is found, so “TA” is replaced with “TA” and “TA” described in the expanded character string list. Then, the search pointer is moved by the number of characters of the heading "ta", that is, by one character. Next,
A heading character string search is performed from characters to obtain the corresponding headings “Four” and “Foo”. This time the two heading strings match,
If there are multiple matched header strings, the longest
Conversion rule with longest heading string according to matching method
Is adopted. In this example, the heading “Four” is longer than “Fo”, so “Four” is adopted as the conversion rule for expansion, and the part in the input string is
The character string “for” is replaced with “for”, “for”, “for” and “for” described in the expanded character string list section. Then, the search pointer is moved by the number of characters of the heading “Four”, that is, three characters. Last input sentence
To search for a heading from the last character in the string, "n"
However, since there is no corresponding heading, the character "n"
The opening process is not performed and the state is left as it is. In this way, search points
Since the data has reached the last position of the input character string, the processing ends. Includes the expanded list generated as a result of the above processing
By combining the expanded list of strings "in (ta, ter) (four, pho, ho, ho)", the final variant notation
The expanded character string is obtained. In this example, the expansion is performed in two ways in the “ta” part and in four ways in the “four” part, so the expansion result is 2 × 4 eight character strings.
That is, 1) “Interphone” 2) “Interphone” 3) “Interphone” 4) “Interphone” 5) “Interphone” 6) “Interphone” 7) “Interphone” 8) “Interphone”. Searching heading character strings and placing them in the expanded character string list
The replacement process will be described with reference to the PAD diagram shown in FIG. First search port
Set the interface to the beginning of the input string. Next, the current search
A character string starting with the search pointer
Search for a string. If matching
If there is no heading, move the search pointer one character backward
And then re-map with the string starting with the search pointer.
Search for the heading string to be tuned. Matching look
If there is a heading,
Use the longest heading and extract the relevant part
Replace with Once the replacement is complete,
Move backward by the number of characters of the heading character string that has been touched.
Then, until the search pointer reaches the last position of the input character string.
In the above, search for the header string and replace it with the expanded list
Repeat the process. Heading characters in the different notation development described so far
FIG. 9 shows another embodiment of the method for searching for a column.
This will be described with reference to FIG. In this embodiment, the search for the heading character string is performed.
An automaton is used. Below, about the procedure
State. First, according to the conversion rules, the auto
Generate mutton. The different notation development process is
Enter the input character string one character at a time
The expanded character string list explained in FIG.
Gets the containing string. Hereinafter, the operation content will be specifically described. Main figure
The symbol a constitutes an input character and the circle constitutes an automaton
The number in the circle indicates the state number of each state. line
When the character above is entered, the direction of the arrow
Indicates a state transition. The symbol '' represents a character other than the following character. Also,
The symbol '→' indicates that the following string is output.
You. This automaton is used to control its operation.
State transition table and output table that describes the output of each state
Consisting of The state transition table is as shown in FIG.
Become. Here, the input characters and the characters in each state are
The state number of the transition destination that transits when input is paired.
It is described. However, when transitioning to state 0,
Omitted. That is, the state transition table
If characters that are not described in the
It is assumed that the state changes to 0. Figure 11 shows the output table
In each state of the automaton, the output is
A character string list is described. Automaton works
To transition from state other than state 0 to state 0
Only refer to this output table and find the appropriate expansion string
Is output. And once the output is done, the transition to 0 again
Enter the character that caused the transfer to the automaton and change the state
Retransition the automaton with reference to the transition table. Condition
When returning from state 0 to state 0, input characters
Power. As described above, state transition control and
The output has been described. Next, based on a specific example,
The work will be explained in detail. The input example of FIG.
On each time a character string of "one" is input
Describe. Initially, the state of the automaton is in state 0
You. (1) When the character "i" is input, the transition destination from state 0 is registered in the state transition table.
Since there is not, “i” is output as it is, and the state remains 0. (2) When the character "n" is input, the transition destination from state 0 is registered in the state transition table.
Since there is not, “n” is output as it is, and the state remains 0. (3) When the character "TA" is input, the state transition table is referenced and the transition destination from the current state 0
Is read out, and the state shifts to 6. (4) When the character “F” is input, the state transition table makes a transition from state 6 to “F”.
The transition destination cannot be obtained. And because the current state is not 0,
The output table is referred to and the output character strings “ta” and “tar” in state 6 are output. Thereafter, the state moves to zero. further,
In this new state 0, input character "F" is automatically
Input to Mutton. As a result, the contents of the state transition table
The state moves from the state 0 to the state 1 according to. (5) When the character "o" is input, the state of the state transition table changes from state 1 to state 2.
The state moves. (6) When the character "-" is input, the state of the state transition table changes from state 2 to state 3.
The state moves. (7) When the character "n" is input, the state transition table makes a transition from state 3 to "n".
The transition destination state number cannot be obtained. And the current state is state 0
Is not available, the output table is referenced and the output in state 3
The character strings "for", "for", "for" and "for" are output. After that, the state changes to 0 and input again
The character "n" is input to the automaton. here,
Input characters because the transition destination cannot be obtained from the state transition table
Is output as is. 8) The process ends because the last character of the input character string has been reached.
You. Thus, a character string “in (ta, ter) (four, pho, ho, ho)” including the expansion list is obtained. Next, how to generate this automaton for heading string search
The equation will be described with reference to FIG. This automaton generation
Is created once before the input string is actually sent.
Good. This figure shows the method of generating a search automaton,
PAD state transition table and output table creation method
This will be described below with reference to the drawings. Ma
Initialize the state transition table and output table. Next
At the end of the conversion rule, taking out the rules one by one
Repeat the following process until (1) Set the state number to 0. (2) Take characters one by one until the end of the heading character string.
Create a state transition table while issuing. I.e.
Refers to the state transition table, the transition destination by the extracted character
If is registered, move to the transition destination state. Transition destination is up
If not, generate a new state number and state transition
Register additionally in the transfer table. And new state
Go to state. In addition, the output table shows
Register the character string that has transitioned to the state. (3) Processing of (2) is completed for all characters in the heading character string
After completion, the current state number and the conversion
Register the expansion string list of the file. The specific processing flow is defined by two conversion rules [“Four” → (“Four”, “Fo”, “Ho”, “H”)] and [“Fo” → (“Four”, “Fo”, “ Ho "," ho ")]. First, processing is performed on the heading character string “Four” of the first conversion rule. (1) Input of character “F” Since the state transition table is initialized first, transition
No previous state number is registered. So a new state
Generate state number 1 and move state to 1. And output
The character that causes the table to transition from state 0 to state 1
Register the column “F” as the output of state number 1. (2) Input of character "o" The transition destination from the current state 1 is defined in the state transition table.
Not. Therefore, create a new state number 2 and change the state
Move to 2. Then, from the state 0 to the state 2 in the output table
Is registered as an output of state number 2. (3) Input of character "-" The transition destination from the current state 2 is defined in the state transition table.
Not. Therefore, a new state number 3 is generated, and the state is
Go to 3. Then, from the state 0 to state 3 in the output table
Is registered as the output of state number 3. Also found in this
Since it is the last character of the string,
The column list (“Pho”, “Pho”, “Hoo”, “Hho”) is replaced in the output table with the output string “Pho” registered in advance as the output of state 3 in the output table.
register. Next, the process for the heading character string “F” of the second conversion rule is executed. Prior to processing, the status is set to 0
Return. (4) Referring to the state transition table registered in the input destination of the character “F”,
Get state number 1 and move state to 1. (5) Input of character "o" Referring to the state transition table, change the state number 2 of the transition destination.
Then, move the state to 2. State 2 output to output table
Is already registered, but is the last
Is already registered as an output of state 2 in the output table.
I have. Replace “fo” with the conversion character string list of conversion rules (“pho”, “pho”, “ho”, “ho”). With the above processing, the above two conversion rules are searched.
Automata can be created. Shown in a specific example
Except for the two conversion rules, exactly the same procedure
Automata can be made in order. The conversion for Katakana variant notation expansion described in the example above
The details of the rule table are shown in FIG. In addition, conversion
To create a rule table, a similar syllable table of katakana character strings
Stipulated the principle of the notation regarding the Japanese language
Conference Report Notation of foreign words ”can be used. sand
That is, in the above report, the different notation of katakana character strings is indicated,
Although the principle to unify the notation is stated,
You can use this in reverse to create conversion rules.
You. Until now, examples of different notation expansion of katakana character strings are given
As described above, about the different notation expansion of kanji character strings
Just use the conversion rule table for kanji character strings.
It can be realized by exactly the same processing. Differences between new and old Kanji fonts
FIG. 14 shows an example of a conversion rule table for notation expansion,
Fig. 15 shows an example of a different notation development rule for sending
You. In addition, the different notation expansion rule text shown in FIGS.
Cable can be modified further if necessary,
Different notation expansion desired by the user is possible. The above is the Kanji different notation development part 604, Katakana different notation development part 6
It is the details of the process of 05. Next, a description will be given of the development of different representations of Roman characters. Real truth
In the example, to develop the different notation of Roman characters,
Was once converted to a katakana character string
Later, this was expanded to katakana, and again
The method of converting back to Roman alphabet is used.
Therefore, the part related to the development of different forms of Roman characters is shown in Fig. 6.
Of the Roman-Kana conversion unit 603 and Kana-Roman conversion unit 607
One. First, the processing contents of the Roman alphabet / kana conversion unit will be described.
You. When an alphabetic character string is entered, first Rome
Kanji conversion is performed. In the Roman alphabet / kana conversion unit 603,
Using the correspondence table between Roman characters and katakana as shown in Fig. 16
Then, Roman alphabetic kana conversion is performed. In the figure,
For example, the first record indicates that the Roman alphabet “A” corresponds to the katakana “A”. Multiple in romaji items
Records with multiple character strings
All the strings that are sent correspond to katakana items
It is shown that. For example, the Roman letters “SYA” and “SHA” correspond to the katakana “sha”. These are written in Roman alphabet
And Hepburn notation. Therefore, this
The kana-kana conversion unit 603 is either a ceremony instruction type or a Hepburn type
Or even a string of notations like these mixed
Will be converted to The conversion method is the kanji described above.
This is the same as the different notation expansion and katakana different notation expansion. Sand
The longest match between the input character string and the Roman character string
Search and replace them with the corresponding katakana strings in order.
Good. If the corresponding Roman character string is found in the correspondence table
If not, it is determined that the input string is not Roman,
Do not output katakana character strings. Next, the kana-romaji conversion unit 607 will be described. even here
The correspondence table in FIG. 16 is used as it is. This is the input sentence
Match the longest match between the character string and the katakana character string in the correspondence table
While replacing the input string with Roman characters
Go. If there is more than one corresponding Roman notation as in the example of “sha” above,
Replace the relevant part as a list of substrings
To go. In other words, for a katakana input character string,
Expands to a string containing the expansion list in the same way as the expansion processing
By combining the parts of the expanded list.
-You can get the result of expansion of different notation. This is explained using an example where the katakana character string “Shishamo” is input.
I do. At this time, the input character string “Shishamo” is matched with the Katakana-Roman correspondence table.
As a result, a character string including an expansion list “(SI, SHI) (SYA, SHA) MO” is obtained. Therefore, the exhibition
By combining the open lists, 4 types of romanized character strings of 1) "SISYAMO" 2) "SISHAMO" 3) "SHISYAMO" 4) "SHISHAMO" can be obtained.
Become. The above is the description regarding the processing of the different notation development method. In the embodiment of the different notation development described so far,
Is Kanji Hiragana character string, Katakana character string, Roman character sentence
Expansion processing for all character strings and alphabet character strings
Process, but these processes can be performed selectively.
It is possible. That is, the type of the output character string after
Any kind of 1) Kanji Hiragana character string 2) Katakana character string 3) Roman character string 4) Alphabet character string or a mixed character string
It can be controlled so as to be output as a result of expansion.
In this way, it is possible to select different notation development for each character type
Eliminates unnecessary deployment processing and responds to user requests.
The same search processing can be performed. Hereafter, the method of controlling the character type of the expansion result
explain. This output character type control is performed as shown in FIG.
Further output of the alphabet character string 634 to the configuration of the embodiment
Switch a608 for controlling and katakana character strings 642
This is realized by providing a switch b609 for performing output control.
In addition, kanji different notation developing unit 604, katakana different notation developing unit 60
5.Kana-Roman conversion unit 607, switch a608, and switch
Control signal lines 661, 662, 663, 66 for controlling the output of
4 and 665 are provided respectively. Then, the difference set by the user
The control signal
Turn on and off to realize different notation development according to the mode
I do. For example, if you do not need to use
Turn off control signal 663 of Naromaji conversion unit 607 and stop output
Confuse. Each conversion unit, expansion unit,
FIG. 18 shows combinations of switch control signals. In the figure
The expansion mode indicates that c: Kanji and Hiragana different notation expansion k: Katakana different notation expansion r: Romaji different notation expansion a: Alphabet different notation expansion and output. Multiple characters
Represents the output specification of a different representation of a number. For example, the expansion mode 'cka' is used for the Kanji Hiragana, Katakana and Alphabet variants.
Mode to output the notation
Represent. In the table, ○ indicates that the corresponding module outputs a character string.
To do so. Conversely, where there is no circle,
Do not output columns. For example, in the character string expansion mode of 'cka',
3, Kanji different notation development unit 604, Katakana different notation development unit 605
Outputs the expansion character string, and switches a608 and b609
Passes the input character string, but the kana-romaji conversion unit 607
Indicates that no columns are output. Finally, the synonym expansion processing will be described. The synonym expansion processing unit 403 generates a synonym as shown in FIG.
Have a dictionary. In the figure, the record number is
It is a serial number assigned to each heading character string. Each look
The output character string contains the synonym, broad term,
Collocations are defined. Isotope, broader terms, lower order in the figure
The numbers described in the words and related words section are all
Indicates the record number. For example, the heading "computer" indicates that it has record numbers 2 and 3, ie, "computer" and "information processing device", as isotopes. In dictionary with synonym expansion
Which item to use for expansion, synonym expansion mode control
Signal 410 allows the user to set the mode
I have. The modes that can be set are as follows. In other words, u: expansion using isotopes b: expansion using high-order words n: expansion using low-order words r: expansion using related words and expansion combining each mode of u, b, n, r I can do it
I'm trying. Synonym expansion processing is performed in the input character string to the synonym expansion section.
By searching for a dictionary entry string that exists in
Do. In other words, the conversion rule
As in the case of searching for a heading string,
From the longest match. And
In the case of isotopic expansion, the part matched in the input character string
Minute strings are sequentially replaced by a list of isotopic strings.
Good. At this time, rewrite by adding the matched headline character string.
I do. For broader word expansion, lower word expansion, and related word expansion
Is used only when the input string exactly matches the heading string.
Thus, the above-described replacement output is performed. That is, the input character
Just a partial match in a column does not expand. This
This is part of broader word expansion, lower word expansion, and related word expansion.
Replacing partial strings creates meaningless words.
To do so. The process of isotopic expansion will be described using an example. Assuming that the input character string is “large computer”, a search for a heading character string in the synonym dictionary is performed.
Thus, the heading character string “computer” is collated from the third character of the input character string. From the “computer” of record number 1 in the synonym dictionary, “computer” of record number 2 and “information processing device” of record number 3 are identified as synonyms (“computer”, “computer”, “information processing device”). )). This part of the input string is
By replacing, the same as in the case of different notation expansion processing
Then, a character string “large (computer, computer, information processing device)” including the expansion list is obtained. Combine this expanded list (in this case,
Although there is only one list), three isotopic character strings of (1) “large computer”, (2) “large computer”, and (3) “large information processing device” are obtained. Next, the process of expanding the upper word will be described with an example. If the input character string is “computer”, the input character string is
The heading string “Calculator” matches exactly. Therefore, record number 4
Is output. In this case, there is only one broader term,
Of course, there may be more than one. Multiple broader terms
In this case, a list is output as described above. Same processing of broader word expansion for lower words and related words
Becomes In the synonym expansion, the corresponding sentence in the dictionary
If the character string does not exist, the synonym expansion processing unit 403
Does not output a string. The embodiment of the processing method of synonym expansion has been described above.
Was. By the way, in synonym expansion, the dictionary
When the number of records in a book increases, it takes time to search for
May hang. The solution to this problem is to use dictionary headings
There is a method to search for a character string using an index table.
You. Fig. 20 shows the outline of this method. Synonym dictionary
In alphabetical order in the heading string
Good. And, apart from the synonym dictionary,
Collects only the letters of the eyes, and the heading starting with that letter is a dictionary
Index table that registers where to start from
have. For example, headings starting with the letter "A" are record numbers
1 indicates that it exists. Heading string search
When searching, first refer to this index table
And find the record number, and then use this to
Access the book. By doing this, the synonym dictionary
Since it is not necessary to scan all headline strings,
Processing time can be reduced. For example, characters that begin with the character "total"
If you try to search for a column, the index table
If the character string that starts with “total” is record number 501 in the dictionary
It can be seen that they exist. Therefore, the previous useless sentence
String search can be omitted. In addition, the header string
By arranging in alphabetical order,
If you search for a heading with a different first character during the search,
The rope can be omitted. For example, a heading string that starts with "total"
If the search is performed, searching for the heading “information processing device” starting with a character other than “total” eliminates the need for subsequent unnecessary search. In addition, index tables and dictionaries in the dictionary
The record number is used for the description, but this is the position in the dictionary.
By writing the address specifying the
Access speed. An address is a dictionary entry
Indicates the first position where the heading string
For example, there is the number of bytes from the head of the dictionary. Doing this
Access to the dictionary can be identified directly,
It is possible to further increase the processing speed than by specifying a code number.

【発明の効果】【The invention's effect】

本発明の効果を以下に個条書きに示す。 1)異表記展開部に漢字ひらがな混じりの文字種で構成
される文字列の展開手段を設けたことにより、漢字の新
旧字体や送りがなに関する異表記を許容する文字列探索
が可能となった。 2)表現を一旦カタカナに統一せずに、一度異表記展開
してから同義語展開するために、同義語辞書をカタカナ
文字列に統一する必要がなくなった。また、むりなカタ
カナ文字列の標準化処理がないために、同義語辞書の見
出し文字列に自然な言葉を使うことができるようになっ
た。さらに、同義語辞書の見出しには漢字やアルファベ
ットなどの各種の表現による文字列を使用できるように
なり、かつ表記に関しても異表記に配慮する必要がない
ので、辞書の作成、保守が容易になった。 3)外国語カナ変換辞書や、同義語展開した後のカナ漢
字変換辞書およびカナ外国語変換辞書が不要になるため
に、多種類の大規模な辞書を保守する必要がなくなり、
辞書の作成、保守が容易になった。 4)同義語辞書展開した後にも異表記展開することによ
り、同義語展開により新しく得られた文字列についても
異表記を得ることができるようになった。 5)異表記展開における変換ルールは、置き換え部分文
字列の併記という形態をとるため、変換ルールの登録、
変更、削除が容易となった。同様に同義語辞書について
も、容易に編集が可能となった。 6)展開モードを設定可能として、異表記展開処理部で
出力文字種を制御し、同義語展開処理部で展開語彙を制
御することにより、ユーザの求める柔軟な検索処理が可
能となった。 7)同義語辞書に同位語、上位語、下位語、関連語を併
記する形態をとったために、辞書の編集が容易となっ
た。
The effects of the present invention will be shown below in individual articles. 1) By providing a character string developing means for a character string composed of kanji and hiragana characters in the different notation developing section, a character string search allowing a different notation concerning new and old fonts and kanagana of kanji has become possible. 2) It is no longer necessary to unify the synonym dictionary into katakana character strings in order to develop expressions once and then synonyms instead of unifying expressions once into katakana. In addition, since there is no standardized processing of katakana character strings, natural words can be used for the heading character strings of the synonym dictionary. Furthermore, it is now possible to use character strings with various expressions such as kanji and alphabets for the headings of the synonym dictionary, and it is not necessary to consider different notations for notations, making it easier to create and maintain dictionaries. Was. 3) Since there is no need for a foreign language kana conversion dictionary, a kana-kanji conversion dictionary after synonym expansion, and a kana foreign language conversion dictionary, there is no need to maintain many types of large-scale dictionaries.
Creating and maintaining dictionaries became easier. 4) By developing the different notation even after developing the synonym dictionary, it is possible to obtain a different notation even for a character string newly obtained by the synonym expansion. 5) Since the conversion rule in the different notation expansion takes the form of writing a replacement character string in parallel, registration of the conversion rule,
Changes and deletions have become easier. Similarly, synonym dictionaries can be easily edited. 6) The expansion mode can be set, the output character type is controlled by the different notation expansion processing unit, and the expansion vocabulary is controlled by the synonym expansion processing unit, thereby enabling flexible search processing required by the user. 7) Since the synonym dictionary has a form in which co-words, high-order words, low-order words, and related words are added, the dictionary can be easily edited.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の構成を示すブロック図、第2図は公知
例の構成を示すブロック図、第3図は本発明の処理の概
略を説明した図、第4図は本発明の実施例の構成を示す
ブロック図、第5図は異表記展開処理の過程を例により
説明した図、第6図は本発明における異表記展開手段の
実施例を示すブロック図、第7図は異表記展開処理部に
おける変換ルールの適用の処理をカタカナ文字列の例で
説明した図、第8図は異表記展開処理を示すPAD図、第
9図は見出し文字列探索をオートマトンを用いて実行す
る実施例を説明する図、第10図はオートマトンの状態遷
移テーブルを表す図、第11図はオートマトンの出力テー
ブルを表す図、第12図は探索オートマトンの状態遷移テ
ーブル及び出力テーブルの作成方式を表したPAD図、第1
3図はカタカナの異表記変換ルールテーブルの例、第14
図は漢字の新旧字体に関する異表記変換ルールテーブル
の例、第15図は送りがなに関する異表記変換ルールテー
ブルの例、第16図はローマ字とカタカナの対応表の例、
第17図は本発明における異表記展開手段の展開モードを
設定可能とする実施例のブロック図、第18図は異表記展
開における各変換部、展開部、スイッチの出力を制御す
る様子を示す図、第19図は同義語辞書を表す図、第20図
は同義語辞書の見出し文字列のインデクステーブルを用
いて探索する方式の概要を示す図。
FIG. 1 is a block diagram showing the configuration of the present invention, FIG. 2 is a block diagram showing the configuration of a known example, FIG. 3 is a diagram schematically illustrating the processing of the present invention, and FIG. 4 is an embodiment of the present invention. FIG. 5 is a diagram illustrating an example of a process of developing a different notation, FIG. 6 is a block diagram showing an embodiment of a different notation developing means in the present invention, and FIG. FIG. 8 illustrates a process of applying a conversion rule in a processing unit using an example of katakana character strings. FIG. 8 is a PAD diagram illustrating variant notation expansion processing. FIG. 9 is an embodiment in which a heading character string search is executed using an automaton. FIG. 10 is a diagram showing a state transition table of an automaton, FIG. 11 is a diagram showing an output table of an automaton, and FIG. 12 is a PAD showing a method of creating a state transition table and an output table of a search automaton. Figure, 1st
Fig. 3 shows an example of the katakana variant notation conversion rule table.
Figure shows an example of a different notation conversion rule table for new and old Kanji fonts, FIG. 15 shows an example of a different notation conversion rule table for Origana, FIG. 16 shows an example of a correspondence table between Roman characters and katakana,
FIG. 17 is a block diagram of an embodiment in which the expansion mode of the different notation expansion means in the present invention can be set, and FIG. 18 is a diagram showing a state of controlling the output of each conversion unit, expansion unit, and switch in different notation expansion. FIG. 19 is a diagram showing a synonym dictionary, and FIG. 20 is a diagram showing an outline of a search method using an index table of a heading character string of the synonym dictionary.

フロントページの続き (72)発明者 川口 久光 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 藤縄 雅章 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 増崎 秀文 神奈川県小田原市国府津2880番地 株式 会社日立製作所小田原工場内 (56)参考文献 特開 昭62−11932(JP,A) 伍井外3名「カタカナ異表記処理」、 情報処理学会第38回(昭和64年前期)全 国大会講演論文集(I)P351−352 (58)調査した分野(Int.Cl.6,DB名) G06F 17/30 JICST科学技術文献ファイルContinuing on the front page (72) Inventor Hisamitsu Kawaguchi 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd. (72) Inventor Hidefumi Masuzaki 2880 Kozu, Odawara City, Kanagawa Prefecture Inside the Odawara Plant of Hitachi, Ltd. (56) References JP-A-62-111932 (JP, A) Proceedings of the 38th Information Processing Society of Japan (Early 1988) National Convention (I) P351-352 (58) Fields surveyed (Int. Cl. 6 , DB name) G06F 17/30 JICST Science and Technology Reference File

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】情報を文字コードとして格納するデータベ
ースと、キーワードに対応する文字コードを入力し、前
記入力されたキーワードに対応する文字コードを有する
情報を前記データベースから検索する計算機を備えた文
字列検索装置において、 予め単語を構成する部分文字列単位で異表記を発生させ
る規則を記憶しておき、前記規則に従って、前記入力さ
れたキーワードを構成する部分文字列の異表記を発生さ
せることにより、前記キーワード自体から1以上の第1
の異表記に展開させる第1の異表記展開手段と、 前記第1の異表記を同義語辞書を用いて1以上の同義語
に展開する同義語展開手段とを有し、 前記同義語展開手段で展開された同義語から1以上の第
2の異表記を展開する第2の異表記展開手段とを有し、 前記計算機は、前記第2の異表記および入力されたキー
ワードに対応する文字コードのうちいずれかを有する情
報を検索することを特徴とする文字列検索装置。
1. A character string comprising: a database for storing information as character codes; and a computer for inputting a character code corresponding to a keyword and searching the database for information having a character code corresponding to the input keyword. In the search device, a rule for generating a different notation for each partial character string constituting a word is stored in advance, and according to the rule, a different notation for the partial character string forming the input keyword is generated. One or more first from the keyword itself
And a synonym expansion unit that expands the first heterogeneous expression into one or more synonyms using a synonym dictionary. The synonym expansion unit And a second variant expression developing means for developing one or more second variant expressions from the synonyms developed in the above, and wherein the computer has a character code corresponding to the second variant name and the inputted keyword. A character string search device for searching for information having any of the following.
【請求項2】特許請求の範囲第1項に記載の文字列検索
装置において、 前記同義語展開手段は、前記第1の異表記を(1)前記
第1の異表記と概念的に同位の語彙への展開、(2)前
記第1の異表記と概念的に上位の語彙への展開、(3)
前記第1の異表記と概念的に下位の語彙への展開、
(4)前記第1の異表記と関連する語彙への展開のうち
少なくとも1つを行うことを特徴とする文字列検索装
置。
2. The character string search device according to claim 1, wherein the synonym expansion unit (1) converts the first variant notation into (1) a concept that is conceptually equivalent to the first variant notation. Expansion into vocabulary, (2) Expansion into vocabulary conceptually higher than the first variant notation, (3)
Expansion into a vocabulary conceptually lower than the first variant notation,
(4) A character string search device that performs at least one of expansion into a vocabulary related to the first variant notation.
JP1149630A 1989-06-14 1989-06-14 String search device Expired - Lifetime JP2791106B2 (en)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP1149630A JP2791106B2 (en) 1989-06-14 1989-06-14 String search device
PCT/JP1990/000774 WO1990016036A1 (en) 1989-06-14 1990-06-14 Hierarchical presearch-type document retrieval method, apparatus therefor, and magnetic disc device for this apparatus
DE69032712T DE69032712T2 (en) 1989-06-14 1990-06-14 HIERARCHICAL PRE-SEARCH TYPE DOCUMENT SEARCH METHOD, DEVICE THEREFOR, AND A MAGNETIC DISK ARRANGEMENT FOR THIS DEVICE
EP90909360A EP0437615B1 (en) 1989-06-14 1990-06-14 Hierarchical presearch-type document retrieval method, apparatus therefor, and magnetic disc device for this apparatus
US07/555,483 US5168533A (en) 1989-06-14 1990-08-09 Hierarchical presearch type text search method and apparatus and magnetic disk unit used in the apparatus
US07/843,162 US5469354A (en) 1989-06-14 1992-02-28 Document data processing method and apparatus for document retrieval
US07/914,334 US5220625A (en) 1989-06-14 1992-07-17 Information search terminal and system
US07/985,795 US5519857A (en) 1989-06-14 1992-11-30 Hierarchical presearch type text search method and apparatus and magnetic disk unit used in the apparatus
US08/031,625 US5471610A (en) 1989-06-14 1993-03-15 Method for character string collation with filtering function and apparatus
US08/031,700 US5454105A (en) 1989-06-14 1993-03-15 Document information search method and system
US08/444,842 US5748953A (en) 1989-06-14 1995-05-18 Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols
US08/839,407 US6094647A (en) 1989-06-14 1997-04-11 Presearch type document search method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1149630A JP2791106B2 (en) 1989-06-14 1989-06-14 String search device

Publications (2)

Publication Number Publication Date
JPH0315980A JPH0315980A (en) 1991-01-24
JP2791106B2 true JP2791106B2 (en) 1998-08-27

Family

ID=15479427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1149630A Expired - Lifetime JP2791106B2 (en) 1989-06-14 1989-06-14 String search device

Country Status (1)

Country Link
JP (1) JP2791106B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2141311A1 (en) * 1992-07-29 1994-02-17 Hiromitsu Mizuno Apparatus for driving and controlling power window
JP3025724B2 (en) * 1992-11-24 2000-03-27 富士通株式会社 Synonym generation processing method
JPH07152778A (en) * 1993-11-29 1995-06-16 Sanyo Electric Co Ltd Document retrieval device
JPH08314903A (en) * 1995-05-19 1996-11-29 Brother Ind Ltd Document processor
JP3019780B2 (en) * 1996-08-30 2000-03-13 松下電器産業株式会社 Similar name search device
JP2002092018A (en) * 2000-09-18 2002-03-29 Nec Software Hokkaido Ltd Retrieval system including katakana and hiragana
JP2009116737A (en) * 2007-11-08 2009-05-28 Honda Motor Co Ltd Information retrieval device
KR100916816B1 (en) * 2008-03-14 2009-09-14 엔에이치엔(주) Method and system for reducing error in chouon and sokuon and providing function of finding a japanese alphabet in japanese input unit by using japanese alias database
JP4831203B2 (en) 2009-04-24 2011-12-07 信越半導体株式会社 Semiconductor single crystal manufacturing method and semiconductor single crystal manufacturing apparatus
KR101086550B1 (en) * 2009-06-24 2011-11-23 엔에이치엔(주) System and method for recommendding japanese language automatically using tranformatiom of romaji
JP5470620B2 (en) * 2009-12-30 2014-04-16 独立行政法人情報通信研究機構 Annotation acquisition device, annotation acquisition method, and program
JP5348699B2 (en) * 2010-11-15 2013-11-20 Necシステムテクノロジー株式会社 Data classification system, data classification method and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
伍井外3名「カタカナ異表記処理」、情報処理学会第38回(昭和64年前期)全国大会講演論文集(I)P351−352

Also Published As

Publication number Publication date
JPH0315980A (en) 1991-01-24

Similar Documents

Publication Publication Date Title
JP2515726B2 (en) Information retrieval method and device
US5303150A (en) Wild-card word replacement system using a word dictionary
US4903206A (en) Spelling error correcting system
JPS63231674A (en) Word processing system
JP2791106B2 (en) String search device
JPS60176169A (en) Sentence processor
JPH1027183A (en) Method and device for data registration
JPH0412866B2 (en)
JP3079844B2 (en) Full-text database system
JPS62197864A (en) Language information offering device
Pantelia ‘Noûs, INTO CHAOS’: THE CREATION OF THE THESAURUS OF THE GREEK LANGUAGE
JP3022079B2 (en) Full-text database system
JPS6068423A (en) Input device of japanese sentence
JP3022080B2 (en) Full-text database system
JPS5957324A (en) Data conversion processing system
JP2862236B2 (en) Character processor
JP2744241B2 (en) Character processor
JPH08272780A (en) Processor and method for chinese input processing, and processor and method for language processing
JP3791565B2 (en) Character input device
JPS6198475A (en) Japanese sentence input device
JPH0131229B2 (en)
JPH0521264B2 (en)
JPH07129571A (en) Device and method for document preparation
JPH09146937A (en) Device and method for character string conversion
JPH05108614A (en) Japanese language document generating device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080612

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080612

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090612

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100612

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100612

Year of fee payment: 12