JPH04340166A - 単語辞書検索装置 - Google Patents

単語辞書検索装置

Info

Publication number
JPH04340166A
JPH04340166A JP3156742A JP15674291A JPH04340166A JP H04340166 A JPH04340166 A JP H04340166A JP 3156742 A JP3156742 A JP 3156742A JP 15674291 A JP15674291 A JP 15674291A JP H04340166 A JPH04340166 A JP H04340166A
Authority
JP
Japan
Prior art keywords
character
word dictionary
word
clock
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3156742A
Other languages
English (en)
Inventor
Shunichi Fukushima
俊一 福島
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP3156742A priority Critical patent/JPH04340166A/ja
Publication of JPH04340166A publication Critical patent/JPH04340166A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力文字列と単語辞書
とを照合して、入力文字列において、単語辞書内に存在
する単語が出現した部分を検索する単語辞書検索装置に
関するものである。特に、入力文字列の各文字が複数の
候補をもつような場合にも適用する単語辞書検索装置に
関するものである。
【0002】入力文字列の各文字に複数の候補がなく一
意な場合の単語辞書検索装置は、かな漢字変換装置にお
いてキーボードから入力されたかな文字列に対する単語
辞書検索を行なう部分、または機械翻訳装置、文音声変
換装置もしくは文章校正装置などにおいてワードプロセ
ッサなどで作成された漢字かな混じり文字列に対する単
語辞書検索を行なう部分などに用いられている。
【0003】入力文字列の各文字に複数の候補がある場
合の単語辞書検索装置は、音声認識装置や文字認識装置
などにおいて、認識結果の複数の候補文字から最も確か
らしい文字を選択するための単語辞書検索部などに用い
られている。
【0004】
【従来の技術】従来、かな漢字変換装置・文音声変換装
置などにおいて用いられている単語辞書検索方式は、基
本的に、文献:「計算機によるカナ漢字変換」(相沢・
江原、NHK技術研究、第25巻第5号、23頁〜60
頁、1973年)に示されている方式を引き継いでいる
。すなわち、入力された文字列から部分文字列を切り出
して、その部分文字列に表記(かな漢字変換では「かな
表記」すなわち「読みがな」)の一致する単語を単語辞
書内から検索するという処理を行なう(これを、以下で
は、第1の従来技術と呼ぶことにする)。
【0005】例えば、「文章を解析する」という漢字か
な混じり文字列に対する単語辞書検索を行なう場合は、
1文字目・2文字目など各文字位置から始まる単語を検
索するために、「文章を解析する」「章を解析する」「
を解析する」「解析する」「析する」「する」「る」と
いった部分文字列を別々に切り出す。そして、各部分文
字列について、さらに、末尾を削った部分文字列も生成
して、その各々を単語辞書から検索する。すなわち、1
文字目から始まる単語を検索する際には、「文章を解析
する」「文章を解析す」「文章を解析」「文章を解」「
文章を」「文章」「文」といった部分文字列に関して、
検索を次々に繰り返し、2文字目から始まる単語を検索
する際には、「章を解析する」「章を解析す」「章を解
析」「章を解」「章を」「章」といった部分文字列に関
して、検索を次々に繰り返すわけである。その結果、下
線を引いた部分文字列などについて、表記の一致する単
語が見つかることになる。
【0006】この第1の従来技術では、複数の部分文字
列に対して単語辞書の検索を繰り返すわけであるが、単
語辞書の構成を工夫しておくことによって、1つの部分
文字列に対する検索の所要時間の短縮を図っている。例
えば、単語辞書内の単語をあらかじめソートしておいて
二分検索を行なったり、1文字目・2文字目など文字ご
とに分割して共通な部分をまとめて木構造として1文字
ずつ照合を行なうなどである。このような辞書の構造と
検索方式の工夫については、文献:“theArt  
of  Computer  Programming
  3:Sorting  and  Searchi
