JP3720060B2 - 関連ワードを得る方法及びシステム - Google Patents
関連ワードを得る方法及びシステム Download PDFInfo
- Publication number
- JP3720060B2 JP3720060B2 JP26742993A JP26742993A JP3720060B2 JP 3720060 B2 JP3720060 B2 JP 3720060B2 JP 26742993 A JP26742993 A JP 26742993A JP 26742993 A JP26742993 A JP 26742993A JP 3720060 B2 JP3720060 B2 JP 3720060B2
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- group
- word
- identifiers
- data structure
- 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
Links
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【産業上の利用分野】
本発明は、与えられたワードの関連ワードを得る方法及びシステムに関する。
【0002】
【従来の技術】
Lucchesi, C.L. and Kowaltowski, T., “Applications of Finite Automata Representing Large Vocabularies,”Software-Practice and Experience, Vol.23(1), January 1993, pp.15-30 に、効率的なスペルチェッカーを具体化する問題が動機となって、最小非循環決定論的な有限オートマトンに非常に大量の語彙を圧縮する技法が記載されている。図4に、数個の英語の動詞の全ての形に関する上記オートマトンが示されている。26〜27頁に図8〜図10に関する最小完全ハッシングが記載されている。オートマトンは、各状態について、その状態から開始するオートマトンに受け入れられるワードのナンバーを与える整数を有しており、2つの簡単な関数が整数1からLの間の1対1の対応付けを実施する。ここでLは、オートマトンによって受け入れられるワードのナンバーであり、そしてワード自身である。また28〜29頁に、多数の初期状態をもつナンバー付きオートマトンによって具体化された類語辞書が記載されている。各初期状態は1つの文法上の区分に対応している。追加のデータ構造は、ワードのリストをナンバーの順番の列(すなわちシーケンス)として表現する。
【0003】
【発明が解決しようとする課題】
本発明の目的は、同義語などの関連語を表すデータを効率的に得る問題を解決することである。
【0004】
本発明は、コンパクトなワードグループデータにワードグループに関する情報を与える技法を発見したことが基礎になっている。このワードグループデータを使用して、関連ワードを迅速に得ることができる。
【0005】
【課題を解決するための手段】
第1の技法は、同義語、等を格納し、検索するのに必要な情報が区別できる2つの部分を有しており、それらの部分を区別することによって効率を向上させることができるという認識に基づいている。情報の第1部分(関連付け情報と呼ぶ)は、各ワードと他のワードとを関連付ける情報である。第2部分(識別情報と呼ぶ)は、各ワードを識別する情報である。各ワードは固有の識別子をもつことができる。
【0006】
この技法は、さらに、関連語を得るため、電子類語辞典、その他のデバイスのために関連付け情報を格納する非常に効率的な方法を発見したことが基礎になっている。関連付け情報は、1つまたはそれ以上のワードグループ内の各ワードの一部に等しい。従って、関連付け情報に従ってワードの識別子をグループ化することができるので、関連付け情報を表す追加データは不要である。次に、ワードの実例を使用してそのワードの識別子を得て、その識別子とワードグループデータ内の識別子とを比較し、一致する識別子を含むグループを見つけたら、そのグループ内の識別子を検索することによって、関連ワードを得ることができる。
【0007】
この技法は、ワードグループデータを含むプロダクトにおいて実施することができる。ワードグループデータは、順番列(すなわちシーケンス)に順序付けされたワード識別子を含んでいる。ワードグループデータは、さらに、シーケンス内の識別子のグループに関する情報を表すグループ化データも含んでいる。識別子データの各グループは、各ワードグループを識別する。識別子の位置とグループ化データとは共同して、そのワードを含むグループの特徴を表す。その特徴は、グループのメンバー(構成要素)であるワードの識別子の位置、グループの長さ(すなわち、メンバー(ワード)の数)、グループのメンバー(ワード)の品詞(part of speech)、あるいは1のグループを他のグループから区別する別の特徴であってもよい。
【0008】
第2の技法は、グループ化データが記憶空間非効率の原因になることがあるという認識に基づいている。この技法は、グループ化データの量を減らすようにシーケンス内の識別子を位置決めする。詳しく述べると、この技法は、グループ化データからの比較的少ない値とともに、グループのメンバーの1つの識別子の順次位置とから各グループに関する情報を決定することができるように、識別子を位置決めする。
【0009】
この技法は、グループの長さに従ってグループを分類することによって実施することができる。グループの長さはグループ内の識別子の数である。識別子の順次位置と、各長さグループの数を表すグループ化データ値とを使用して、識別子グループの長さと、グループの最初と最後の識別子の位置を決定することができる。この技法は、各グループのロケーションおよび長さに関するデータを省略できるので、効率的である。
【0010】
各グループが同義語などの関連ワードのグループを表現する場合には、各グループの品詞に関するデータを省略するように、この技法を拡張することができる。この場合には、品詞によってグループを分類する。次に、シーケンス内の識別子の位置と、各品詞内の最初と最後の識別子の位置を表すグループ化データ値とを使用して、与えられた識別子を含むグループの品詞を決定する。グループ化データ値は、例えば、各品詞の最後の識別子の位置(次の品詞の最初の識別子のシーケンス内の位置をも表す)であってもよい。
【0011】
第3の技法は、各ワードを一定長さのナンバーの集合からの固有ナンバーを用いて識別すれば、各ワードの識別子を非常にコンパクトにすることができるという認識に基づいている。その結果、各ワードが比較的少ないビットをもつ2進数によって識別されるので、比較的大量のワードをコンパクトに表現することができる。
【0012】
この技法は、上に述べたようにワードグループデータを有するプロダクトにマッピングデータすなわち変換データを含ませることによって実施することができる。この変換データを使用して、各ワードとその識別子との間でマッピングすなわち変換を実施することができる。すべてのグループ内のワードの識別子は共同して、一定長さのナンバーの集合を構成する。
【0013】
第4の技法は、識別子が非効率の原因になることがあるという認識に基づいている。もし各識別子がナンバー(数字)であれば、各ナンバーを整数のバイトで格納することは、表現されたワードのナンバーしだいでは、非効率になる。もしそうであれば、各識別子を部分に分けて格納することによって、少なくともその1つはフルバイト(1バイトを構成する全ビット:通常8ビット)より小さくすることができるので、ワードグループデータをより一層コンパクトにすることができる。もしフルバイトの長さが識別子の各部分の長さの整数倍であれば、シフト操作とマスク操作を使用して、1機械サイクルで各部分の比較を行うことができる。
【0014】
第5の技法は、識別子を見つけるためにワードグループデータを走査するが、走査は非効率であることがあるという認識に基づいている。この技法は、各グループをナンバーで分類し、各グループ内の最初のナンバーで同じ長さのグループを分類することによって、より時間効率的に識別子を走査する。その結果、候補の識別子と一致する識別子を見つけるためグループを走査しているとき、もしグループ内の識別子が候補の識別子より大きければ、グループ内の残りの識別子をスキップすることができる。同様に、もしグループの最初の識別子が候補の識別子より大きければ、それらの識別子が一致する可能性はないので、その長さの残りのすべてのグループをスキップすることができる。
【0015】
本発明の諸技法は、上に述べたように、ワードグループデータを使用する方法の中で実施することができる。識別子のシーケンスをワードの識別子で探索して、一致する識別子を見つけることができる。一致する識別子を見つけたら、その識別子の位置とグループ化データとを使用して、そのワードを含むグループに関連するデータを得ることができる。同様に、グループ内の他のワードの識別子を得ることができるし、あるいはグループ内のワードの品詞を表すデータを得ることもできるであろう。
【0016】
本発明の諸技法は、さらに、変換ステップを含むことができる。すなわち、ワードを変換してその識別子を得ることもできるし、グループ内のワードの識別子を変換してワードへ戻し、例えば同義語を得ることができる。
【0017】
本発明の諸技法は、さらに、識別子を部分に分けて比較するステップを含むことができる。本発明の諸技法は、さらに、一致する可能性がない識別子をスキッブするステップ、および一致する可能性のない識別子のグループをスキップするステップを含むことができる。
【0018】
上に述べた諸技法は、同義語、等を効率的に格納したり検索したりできるので有用であり、電子類語辞書や、その他の語対応付け装置にも利用できる。また、コンパクトに格納された同義語を迅速に走査して、同義語を検索することができる。例えば、上に述べた諸技法を使用して、類語辞書のデータをより効率的にパーソナルコンピュータの常駐メモリに格納したり、ディスクの交換を少なくしたり、より迅速な同義語検索を行うことができる。
【0019】
【実施例】
A.概要
用語「類語辞書(thesaurus)」は、同義語の書物を指すことが多い。従って、ユーザーは類語辞書から与えられたワードの同義語を見つけることができる。しかし、上に述べたように、「類語辞書」は、同様に、与えられたワードの同義語をユーザーへ提供する電子デバイス、例えばコンピュータで実行される機能を指す場合にも使用される。後者の場合、類語辞書は、どれかのトークン(token) のナンバーに応じて関連するトークンを提供する、より大きなクラスの対応付け装置の一例である。トランスレータ(translator)は、ワードに適用できる対応付け装置のもう1つの例であるが、もしそのような対応付け装置が多数の受入れ可能なタイプ(type) のそれぞれを関連する受入れ可能なタイプに対応付ける情報を有していて、かつ対応付ける各トークンが受入れ可能なタイプの1つの実例であれば、ワード以外のタイプにも使用することができるできるであろう。
【0020】
ここでは、用語「トークン」および「タイプ」は、言語学における通常の意味に従って使用する。従って、トークンは、表現、記号、または文の特定の実例であるのに対し、タイプは、その特定の実例ではなく、表現、記号、または文の一般形である。ここで使用するとき、用語「ワード」は、タイプを表しており、用語「ワードの実例」、「入力ワード」、「出力ワード」、「格納されたワード」、等はトークンを表す。ここで使用する用語「ワード」は、意味をもつ言語単位を含むほか(従って、1ワードだけに限定されない)、句および節を含むワードの列を含み、さらに、個別にまたはワードの列の中に表意記号または意味をもつ他の種類の記号を含む。
【0021】
図1は、入力ワードに応答して同義語を提供する対応付け装置を示す。図2は、入力ワードの同義語をどのように検索するかを示すフローチャートである。
【0022】
図1の装置10は、3つの広義の機能部を有する。I/O部20は、入出力(I/O)機能を実行する。詳しく述べると、ワード入力装置22は、ユーザーから入力ワードを受け取り、同義語出力装置24はユーザーへそのワードの同義語を提供する。I/O部20は、さらに、受け取った入力ワードを適当なディジタル形でワード/ナンバー(W/N)マッピング部30へ提供する。マッピング部30は、W/Nマッパー32とN/Wマッパー34を有しており、各マッパー32,34は格納されたワードリスト36へアクセスする。ナンバー対応付け部40は、マッパー32の出力を受け取り、そしてマッパー34の入力を与える。対応付け部40内のナンバーアソシェータ42は、W/Nマッパー32から入力ワードを表すナンバーを受け取り、N/Wマッパー34へそのワードの同義語を表す出力ナンバーを与える。ナンバーアソシェータ42は、格納された同義語グループ44にアクセスして、入力ワードと同義語とを対応付ける。
【0023】
図2は、装置10の動作をより詳細に示す。ボックス50において、ワード入力装置22は入力ワードを受け取り、W/Nマッパー32へ与える。ボックス52において、W/Nマッパー32は格納されたワードリスト36にアクセスして、入力ワードが変換できる受入れ可能なワードの1つであるかどうかを決定する。もし NO であれば、ボックス54において、通常の信号手段(図示せず)を通してスペル誤り信号を与える。しかし、ワードが格納されたワードリスト36内にあれば、ボックス56において、W/Nマッパー32はワードのナンバーを得て、そのナンバーをナンバーアソシェータ42へ提供する。ボックス58において、ナンバーアソシェータ42は同様に入力ワードのナンバーと同義語グループ44内のナンバーとを比較し、一致するかどうかを調べる。もしそのナンバーがグループ44内のどのナンバーとも一致しなければ、ボックス60において、同様に、通常の信号手段(図示せず)を通して無同義語信号を与える。しかし、もし1つ以上の一致が生じれば、ボックス62において、ナンバーアソシェータ42は同義語グループ44から同義語のナンバーを検索し、それらをN/Wマッピング34へ与える。次にボックス64において、N/Wマッパー34は格納されたワードリスト36にアクセスし、検索したナンバーを使用して同義語を得る。そしてボックス66において、その同義語を同義語出力装置24を介して提供する。
【0024】
図1および図2は、受け取ったトークン(例えば、入力ワード)を使用して識別子(例えば、ナンバー)を得て、次に、得た識別子を使用して格納された識別子のグループから受け取ったトークンのタイプに関連するタイプの識別子を検索し、次に、検索した識別子を使用してトークンを得ることを明らかにしている。以下に、これらの特徴を効率的に実施できる方法をより詳細に説明する。
【0025】
装置10の構造は、独立した機能を実行する(従って、効率的に動作させるため高度に専門化することができる)3つの主要部から成っている。たとえば、W/NおよびN/Wマッピング(変換)を非常に効率的にするため、格納されたワードリスト36にスキップ可能な分岐を入れることができる。同様に、同義語グループ44に、ナンバーの集合(各ナンバーはワードを個々に識別する)からの一様な長さのナンバーのコンパクトな数列を含ませることができる。更にコンパクトにするために、各ナンバーを部分に分けて格納することができる。少なくともその1つの長さはフルバイトより小さくすることができる。フルバイトの長さは各部分の長さの整数倍であり、1機械サイクルで各部分の比較を行うことができる。
【0026】
変換機能と対応付け機能は独立しているので、主要部間のインタフェースもまた、取り扱うデータの種類に対し専門化することができる。その理由は、I/O部20とW/Nマッピング部30間のインタフェースを通るのはワードだけであり、そしてW/Nマッピング部30とナンバー対応付け部40間のインタフェースを通るのはナンバーだけであるからである。従って、装置10は、達成しなければならない処理速度および空間効率、および入手可能な構成要素しだいで、さまざまなやり方で具体化することができる。
【0027】
図1の装置10のI/O部20の構成要素は、必要な入力機能および出力機能を与えることができれば、どんな構成要素であってもよい。例えば、ワード入力装置22は通常のキーボードであってもよいし、同義語出力装置24は通常のディスプレイであってもよい。ワード入力装置22と同義語出力装置24は、通常のディスプレイベース形ユーザーインタフェースを介して取り扱うことができる。音声または文字認識回路網や音声発生回路網を含む他のI/O装置を使用することもできる。
【0028】
W/Nマッピング部30は、ワードからナンバーへ、そしてその逆へ必要な変換を実行する任意の構成要素を用いて具体化することができる。例えば、W/Nマッパー32およびN/Wマッパー34は、格納されたワードリストを使用するデータ処理装置によって実行されるソフトウェアルーチンとして効率的に具体化することができる。
【0029】
ナンバー対応付け部40は、同様に、受け取ったナンバーに関連するナンバーを検索する任意の構成要素を用いて具体化することができる。上に述べたように、ナンバー対応付け部40は、W/Nマッピング部30からの入力ワードを識別するナンバーを受け取り、次に、関連ワードの検索したナンバーをW/Nマッピング部30へ提供する。さらに、ナンバー対応付け部40は、関連する同義語を識別する際にユーザーを支援するため、各検索したナンバーの品詞(part of speech) に関する情報を提供することができる。以下、ナンバー対応付け部40の具体化機構を、その構成要素について説明する。
【0030】
B.格納されたグループ
同義語などの関連するタイプのグループに関する関連付け情報は、さまざまなやり方で格納することができる。たとえば、タイプの識別子をグループで格納することができる。各グループは、その長さ、そのメンバー(識別子)のロケーション、および関連する品詞などのデータを含んでいる。入力ワードを識別するナンバーを受け取ったら、ナンバー対応付け部40は、それらの品詞のほかに、そのナンバーを含むすべてのグループから格納されたナンバーを簡単に検索することができる。受け取ったナンバーを探索することによって、あるいは受け取ったナンバーを含むグループを識別するリストを検索することによって、グループを識別することができる。
【0031】
格納された同義語グループ44は、効率を向上させる多くの特徴を備えている。コンバクトにするため、同義語グループ44の、内容が比較される部分は、ナンバーのみを有しており、コンパクトなテーブルを使用してナンバーのシーケンスから関連付け情報を決定することができる。さらにコンパクトにするため、各ナンバーは多くの部分に分けて格納される。各部分は、1機械サイクルでアクセスおよび比較ができる長さを有する。迅速に走査するため、各グループ内のナンバーは分類されており、各品詞内のグループは最初のナンバーによって分類されているので、グループ内の残りのメンバー、または品詞内の残りのグループをスキップすることができる。
【0032】
このように、同義語グループ44を迅速に走査できるコンパクトな形で格納することができる。図3は、格納された同義語グループ44を含むプロダクトを作成する技法を示す。図4は、同義語グループ44の構造を示す。
【0033】
図3の技法は、ボックス260において、同義語グループ44を通常の形(同義語がグループに分けられたワードデータ形態)で受け取ることによって始まる。各グループは、通例そのグループの各メンバーを識別するデータと、そのグループの長さと品詞を表すデータを含んでいる。多くのグループはメンバーが比較的少ないので、各グループの長さと品詞に関する追加データがグループの相当な部分を占める。この追加データを除くため、ボックス262において、この情報をグループの任意のメンバーの順次位置から決定することができるようにグループを順序付けしてシーケンスにする分類を実行する。この分類は、品詞によってなされ、各品詞内においてはグループの長さに従ってグループを順序付ける。
【0034】
グループを分類したら、ボックス263において、各グループメンバーを識別する情報をコンパクトな識別子、例えばナンバーの集合からのナンバーへ変換する。しかし、この変換が終わった後でも、その後の分類およびテーブルの作成が可能なように、グループ内のナンバーを追加のデータによって保持することが必要である。
【0035】
探索中にメンバーの一部またはグループの一部をスキップできるように、追加の分類を実施する。すなわち、ボックス264において、最も小さいナンバーが最初になるように、各グループを数値で分類する。次に、ボックス266において、各グループ内の最初のナンバーに従ってグループを数値で分類する。その結果、もし比較する候補ナンバーがそのナンバーより小さければ、それは、同じグループ内のそれ以後のナンバーより小さいので、それらをスキップすることができる。また、もし候補ナンバーがグループ内の最初のナンバーより小さければ、その候補ナンバーは、その品詞のその長さのそれ以後のすべてのグループ内のそれ以後のすべてのナンバーより小さいので、それらのグループをスキップすることができる。これらの分類によって、より迅速な探索が可能になる。
【0036】
各グループ内のナンバーおよびグループ自身をこのやり方で分類したら、ボックス268において、それらを記憶媒体に順次ロード(格納)する。このステップにおいて、各グループを順番に取り上げ、前のグループと同じ品詞および長さを有するかどうかを決定する。もし異なる品詞を有していれば、後でテーブルを作り出す際に使用するため、前のグループの最後のナンバーの順次位置を一時的に格納する。同様に、もし異なる長さを有していれば、後でテーブルを作成する際に使用するため、前の長さを有するグループのナンバーを一時的に格納する。次に、グループ内のナンバーを、記憶媒体上の次の位置で開始し、順次ロードする。
【0037】
各ナンバーをロードするやり方は、ある程度、同義語グループ内のナンバーの総数Nによって決まる。典型的な類語辞書は、例えば、全部で 31,000 の格納されたナンバーを収容できるが、固有ナンバーはその約半分(すなわち、214より若干少ない)に過ぎない。迅速な比較を可能にするため、各バイトが2つのフルバイトとして各格納するナンバーをロードすることができれば、各バイトを最小限の機械サイクルで検索し、W/Nマッパー32からのナンバーの同じバイトと比較することができる。
【0038】
より一層コンパクトにするため、上記の代わりに、各ナンバーを長さ8ビット、4ビット、および2ビットの3つの部分に分割して、各長さの部分を同じシーケンス内で対応のの配列にロードすることができる。もう1つの技法は、各グループの最初のナンバーのみを略さずにロードして、それ以後の各ナンバーについては、そのナンバーと前のナンバーとの差のみをロードするやり方である。これにより、通例、各ナンバーについてロードする部分が2つ(8ビットの部分と4ビットの部分)に減るはずである。これらの技法において、フルバイトの長さは各部分の長さの整数倍であるので、部分の長さは「均等長さ」と呼ぶことができる。これらの技法は、場合によっては、さらに、1または2つの余分の比較を必要とするけれども、同義語グループ内の16ビット当たり2または4ビットを除去するであろう。
【0039】
これらの技法のいずれにおいても、配列は、検索を容易にするため、各格納されるナンバーの部分のアドレスすなわち配列索引が相互に一定の関係を有するようにロードされる。例えば、全長さの配列索引をシフトして、より短い長さの配列索引を得ることができるし、また索引のビットをマスクして、その索引にある配列エントリのどのビットを使用して比較すべきかを指示することができる。このように、均等長さを使用すれば、シフト操作を使用して妥当な部分を見つけ、マスク操作を使用してその部分と受け取ったナンバーの同じ部分とを比較することにより、1機械サイクルで比較が行える。各配列の開始点すなわちベースは、その配列をアクセスする際に使用するため格納される。
【0040】
図4は、同義語グループ44内のナンバーのシーケンスを示す。表の最上位レベルにおいて、グループは品詞(最初の品詞から最後の品詞まで)によって順序付けされる。それぞれの品詞の中で、グループは長さによって順序付けされる。2つのメンバー(すなわち同義語ワード)未満のグループは無いので、長さは Length2 からLengthn までである。ここで Length n は、すべてのグループの最大長さである。各長さの中で、グループは対応するグループの最初のナンバーによって順序付けされる。例えば、 Length2 の中で、 Group1 のa1 は Group2 のa2 より小さく、以下 Groupm のam まで同様である。同様に、am+1 は Length3 のうち最も小さい最初のナンバーである。最後に、各グループ内のナンバーは順番になっており、ナンバーaはナンバーbより小さく、ナンバーbはナンバーcより小さく、以下同様である。
【0041】
最後に、ナンバーをすべて記憶媒体にロードし、テーブルを作成するための情報を一時的に格納したら、図3のボックス270において、テーブルを作成し、それを記憶媒体にロードする。例えば、2つのテーブル(品詞のロケーションテーブルとグループ長さテーブル)を作成することができる。前記ロケーションテーブルは、それぞれの品詞ごとに、ある品詞の最後のナンバーの位置と、次の品詞の最初のナンバーの位置を示すエンドロケーションを含んでいる。グループ長さテーブルは、それぞれの品詞について、それぞれ一定の長さをもつグループの数(GroupNo)を表す値を含むことができる。しかし、もし長さがとびとびであれば、グループ長さテーブルの各エントリは、長さと、グループの数(GroupNo) を含んでいなければならない。2つのテーブルのベースは、対応付けのときそれらにアクセスする際に使用するため格納される。
【0042】
テーブルの内容は、前に格納された情報に基づいている。指摘したように、各品詞ごとのエンドロケーションは、その品詞をもつ最後のグループ内の最後のナンバーの順次位置である。品詞内の各長さの GroupNo は、もちろん、その品詞内のその長さのグループのナンバーである。
【0043】
C.対応付け
ナンバーアソシェータ42が動作するやり方は、主として関連ワードに関するデータを格納するやり方によって決まる。図5は、図4の格納された同義語グループ44を使用してナンバーを対応付ける諸ステップから成る同義語検索ルーチンを示す。同義語が別の配置法で格納されていれば、当然に、別の技法が適当される。
【0044】
図5のルーチンは、ボックス280において、ワードを受け取ったときに始まる。変換および対応付けへ進む前に、ボックス282において、 GroupStart ( 現グループの最初のロケーション) 、 GroupLast (現グループの最後のロケーション )、 LengthRunLast (現グループ長の最後のグループの最後のロケーション)、 SynonymLast (同義語グループ内の最後のロケーション)を含む、多くの変数を初期化する。図5のルーチンの場合、 GroupLast および LengthRunLastは−1に初期化すると都合がよい。
【0045】
図5のルーチンにおいて使用される格納されたワードリストには、格納された同義語グループ内に同義語をもつワードだけが入っている。従って、ルーチンは、ボックス284において、図2のボックス52および58のテストを実行して、ボックス280で受け取ったワードがワードリスト内のものであるかどうかのほかに、同義語グループ内のものであるかどうかも決定する。もし NO ならば、ボックス286において、無同義語信号を与える。もし YES ならば、ボックス288において、前に述べたようにワードのナンバーを与える。これにより、W/Nマッパー32の動作が終わって、ナンバーアソシェータ42の動作が始まる。
【0046】
次に、ルーチンは、ボックス290において、 GroupLast の現在値が LengthRunLast の現在値に等しいかどうかを決定する(これは、2つの変数が同じ値に初期化され、かつ現グループがそのグループ長さの最後のグループである場合に生じる)。NO の場合次のグループへ行く。 YES の場合、ルーチンは、ボックス292において、 GroupLast が SynonymLast に等しいかどうかを決定する(これは、すべての格納された同義語グループが比較され、ルーチンが終了できることを意味する)。もし NO ならば、ルーチンは次のグループ長さへ行く(これは、次の長さと、その長さのグループのナンバーを得るため、グループ長さテーブルをアクセスすることを意味する)。次に、ルーチンは、ボックス294において、これらの値を使用して LengthRunLast の新しい値と、その新しいグループ長さに関連する他の変数を決定する。
【0047】
ルーチンが新しいグループ長さへ進んだ後、もし必要ならば、ボックス296において次のグループへ行く。これは、 GroupStart を GroupLast より1つ大きくセットし、そして GroupLast を現グループ長さだけ増分することを含む、関連する変数を変化させることによって行うことができる。ルーチンは、実際に受け取ったワードのナンバーと現グループのナンバーとを比較する前に、ボックス302において、そのナンバーが GroupStart にあるナンバーより小さいかどうかを決定する。もし YES ならば、受け取ったワードのナンバーは、このグループのナンバーおよび同じ長さのそれ以後のすべてのグループのナンバーより小さい。従って、ルーチンが確実に次のグループ長さへ行くように、ボックス304において、 GroupLast を LengthRunLast にセットする。
【0048】
最後に、ボックス306において、受け取ったワードのナンバーが現グループのメンバー(ワード)のどれかと一致するかどうかを決定する。もし一致しなければ、ルーチンはボックス290のテストへ戻る。もし一致すれば、ボックス308において、受け取ったワードの同義語を提供する。ボックス306と308のステップは、以下、図6について詳細に説明するが、それらがN/Wマッパー34の動作とナンバーアソシェータ42の動作を含んでいることは判るであろう。
【0049】
ユーザーがワードのほかに、品詞を指定できるように、図5のルーチンを修正することができる。図5をそのように修正した場合には、ナンバーの対応付けを選択した品詞のための格納された同義語の部分に限定するステップが追加される。例えば、 SynonymLast を、品詞のテーブルに基づいて、その品詞の最後のロケーションへ設定し、 GroupStart をその品詞の最初のロケーションへ初期化することができる。
【0050】
図6は、図5のボックス306,308をどのように実施するかを詳細に示す。一般に、図6のサブルーチンは、図3について説明したように、各ナンバーを2つまたはそれ以上の部分に分けて記憶媒体にロードする場合に適している。
【0051】
ボックス306を実施する諸ステップは、ボックス310のステップで始まり、そこでサブルーチンはロケーション GroupStart を開始する。次にボックス312において、そのロケーションにある値の最初の部分を検索する。次に、ボックス314において、検索した部分と受け取ったワードのナンバーの同じ部分とを比較する。もし2つの部分が等しくなければ、他の部分のどれも検索する必要はないが、ボックス316において、受け取ったワードのナンバーの部分と検索した部分とを比較して、どちらが大きいかを決定する。もし検索した部分が大きければ、一致が生じる可能性はないので、サブルーチンは図5のボックス290へ戻る。もし検索した部分が小さく、かつグループがさらにメンバーを有していれば、一致が生じる可能性があるので、ボックス318において、 GroupLast に達したかどうかを決定する。もし達したならば、サブルーチンは図5のボックス290へ戻り、ボックス306を実施する諸ステップが終了する。もし達していなければ、サブルーチンは、ボックス320において、現グループの次のメンバーへ進み、ボックス312において、その最初の部分を得る。
【0052】
もしボックス314において、2つの部分が等しければ、ボックス322において、現部分が比較しているナンバーの最後の部分であるかどうかを決定する。もし NO であれば、ボックス324において、次の部分を検索するのに必要ならばアクセスするロケーションを修正して、次の部分を検索する。その後、ボックス314のテストを繰り返す。
【0053】
もしボックス322のテストの結果が YES ならば、図5のボックス306のテストは終了する。次に、サブルーチンは、ボックス308のように、現グループから同義語を得るため進行する。これを実行するため、サブルーチンは、ボックス330において、同様に GroupStart で開始する。ボックス332において、 GroupStart にある値に基づいて、現グループの品詞を決定し、それを表示するため提供する。次に、ボックス334において、それが受け取ったワードのナンバーと一致するグループのメンバーかどうかを決定する。これは、一致するメンバーの位置を表す値を保持することによって行うことができる。もし NO ならば、ボックス336において、メンバーの部分を検索し、ボックス338において、N/Wマッパー34が同義語を提供する。
【0054】
次に、サブルーチンは、ボックス340において、このメンバーが GroupLastかどうかを決定する。もし YES ならば、図5のボックス290へ戻る。もし NO ならば、グループの吟味すべき追加のメンバーが残っている。次に、サブルーチンは、ボックス342において、グループの次のメンバーへ進んだ後、ボックス334のテストへ戻る。
【0055】
図5および図6のルーチンの時間節約型変形は、受け取ったナンバーが一定の所定値以上であれば、格納された同義語グループ44を逆順で探索するものである。受け取ったナンバー以下のナンバーの大量のグループをスキップすることができるので、受け取ったナンバーが大きい場合には、この逆順探索はより迅速である。
【0056】
もう1つの変形は、ナンバーのレンジを一定の区切り値でサブレンジに分割し、そしてグループをサブグループに分割するものである。各サブグループは、サブレンジの1つに入るそのグループ内のナンバーを含んでいる。次に、受け取ったナンバーを区切り値と比較して、サブグループのどのセットを探索すべきかを決定する。これにより、より下の次の区切り値からのオフセットとして各ナンバーを格納することができるので、記憶空間が節減される。しかし、この空間節減は、各追加サブグループのための追加サブグループ長さテーブルによって部分的に相殺される。もしナンバーをディスクメモリまたは他の低速記憶装置に格納すれば、この技法は、探索を格納されたナンバーの部分に限定することが可能である。その結果、探索のとき高速メモリへ移すべきデータの総数を減らすことができるので、都合がよい。
【0057】
さらに、別の技法を用いてナンバーアソシェータ42の速度を加減することができる。例えば、テーブルを使用して与えられた入力ワードを含む各グループの開始ロケーションを得ることができる。すなわち、同じメンバーのどれかを有する次のグループを指示する一定のデータを、グループに含ませることができるから、もし一致するナンバーが見つかれば、探索はそれ以後の多数のグループを省略することができる。
【0058】
各グループ内の同義語をアルファベット順に提供するために、格納されたワードリストを、ナンバーの数値順とアルファベット順とが一致するように作成することができる。
【0059】
このように、ナンバーアソシェータ42の実施は、W/Nマッパー32からナンバーを受け取り、そして受け取ったナンバーを含むすべてのグループ内のナンバーをN/Wマッパー34へ提供する。
【0060】
D.類語辞書システム
類語辞書は多くのやり方で実施することができる。例えば、上に述べたルーチンと、それらを実行するのに必要なデータを、データ処理装置のメモリに格納することができる。
【0061】
図7は、CPU352を備えた類語辞書システム350を示す。入力ワードはワード入力バッファ354を介してCPU352へ送られ、得られた同義語と、品詞などの追加情報は、同義語出力バッファ356を介して出力される。動作中、CPU352は、ROM360に格納されたルーチン(関連のあるルーチンのみを示す)を実行する。
【0062】
CPU352は、主類語辞書ルーチン362を実行するとき、図8を参照して以下に説明するW/Nマッピングルーチン364、ナンバー対応付けルーチン366、およびN/Wマッピングルーチン368を含む多くの他のルーチンを呼び出す。W/Nマッピングルーチン364とN/Wマッピングルーチン368は、格納されたワードリスト370にアクセスし、ナンバー対応付けルーチン366は格納された同義語グループ372にアクセスする。これらのルーチンも、データを一時的にRAM380に格納する。
【0063】
RAM380の内部では、受取りワードレジスタ382が次の動作を待つ間、入力ワードを格納する。変換済みナンバーレジスタ384は入力ワードが変換されるナンバーを格納する。同義語ナンバースタック386は入力ワードを含む同義語グループから検索したナンバーを保持する。同義語フラッグや入力ワードが格納されたワードリスト370内にあるかどうかを指示する妥当ワードフラッグなど、多数のフラッグが準備されている。さまざまなルーチンを実行する間、例えばN/W変換に使用されるLIFOスタックを含む雑データ390は、RAM380に一時的に格納される。
【0064】
図8は、概して図2のステップに従う主類語辞書ルーチン362の実施を示す。ルーチンは、ボックス400において、入力ワードをワード入力バッファ354から受取りワードレジスタ380へ転送することによって始まる。次にボックス402において、W/N変換ルーチン362を呼び出し、入力ワードをナンバーへ変換し、それを変換済みナンバーレジスタ384に格納する。W/Nマッピングルーチン364は、さらに、変換の失敗を指示する信号を戻すことができる。その場合には、フラッグ388のうちの妥当フラッグがクリヤされる。次に、ルーチンは、ボックス404において、妥当フラッグをテストする。もし妥当フラッグがクリヤされていれば、ボックス406において、エラー信号が信号バッファ356にロードされ、ルーチンは終了する。
【0065】
もし入力ワードがうまく変換されたならば、ボックス408において、ナンバー対応付けルーチン366を呼び出す。ナンバー対応付けルーチン366は、もし同義語が見つかれば、同義語フラッグをセットする。ナンバー対応付けルーチン366は、さらに、同義語ナンバースタック386をロードし、その中に各グループに関する情報、たとえば品詞の情報を含ませる。同義語ナンバースタック386は、例えば、FIFOスタックであってもよい。主類語辞書ルーチン362は、図2のステップに従う代わりに、図5および図6のステップに選択して従うことができる。その場合には、ナンバー対応付けルーチン366はフラッグをセットせず、グループのメンバーの1つと一致するのを見つけたら、グループのすべてのメンバーを提供する。
【0066】
ナンバー対応付けが終了したら、ルーチンは、ボックス410において、同義語フラッグがセットされたかどうか決定する。もし NO であれば、ルーチンは、ボックス412において、無同義語信号を出力バッファ356へロードし、ルーチンは終了する。しかし、もし同義語が見つかったならば、ルーチンは、同義語ナンバースタックをアンロードし、同義語自身を出力として提供する。
【0067】
次に、ボックス414において、各項目を同義語ナンバースタックからポップする(取出す)。ボックス416のテストは、ポップした項目が、検索したナンバーの1つかグループに関する情報かを決定する。もしナンバーであれば、ボックス418において、N/Wマッピングルーチン368を呼び出す。ボックス420において、N/Wマッピングルーチン368が提供した出力ワードを出力バッファ356へロードする。もしグループ情報がスタックからポップした項目の中にあれば、ボックス422において、品詞および他の妥当な情報を出力バッファ356へロードする。次に、ボックス424において、スタックが空かどうかを決定する。もし空でなければ、ボックス414において、別の項目をポップする。もしスタックが空であれば、ルーチンは終了する。
【0068】
主類語辞書ルーチン362は、他の多くのやり方で実施することができる。例えば、一時的に格納する情報量を制限するために、同義語グループからナンバーが検索されるたびにN/Wマッピングを実行することができる。さらに、走査中のディスク交換を最小にするために、グループは、格納された同義語グループ372内に配列すべきである。それを行う最良の技法は、常駐メモリの容量と、システムの他の特徴とによって決まる。
【0069】
E.その他
以上、類語辞書について説明したが、本発明は多くの応用面を有する。例えば、さまざまな種類のワード対応付け問題に本発明を応用することができる。ユーザーが入力ワードを多数の言語の1つでタイプし、装置が多数の出力ワードのグループ(各出力ワードのグループは、他の言語の入力ワードおよび同義語を含んでいる)で応答することによって、翻訳能力を与えることができる。語形が大きく変化する言語を含む応用において、語根の語形変化形を語根でグループ化すれば、変化形のどれか1つに応じて、他のすべての変化形を検索することができる。
【図面の簡単な説明】
【図1】 電子類語辞書の主要な機能構成要素を示すブロック図である。
【図2】 電子類語辞書を使用する際の一連の基本機能を示すフローチャートである。
【図3】 同義語のグループのリストと、グループ化データを有するテーブルから成るプロダクトを作成する方法を示すフローチャートである。
【図4】 図3の方法に従って作成した同義語のグループのリストの略図である。
【図5】 ナンバーとナンバーとの対応付けを含む同義語検索ルーチンを示すフローチャートである。
【図6】 図5の一部のステップをより詳細に示すフローチャートである。
【図7】 類語辞書操作のためのデータ処理装置の略図である。
【図8】 図7の装置の主類語辞書ルーチンを示すフローチャートである。
【符号の説明】
10 装置
20 I/O部
22 ワード入力装置
24 同義語出力装置
30 W/Nマッピング部
32 W/Nマッパー
34 N/Wマッパー
36 格納されたワードリスト
40 ナンバー対応付け部
42 ナンバーアソシャータ
44 格納された同義語グループ44
350 類語辞書システム
352 CPU
354 ワード入力バッファ
356 同義語出力バッファ
360 ROM
362 主類語辞書ルーチン
364 W/Nマッピングルーチン
366 ナンバー対応付けルーチン
368 N/Wマッピングルーチン
370 格納されたワードリスト
372 格納された同義語グループ
380 RAM
382 受取りワードレジスタ
384 変換済ナンバーレジスタ
386 同義語ナンバースタック
388 フラッグ
Claims (6)
- コンピュータアクセス可能なメモリに記憶された、2以上のグループにされたタイプの識別子を包含するデータ構造を用いた、コンピュータで実施する方法であって、前記データ構造において各グループの識別子は対応するタイプグループを識別するものであり、各グループは、対応のタイプグループの各タイプについてそのタイプを示す1つの識別子を有し、グループ内の識別子の各々が、シーケンスに配列された識別子の対応の位置を有しており、各グループの識別子の全てがそのグループ内の識別子の対応する位置に基づいて探索される、コンピュータで実施する方法において、
前記タイプの中の対応の第1トークンを用いて、該第1トークンに対応するタイプの識別子を得ること、
前記第1トークンに対応するタイプの識別子を前記データ構造内の識別子と比較するように前記データ構造にアクセスすること、
前記アクセスにおいて前記第1トークンに対応するタイプの識別子に一致する、グループの識別子の1つが見つかったとき、該一致グループの識別子に基づいて、該一致グループの識別子と同じグループ内の他の識別子を探索する
ことを包含することを特徴とするコンピュータで実施する方法。 - メモリに格納されたデータ構造と、前記メモリに格納された命令データと、前記メモリに格納された前記データ構造及び前記命令データにアクセスできるように接続されたプロセッサとを備えるシステムであって、
前記データ構造は2以上の識別子を包含し、各識別子は、グループになったタイプの中の1つのタイプを識別する値を有し、各識別子は、前記データ構造内において順番に配列された対応の位置を有し、各識別子が前記タイプの中の対応するタイプを識別することによって、前記プロセッサが前記データ構造に前記1組のタイプの中の1つのタイプを識別する候補の識別子を用いてアクセスして前記候補の識別子を前記データ構造中の識別子と比較するのを可能にし、各識別子は2以上の識別子グループの1つの中のものであり、該識別子グループの各々は、前記タイプの対応するグループを識別するものであり、該識別子グループの各々は、前記対応するグループの中の各タイプについて、そのタイプを識別する1個の識別子を包含し、前記識別子がシーケンスに並べられていることによって、前記プロセッサが、各グループの識別子の前記シーケンスにおける対応の位置を、前記候補の識別子に一致する識別子の前記シーケンスにおける対応の位置から、決定するのが可能であり、
前記タイプの1つを識別する候補の識別子を獲得する手段と、
前記候補の識別子を前記データ構造における識別子と比較するように前記データ構造にアクセスして、前記候補の識別子に一致する識別子を含む前記グループの1つの中の識別子の対応の位置を決定する手段と、
前記一致する識別子のシーケンスの対応の位置に基づいて前記識別子の対応の位置を決定する手段とを備える、
ことを特徴とするシステム。 - コンピュータアクセス可能なメモリに記憶されて、2以上の識別子を包含し各識別子が一意的に対応のワードを識別する識別子を含むデータ構造を用いる、コンピュータで実施する方法であって、各識別子は、2以上のグループの1つのグループの中のものであり、各グループの識別子が、同義語ワードの対応のグループを識別し、識別子の各々は、対応の位置に記憶されている、コンピュータで実施する方法において、
第1ワードを用いて該第1ワードの識別子を得ること、
前記データ構造にアクセスして前記第1ワードの識別子を前記データ構造内のグループ内の識別子と比較すること、
前記比較において前記第1ワードの識別子に一致する、前記グループになった識別子の1つが見つかったとき、前記一致するグループの識別子と同じグループ内の他の識別子を探索し、且つ該一致するグループ識別子が記憶されている対応の位置から前記グループについての品詞情報を決定すること、
前記一致するグループの識別子と同じグループから探索された前記識別子の各々を用いて、各探索された識別子によって一意的に識別された対応のワードを得て、それらの対応するワードが一緒になってグループ内の同義語の全てのワードを表示すること、
を包含することを特徴とするコンピュータで実施する方法。 - コンピュータアクセス可能なメモリに記憶されるデータ構造であってナンバーの集合からの2以上のナンバーを包含し各ナンバーが1組のタイプの1つを識別する値を有するデータ構造を用いる、コンピュータで実施する方法であって、各ナンバーは、2以上のグループの1つのグループの中のものであり、各グループにおけるナンバーは数字として記憶され、各ナンバーは第1部分と第2部分とを有している、コンピュータで実施する方法において、
前記タイプの対応のものの第1トークンを用いて、該第1トークンの対応のタイプを一意的に識別する、第1部分と第2部分を有する前記第1ナンバーを得ること、
前記データ構造にアクセスして前記第1ナンバーを前記データ構造内のグループ内のナンバーと比較することを含み、該比較することが、前記第1ナンバーを前記グループの第1のものの中の1つのナンバーと比較すること;及び、その比較に基づいて第1グループ内の残りのナンバーをスキップするかどうかを決定することを含み、前記第1ナンバーの比較が、前記第1ナンバーの第1部分を前記第1グループ内のナンバーの第1部分と比較することと、一致した場合に前記第1ナンバーの第2部分を前記第1グループ内のナンバーの第2部分と比較することとを含み、
更に、前記第1ナンバーに一致する、前記グループになったナンバーの1つが見つかったとき、前記一致するグループのナンバーと同じグループ内の他のナンバーを探索することを包含する
ことを特徴とするコンピュータで実施する方法。 - コンピュータアクセス可能なメモリに記憶されるデータ構造であって2以上の識別子を有し且つ各識別子がグループになったワードの1つのワードを識別する値を有するデータ構造を生成する、コンピュータで実施する方法において、
2以上のグループのワードをワードグループのシーケンスとして順番に並べることを包含し、各グループ内のワードは相互に関連しており、各グループは、そのグループ内のワードの品詞を指示する品詞データを含み、前記順番に並べることが、そのワードグループを前記品詞データに基づく品詞に基づいて順番に並べることを含んでおり、
対応の識別子を得るように前記ワードの各グループの各ワードを用いることによって識別子のグループを得ることを包含し、各ワードの対応の識別子はそのワードを識別するものであり、各グループの識別子は、前記ワードのグループの対応の1つのグループの中のワード群を識別するものであり、前記識別子のグループは前記ワードグループのシーケンスに従って順番に配列されており、
更に、各識別子グループの対応の各ワードのグループの品詞を前記識別子グループ内の識別子の前記シーケンス内の位置から決定できるように、前記識別子を識別子シーケンスに並べること、及び、
前記識別子を該識別子が前記識別子シーケンスに配置された状態で前記コンピュータアクセス可能なメモリに記憶すること、
を包含することを特徴とする、コンピュータで実施する方法。 - データ構造と命令データとを格納するメモリを包含するシステムであって、
前記データ構造は2以上の識別子を包含し、各識別子は、グループになったタイプの1つを識別する値を有し、各識別子は、前記データ構造内においてシーケンスに並んだ対応の位置を有し、各識別子は前記タイプの対応の1つを識別するものであり、各識別子は2以上の識別子グループの1つの中のものであり、該識別子グループの各々は、前記タイプの対応のグループを識別するものであり、各識別子グループは、前記タイプの対応のグループを識別し、各識別子グループは、タイプの対応のグループの中の各タイプについて、そのタイプを識別する1個の識別子を包含し、各識別子グループは1つの対応の特性を備えており、前記識別子は、各グループの特性をそのグループの識別子シーケンスにおける対応の位置から決定できるように順番に並べられており、
前記メモリ内の前記データ構造と前記命令データにアクセスできるように接続されたプロセッサを包含し、前記命令データは、前記プロセッサが実行できる命令を示しており、
前記タイプの1つを識別する候補の識別子を獲得する手段と、
前記データ構造にアクセスして前記候補の識別子を前記データ構造における識別子と比較する手段と、
前記グループの1つの対応の特性を、前記候補の識別子に一致する、前記グループの1つの中の前記シーケンスにおける対応の位置から決定する手段とを備えた
ことを特徴とするシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26742993A JP3720060B2 (ja) | 1993-10-26 | 1993-10-26 | 関連ワードを得る方法及びシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26742993A JP3720060B2 (ja) | 1993-10-26 | 1993-10-26 | 関連ワードを得る方法及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07129563A JPH07129563A (ja) | 1995-05-19 |
JP3720060B2 true JP3720060B2 (ja) | 2005-11-24 |
Family
ID=17444728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26742993A Expired - Lifetime JP3720060B2 (ja) | 1993-10-26 | 1993-10-26 | 関連ワードを得る方法及びシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3720060B2 (ja) |
-
1993
- 1993-10-26 JP JP26742993A patent/JP3720060B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07129563A (ja) | 1995-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5551049A (en) | Thesaurus with compactly stored word groups | |
US5754847A (en) | Word/number and number/word mapping | |
US5721899A (en) | Retrieval apparatus using compressed trie node and retrieval method thereof | |
US4775956A (en) | Method and system for information storing and retrieval using word stems and derivative pattern codes representing familes of affixes | |
EP1011057B1 (en) | Identifying a group of words using modified query words obtained from successive suffix relationships | |
US5950184A (en) | Indexing a database by finite-state transducer | |
US5560037A (en) | Compact hyphenation point data | |
US5551026A (en) | Stored mapping data with information for skipping branches while keeping count of suffix endings | |
JP3720060B2 (ja) | 関連ワードを得る方法及びシステム | |
EP0649106B1 (en) | Compactly stored word groups | |
JPH056398A (ja) | 文書登録装置及び文書検索装置 | |
EP0649105B1 (en) | Word/number and number/word mapping | |
JPH10177582A (ja) | 最長一致検索方法及び装置 | |
JP3722231B2 (ja) | コンパクトにエンコードされて記憶されたストリングの組を有する製品 | |
JPH0140370B2 (ja) | ||
JP3506742B2 (ja) | W/nおよびn/wマッピング法 | |
JPS62214468A (ja) | かな漢字変換装置 | |
JPH04215181A (ja) | 情報検索処理方式および検索ファイル作成装置 | |
JPH03127254A (ja) | 単語検索装置 | |
JPH0830631A (ja) | 辞書検索方式 | |
JPH0434645A (ja) | 文書検索装置 | |
JPS6373422A (ja) | 情報検索装置 | |
JPS61286969A (ja) | 文書作成装置 | |
JPH05274298A (ja) | 日本語入力装置 | |
JPS61211763A (ja) | 自然言語処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040120 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040123 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040420 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050907 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080916 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090916 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100916 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100916 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110916 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120916 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120916 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130916 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |