(57)【特許請求の範囲】
【請求項１】
テキストの選択文字列を自動的に検出し、該選択文字列に関連する情報を提供するシステムであって、
該システムは、
テキストを画定するテキスト・データを記憶する第１のメモリと、
選択文字列のリストを記憶する第２のメモリと、
プロセッサと、
を備え、
前記プロセッサは、前記テキスト・データおよび選択文字列のリストにアクセスすることができるように前記第１および第２のメモリに接続され、
前記プロセッサは、
前記第２のメモリに記憶されている前記選択文字列のリストのいずれかの選択文字列に適合する文字列を検出するために、前記第１のメモリに記憶されている前記テキストを自動的に探索し、
前記自動的な探索において、処理を繰り返し実行し、
前記処理は前記テキストの中の開始点から開始され、
前記処理を実行することにより、
前記選択文字列のリストのいずれかの選択文字列と適合し、単語を区分する基準を満たす少なくとも一の文字を含む文字列であるセパレータの直前の位置で終わる文字列が、前記開始点に続くか否かを、対応する各文字の一致・不一致を判断し、不一致の場合には不一致であることを示す識別子を付すことにより判断し、
次の処理のために、前記テキストの中のセパレータの直後の文字を探すことにより次の開始点を検出し、
前記次の処理を実行することにより、
前記選択文字列のリストのいずれかの選択文字列と適合し、セパレータの直前の位置で終わる文字列が、前記次の開始点に続くか否かを、対応する各文字の一致・不一致を判断し、不一致の場合には不一致であることを示す識別子を付すことにより判断し、
前記判断は、
前記開始点に続く文字列によって、選択文字列の辞書として働く有限状態データ構造にアクセスし、
前記有限状態データ構造は、前記選択文字列の一つの末尾で、前記開始点に続く文字列と該選択文字列の一つとが一致した場合にアクセスされる受諾データを含み、
前記開始点に続く文字列のセパレータの直前の位置で、前記受諾データにアクセスすることができるならば、前記開始点に続く文字列が前記選択文字列の一つに適合すると判断する、
ことを含み、
前記有限状態データ構造は、文字列照合レベルおよび情報出力レベルを有する有限状態変換器であり、
前記文字列照合レベルは、前記開始点に続く文字列によってアクセスされることにより前記判断を行うレベルであり、
前記情報出力レベルは、前記開始点に続く文字列に応じて前記受諾データがアクセスされた場合、情報出力データを提供するレベルであり、
前記情報出力データは、前記開始点に続く文字列の注釈にアクセスするためのアクセス・データであり、
前記開始点に続く文字列の後に、もしくは該開始点に続く文字列と関連付けて、前記注釈を前記第１のメモリに記憶されているテキストの中に挿入し、
前記注釈は、翻訳、定義、ハイパーリンク、および、ヘルプスクリーン、画像、図、オンラインマルチメディアドキュメントへアクセスするための情報の少なくとも一つを含む、
システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テキスト内の選択文字列を検出する技術に関する。
【０００２】
【従来の技術】
米国特許第5,748,805号は、ソースドキュメント内の選択された単語に対する翻訳を提供する技術を開示している。未解読のドキュメント画像が画像ユニットに区分され、画像の特徴や手でつけたマークに基づいて、単語のような重要な（有意の）画像ユニットが識別される。例えば、ユーザは、ドキュメント内の難しい又は知らない単語にマークできる。次に、重要な画像ユニットは、光学的文字認識（ＯＣＲ）技術によって解読され、解読された単語を用いて、データベース内の翻訳にアクセスすることができる。次に、ドキュメントのコピーが、重要な単語の反対側の余白に翻訳をつけられてプリントされる。
【０００３】
米国特許第5,748,805号は、視覚障害者用の読書装置に適用可能な技術を開示している。ユーザは、キーワードリストのキーワードを指定することができる。次に、ＯＣＲ技術等によって、ユーザが指定したキーワードをドキュメント内で検出することができ、そのキーワードの周囲の領域は重要であるとして識別される。ＯＣＲ技術を用いて重要な単語を解読でき、補足的なデータを検索して、点字や合成音声にしてユーザに提供することができる。
【０００４】
【発明が解決しようとする課題】
本発明は、選択された単語、複数単語表現、又は他の文字列をテキスト内で自動的に検出する際に生じる問題を扱う。自動文字列検索は、テキスト内における選択された文字列の存在、位置、及び頻度に関する情報を用いる様々なアプリケーションにおいて有用である。例えば、あるアプリケーションは、テキスト内に生じる各選択文字列と関連づけられた、翻訳、ハイパーテキストリンク、又は他の注釈を、挿入してもよい。
【０００５】
もし、自動文字列検索システムが、一般辞書(general lexicon)、品詞の曖昧性除去プログラム(disambiguator)、及び構文解析プログラムのような、精密な言語ツールを用いるものであったならば、このシステムは、メモリ集約的及び計算集約的なものとなり、処理が遅く、高価であろう。更に、システムがより複雑に作られない限り、このシステムは、１つの言語及びおそらくは用語法の１つの領域に特定されるであろう。本明細書では、これらの問題をまとめて、“複雑さの問題(complexity problems)”と呼ぶ。
【０００６】
【課題を解決するための手段】
本発明は、テキスト内で文字列を検出するための新技術の発見に基づいている。この新技術は、より簡単な自動文字列検出を提供し、複雑さの問題を緩和する。この技術は、テキストを自動的にサーチして、選択された文字列のリストのうちのいずれかと一致する、テキスト内の文字列を検出する。その際に、この技術は、各々がテキスト内に始点を有する一連の反復を行う。各反復は、その始点の後に、選択された文字列のいずれかと一致する文字列が続いているか否か、及びその文字列が推定される文字列の終わり（即ち、後述するトークンの区切りで終わる場所）で終わるか否かを決定する。次に、その反復は、推定される文字列の始め（即ち、後述するトークンの区切りで始まる場所）にある次の反復の始点を検出する。
【０００７】
従って、各反復は、テキスト内の始点の後に、推定される文字列の終わりで終わる一致文字列が続くか否かを決定する操作を行う。各反復は、次の反復の始点として、推定される文字列の始めを検出する操作も行う。これらの操作は、両方とも、既に利用可能又は容易に構成可能なツールを用いて、非常に迅速に行うことができる。従って、この新技術は、簡単で速い自動文字列検索プログラムを得るために、すぐに実現可能である。
【０００８】
推定される文字列の始めと終わりとを検出するには、例えば、この新技術は、有限状態トークナイザー(tokenizer)を用いるなどして、ワードセパレータのような推定されるトークンの区切りを検出するためのトークン化を行うことができる。単語及び複数単語表現でいえるように、各選択列がトークンの区切りで始まる場所及び終わる場所で、トークン化は、推定される文字列の始めと終わりとを検出する。
【０００９】
始点の後に選択文字列の１つが続くか否かを決定するために、この新技術は、選択文字列の辞書として、更に、有限状態変換器（ＦＳＴ）又は有限状態オートマトン（ＦＳＡ）のような有限状態データ構造を用いることができる。有限状態データ構造は、受入れ可能な文字列の照合後にアクセスされる受諾データを含んでもよい。従って、受諾データは、その文字列が受入れ可能であることを示す。ＦＳＴは、選択された文字列だけを受入れるレベルを有してもよく、ＦＳＡも同様に選択された文字列だけを受入れることができる。
【００１０】
この技術は、始点に続く文字列で有限状態データ構造及びトークナイザにアクセスでき、各文字を順次探索して照合する。文字の照合のあらゆる失敗及びアクセスされるあらゆる受諾データに基づいて、この技術は、始点の後に、推定される文字列の終わりで終わる受入れ可能文字列が続くか否かを決定することができる。
【００１１】
文字列が選択文字列の１つと一致し、且つ推定される文字列の終わりで終わる場合、この新技術は、一致文字列に関係する操作を行うか否かを決定できる。例えば、この新技術は、始点で始まる最長の一致文字列だけに、そのような操作を行うことを決定できる。
【００１２】
有限状態データ構造がＦＳＴである場合は、この新技術は、ＦＳＴの文字列照合レベルに、始点に続く文字列を与えることができる。文字列が受入れ可能である場合は、ＦＳＴは、情報出力レベルで、その文字列に関係する情報出力を与えることができる。例えば、情報出力は、受諾された文字列に注釈をつけるために又は受諾された文字列に関係する別の操作を行うために有用な情報であってもよく、又はそのような情報にアクセスするためのアクセスデータであってもよい。
【００１３】
或いは、この新技術は、ＦＳＡに、始点に続く文字列を提供してもよい。文字列がＦＳＡによって受諾された場合は、この技術は、この文字列がマッピングされる相手方の数値を入手できる。次に、この新技術は、相手方の数値を用いて、受諾された文字列に関係する情報にアクセスできる。
【００１４】
行われ得る操作としては、例えば、翻訳等の注釈、関連情報にアクセスするためのハイパーリンク又は他のハンドル(handle)、関連ドキュメントにアクセスするための任意の対話的な補助、又は一致文字列と関連づけられた他の情報を入手することが挙げられる。関連情報が注釈である場合は、操作は、注釈をテキスト中に挿入してもよい。
【００１５】
この新技術は、更に、テキストを定義するテキストデータ、選択文字列のリストを定義するリストデータ、及び、リストのいずれかと一致する文字列を検出するためにテキストを自動サーチするために上述のように反復を行うプロセッサを含むシステムとして実施可能である。
【００１６】
この新技術は、テキストを定義するテキストデータ、及び記憶媒体アクセス装置を含むシステムに用いるための製品としても実施可能である。この製品は、記憶媒体並びに記憶媒体によって格納されるリストデータ及び命令データを含んでもよい。このシステムのプロセッサは、命令データによって示される命令を実行する際に、上述のように反復を行う。
【００１７】
この新技術は、上述のリストデータ及び命令データを含む転送データを、ネットワークを介して第２の装置へと転送するための、第１の装置を操作する方法としても実施可能である。
【００１８】
この新技術は、ＦＳＴ又はＦＳＡの形態のトークナイザー及び辞書といった、簡単で安価な言語リソースを用いて実現できるので、有利である。更に、トークン化は迅速な予備段階であり、辞書参照も速いので、この新技術は、速い操作に適している。この新技術は、形態的な解析に依存する文字列検出技術と比べて、特に速い。この新技術は、単に選択された単語のトークナイザー及び辞書を生成することによって、用語の新たな領域に、又は新たな言語に、容易に適応させることが可能である。
【００１９】
この新技術は、選択された文字列だけをサーチするので、対象外の文字列を検出することは稀なことでも有利である。この新技術の計算的に単純な実施例は、選択文字列の１つの発生の検出に失敗することはめったにない。
【００２０】
【発明の実施の形態】
“文字”とは、自然言語の、書かれた、プリントされた、又は音声を書き表した形態で現われる、離散的要素のことである。従って、今日の英語における文字は、アルファベット及び数字の要素だけではなく、句読点、分音符、ブランク、スペース、大文字表記、表化（タブ）及び他の形式文字、数学及び論理記号、及び、書かれた、プリントされた、又は音声を書き表した英語に用いられる他の要素も含む。より一般的には、文字は、英数字の要素に加えて、音声、表意文字、又は絵文字の要素も含み得る。
【００２１】
“文字コード”は、文字セットの１つを示す値を有するデータ項目である。英語によく用いられる１バイト文字コードセットはASCIIと呼ばれるものであるが、他にも、西欧言語用のＩＳＯ8859-1及びコードページ(Codepage)850 等のASCIIのスーパーセット、中国語等の言語用の２バイト及び３バイト文字コード、UNICODEの２バイト及び４バイトバージョン、全文字セットの統合を試みる文字コードセットを含む、多くの文字コードセットが存在する。
【００２２】
本明細書で用いられるように、“ワード（単語）”、及び“セパレータ”又は“区切り”という概念は密接に関係している。つまり、“セパレータ”又は“区切り”（又は“ワードセパレータ”又は“ワード（単語）区切り”）は、単語を区分する基準（“区切り基準”）を満たす１つ以上の要素の文字列であり、一方、“ワード（単語）”は、各々が文字又は文字の組合わせである１つ以上の要素の文字列であって、文字列の内部に、適用可能な区切り基準に従うセパレータを含まない。仏語及び英語のような言語に適用可能な区切り基準は、しばしば、１つ以上のスペースの列をワードセパレータとして扱う。正確に綴られた単語に加えて、略語、頭字語、短縮語、綴り間違い及び無意味な単語、公式(formula)及び方程式(equation)を含む数学及び論理表現、区切り基準を満たさない句読記号の組み合わせ（点線、署名の線、“スマイリー”等）、及び、意味論的な意味があろうとなかろうと、他の様々なタイプの文字列は、全て、適用可能な基準におけるセパレーターを内部に含まない場合には、この定義の下では単語になり得る。更に、ある区切り基準の下では、ＳＧＭＬ及びＸＭＬのタグ、並びに、ハイパーリンクや書式等に関係する他のそのような文字列も、単語として扱われる。単語は意味的な単位でなければならないという観念から、この意味を区別するために、区切り基準を適用することによって得られた単語を、本明細書では“トークン”と呼ぶことがあり、トークンの間の区切りを“トークンの区切り”と呼ぶことがある。
【００２３】
“トークン化”とは、区切り基準に従って、テキストを複数のトークンに分けることである。“トークナイザー”は、本明細書では、テキストのトークン化に用いることができるデータ構造、プログラム、オブジェクト、又は装置を意味する。
【００２４】
図１から図３は、本発明の全般的な特徴を示す。
【００２５】
図１は、どのようにテキスト内で選択文字列を自動検出するかを模式的に示すフロー図である。
【００２６】
テキスト１０は、一連の文字コードとして示されており、その中には、 “abc”、“defg”、“hij”、“klmnop”、及び“qrs”という５つの単語が存在する。各単語は、前後を、“ ”で表されているスペース文字又は他のワードセパレータで括られている。図１の簡単な例では、各ワードセパレータの直前の位置は、推定される文字列の終わりであり、各ワードセパレータの直後の位置は、推定される文字列の始めである。
【００２７】
リスト１２は、“ab”、“defg”、 “defg hij klmnop”、及び“qrs”の４つの文字列として示されている、選択文字列のリストである。この４つのうちで、１番目、２番目、及び４番目は単独の単語であり、３番目は、２番目の選択文字列でもある単語で始まる複数単語表現（ＭＷＥ）である。
【００２８】
ボックス２０は、テキスト１０内でリスト１２の選択文字列を自動検出する際に行うことができる一連の反復を示している。１つの反復内の各反復又は二者択一は、数値、又は数値＋文字の識別子、即ち1、2、2A、2B、3A、3B、及び3Cによって識別される。ｎ番目の反復は、その反復の始点（“SP-n”という形式で示す）、少なくとも１つの一致（“M-n”）又は不一致（“NoM-n”）決定、及び次の反復の少なくとも１つの始点（“SP-(n+1)”）を含む。
【００２９】
ボックス２２内の反復1は、その始点（SP-1）を、単語“abc”に先行する１つ目のワードセパレータの直後に有する。たとえリスト１２内に“ab”があっても、テキスト１０内での、その（文字列の）終わりが推定される文字列の終わりの点ではないので、これは一致決定を生じない。次の推定される文字列の終わりの点は次の文字の直後であるが、 “abc”はリスト１２内にないので、反復1は不一致決定（NoM-1）を行う。次に、反復1は、示されるように、単語“abc”に続くワードセパレータの直後で、反復2の始点を検出する。
【００３０】
ボックス２４内の反復2は、単語“defg”照合後の第１の、及びＭＷＥ“defg hij klmop” 照合後の第２の、２つの一致決定（M-2A及びM-2B）を行うことができ、（その単語とＭＷＥは）それぞれ、テキスト１０内の推定される文字列の終わり、ワードセパレータの直前で終わる。実施例によっては、いずれの一致文字列（“defg”及び“defg hij klmop”）も検出されたこととして扱われてよく、サーチを適切に継続してよい。
【００３１】
図１は、反復3のために検出され得る、各々が推定される文字列の始めである、３つの可能な始点（SP-3A、SP-3B、及びSP-3C）を示している。１つ目（SP-3A）は、反復2の始点（SP-2）から前進することによって検出される最初のワードセパレータの直後、又は１つ目の一致決定（M-2A）の後であり、２つ目（SP-3B）は、２つ目の一致決定（M-2B）から後退することによって検出される最初のワードセパレータの直後であり、３つ目（SP-3C）は、２つ目の一致決定（M-2B）から前進することによって検出される最初のワードセパレータの直後である。
【００３２】
この実施例が、始点で始まる最長一致文字列を選択する場合は、サーチは２つ目の一致決定（M-2B）から続く。しかし、この実施例がどのように次の反復の始点を検出するかによって、第３の反復は可能な始点（SP-3A、SP-3B、及びSP-3C）のどれからでも始まり得る。
【００３３】
ボックス３０内の反復3Aは、示されるように、１つ目の始点（SP-3A）で開始する。リスト１２内の選択された単語に“h”で始まる単語はないので、反復3Aは不一致決定（NoM-3A）を行う。次に、反復3Aは、示されるように、単語“hij”に続くワードセパレータの直後で、反復4の始点（SP-4A）を検出する。
【００３４】
同様に、ボックス３２内の反復3Bは、示されるように、２つ目の始点（SP-3B）で開始する。リスト１２内の選択された単語に“k”で始まる単語はないので、反復3Bも不一致決定（NoM-3B）を行う。次に、反復3Bは、示されるように、単語“klmnop”に続くワードセパレータの直後で、反復4の始点（SP-4B）を検出する。
【００３５】
一方、ボックス３４内の反復3Cは、テキスト１０内の推定される文字列の終わり、ワードセパレータの直前、で終わる単語“qrs”の照合後に一致決定（M-3C）を行う。次に、反復3Cは、示されるように、単語“qrs”に続くワードセパレータの直後で、反復4の始点（SP-4C）を検出する。
【００３６】
図１は、ボックス２０内の反復の幾つかの特徴を示している。各反復はテキスト内に始点を有する。各反復は、その始点の後に、選択文字列のいずれかと一致し、推定される文字列の終わりで終わる文字列が続くか否かを決定する。各反復は、推定される文字列の始めで、次の反復の始点を検出する。
【００３７】
図２に示されるように、一連の反復は、各々、ボックス５０及びボックス５２内の一般的な処理を含む。ボックス５０の処理は、テキスト内の反復の始点の後に、選択文字列のリストのいずれかと一致し、推定される文字列の終わりで終わる文字列が続くか否かを決定する。次にボックス５２の処理は、推定される文字列の始めで、次の反復の始点を検出する。
【００３８】
図２に示す処理に加えて、随意的に、一連の反復の前に、点線のボックス５４で示されるように、最初の始点を検出する付加的な処理が行われてもよく、随意的に、ボックス５０及びボックス５２の後から延びる点線で示されるように、次の反復の始点を検出して又は検出せずに終了する最後の反復が続いてもよい。
【００３９】
図３の装置７０は、テキスト７４を入手するために接続されているとともにメモリ７６のデータにアクセスするために接続されている、プロセッサ７２を含む。プロセッサ７２は、データ入力回路７８を介してデータを受取るためにも接続されており、データ入力回路７８は、示されるように、メモリ８０、記憶媒体アクセス装置８２、又はネットワーク８４への接続から受け取ったデータを供給することができる。従って、プロセッサ７２は、パーソナルコンピュータ、ワークステーション、又はサーバの中央処理装置（ＣＰＵ）、又は示されるような接続を有する他の任意の処理装置であってよい。
【００４０】
テキスト７４は、テキストを定義する一続きの文字コード等の、任意の適切な形態をとってよい。テキスト７４は、ユーザ入力回路（図示せず）、メモリ７６、又はデータ入力回路７８を含む任意の適切なソースから入手されてよい。
【００４１】
プロセッサ７２は、データ出力回路８６を介してデータを提供するために接続されてもよく、データ出力回路８６は、データ入力回路７８がデータを受け取ることができる構成要素と類似の構成要素への接続を介して、又はディスプレイ及びプリンタ等の他の出力装置への接続を介して、データを供給してもよい。
【００４２】
示されるように、データ入力回路７８によって供給されるデータ本体９０は、選択文字列リスト９２及び命令データ９４を含む。選択文字列リスト９２は、例えば、有限状態データ構造のような、文字列のリストを示すための任意の適切な構造であってよい。
【００４３】
命令データ９４によって示される命令を実行する際に、可能ならばリスト９２をメモリ７６にロードした後、プロセッサ７２は、リスト９２内の選択文字列のいずれかと一致する文字列を検出するために、テキスト７４を自動サーチする。その際、プロセッサ７２は一連の反復を行い、その中の各反復は、その始点の後に、推定される文字列の終わりで終わる一致文字列が続くか否かを決定する。更に、各反復は、推定される文字列の始めで、次の反復の始点を検出する。
【００４４】
上述したように、図３は、データ入力回路７８がプロセッサ７２に提供するデータを取り出し得る３つの可能なソース、即ち、メモリ８０、記憶媒体アクセス装置８２、及びネットワーク８４を示している。
【００４５】
メモリ８０は、装置７０内の、ランダムアクセスメモリ（ＲＡＭ）又は読み取り専用メモリ（ＲＯＭ）を含む任意の従来のメモリ、又は任意の種類の周辺又は遠隔記憶装置であってよい。
【００４６】
記憶媒体アクセス装置８２は、例えば１つ以上のテープ、ディスケット、又はフロッピーディスクの組のような磁気媒体、１つ以上のＣＤ−ＲＯＭのセットのような光学媒体、又はデータを記憶するための他の任意の適切な媒体であり得る記憶媒体９６にアクセスするための、ドライブ又は他の適切な装置又は回路であってよい。記憶媒体９６は、装置７０の一部、サーバ又は他の周辺又は遠隔記憶装置の一部、又はソフトウェア製品であってよい。これらの場合の各々において、記憶媒体９６は装置内で使用可能な１つの製品である。
【００４７】
ネットワーク８４は、装置１００からのデータ本体を供給できる。装置１００内のプロセッサ１０２は、ネットワーク８４を介してネットワーク接続回路１０４、及びデータ入力回路７８を通じて、プロセッサ７２との接続を確立できる。どちらのプロセッサが接続を開始してもよく、接続は任意の適切なプロトコルで確立されてよい。次に、プロセッサ１０２はメモリ１０６に記憶されているデータ本体にアクセスし、ネットワーク８４を介して、データ本体をプロセッサ７２に転送できる。プロセッサ７２は、データ本体をメモリ７６又はどこか他の場所に格納でき、次に、選択文字列のいずれかと一致する文字列を検出するためにテキスト７４を自動サーチするための命令を実行できる。
【００４８】
上述の全般的な特徴は、選択文字列のリストと一致する文字列を検出するためにテキストを自動サーチするための、様々な装置で、多くの方法で実施されてよい。以下に述べる実施例は、Ｃ（言語の）ソースコード及び他の標準プログラミング言語のソースコードからコンパイルされたコードを実行する、Solarisの元で動くSunワークステーションで実施された。
【００４９】
図４では、システム１２０は、Sunワークステーションの中央処理装置（ＣＰＵ）１２２を含み、ＣＰＵ１２２は、画像を表示するためのディスプレイ１２４と、ユーザからの信号を供給するためのキーボード１２６及びマウス１２８とに接続されている。ＣＰＵ１２２は、メモリ１３０にアクセスできるようにも接続されており、メモリ１３０は、示されるように、プログラムメモリ１３２及びデータメモリ１３４を含む。
【００５０】
プログラムメモリ１３２内に記憶されているルーチンは、幾つかの主要機能にグループ化でき、そのうちの２つ、即ち、辞書生成ルーチン１４０及びサーチ/注釈ルーチン１４２が示されている。図４は、データメモリ１３４に格納されるとともにプログラムメモリ１３２内のルーチンの実行中にＣＰＵ１２２によってアクセスされる、幾つかのデータ項目、即ち、選択表現１５０、辞書１５２、トークン化オートマトン１５４、入力テキスト１５６、注釈つきテキスト１５８、及び雑データ項目１６０も示しており、そのうちの幾つかについては後述する。
【００５１】
辞書生成ルーチン１４０を実行する際に、プロセッサ１２２は、選択表現１５０を受け取って格納できる。選択表現１５０は、キーボード１２６を用いてタイプしても、マウス１２８を用いてディスプレイ１２４に表示されるリストから選択しても、データメモリ１３４の中のファイル又は他の場所から取り出しても、又は他の適切な方法で入手してもよい。次に、プロセッサ１２２は、ＭＷＥと単独の単語との両方を含み得る選択表現１５０を用いて、有限状態辞書１５２を生成できる。有限状態辞書１５２は、多くのタイプの有限状態データ構造の１つであってよく、選択表現１５０に含まれる表現だけを受け入れる。従って、有限状態辞書１５２は、図３のリスト９２の実施例であり、図３に示されるように、或いは、システム１２０の外部のソースからデータ入力回路を介して受け取られてもよい。
【００５２】
プロセッサ１２２は、トークン化オートマトン１５４も、システム１２０の外部のソースから入手できる。トークン化オートマトン１５４を生成することは可能であり、本発明の範囲に含まれるが、これまでに作られている実施例は、他の目的のために生成された、従来の有限状態オートマトントークナイザーを用いる。米国特許第5,721,939号等に、ＦＳＡトークナイザーを生成し、用いるための、様々な技術が述べられている。従って、プロセッサ１２２は、図３に関係して上述されたように、データ入力回路からトークン化オートマトン１５４を受け取ってもよく、それをデータメモリ１３４に格納してもよい。
【００５３】
同様に、プロセッサ１２２は、入力テキスト１５６を独立して入手及び格納できる。或いは、プロセッサ１２２は、データメモリ１３４に１つのバッファ（の容量）を越える文字コードを格納せずに、入力テキスト１５６をリアルタイムで受け取って、サーチ及び注釈づけを行ってもよい。
【００５４】
サーチ/注釈ルーチン１４２を実行する際に、プロセッサ１２２は、入力テキスト１５６、有限状態辞書１５２、及びトークン化オートマトン１５４を用いて、選択表現１５０のいずれかと一致する、入力テキスト１５６内の文字列を自動サーチできる。従って、サーチ/注釈ルーチン１４２は、図２のボックス５０及びボックス５２の処理を実施するとともに、図３の命令９４の実施例である。
【００５５】
一致する文字列を検出する際に、サーチ/注釈ルーチン１４２は、一致文字列に関係する操作を行うか否かの決定もする。詳細には、ルーチン１４２は、入力テキスト１５６に、一致文字列と関連する注釈を挿入することによる、注釈づけを行うか否かを決定する。注釈は、辞書１５２内でアクセスされた情報、雑データ項目１６０内でアクセスされた情報、又は他の場所から入手された情報を含んでよい。従って、ルーチン１４２は、注釈つきテキスト１５６を生成し、注釈つきテキスト１５６を、ディスプレイ１２４に表示するなどして、出力として供給することができる。
【００５６】
辞書生成ルーチン１４０は、選択表現１５０から、多くの異なる方法で有限状態辞書１５２を生成し得る。後述する、辞書の２つの広いカテゴリーは、有限状態変換器（ＦＳＴ）及び有限状態オートマトン（ＦＳＡ）であり、どちらも有限状態データ構造の例である。
【００５７】
ルーチン１４０は、第15回International Conference on Computational Lingistics、Coling 94（1994年、日本の京都で開催）講演集の406頁から411頁の、カルツネン(Karttunen, L.)の“字句変換器の構成(Constructing Lexical Transducers)”に記載されているような技術を用いて、２レベルＦＳＴを生成してもよい。ＦＳＴの一方のレベルは全ての選択表現１５０を受け入れてもよく、他方のレベルは複数の異なる種類の任意の出力を供給し得る。例えば、選択表現１５０は、表現の表面形態を含んでもよく、ＦＳＴの出力レベルは、各表現の基本形態を、品詞などの辞書特性に関する情報と共に与えてもよい。又は、出力レベルは、各選択表現に、翻訳、ＵＲＬ、又は関連情報にアクセスするための他のハンドル等のような注釈を与えてもよい。又は、出力レベルは、注釈又は他の関連情報へのアクセスに用いるための索引を与えてもよい。
【００５８】
ルーチン１４０は、代わりに、米国特許第5,754,847号に記載されているような、単語/数値マッピングを行うのに用いることができるＦＳＡ（Ｗ/Ｎ ＦＳＡ）を生成してもよい。Ｗ/Ｎ ＦＳＡは、任意の選択表現１５０でアクセスされた際に、その表現に固有の数値を与えてもよい。次に、この数値を用いて、注釈等の関連情報にアクセスできる。Ｗ/Ｎ ＦＳＡは、全ての選択表現を受け入れてもよく、又は、後述するように、表現の基本形態を入手するＦＳＴと組み合わせて用いられる場合は、基本形態だけを受け入れてもよい。
【００５９】
図５は、サーチ/注釈ルーチン１４２の１つの実施例でプロセッサ１２２が行い得る全般的な処理を示している。この実施例では、各反復は、まず、文字列と辞書１５２との照合を試み、照合に失敗した場合は、トークナイザー１５４を用いて次の反復の始点を検出する。この実施例では、辞書１５２は決定的であることとし、各状態が、各文字に対して、最大で１つの出力変換(outgoing transition)を有する。
【００６０】
ボックス２００の処理は、入力テキスト１５６又は入力テキスト１５６へのアクセスに用いることができるハンドルを受け取ることで開始し、これは、サーチ/注釈ルーチン１４２に対する呼出しの一部であってもよい。ボックス２００の処理は、入力テキスト１５６内の、例えば最初の文字のような適切な位置で（処理を）開始するために、始点の初期化も行う。
【００６１】
次に、ボックス２０２の処理は、入力テキスト１５６の各文字について行われる反復ループを開始する。以下の説明から理解できるように、文字レベル反復は、各々が入力テキスト１５６内に始点を有する列レベル反復にグループ化できる。幾つかの列レベル反復は、入力テキスト１５６からの文字列が辞書１５２内の選択表現の１つと一致することを決定し、一方、他の列レベル反復は、文字列が選択表現のどれとも一致しないことを決定する。
【００６２】
ボックス２０４で、各文字レベル反復は、入力テキスト１５６の次の文字を得ることによって開始する。次に、ボックス２１０の処理は、ボックス２０４で得た文字を用いて、辞書１５２にアクセスする。文字が、列レベル反復の最初の文字である場合は、ボックス２１０の処理は、その文字と辞書１５２の開始状態の出力変換との照合を試みる。文字が、列レベル反復において続きの文字である場合は、ボックス２１０の処理は、その文字と、前の文字レベル反復から生じた辞書１５２のカレント（現在の）状態の出力変換との照合を試みる。
【００６３】
ボックス２１０の処理が辞書１５２内の文字の照合に成功した場合は、ボックス２１２の処理は、雑データ項目１６０内のデータのスタック及び他の項目を、後で使用するために更新する。辞書１５２がＦＳＴである場合は、最後の列レベル反復が完了したので、スタックはＦＳＴの入力文字列及び出力文字列の両方を保持できる。辞書１５２がＷ/Ｎ ＦＳＡである場合は、最後の列レベル反復が完了したので、スタックはＦＳＡへの入力文字列を保持できるとともに、マッピングのために文字列の終わりのカウントも保持できる。
【００６４】
ボックス２１４の処理は、カレント文字列が受け入れ可能であるか否か、つまり選択表現１５０の１つであるか否かを決定するとともに、入力テキスト１５６内で、その後に推定される文字列の終わりが続くか否かを決定する。カレント文字列が受け入れ可能であるか否かを決定するために、ボックス２１４の処理は、ボックス２１０で照合変換をとることによって達した状態が、その状態と関連づけられた受諾データによって示すことができるように、受け入れ可能文字列に続くことができる状態になったか否かを決定してもよい。カレント文字列の後に推定される文字列の終わりが続くか否かを決定するために、ボックス２１４の処理はトークナイザー１５４を用いてもよいが、しかしそれは他の技術ほど効率的ではないかもしれない。例えば、辞書１５２は、受け入れ可能文字列を終わらせる各状態の後に、入力テキスト１５６の、スペース又は句読点のような推定される文字列の終わりにあたる、次の文字をチェックできる分岐を含んでもよい。又は、そのような状態に達した後で、雑データ項目１６０内の特化されたデータ構造にアクセスして、入力テキスト１５６内のトークンの区切り又は他の推定される文字列の終わりをチェックしてもよい。
【００６５】
カレント文字列が受け入れ可能文字列ではない場合、又はその後に推定される文字列の終わりが続かない場合は、カレント文字レベル反復は完了され、ボックス２０２で、次の文字レベル反復が開始する。
【００６６】
カレント文字列が受け入れ可能であり、その後に推定される文字列の終わりが続く場合は、カレント文字列は注釈に適切であり得るので、ボックス２１６の処理はカレント文字列を保存する。ボックス２１６の処理は、入力テキスト１５６内におけるカレント文字列の終わりの位置のような他の関連データも保存してもよい。次に、ボックス２０２で、次の文字レベル反復が開始する。
【００６７】
文字レベル反復は、ボックス２１０の処理が入力テキスト１５６内の文字の照合に失敗するまで、上述のように続く。つまり、一致する文字列の終わりに達したならば、列レベル反復を完了してよい。
【００６８】
ボックス２２０の処理は、ボックス２１６で文字列が保存されたか否かに基づいて分岐する。そうである（即ち、保存された）場合は、カレント列レベル反復の始点の後に、選択表現１５０の１つと一致する少なくとも１つの文字列が続き、そのうちの最長の文字列は、最後に保存された文字列である。従って、ボックス２２２の処理は、適切である場合には注釈をつけ、入力テキスト１５６内のカレント位置を保存された文字列の終わりに戻す。
【００６９】
辞書１５２がＦＳＴである場合は、ボックス２２２内の処理は、例えば、出力文字列、又は出力文字列のデータを用いてアクセスされる注釈から、直接注釈を挿入することを含んでもよい。辞書１５２がＷ/Ｎ ＦＳＡである場合は、ボックス２２２の処理は、保存された文字列がマッピングされた数値を用いてアクセスされる注釈を挿入することを含んでもよい。いずれの場合も、注釈は、入力テキスト内の保存された文字列の後に続くか、又は他の適切な方法で、保存された文字列と関連づけられてよい。実際には、保存された文字列を注釈で置換してもよい。
【００７０】
ボックス２２２の処理は、注釈が適切であるか否かを決定するための基準の適用も含んでよい。例えば、ＦＳＴ出力又はＷ/Ｎ ＦＳＴからの数値が注釈を含まない場合は、基準は、注釈が不適切であると決定してもよい。他の基準としては、同じ文字列が前に注釈をつけられたか否か等に基づいてもよい。
【００７１】
選択表現１５０が、基本形態の、複数及び単数のような異なる表面形態を含む場合は、問題が生じ得る。異なる表面形態は、異なる索引を有することができるが、同じ注釈を有することはできない。従って、表面形態の索引を、どうにかして、注釈にアクセスするための同じ索引に変換する必要があろう。
【００７２】
この問題を回避する１つの変更例では、辞書１５２は、単語及びＭＷＥの表面形態である選択表現を受け取って、それに対する基本形態又は見出し語を品詞と共に与える、見出し語分類(lemmatizing)ＦＳＴであってもよい。従って、注釈をつけるか否かの決定は、部分的に品詞に依存してもよい。この変形例では、雑データ項目１６０は、辞書１５２によって与えられた各見出し語を数値にマッピングする、単語/数値マッピングＦＳＡを含むことができる。その数値を用いて、任意の対応する表面形態の注釈にアクセスすることができる。ボックス２１６において保存された文字列は、照合された選択表現の１つの基本形態を示すことができる。従って、ボックス２２２の処理は、基本形態を用いて選択表現の注釈にアクセスすることができる。
【００７３】
一方、ボックス２１６で保存された文字列がない場合は、カレント列レベル反復の始点の後には一致文字列が続いていない。ボックス２２４の処理は、単に、カレント位置をカレント列レベル反復の始点に戻す。
【００７４】
いずれの場合も、ボックス２２６の処理は、トークナイザー１５４を用いて、入力テキスト１５６内のカレント位置の後ろの、次の推定される文字列の始めを検出し、次の列レベル反復の始点をその位置に更新する。最後に、各列レベル反復が終わる前に、ボックス２２８の処理は、例えば、辞書１５２及びトークナイザー１５４の開始状態に戻り、もしあれば、スタック及びマッピングカウントをクリアする等のような、次の列レベル反復に備えるために必要な任意の操作を行う。
【００７５】
最後に、入力テキスト１５６の全ての文字が処理されたら、ボックス２３０の処理は、この時点でボックス２２２で挿入された任意の注釈を含む注釈つきテキスト１５８を戻す。次に、注釈つきテキスト１５８を、任意の適切な方法でディスプレイ１２４に表示できる。例えば、各選択表現を、他の単語とは異なる色で表示するようにして強調表示でき、強調表示された表現を選択するユーザからの信号に応答して表示されるＨＴＭＬページを含むＨＴＭＬファイルにリンクできる。基本形態を入手し、それを用いて注釈への数値の索引を得る変形例では、表示は、更に、テキスト内に生じる選択表現のリスト、各表現の基本形態、及びＨＴＭＬファイルへのアクセスに用いられた基本形態の数値の索引も含むことが可能である。各基本形態のＨＴＭＬページは、従来の技術を用いて、基本形態に関係する画像又は他の注釈から自動的に生成でき、基本形態に注釈がついていない場合は、空白ページ又は適切なエラーメッセージを有するページとすることができる。
【００７６】
図６は、サーチ/注釈ルーチン１４２の別の実施例でプロセッサ１２２が行い得る全般的な処理を示す。この実施例では、外側の反復ループがトークン化を行い、その後、内側の反復ループがトークンの文字列と辞書１５２との照合を試みる。照合に失敗した場合は、前の始点の後の次のトークンの区切りを次の始点として用いる。この実施例でも、辞書１５２は決定的であることとし、各文字について各状態は最大で１つの出力変換を有する。
【００７７】
ボックス２５０の処理は、入力テキスト１５６又は入力テキスト１５６へのアクセスに用いることができるハンドルを受け取ることで開始し、これは、サーチ/注釈ルーチン１４２に対する呼出しの一部であってもよい。ボックス２５０の処理は、入力テキスト１５６内の、例えば最初の文字のような適切な位置で開始するために、始点の初期化も行う。
【００７８】
次に、ボックス２５２の処理は、トークン化を行う外側の反復ループを開始する。以下の説明から理解できるように、外側の反復は、各々が入力テキスト１５６内に始点を有する列レベル反復にグループ化できる。幾つかの列レベル反復は、入力テキスト１５６からの文字列が辞書１５２内の選択表現の１つと一致することを決定し、一方、他の列レベル反復は、文字列が選択表現のどれとも一致しないことを決定する。
【００７９】
ボックス２５４で、各外側反復は、入力テキスト１５６の次の文字からトークン化することにより開始する。ボックス２５４の処理がトークンの区切りに達すると、次に、検出されたトークンが、ボックス２６０で開始する一連の内側反復での更なる処理のために、得られる。
【００８０】
ボックス２６２の処理は、トークンの次の文字を得、次に、ボックス２７０の処理は、ボックス２６２で得た文字を用いて辞書１５２にアクセスする。ボックス２７０の処理は、その文字と辞書１５２のカレント状態の出力変換との照合を試み、ちょうど新しい列レベル反復が開始するところであれば、それが開始状態になるが、そうでない場合は、前の変換から生じたカレント状態になる。
【００８１】
ボックス２７０の処理が辞書１５２内の文字の照合に成功する場合は、ボックス２７２の処理は、図５のボックス２１２と同様に、後で用いるために、雑データ項目１６０内のデータのスタック及び他の項目を更新する。
【００８２】
ボックス２７４の処理は、カレント文字列がトークンの終わりにあるか否かを決定する。そうでない場合は、カレント内側反復は完了され、ボックス２６０で次の内側反復が開始する。
【００８３】
しかし、トークンの終わりに達したら、カレント内側反復はカレント外側反復の最後でもある。ボックス２５２で次の外側反復を開始する前に、ボックス２７６の処理は、カレント文字列が受け入れ可能であるか否か、つまり、選択表現１５０の１つであるか否かを決定する。カレント文字列が受け入れ可能であるか否かを決定するために、ボックス２７６の処理は、ボックス２７０で照合変換を得ることによって達した状態が、その状態と関連づけられた受諾データによって示すことができる、受け入れ可能文字列に続くことができる状態になったか否かを決定してもよい。
【００８４】
カレント文字列が受け入れ可能であり、トークンの終わりにある場合は、カレント文字列は注釈に適切であり得るので、ボックス２７８の処理は、カレント文字列を保存する。ボックス２７８の処理は、他の関連データも保存してよい。次に、トークンの終わりに達したので、ボックス２５２で次の外側反復が開始する。
【００８５】
外側及び内側の反復は、ボックス２７０の処理が入力テキスト１５６内の文字の照合に失敗するまで、上述のように続く。つまり、おそらくは１つを越えるトークンを有する文字列である、一致する文字列の終わりに達したので、列レベル反復を完了することができる。
【００８６】
ボックス２８０の処理は、ボックス２７６で文字列が保存されたか否かに基づいて分岐する。そうである場合は、カレント列レベル反復の始点の後に、選択表現１５０の１つと一致する少なくとも１つの文字列が続き、そのうちの最長の文字列は、最後に保存された文字列である。従って、ボックス２８２の処理は、図５のボックス２２２に関連して上述したように、適切である場合には注釈をつける。いずれの場合にも、ボックス２８４の処理は、次の列レベル反復の始点を、カレント始点の後の、ボックス２５４で検出された、最初のトークンの区切りに設定する。ボックス２８４の処理も、例えば、辞書１５２及びトークナイザー１５４の開始状態に戻り、もしあれば、スタック及びマッピングカウントをクリアする等のような、次の列レベル反復に備えるために必要な任意の操作を行うことができる。
【００８７】
最後に、入力テキスト１５６の全ての文字が処理されたら、ボックス２９０の処理は、図５のボックス２３０と同様に、注釈つきテキスト１５８を戻す。
【００８８】
上述の実施例は、上述の事項を参照して“辞書優先サーチ”及び“トークナイザー優先サーチ”と呼ばれる２つの別々の手法に従うが、これらは本発明の実施に用いられ得る広いクラスの技術の２つの例にすぎない。これらの例では、トークナイザーを用いるような推定される文字列の終わりのサーチ、及び、辞書を用いるような照合サーチは、一致するとともに推定される文字列の終わりで終わる文字列を検出するようにして、一緒に行われる。上述した特定の技術は、更に、推定される文字列の終わりで終わる最長一致文字列を検出するが、本発明は、多くの他の技術を用いて実施されてもよく、最長一致文字列をサーチする必要はない。
【００８９】
上述の実施例は、文字列が選択文字列のリストのいずれかと一致するか否かを決定するために、ＦＳＴ（“専用字句変換器”と呼んでもよい）のような有限状態辞書及びＷ/Ｎ ＦＳＡを用いる。詳細には、上述の実施例は、決定的有限状態辞書を用いる。しかしながら、本発明は、文字列が他の方法で一致するか否かを決定するように実施されてもよく、適切な後方追跡(backtracking)技術を用いて、非決定的有限状態辞書を用いてもよい。上述の実施例は正確な一致を必要とするが、本発明は、より弱い照合基準を用いて実施されてもよい。
【００９０】
上述の実施例では、有限状態辞書をサーチが行われる装置と同じ装置で生成することができるが、選択文字列のリストを定義する辞書又は他のリソースは、異なる場所で又は異なる時に用意されてもよく、任意の適切な方法で、サーチを行っている装置に供給されてもよい。更に、上述のサーチは、サーチ要求を受信する装置で行われるのではなく、クライアント/サーバプロトコルを介するなどして、入力されたテキストに応答して、遠隔で行われてもよい。
【００９１】
上述の実施例は、次の反復の始点を検出するために、簡単な通常表現で定義された予め存在するトークン化オートマトンを用いるが、本発明は、トークンの区切り以外の特徴を検出する有限状態データ構造にアクセスすることによって、特別に生成されたトークン化オートマトンにアクセスすることによって、又は適切なアルゴリズムを適用することによって、照合に用いられる有限状態辞書の付加的な変換及び状態を追跡するような他の方法で、始点を検出するように実施されてもよい。更に、上述の実施例は、次の反復の始点を検出するために、前の反復の始点から前進するが、次の反復の始点は、上述の図１に幾つか示されているカレント位置又は他の位置で始まるように検出されてもよく、前進ではなく後退することによって検出されてもよい。
【００９２】
有限状態辞書を用いてトークン化オートマトンを構成することは可能かもしれないが、時間及び空間の問題を生じるであろう。従って、コンパクトで速度の速いものにするためには、トークナイザー及び辞書を別々に用いるのが有利なようである。
【００９３】
上述の実施例は、単語又はＭＷＥである選択表現及び一致文字列を含み、推定される文字列の始めと終わりとを検出するトークン化オートマトン及び他の様々な技術を用いて、推定される単語の始めと終わりとを検出する。ＭＷＥは、例えば、日付、相互参照、又は公知の単語のシーケンス又は特定のパターンの数値を有する他の表現を含んでもよい。しかしながら、本発明は、単語及びＭＷＥに限定されるものではなく、文字列が一致する文又はＳＧＭＬやＸＭＬのタグのような他のタイプの選択表現のサーチに適用されてもよい。また、推定される文字列の始め及び終わりは、照合される文字列及び選択表現のタイプに適した任意の方法で検出されてよい。
【００９４】
選択文字列のリストは任意の適切な方法で入手されてよく、例えば、技術表現のリスト、ある会社又は所与の領域の特殊な表現のリスト、固有名詞のリスト、科学的な参照又は引用、又は他のドキュメントとの相互参照、又は、ロゴにリンクするための又はフォントを変更するための適切な登録名のような、ハイパーリンクを設定されそうな参照のリスト、法律用語のような定義された用語のリスト、“see”のような相互参照の一部として出現しそうな単語のリスト、法的な警告のような特殊なテキストの表現のリスト、又は他の任意のそのようなリストであってよい。
【００９５】
上述の実施例は、適切である場合に入力テキストに注釈をつけるが、例えば、各一致文字列をその翻訳又は更新されたバージョンと置換すること、一致する文字列が検出されるロケーション又はドキュメントの識別子を保存すること、及び各一致文字列を強調表示することを含む、一致する文字列に関係する他の様々な操作を行ってもよい。他の操作の例の幾つかは、本発明の適用例に関係して後述される。
【００９６】
また、注釈は、上述の方法に加えて、様々な方法で挿入されてよく、注釈自体も、例えば、（形態構文的又は意味的情報を与えるタグがある又はない）翻訳、定義、領域識別子、ハイパーリンク、又は対話的な補助や、ヘルプスクリーン、画像、図、指示、オンラインマルチメディアドキュメント等のような関連情報へのアクセスを提供するための他のデータ項目を含む、広い範囲の様々な形態をとってよい。所与の１つの表現に対して１つを越える注釈が与えられてもよい。注釈をつけるか否かの決定は、例えば、隣接する単語、タイトルのようなドキュメント内での位置、又は、ＳＧＭＬタグによって示される強調表示のような表示方法等のような基準に基づいて、自動的に行うことができる。注釈をつけるか否かの決定を、自動的に行わずに、ユーザに可能な選択肢を表示し、ユーザが選択した選択肢を示す信号を受け取ることによって、対話的に行ってもよい。
【００９７】
上述の実施例は、仏語に適用され、時々英語の注釈を入手したが、本発明は、仏語及び英語以外の、推定される文字列の始まり及び終わりが検出可能な他の言語にも適用できる。
【００９８】
上述の実施例で行われる特定の処理は、省略されても、又は異なる方法で行われてもよい。例えば、データは、スタックではなくデータ構造に保存されてもよい。
【００９９】
上述の実施例で行われる処理の順序は、多くの場合に修正されてよい。例えば、上述のように先にトークン化を行ったり、先に辞書検索を行ったりするのではなく、文字列の各文字を同時に用いて有限状態辞書内及びトークン化オートマトン内の変換を行ってもよい。
【０１００】
上述したように、本発明は、様々な方法で注釈づけを行うように適用できる。
【０１０１】
テキストセグメントに自動的に、例えば、（１つ以上の言語への）翻訳、定義へのポインタ、ヘルプスクリーン、絵、又は任意の関連マルチメディアドキュメントのような、特別な情報の注釈をつける、オンラインアプリケーションを提供してもよい。注釈は、ＷＷＷアプリケーションのハイパーリンクであってもよく、又は技術マニュアル等のオンラインドキュメントを調べるため、ユーザに技術用語の翻訳を提供するため、又は指示、図等、或いはそれらの組み合わせにアクセスするための、対話的補助であってもよい。
【０１０２】
マルチメディアアプリケーションでは、ドキュメントは、ＦＳＴの１つのレベルによって認識されるキーワードによって索引でき、ＦＳＴは出力として、ネットワークを介して送られるドキュメントを含む、索引されたドキュメントへのポインタを与えてもよい。
【０１０３】
技術用語は不明瞭な情報を持たない傾向があるが、それでもやはり非母国語話者にとっては（内容の）把握が困難かもしれないので、技術用語の翻訳は有用なアプリケーションである。技術用語の翻訳を提供するアプリケーションは、多言語の用語法データベースから用意された有限状態辞書を用いることができる。プロトタイプ（試作品）では、既に存在する、様々な領域からの数千語を収録したバイリンガルの用語法データベースを用いて、複数のＦＳＴを生成した。そのうちのどれを反転して対の言語のＦＳＴを生成してもよい。
【０１０４】
この適用例は、熟語又は翻訳記憶項目のような、より一般的な複数単語表現に拡張されてもよく、翻訳システムへの有用な予備ステップとしての役割を果たすことができよう。
【０１０５】
別のプロトタイプでは、単独の単語及びＭＷＥの両方を含む１組の選択表現セットを用いて、各表現を基本形態にマッピングするＦＳＴを生成した。各基本形態には索引が与えられ、各基本形態をその索引にマッピングするためのマッピングデータ構造も生成された。適切な索引を用いて、基本形態に関係する画像にアクセスできるようにした。注釈は、画像へのハイパーテキストリンクを与えた。
【０１０６】
本発明は、ドキュメントに光学的文字認識を行うことができ、プリント前に注釈を追加できる、デジタルコピー機に適用されてもよい。
【０１０７】
本発明は、ウェブページのリライター(rewriter)に適用されてもよい。
【０１０８】
本発明は、ゼロックス言語開発アーキテクチャ(Xerox Linguistic Development Architecture: XeLDA)のような開発環境に適用されてもよい。
【図面の簡単な説明】
【図１】選択文字列のリストのいずれかと一致する文字列を検出するために、どのようにテキストを自動サーチするかを示す模式的なフロー図である。
【図２】選択文字列のリストのいずれかと一致する文字列を検出するための、テキストの自動サーチの全般的な処理を示すフロー図である。
【図３】図２の全般的な処理を実行可能なシステムの構成要素を示す模式的な図である。
【図４】図２の全般的な処理が実施されたシステムの模式的な図である。
【図５】図４のシステムで実施できるサーチ及び注釈づけの、１つの方法を示すフロー図である。
【図６】図４のシステムで実施できるサーチ及び注釈づけの、別の方法を示すフロー図である。
【符号の説明】
１０    テキスト
１２    リスト
７０    装置
１２０  システム
１２２  プロセッサ
１２４  ディスプレイ
１３０  メモリ
１３２  プログラムメモリ
１３４  データメモリ
【図１】
0004544674.tif 000002
【図２】
0004544674.tif 000003
【図３】
0004544674.tif 000004
【図４】
0004544674.tif 000005
【図５】
0004544674.tif 000006
【図６】
0004544674.tif 000007