ng”(D.E.Knuth,Addison−Wes
ley,1973)に多く示されている。
【0007】ただし、この第1の従来技術は、コンピュ
ータ上の逐次型プログラムとしての実現を想定しており
、所要時間短縮の工夫は逐次処理の枠内での工夫である
。したがって、入力文字列のある部分文字列と単語辞書
内のある単語の表記の文字列とを比較する処理などは、
1文字ずつ逐次行なわれる。例えば、「文章を」という
部分文字列と単語辞書内の「文章」という単語の比較は
、「文」と「文」とを照合し、一致したところで「章」
と「章」とを照合し、次に、「を」に対して不一致とな
り失敗するというように、1文字ずつの照合処理の繰り
返しである。
【0008】また、第1の従来技術では、入力文字列の
各文字にm個ずつ候補があるような場合は、あらかじめ
、長さLの部分文字列に対して、候補を組み合わせたm
L 通りの文字列を生成する必要がある。そして、それ
らの各々について、さらに、上記のように末尾を削った
部分文字列を生成して、単語辞書内を検索することにな
る。
【0009】一方、ある長さLの文字列と入力文字列と
の比較の際に、1文字ずつの照合を繰り返すのではなく
、対応する文字位置のL組の照合を同時に行なうことが
考えられている。その際、入力文字列をシフトレジスタ
に格納しておけば、照合の位置をずらすことが、入力文
字列から再度部分文字列を切り出すのではなく、シフト
レジスタ内の全文字を一度に1文字ずらすことで実現で
きるようにもなる。この第2の従来技術は、特開昭63
−261421号公報「文字列処理装置」および特開昭
63−261422号公報「文字列照合装置」に述べら
れている。なお、この第2の従来技術では、入力文字列
に複数の候補は存在せず、検索される文字列も1通りに
限られる(単語辞書のように多数ではない)。
【0010】特開昭62−67636号公報「照合方式
」および:「音声日本語入力システムにおける高速な言
語処理のための辞書照合アルゴリズム」(浜口・鈴木、
電子情報通信学会論文誌、第J70−D巻第8号、15
89頁〜1596頁、1987年)には、第3の従来技
術が示されている。
【0011】第3の従来技術では、入力文字列に複数の
文字候補があることを想定している。まず、文字の種類
をM(例えば、JISの文字コード表では、ひらがなに
ついてM=83)とすると、1文字目・2文字目など各
文字位置に、Mビットのメモリを1個ずつ用意し、複数
の候補文字に対応する各ビットを1にしておく。そして
、照合時は、単語辞書内の各単語について、単語の表記
の1文字目・2文字目など文字位置ごとに、対応するM
ビットメモリから、対応する文字のビット内容(1また
は0)を同時に読み出す。すべてのMビットメモリから
1が読みだされたら、入力文字列中に単語辞書内にある
単語が出現したことになる。
【0012】
【発明が解決しようとする課題】第1の従来技術には、
まず第1に、前述のように、多数の部分文字列に対する
単語辞書検索を繰り返さねばならないという欠点がある
。この欠点は、入力文字列の各文字に複数の候補がある
場合に、特に顕著になる。長さKの入力文字列の各文字
にm個ずつ候補がある場合、最長の部分文字列の長さを
Lとすると(通常、単語辞書内の最長の単語の長さをL
とする)、最大(mL ×L×K)個の部分文字列に対
する検索を繰り返す必要が生じる。通常、あらかじめ条
件を定めて、不要な部分文字列の検索を避けるようにす
るので、(mL ×L×K)個というのは最悪の場合て
あるが、それでも検索の回数はかなり多くなる。
【0013】第1の従来技術の第2の欠点は、ある部分
文字列と単語辞書内のある単語の表記の文字列との比較
を、1文字ずつ順に行なうため、比較に時間がかかると
いうことである。
【0014】第2の従来技術では、第1の従来技術の第
2の欠点に対処している。しかし、第2の従来技術は、
入力文字列に複数の候補がある場合に適用できない。ま
た、検索される文字列も1通りに限られ、単語辞書のよ
うに多数の文字列と比較を行なうことを考えると、単語
辞書内の各単語の表記の長さの異なりが問題となって適
用できない。
【0015】第3の従来技術は、第1の従来技術の2つ
の欠点に対処している。しかし、入力文字列を記憶する
ために、文字の種類だけのビット数をもったメモリを、
文字列長だけ用意する必要があるため、文字の種類が多
数の場合はメモリサイズがかなり大きくなってしまう問
題がある。かな漢字変換や音声認識の場合は、入力文字
列がひらがな(あるいは音素文字)で100種類程度に
限定されるので、あまり問題にならないが、漢字かな混
じり文字列を対象とした文音声変換や機械翻訳などの場
合は、漢字を含み文字の種類が3000〜4000種類
にもおよぶため、メモリが大きくなって問題になる。
【0016】また、第3の従来技術では、入力された文
字列の先頭から始まる単語の検索しか行わないため、2
文字目から始まる単語や、3文字目から始まる単語など
を検索する場合には、入力文字列のメモリへの登録を、
やり直す必要が生じるという問題もある。
【0017】さらに、複数の候補文字を組み合わせたも
のが単語辞書内の単語と一致した場合、どのような候補
を組み合わせたかによって、その単語の出現に関する信
頼度は異なってくると考えられる。例えば、単語辞書内
の長さ3文字の単語が入力文字列の候補文字のある組み
合わせと一致したとしても、第3候補と第2候補と第3
候補の組み合わせたものと一致した場合と、第1候補と
第1候補と第2候補の組み合わせたものと一致した場合
とでは、後者の方が確からしいと思われる。したがって
、一致に対して、その信頼度が算出できることが望まれ
る。
【0018】本発明の目的は、上記のような従来技術の
欠点を除去し、入力文字列の各文字に複数の候補があっ
ても、高速に単語辞書との照合が可能な単語辞書検索装
置を提供することである。
【0019】
【課題を解決するための手段】第1の発明は、各文字に
対して第1から第m候補(mはm≧1なる整数)までの
m種類の候補が存在する文字列の入力位置と、n文字分
(nはn≧1なる整数)のデータ巾をもつ各アドレスに
単語の表記を1個ずつ格納してn文字に満たない部分に
はあらかじめ定めた残余記号を詰めた単語辞書メモリと
、前記入力装置によって1文字に対するm種類の候補が
入力されるたびにシフトクロック1回と前記単語辞書メ
モリ内の全単語数に応じた回数の判定クロックとカウン
タクロックとを発生するコントローラと、前記シフトク
ロックに同期したリセットと前記カウンタクロックに同
期したカウントアップとを行なう前記単語辞書メモリの
アドレスカウンタと、前記入力装置によって入力された
文字列の第1・第2・……・第m候補に対応し前記シフ
トクロックに同期した1文字ずつの順送りを行なう各々
n文字分の第1・第2・……・第m候補シフトレジスタ
と、前記単語辞書メモリから読み出されるn文字分のデ
ータの1文字目・2文字目・……・n文字目に対応し該
当位置の文字と前記第1・第2・……・第mシフトレジ
スタの同位置の文字や残余記号との一致パターンに応じ
た類似度信号を出力する1文字目・2文字目・……・n
文字目比較回路と、前記判定クロックに同期して前記1
文字目・2文字目・……・n文字目比較回路から出力さ
れたn個の類似度信号の演算を行なうことによって前記
入力装置から入力された文字列に対する前記単語辞書メ
モリから読み出された単語の出現可能性を算出する判定
回路とを備えたことを特徴とする単語辞書検索装置であ
る。
【0020】第2の発明は、各文字に対して第1から第
m候補(mはm≧1なる整数)までのm種類の候補が存
在する文字列の入力装置と、n文字分(nはn≧1なる
整数)のデータ巾をもつ各アドレスに先頭文字を除去し
た単語の表記を1個ずつ格納してn文字に満たない部分
にはあらかじめ定めた残余記号を詰めた単語辞書メモリ
と、前記単語辞書メモリのアドレスカウンタと、前記単
語辞書メモリについて前記除去した先頭文字ごとに該当
する単語の存在範囲を示したインデックスメモリと、前
記入力装置によって入力された文字列の第1・第2・…
…・第m候補に対応し1文字ずつの順送りを行なう各々
(n+1)文字分の第1・第2・……・第m候補シフト
レジスタと、前記入力装置によって1文字に対するm種
類の候補が入力されるたびにシフトクロック1回と前記
インデックスメモリより前記第1・第2・……・第m候
補シフトレジスタの各1文字目が前記除去した先頭文字
に対応する単語の存在範囲を順次求めて前記アドレスカ
ウンタに先頭アドレスをセットするセットクロックと単
語数に応じた回数の判定クロックとカウンタクロックと
を出力するコントローラと、前記単語辞書メモリから読
み出されるn文字分のデータの1文字目・2文字目・…
…・n文字目と前記第1・第2・……・第m候補シフト
レジスタの2文字目・3文字目・……・(n+1)文字
目とを対応付け前記単語辞書から読み出された文字が前
記シフトレジスタの対応する位置のm種類の文字のいず
れかまたは前記残余記号に一致したとき一致記号を出力
する1文字目・2文字目・……・n文字目比較回路と、
前記1文字目・2文字目・……・n文字目比較回路のす
べてから一致記号が検出された場合に前記入力装置によ
って入力された文字列中に前記単語辞書メモリ内に存在
する単語が出現したと判定する判定回路とを備えたこと
を特徴とする単語辞書検索装置である。
【0021】
【実施例】図面を参照して第1の発明の構成、作成を説
明する。
【0022】図1は、第1の発明の単語辞書検索装置の
第1の実施例の構成を示すブロック図である。以下、ま
ず、各構成要素を説明する。
【0023】入力装置5は、各文字に対して第1候補か
ら第m候補(mはm≧1なる整数)までのm種類の候補
が存在する文字列を入力する装置であり、例えば、音声
認識装置や文字認識装置などである。入力装置5は、各
文字に対するm個の候補を、同時に出力し、その出力の
タイミングを入力クロック50によってコントローラ7
へ伝える。
【0024】単語辞書メモリ1は、n文字分(nはn≧
1なる整数)のデータ巾をもつ各アドレスに、単語の表
記を1個ずつ格納して、n文字に満たない部分には、あ
らかじめ定めた残余記号を詰めたものである。図2は、
単語辞書メモリ1の内容の例を示す図である(図2では
n=4としている)。図2において、△が残余記号を表
している。図2の単語辞書メモリ1のアドレスをaとす
ると、「日本△△」というn(=4)文字が同時に読み
出される。単語辞書メモリ1は、ICメモリなどを用い
て実現できる。通常、漢字コードは16ビットで実現さ
れるので、図2の単語辞書メモリ1のデータ巾は、16
×4=64ビットである。現在ICメモリでは、同時に
読み出せるデータ巾が8ビット程度であるから、そのよ
うなICメモリを8個並列に並べて実現できる。
【0025】コントローラ7は、入力装置5によって1
文字に対するm種類の候補が入力されるたびに、シフト
クロック1回と、単語辞書メモリ1内の全単語数に応じ
た回数の判定クロックとカウンタクロックとを発生する
。図3は、コントローラ7の入出力信号のタイムチャー
トの例である。図3のタイムチャートでは、入力装置5
から入力クロック50が入力されるたびに、まず、シフ
トクロック70を1回出力(入力クロック50をそのま
まシフトクロック70として出力)し、続いて、判定ク
ロック72とカウンタクロック71とを、交互にN回出
力している。ただし、カウンタクロック71は(N−1
)回でもよい。ここで、Nは単語辞書メモリ1内の全単
語数である。このようなタイムチャート通りに動作する
コントローラ7は、当業者において容易に実現可能であ
る。
【0026】アドレスカウンタ4は、シフトクロック7
0に同期したリセツトと、カンウタクロック71に同期
したカウントアップとを行なうカウンタで、カウンタ値
を単語辞書メモリ1のアドレス値として出力する。従来
のカウンタICで実現できる。第i候補シフトレジスタ
2は、入力装置5によって入力された文字列の第i候補
(iは1≦i≦mなる整数)を、シフトクロック70に
同期して1文字ずつ順送りしながら、n文字分格納する
シフトレジスタである。このシフトレジスタ2は、入力
文字列の各文字に対するm個の候補の各々に対して設け
られており、第1候補シフトレジスタ、第2候補シフト
レジスタ、……、第m候補シフトレジスタのm個がある
。図4は、各シフトレジスタ2の構成例を示した図であ
る。1文字をdビットで表現している場合、第i候補シ
フトレジスタ2は、第4図のように、シフトクロック7
0に同期した(d×n)個のDフリップフロップで実現
できる(d個並列に並べたものを、n個直列に接続する
)。並列に接続したd個が1文字に対応し、その出力は
まとめて比較回路3へ送られる。
【0027】j文字目比較回路3は、アドレスカウンタ
4の示す1つのアドレスに対して単語辞書メモリ1から
読み出されるn文字分のデータのj番目(jは1≦j≦
nなる整数)の文字と、m個のシフトレジスタのj番目
の文字や残余記号との比較を行ない、その一致パターン
に応じて類似度信号を出力する回路である。この比較回
路3は、単語辞書メモリ1のデータ巾n文字の各々に対
して設けられており、1文字目比較回路、2文字目比較
回路、……、n文字目比較回路のn個がある。
【0028】図5は、j文字目比較回路3の構成例を示
した図である。1文字をdビットで表現して、シフトレ
ジスタ2がm個設けられている場合、j文字目比較回路
3は、図5のように、(m+1)個のdビット比較器と
、1個のエンコーダで構成できる。m個のdビツト比較
器は、単語辞書メモリ1から読み出されているn文字デ
ータのうちのj文字目と、各シフトレジスタ2のj文字
目とを比較し、残りの1個のdビット比較器は、単語辞
書メモリ1から読み出されているn文字データのうちの
j文字目が残余記号であるか否かを調べる。最終的にエ
ンコーダは、この(m+1)個の比較器のうちの一致が
検出されたものに対応する値を、類似度信号30として
出力する。
【0029】図8は、m(候補数)=3のときのエンコ
ーダの入力値の条件に対する出力値を対応付けた真理値
表の例である。図8の真理値表ではエンコーダの出力値
は、単語辞書メモリ1のj文字目が残余記号に一致した
ときは1、そうではないときには、シフトレジスタのj
文字目の第1候補文字に一致すれば8で最大、第2候補
文字なら6、第3候補文字なら2であり、また、いずれ
にも一致しなかったときは0となっている。このような
真理値表の機能を満たすエンコーダは、当業者において
容易に実現可能である。
【0030】なお、本実施例では、図8のような真理値
表を満足するエンコーダを用いるが、本発明では図8の
ようなエンコーダに限定するものではない。条件の分類
、および各条件に対するエンコーダの出力値の大小関係
や値など、様々なパターンで実現し得る。
【0031】判定回路6は、判定クロック72に同期し
て、n個の比較回路から出力されたn個の類似度信号の
演算を行なうことによって、入力装置5によって入力さ
れた文字列に対する単語辞書メモリ1から読み出された
単語の出現可能性を判定する回路である。図6は、判定
回路6の構成例を示す図である。判定回路6は、図6の
ように、演算回路とDフリップフロップで実現できる。 本実施例では、判定回路6内の演算器はn個の類似度信
号の値の加算を行なう。ただし、本発明では、この演算
器を加算器に限定するものではなく、乗算器あるいはも
っと複雑な演算を行なう回路として実現することもあり
得る。Dフリップフロップは、判定クロック72のタイ
ミングで、演算器から出力された演算結果をラツチする
。このラッチされた値が、単語辞書メモリ1から読み出
された単語が入力文字列に出現したと考えられる信頼度
に対応する。なお、本実施例では、信頼度の値が大きい
ほど確からしいものとしている。
【0032】次に第1の発明の第1の実施例の動作を図
7を用いて説明する。
【0033】図7(a)〜(h)は、第1の発明の第1
の実施例では、n=4,m=3で、入力文字列の長さが
4のときの第1候補シフトレジスタ・第2候補シフトレ
ジスタ及び第3候補シフトレジスタの内容の変化の例を
示した図である。図7の3×4のマトリックスは、1行
が各シフトレジスタ2の内容に対応しており、行方向が
文字位置(1〜4)、列方向が候補レベル(1〜3)を
表している。これらのシフトレジスタ2に入力されてい
る文字列は、1文字目の候補は第1候補から順に「日」
「白」「目」、2文字目の候補は順に「木」「本」「大
」、3文字目は順に「電」「雷」「霧」、4文字目は順
に「気」「島」「戒」である。斜線部分は文字が格納さ
れていないことを表わす。
【0034】図7において、(a)→(b)→(c)→
(d)→(e)→(f)→(g)→(h)という変化は
、シフトクロック70が1回発生されるたびに起こる変
化を示している。そして、(a)〜(g)の各々の状態
で、カウンタクロック71と判定クロック72がN回発
生される。アドレスカウンタ4は、シフトクロック70
によってリセットされ、カウンタクロック71によって
N回カウントアップされるため、各状態で、単語辞書メ
モリ1からは、先頭の単語から末尾の単語まで順に、全
単語(N個)の表記が読み出され、n個(この例では4
個)の比較回路3において、それらと図7のシフトレジ
スタの内容との照合が行なわれることになる。
【0035】その結果、各状態で、判定回路6は例えば
次のような判定結果を示す。
【0036】 (a)単語辞書内の長さ1の全単語に対して信頼度3単
語辞書内の長さ2の全単語に対して信頼度2単語辞書内
の長さ3の全単語に対して信頼度1単語辞書内の長さ4
の全単語に対して信頼度0(b)単語辞書内の長さ1の
全単語に対して信頼度3単語辞書内の長さ2の全単語に
対して信頼度2単語辞書内の長さ3の全単語に対して信
頼度1単語辞書内の長さ4の全単語に対して信頼度0(
c)単語辞書内の長さ1の全単語に対して信頼度3単語
辞書内の長さ2の全単語に対して信頼度2単語辞書内の
長さ3の全単語に対して信頼度1単語辞書内の長さ4の
全単語に対して信頼度0(d)「日」        
に対して信頼度11「日本」      に対して信頼
度16「日本電気」  に対して信頼度30 「日大」      に対して信頼度14「白」   
     に対して信頼度9「白木」      に対
して信頼度16「目」        に対して信頼度
7それ以外の単語辞書内の長さ1の全単語に対して信頼
度3 単語辞書内の長さ2の全単語に対して信頼度2単語辞書
内の長さ3の全単語に対して信頼度1単語辞書内の長さ
4の全単語に対して信頼度0(e)「木」      
  に対して信頼度11「本」        に対し
て信頼度9「大」        に対して信頼度7そ
れ以外の単語辞書内の長さ1の全単語に対して信頼度3 単語辞書内の長さ2の全単語に対して信頼度2単語辞書
内の長さ3の全単語に対して信頼度1単語辞書内の長さ
4の全単語に対して信頼度0(f)「電」      
  に対して信頼度11「電気」      に対して
信頼度18「霧」        に対して信頼度7「
霧島」      に対して信頼度12「雷」    
    に対して信頼度9それ以外の単語辞書内の長さ
1の全単語に対して信頼度3 単語辞書内の長さ2の全単語に対して信頼度2単語辞書
内の長さ3の全単語に対して信頼度1単語辞書内の長さ
4の全単語に対して信頼度0(g)「気」      
  に対して信頼度11「島」        に対し
て信頼度9それ以外の単語辞書内の長さ1の全単語に対
して信頼度3 単語辞書内の長さ2の全単語に対して信頼度2単語辞書
内の長さ3の全単語に対して信頼度1単語辞書内の長さ
4の全単語に対して信頼度0このうち、状態(d)にお
ける図7のシフトレジスタ内容と、単語辞書内の単語「
日本」(=「日本△△」)とを照合する際の、各比較回
路3の動作を説明する。1文字目比較回路は、「日本△
△」の「日」と第1候補シフトレジスタの1文字目の「
日」との一致により類似度信号30の値として8を出力
する。2文字目比較回路は、「日本△△」の「本」と第
2候補シフトレジスタの2文字目の「本」との一致によ
り類似度信号30の値として6を出力する。3文字目比
較回路と4文字目比較回路はともに、「日本△△」の「
△」(残余記号)を検出して類似度信号30の値として
1を出力する。その結果、判定回路6は、すべての比較
回路3の類似度信号30を加算して、16という値を単
語出現の信頼度として出力することになる。
【0037】なお、入力文字列長がKの場合、シフトレ
ジスタ2内での順送りは、少なくとも(K+n−1)回
行われる必要がある。したがって、入力装置5は、長さ
Kの入力文字列を入力した後、さらに、(n−1)回の
ダミーの文字列入力を行なう必要がある。あるいは、コ
ントローラ7が、入力文字列の末尾を検出して、さらに
、シフトクロック70を1回とカウンタクロック71と
判定クロック72をN回ずつというサイクルを、(n−
1)回繰り返すようにしてもよい。
【0038】また、最初の(n−1)回の順送りの間(
図7では(a)から(c)まで)は、入力文字列がシフ
トレジスタ2の先頭まで到達していないので、単語辞書
メモリ1との照合を行なっても意味がない。そこで、そ
の間は、コントローラ7は、カウンタクロック71や判
定クロック72を発生せず、シフトクロック70のみを
連続して発生するようにしてもよい。
【0039】図面を用いて、第2の発明の構成・作用を
説明する。
【0040】図9は、第2の発明の単語辞書検索装置の
第1の実施例の構成を示すブロック図である。以下、ま
ず、各構成要素を説明する。
【0041】入力装置5は、各文字に対して第1候補か
ら第m候補(mはm≧1なる整数)までのm種類の候補
が存在する文字列を入力する装置であり、例えば、音声
認識装置や文字認識装置などである。入力装置5は、各
文字に対するm個の候補を、同時に出力し、その出力の
タイミングを入力クロック50によってコントローラ7
へ伝える。
【0042】単語辞書メモリ1は、n文字分(nはn≧
1なる整数)のデータ巾をもつ各アドレスに、先頭文字
を除去した単語の表記を1個ずつ格納して、n文字に満
たない部分には、あらかじめ定めた残余記号を詰めたも
のである。図10は、単語辞書メモリ1の内容の例を示
す図である(図10ではn=3としている)。図10に
おいて、△が残余記号を表している。また、アドレス0
.1の単語は、除去された先頭文字が「あ」であり、ア
ドレスa・(a+1)・(a+2)・(a+3)・(a
+4)の単語は、除去された先頭文字が「日」である。 図10の単語辞書メモリ1のアドレスをaとすると、「
本△△」というn(=3)文字が同時に読み出される(
この読み出された単語は「日本」という単語に相当する
)。単語辞書メモリ1は、ICメモリなどを用いて実現
できる。通常、漢字コードは16ビットで表現されるの
で、図10の単語辞書メモリ1のデータ巾は、16×3
=48ビットである。現在のICメモリでは、同時に読
み出せるデータ巾が8ビット程度であるから、そのよう
なICメモリを6個並列に並べて実現できる。
【0043】インデックスメモリ8は、単語辞書メモリ
1について、ある文字を表記の先頭文字にもつ単語群の
存在範囲を示したメモリである。単語辞書メモリ1では
、表記の先頭文字は除去されているので、その除去され
た先頭文字がインデックスメモリ8で対応付けられる。 図16(a)は、インデックスメモリ8の内容の例を示
す図である。図16のインデックスメモリ8は、ある文
字に対するアドレスに、単語辞書メモリ1において、そ
の文字が、除去された先頭文字に対応する単語群の存在
する先頭アドレス800と、その単語群の単語数801
とが記憶されている。このようなインデックスメモリ8
は、従来のICメモリを用いて実現できる。
【0044】図16(b)は、図16(a)のインデッ
クスメモリ8の内容と単語辞書メモリ1との対応を表わ
した図である。単語辞書メモリ1内では、同一の文字を
表記の先頭にもつ単語のアドレスが連続するように集め
ておき、インデックスメモリ8から得られる先頭アドレ
ス800と単語数801とから、その存在範囲(単語辞
書メモリ1内のアドレス範囲)が求められるようにして
いる。例えば、図16(a)から、「日」に対して、先
頭アドレス800の値としてa1 、単語数801の値
としてN1 とが得られるが、これは、図16(b)に
示されているように、単語辞書メモリ1内で先頭文字が
「日」に対応する単語は、アドレスa1 からN1 個
、すなわち、アドレスa1 からアドレス(a1 +N
1 −1)までの範囲に存在することを意味する。なお
、インデックスメモリ8について、ある文字に対するア
ドレスは、その文字の文字コードをそのままアドレス値
とするのが最も単純であるが、その文字の文字コードに
なんらかの演算をほどこした結果の値をアドレス値とす
るなどの方法も考えられる。
【0045】コントローラ7は、入力装置5によって1
文字に対するm種類の候補が入力されるたびに、インデ
ックスメモリ8より、m個のシフトレジスタ2の各1文
字目を先頭とする単語の存在範囲を順次求めて、アドレ
スカウンタ4を制御するとともに、シフトレジスタ2の
順送りや、判定回路6の判定のタイミングなども制御す
る。
【0046】図11は、コントローラ7に入出力される
制御信号のタイムチャートの例である。図11において
、入力クロック50は入力装置5から入力される制御信
号、シフトクロック70はシフトレジスタ2へ出力され
る制御信号、セットクロック73とカウンタクロック7
1はアドレスカウンタ4へ出力される制御信号、判定ク
ロック72は判定回路6へ出力される制御信号である。
【0047】まず、シフトクロック70は入力クロック
50が1回入力されるたびに1回出力される(入力クロ
ック50をそのままシフトクロック70として出力する
)。このシフトクロック70は、入力装置5からシフト
レジスタ2へ1文字読み込ませ、かつ、シフトレジスタ
2内の文字列を1文字ずつ順送りさせるためのものであ
る。
【0048】セットクロック73は、シフトクロック7
0に引き続いて、m回出力される。このセットクロック
73は、インデックスメモリ8から読み出される先頭ア
ドレスを、アドレスカウンタ4にセツトするための信号
である。第1候補シフトレジスタの1文字目の文字、第
2候補シフトレジスタの1文字目の文字、………、第m
候補シフトレジスタの1文字目の文字の各々について、
合計m回繰り返される。
【0049】セットクロック73が1回出力された後に
、判定クロック72とカウンタクロック71とが交互に
出力される。これらの出力回数は、セツトクロック73
でセットされた先頭アドレスと同時にインデックスメモ
リ8から読み出された単語数と同一回数である。図11
のタイムチャートでは、第1候補シフトレジスタの1文
字目、第2候補シフトレジスタの1文字目、………、第
m候補シフトレジスタの1文字目の各々に対して、その
文字を先頭文字とする単語辞書メモリ1内の単語数が、
N1 個、N2 個、Nm 個であったことを示してい
る。ただし、カウンタクロック71は判定クロック72
よりも1回少なくともよい。
【0050】アドレスカウンタ4は、セットクロック7
3に同期してコントローラ7から指定されたカウンタ値
(先頭アドレス)をセットし、カウンタクロック71に
同期してカウントアップを行なうカウンタである。そし
て、カウンタ値を単語辞書メモリ1のアドレス値として
出力する。従来のカウンタICで実現できる。
【0051】第i候補シフトレジスタ2は、入力装置5
によって入力された文字列の第i候補(iは1≦i≦m
なる整数)を、シフトクロック70に同期して1文字ず
つ順送りしながら、(n+1)文字分格納するシフトレ
ジスタである。このシフトレジスタ2は、入力文字列の
各文字に対するm個の候補の各々に対して設けられてお
り、第1候補シフトレジスタ、第2候補シフトレジスタ
、………、第m候補シフトレジスタのm個がある。図1
2は、各シフトレジスタ2の構成例を示した図である。 1文字をdビットで表現している場合、第i候補シフト
レジスタ2は、図12のように、シフトクロック70に
同期した[d×(n+1)]個のDフリップフロップで
実現できる(d個並列に並べたものを、(n+1)個の
直列に接続する)。並列に接続したd個が1文字に対応
し、先頭文字を除いて、その出力はまとめて比較回路3
へ送られる。
【0052】j文字目比較回路3は、アドレスカウンタ
4の示す1つのアドレスに対して単語辞書メモリ1から
読み出されるn文字分のデータのj番目(jは1≦j≦
nなる整数)の文字が、m個のシフトレジスタ2のいず
れかの(j+1)番目の文字、または、残余記号に一致
したときに、一致記号を出力する回路である。この比較
回路3は、単語辞書メモリ1のデータ巾n文字の各々に
対して設けられており、1文字目比較回路、2文字目比
較回路、………、n文字目比較回路のn個がある。
【0053】図13は、j文字目比較回路3の構成例を
示した図である。1文字をdビットで表現して、シフト
レジスタ2がm個設けられている場合、j文字目比較回
路3は、図13のように、(m+1)個のdビット比較
器と、1個のORゲートで構成できる。m個のdビツト
比較器は、単語辞書メモリ1から読み出されているn文
字データのうちのj文字目と、各シフトレジスタ2の(
j+1)文字目とを比較し、残りの1個のdビット比較
器は、単語辞書メモリ1から読み出されているn文字デ
ータのうちのj文字目が残余記号であるか否かを調べる
。最終的なORゲートの出力では、この(m+1)個の
比較器のいずれかで一致が検出されたときに、一致信号
40が出力される。
【0054】判定回路6は、判定クロック72に同期し
て、n個の比較回路3のすべてから一致信号が検出され
た場合に、入力装置5によって入力された文字列中に単
語辞書メモリ1内に存在する単語が出現したと判定する
回路である。図14は、判定回路6の構成例を示す図で
ある。判定回路6は、図14のように、1個のANDゲ
ートと1個のDフリップフロップで実現できる。n個の
比較回路3はシフトレジスタの2文字目から(n+1)
文字目に対応していて、シフトレジスタ2の1文字目の
位置での一致が比較回路3では判定されていないが、イ
ンデックスメモリ8でシフトレジスタ2の1文字目を先
頭文字とする単語に絞っていることから、一致は明かで
ある(比較器を設けておく必要がない)。
【0055】次に第2の発明の第1の実施例の動作を図
7を用いて説明する。
【0056】図7は、第2の発明の第1の実施例ではn
=3、m=3で、入力文字の長さが4のときの、第1候
補シフトレジスタ・第2候補シフトレジスタ・第3候補
シフトレジスタの内容の変化の例を示した図である。n
=3であるから、各シフトレジスタの長さは(n+1)
=4である。図7の3×4のマトリックスは、1行が各
シフトレジスタ2の内容に対応しており、行方向が文字
位置(1〜4)、列方向が候補レベル(1〜3)を表わ
している。これらのシフトレジスタ2に入力されている
文字列は、1文字目の候補は第1候補から順に「日」「
白」「目」、2文字目の候補は順に「木」「本」「大」
、3文字目は順に「電」「雷」「霧」、4文字目は順に
「気」「島」「戒」である。斜線部分は文字が格納され
ていないことを表わす。
【0057】図7において、(a)→(b)→(c)→
(d)→(e)→(f)→(g)→(h)という変化は
、シフトクロック70が1回発生されるたびに起こる変
化を示している。そして、(a)〜(g)の各々の状態
において、n個(この例では3個)の比較回路3で、単
語辞書メモリ1内の単語と図7のシフトレジスタの内容
との照合が行なわれる。その際、単語辞書メモリ1内の
全単語とシフトレジスタ2とが照合されるのではなく、
そのときの各シフトレジスタ2の1文字目をもとにして
、単語辞書メモリ1内の照合する単語数を制限する。例
えば、状態(d)では、3個のシフトレジスタ2の内容
と、まず、「日」で始まる単語辞書メモリ1内の単語群
とが照合され、次に、「白」で始まる単語群と照合され
、最後に、「目」で始まる単語群と照合される。 このような単語群の存在範囲は、インデックスメモリ8
から得ることができ、コントローラ7が単語辞書メモリ
1のアドレスカウンタ4を制御する。
【0058】その結果、各状態で、単語辞書メモリ1内
の例えば次のような単語に対して、判定回路6が出現を
検出する。
【0059】(a)  該当なし (b)  該当なし (c)  該当なし (d)  「日」「日本」「日本電気」「日大」「白」
「白木」「目」 (e)  「木」「本」「大」 (f)  「電」「電気」「霧」「霧島」「雷」(g)
  「気」「島」 このうち、状態(d)における図7のシフトレジスタ内
容と、「日本」に相当する単語辞書1内の「本△△」(
インデックスメモリ8の「日」と対応付けられている)
とを照合する際の、各比較回路3の動作を説明する。1
文字目比較回路は、「本△△」の「本」と第1候補シフ
トレジスタの2文字目の「本」との一致により一致信号
40を発生する。2文字目は比較回路と3文字目比較回
路はともに、「本△△」の「△」(残余記号)を検出し
て一致記号40を発生する。その結果、判定回路6は、
すべての比較回路3の一致信号40を受けて、単語「日
本」の出現を検出することになる。
【0060】なお、入力文字列長がKの場合、シフトレ
ジスタ2内での順送りは、少なくとも(K+n−1)回
行なわれる必要がある。したがって、入力装置5は、長
さKの入力文字列を入力した後、さらに、(n−1)回
のダミーの文字列入力を行なう必要がある。あるいは、
コントローラ7が、入力文字列の末尾を検出して、さら
に、シフトクロック70の1回に対応するサイクルを、
(n−1)回繰り返すようにしてもよい。
【0061】また、最初の(n−1)回の順送りの間(
図7では(a)から(c)まで)は、入力文字列がシフ
トレジスタ2の先頭まで到達していないので、単語辞書
メモリ1との照合を行なっても意味がない。そこで、そ
の間は、コントローラ7は、セットクロック73やカウ
ンタクロック71や判定クロック72を発生せず、シフ
トクロック70のみを連続して発生するようにしてもよ
い。
【0062】以上では、入力文字列の各文字にm個の候
補が存在する一般的な場合の実施例を示したが、かな漢
字変換における単語辞書検索や、ワードプロセッサで作
成した文章の解析を行なう際の単語辞書検索などでは、
入力文字列の各文字は1通りである(m=1)。図15
は、そのような場合を対象とした第2の発明の第2の実
施例を示すブロック図である。この場合は、シフトレジ
スタ2が1個でよい。構成要素・動作は第1の実施例に
ついて、m=1とすればよいので、説明を省略する。
【0063】
【発明の効果】以上説明したように、本発明によれば、
漢字のように種類の多い文字から成る文字列に対して、
各文字が複数の候補をもっていても、高速に単語辞書と
の照合が可能な単語辞書検索装置が得られる。特に、入
力文字列の各文字の候補数にも、単語辞書内の単語の表
記長にもかかわらず、入力文字列と単語辞書内の1つの
単語との照合が2クロツク程度の間に行えることの効果
が大きい。
【0064】さらに、実施例に示したように、本発明の
各構成要素は、少数のロジックICを組み合わせて実現
できる。したがって、LSI技術を利用すれば、非常に
小型の装置として実現できる点も長所である。それに加
えて、第1の従来技術のように、汎用計算機上のソフト
ウェアとして実現されるのではなく、専用ハードウェア
、特殊LSIとして実現できるため、クロックの周波数
自体を汎用計算機に比べてかなり高く設定することが可
能であり、この点でも高速性が優れている。
【0065】以上のような高速性から、第1の発明では
、前述の第1の従来技術のように単語辞書内で照合する
単語数を制限せず、単語辞書内の全単語との照合を行な
っても、従来より十分高速な単語辞書検索装置が得られ
ることが考えられるが、その結果、単語辞書内が表記の
コード順にソートされている必要がないという長所も生
ずる。したがって、単語の追加・削除が行なわれても、
単語辞書を編成し直す必要がなく、単語辞書のメンテナ
ンスがきわめて容易である。
【0066】また、第1の発明では、単語辞書内の各単
語に対して、入力された文字列に対する出現可能性を計
算するので、その出現可能性の値にもとづき、複数の単
語が入力文字列と一致した場合でも、最も確からしいも
のを選択することができる。一方、文字認識装置などで
は、各文字の候補に必ずしも正解文字が含まれないこと
もあり、1つの単語も入力文字列と完全には一致しない
ことも考えられるが、そのような場合でも、最も出現し
た可能性が高いものを選択することができる。
【0067】
【図面の簡単な説明】
【図1】第1の発明の第1の実施例の構成を示す図
【図
2】単語辞書メモリ1の内容の例を示す図
【図3】コン
トローラ7の入出力信号のタイムチャート
【図4】シフ
トレジスタ2の構成例を示す図
【図5】比較回路3の構
成例を示す図
【図6】判定回路6の構成例を示す図
【図7】シフトレジスタ2の内容の変化の例を示す図

図8】比較回路3におけるエンコーダの真理値表の例を
示す図
【図9】第2の発明の第1の実施例の構成を示すブロッ
ク図である。
【図10】単語辞書メモリ1の内容の例を示す図である
【図11】コントローラ7の入出力信号のタイムチャー
トの例を表わす図である。
【図12】シフトレジスタ2の構成例を示す図である。
【図13】比較回路3の構成例を示す図である。
【図14】判定回路6の構成例を示す図である。
【図15】第2の発明の第2の実施例を示すブロック図
である。
【図16】インデックスメモリ8の内容の例と単語辞書
メモリ1との対応を示す図である。
【符号の説明】
1  単語辞書メモリ 2  シフトレジスタ(第i候補シフトレジスタ)3 
 比較回路(j文字目比較回路) 4  アドレスカウンタ 5  入力装置 6  判定回路 7  コントローラ 8  インデックスメモリ 30  類似度信号 40  一致信号 50  入力クロック 70  シフトクロツク 71  カウンタクロック 72  判定クロック 73  セットクロック 74  先頭アドレス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  各文字に対して第1から第m候補(m
    はm≧1なる整数)までのm種類の候補が存在する文字
    列の入力装置と、n文字分(nはn≧1なる整数)のデ
    ータ巾をもつ各アドレスに単語の表記を1個ずつ格納し
    てn文字に満たない部分にはあらかじめ定めた残余記号
    を詰めた単語辞書メモリと、前記入力装置によって1文
    字に対するm種類の候補が入力されるたびにシフトクロ
    ック1回と前記単語辞書メモリ内の全単語数に応じた回
    数の判定クロックとカウンタクロックとを発生するコン
    トローラと、前記シフトクロックに同期したリセットと
    前記カウンタクロックに同期したカウントアップとを行
    なう前記単語辞書メモリのアドレスカウンタと、前記入
    力装置によって入力された文字列の第1・第2・……・
    第m候補に対応し前記シフトロックに同期した1文字ず
    つの順送りを行なう各々n文字分の第1・第2・……・
    第m候補シフトレジスタと、前記単語辞書メモリから読
    み出されるn文字分のデータの1文字目・2文字目・…
    …・n文字目に対応し該当位置の文字と前記第1・第2
    ・……・第mシフトレジスタの同位置の文字や残余記号
    との一致パターンに応じた類似度信号を出力する1文字
    目・2文字目・……・n文字目比較回路と、前記判定ク
    ロックに同期して前記1文字目・2文字目・……・n文
    字目比較回路から出力されたn個の類似度信号の演算を
    行なうことによって前記入力装置から入力された文字列
    に対する前記単語辞書メモリから読み出された単語の出
    現可能性を算出する判定回路とを備えたことを特徴とす
    る単語辞書検索装置。
  2. 【請求項2】  各文字に対して第1から第m候補(m
    はm≧1なる整数)までのm種類の候補が存在する文字
    列の入力装置と、n文字分(nはn≧1なる整数)のデ
    ータ巾をもつ各アドレスに先頭文字を除去した単語の表
    記を1個ずつ格納してn文字に満たない部分にはあらか
    じめ定めた残余記号を詰めた単語辞書メモリと、前記単
    語辞書メモリのアドレスカウンタと、前記単語辞書メモ
    リについて前記除去した先頭文字ごとに該当する単語の
    存在範囲を示したインデックスメモリと、前記入力装置
    によって入力された文字列の第1・第2・……・第m候
    補に対応し1文字ずつの順送りを行なう各々(n+1)
    文字分の第1・第2・……・第m候補シフトレジスタと
    、前記入力装置によって1文字に対するm種類の候補が
    入力されるたびにシフトクロック1回と前記インデック
    スメモリより前記第1・第2・……・第m候補シフトレ
    ジスタの各1文字目が前記除去した先頭文字に対応する
    単語の存在範囲を順次求めて前記アドレスカウンタに先
    頭アドレスをセットするセットクロックと単語数に応じ
    た回数の判定クロックとカウンタクロックとを出力する
    コントローラと、前記単語辞書メモリから読み出される
    n文字分のデータの1文字目・2文字目・……・n文字
    目と前記第1・第2・……・第m候補シフトレジスタの
    2文字目・3文字目・……・(n+1)文字目とを対応
    付け前記単語辞書から読み出された文字が前記シフトレ
    ジスタの対応する位置のm種類の文字のいずれかまたは
    前記残余記号に一致したとき一致記号を出力する1文字
    目・2文字目・……・n文字目比較回路と、前記1文字
    目・2文字目・……・n文字目比較回路のすべてから一
    致記号が検出された場合に前記入力装置によって入力さ
    れた文字列中に前記単語辞書メモリ内に存在する単語が
    出現したと判定する判定回路とを備えたことを特徴とす
    る単語辞書検索装置。
JP3156742A 1990-11-30 1991-06-27 単語辞書検索装置 Pending JPH04340166A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3156742A JPH04340166A (ja) 1990-11-30 1991-06-27 単語辞書検索装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP33917790 1990-11-30
JP2-339177 1990-11-30
JP3156742A JPH04340166A (ja) 1990-11-30 1991-06-27 単語辞書検索装置

Publications (1)

Publication Number Publication Date
JPH04340166A true JPH04340166A (ja) 1992-11-26

Family

ID=26484415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3156742A Pending JPH04340166A (ja) 1990-11-30 1991-06-27 単語辞書検索装置

Country Status (1)

Country Link
JP (1) JPH04340166A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049650A (ja) * 2008-08-25 2010-03-04 Fujitsu Ltd 検索方法および検索プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049650A (ja) * 2008-08-25 2010-03-04 Fujitsu Ltd 検索方法および検索プログラム

Similar Documents

Publication Publication Date Title
EP0415000B1 (en) Method and apparatus for spelling error detection and correction
US6347295B1 (en) Computer method and apparatus for grapheme-to-phoneme rule-set-generation
JPH10334118A (ja) 辞書索引作成装置と文書検索装置
JPH0519184B2 (ja)
US5560037A (en) Compact hyphenation point data
Hung Vietnamese diacritics restoration using deep learning approach
JPH04340166A (ja) 単語辞書検索装置
JP3059504B2 (ja) 品詞選択システム
JP2526670B2 (ja) 単語辞書検索装置
JP2526678B2 (ja) 単語辞書検索装置
JPH0670788B2 (ja) 巣語辞書検索装置
Dang et al. Non-Standard Vietnamese Word Detection and Normalization for Text–to–Speech
JPH0337765A (ja) 単語辞書検索装置
KR100328963B1 (ko) 띄어쓰기오류허용한국어형태소분석방법및그장치
JPH03110676A (ja) 単語辞書検索装置
CN112949287B (zh) 热词挖掘方法、系统、计算机设备和存储介质
US20220318508A1 (en) N-gram based classification with associative processing unit
JPH0337754A (ja) 単語辞書検索装置
JPH0261768A (ja) 電子辞書装置及び電子辞書検索方法
Mustafa et al. A backward algorithm for lexical analysis of textual Arabic words
Smrž et al. Word Hy-phen-a-tion by Neural Networks
JPS61188684A (ja) 認識装置
JPH06149872A (ja) 文章入力装置
JPS61177575A (ja) 日本語文章作成装置
JPS6169099A (ja) 音声認識装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990713