JP4544674B2 - 選択文字列に関連する情報を提供するシステム - Google Patents
選択文字列に関連する情報を提供するシステム Download PDFInfo
- Publication number
- JP4544674B2 JP4544674B2 JP36205199A JP36205199A JP4544674B2 JP 4544674 B2 JP4544674 B2 JP 4544674B2 JP 36205199 A JP36205199 A JP 36205199A JP 36205199 A JP36205199 A JP 36205199A JP 4544674 B2 JP4544674 B2 JP 4544674B2
- Authority
- JP
- Japan
- Prior art keywords
- string
- character string
- character
- text
- data
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
Description
【発明の属する技術分野】
本発明は、テキスト内の選択文字列を検出する技術に関する。
【0002】
【従来の技術】
米国特許第5,748,805号は、ソースドキュメント内の選択された単語に対する翻訳を提供する技術を開示している。未解読のドキュメント画像が画像ユニットに区分され、画像の特徴や手でつけたマークに基づいて、単語のような重要な(有意の)画像ユニットが識別される。例えば、ユーザは、ドキュメント内の難しい又は知らない単語にマークできる。次に、重要な画像ユニットは、光学的文字認識(OCR)技術によって解読され、解読された単語を用いて、データベース内の翻訳にアクセスすることができる。次に、ドキュメントのコピーが、重要な単語の反対側の余白に翻訳をつけられてプリントされる。
【0003】
米国特許第5,748,805号は、視覚障害者用の読書装置に適用可能な技術を開示している。ユーザは、キーワードリストのキーワードを指定することができる。次に、OCR技術等によって、ユーザが指定したキーワードをドキュメント内で検出することができ、そのキーワードの周囲の領域は重要であるとして識別される。OCR技術を用いて重要な単語を解読でき、補足的なデータを検索して、点字や合成音声にしてユーザに提供することができる。
【0004】
【発明が解決しようとする課題】
本発明は、選択された単語、複数単語表現、又は他の文字列をテキスト内で自動的に検出する際に生じる問題を扱う。自動文字列検索は、テキスト内における選択された文字列の存在、位置、及び頻度に関する情報を用いる様々なアプリケーションにおいて有用である。例えば、あるアプリケーションは、テキスト内に生じる各選択文字列と関連づけられた、翻訳、ハイパーテキストリンク、又は他の注釈を、挿入してもよい。
【0005】
もし、自動文字列検索システムが、一般辞書(general lexicon)、品詞の曖昧性除去プログラム(disambiguator)、及び構文解析プログラムのような、精密な言語ツールを用いるものであったならば、このシステムは、メモリ集約的及び計算集約的なものとなり、処理が遅く、高価であろう。更に、システムがより複雑に作られない限り、このシステムは、1つの言語及びおそらくは用語法の1つの領域に特定されるであろう。本明細書では、これらの問題をまとめて、“複雑さの問題(complexity problems)”と呼ぶ。
【0006】
【課題を解決するための手段】
本発明は、テキスト内で文字列を検出するための新技術の発見に基づいている。この新技術は、より簡単な自動文字列検出を提供し、複雑さの問題を緩和する。この技術は、テキストを自動的にサーチして、選択された文字列のリストのうちのいずれかと一致する、テキスト内の文字列を検出する。その際に、この技術は、各々がテキスト内に始点を有する一連の反復を行う。各反復は、その始点の後に、選択された文字列のいずれかと一致する文字列が続いているか否か、及びその文字列が推定される文字列の終わり(即ち、後述するトークンの区切りで終わる場所)で終わるか否かを決定する。次に、その反復は、推定される文字列の始め(即ち、後述するトークンの区切りで始まる場所)にある次の反復の始点を検出する。
【0007】
従って、各反復は、テキスト内の始点の後に、推定される文字列の終わりで終わる一致文字列が続くか否かを決定する操作を行う。各反復は、次の反復の始点として、推定される文字列の始めを検出する操作も行う。これらの操作は、両方とも、既に利用可能又は容易に構成可能なツールを用いて、非常に迅速に行うことができる。従って、この新技術は、簡単で速い自動文字列検索プログラムを得るために、すぐに実現可能である。
【0008】
推定される文字列の始めと終わりとを検出するには、例えば、この新技術は、有限状態トークナイザー(tokenizer)を用いるなどして、ワードセパレータのような推定されるトークンの区切りを検出するためのトークン化を行うことができる。単語及び複数単語表現でいえるように、各選択列がトークンの区切りで始まる場所及び終わる場所で、トークン化は、推定される文字列の始めと終わりとを検出する。
【0009】
始点の後に選択文字列の1つが続くか否かを決定するために、この新技術は、選択文字列の辞書として、更に、有限状態変換器(FST)又は有限状態オートマトン(FSA)のような有限状態データ構造を用いることができる。有限状態データ構造は、受入れ可能な文字列の照合後にアクセスされる受諾データを含んでもよい。従って、受諾データは、その文字列が受入れ可能であることを示す。FSTは、選択された文字列だけを受入れるレベルを有してもよく、FSAも同様に選択された文字列だけを受入れることができる。
【0010】
この技術は、始点に続く文字列で有限状態データ構造及びトークナイザにアクセスでき、各文字を順次探索して照合する。文字の照合のあらゆる失敗及びアクセスされるあらゆる受諾データに基づいて、この技術は、始点の後に、推定される文字列の終わりで終わる受入れ可能文字列が続くか否かを決定することができる。
【0011】
文字列が選択文字列の1つと一致し、且つ推定される文字列の終わりで終わる場合、この新技術は、一致文字列に関係する操作を行うか否かを決定できる。例えば、この新技術は、始点で始まる最長の一致文字列だけに、そのような操作を行うことを決定できる。
【0012】
有限状態データ構造がFSTである場合は、この新技術は、FSTの文字列照合レベルに、始点に続く文字列を与えることができる。文字列が受入れ可能である場合は、FSTは、情報出力レベルで、その文字列に関係する情報出力を与えることができる。例えば、情報出力は、受諾された文字列に注釈をつけるために又は受諾された文字列に関係する別の操作を行うために有用な情報であってもよく、又はそのような情報にアクセスするためのアクセスデータであってもよい。
【0013】
或いは、この新技術は、FSAに、始点に続く文字列を提供してもよい。文字列がFSAによって受諾された場合は、この技術は、この文字列がマッピングされる相手方の数値を入手できる。次に、この新技術は、相手方の数値を用いて、受諾された文字列に関係する情報にアクセスできる。
【0014】
行われ得る操作としては、例えば、翻訳等の注釈、関連情報にアクセスするためのハイパーリンク又は他のハンドル(handle)、関連ドキュメントにアクセスするための任意の対話的な補助、又は一致文字列と関連づけられた他の情報を入手することが挙げられる。関連情報が注釈である場合は、操作は、注釈をテキスト中に挿入してもよい。
【0015】
この新技術は、更に、テキストを定義するテキストデータ、選択文字列のリストを定義するリストデータ、及び、リストのいずれかと一致する文字列を検出するためにテキストを自動サーチするために上述のように反復を行うプロセッサを含むシステムとして実施可能である。
【0016】
この新技術は、テキストを定義するテキストデータ、及び記憶媒体アクセス装置を含むシステムに用いるための製品としても実施可能である。この製品は、記憶媒体並びに記憶媒体によって格納されるリストデータ及び命令データを含んでもよい。このシステムのプロセッサは、命令データによって示される命令を実行する際に、上述のように反復を行う。
【0017】
この新技術は、上述のリストデータ及び命令データを含む転送データを、ネットワークを介して第2の装置へと転送するための、第1の装置を操作する方法としても実施可能である。
【0018】
この新技術は、FST又はFSAの形態のトークナイザー及び辞書といった、簡単で安価な言語リソースを用いて実現できるので、有利である。更に、トークン化は迅速な予備段階であり、辞書参照も速いので、この新技術は、速い操作に適している。この新技術は、形態的な解析に依存する文字列検出技術と比べて、特に速い。この新技術は、単に選択された単語のトークナイザー及び辞書を生成することによって、用語の新たな領域に、又は新たな言語に、容易に適応させることが可能である。
【0019】
この新技術は、選択された文字列だけをサーチするので、対象外の文字列を検出することは稀なことでも有利である。この新技術の計算的に単純な実施例は、選択文字列の1つの発生の検出に失敗することはめったにない。
【0020】
【発明の実施の形態】
“文字”とは、自然言語の、書かれた、プリントされた、又は音声を書き表した形態で現われる、離散的要素のことである。従って、今日の英語における文字は、アルファベット及び数字の要素だけではなく、句読点、分音符、ブランク、スペース、大文字表記、表化(タブ)及び他の形式文字、数学及び論理記号、及び、書かれた、プリントされた、又は音声を書き表した英語に用いられる他の要素も含む。より一般的には、文字は、英数字の要素に加えて、音声、表意文字、又は絵文字の要素も含み得る。
【0021】
“文字コード”は、文字セットの1つを示す値を有するデータ項目である。英語によく用いられる1バイト文字コードセットはASCIIと呼ばれるものであるが、他にも、西欧言語用のISO8859-1及びコードページ(Codepage)850 等のASCIIのスーパーセット、中国語等の言語用の2バイト及び3バイト文字コード、UNICODEの2バイト及び4バイトバージョン、全文字セットの統合を試みる文字コードセットを含む、多くの文字コードセットが存在する。
【0022】
本明細書で用いられるように、“ワード(単語)”、及び“セパレータ”又は“区切り”という概念は密接に関係している。つまり、“セパレータ”又は“区切り”(又は“ワードセパレータ”又は“ワード(単語)区切り”)は、単語を区分する基準(“区切り基準”)を満たす1つ以上の要素の文字列であり、一方、“ワード(単語)”は、各々が文字又は文字の組合わせである1つ以上の要素の文字列であって、文字列の内部に、適用可能な区切り基準に従うセパレータを含まない。仏語及び英語のような言語に適用可能な区切り基準は、しばしば、1つ以上のスペースの列をワードセパレータとして扱う。正確に綴られた単語に加えて、略語、頭字語、短縮語、綴り間違い及び無意味な単語、公式(formula)及び方程式(equation)を含む数学及び論理表現、区切り基準を満たさない句読記号の組み合わせ(点線、署名の線、“スマイリー”等)、及び、意味論的な意味があろうとなかろうと、他の様々なタイプの文字列は、全て、適用可能な基準におけるセパレーターを内部に含まない場合には、この定義の下では単語になり得る。更に、ある区切り基準の下では、SGML及びXMLのタグ、並びに、ハイパーリンクや書式等に関係する他のそのような文字列も、単語として扱われる。単語は意味的な単位でなければならないという観念から、この意味を区別するために、区切り基準を適用することによって得られた単語を、本明細書では“トークン”と呼ぶことがあり、トークンの間の区切りを“トークンの区切り”と呼ぶことがある。
【0023】
“トークン化”とは、区切り基準に従って、テキストを複数のトークンに分けることである。“トークナイザー”は、本明細書では、テキストのトークン化に用いることができるデータ構造、プログラム、オブジェクト、又は装置を意味する。
【0024】
図1から図3は、本発明の全般的な特徴を示す。
【0025】
図1は、どのようにテキスト内で選択文字列を自動検出するかを模式的に示すフロー図である。
【0026】
テキスト10は、一連の文字コードとして示されており、その中には、 “abc”、“defg”、“hij”、“klmnop”、及び“qrs”という5つの単語が存在する。各単語は、前後を、“ ”で表されているスペース文字又は他のワードセパレータで括られている。図1の簡単な例では、各ワードセパレータの直前の位置は、推定される文字列の終わりであり、各ワードセパレータの直後の位置は、推定される文字列の始めである。
【0027】
リスト12は、“ab”、“defg”、 “defg hij klmnop”、及び“qrs”の4つの文字列として示されている、選択文字列のリストである。この4つのうちで、1番目、2番目、及び4番目は単独の単語であり、3番目は、2番目の選択文字列でもある単語で始まる複数単語表現(MWE)である。
【0028】
ボックス20は、テキスト10内でリスト12の選択文字列を自動検出する際に行うことができる一連の反復を示している。1つの反復内の各反復又は二者択一は、数値、又は数値+文字の識別子、即ち1、2、2A、2B、3A、3B、及び3Cによって識別される。n番目の反復は、その反復の始点(“SP-n”という形式で示す)、少なくとも1つの一致(“M-n”)又は不一致(“NoM-n”)決定、及び次の反復の少なくとも1つの始点(“SP-(n+1)”)を含む。
【0029】
ボックス22内の反復1は、その始点(SP-1)を、単語“abc”に先行する1つ目のワードセパレータの直後に有する。たとえリスト12内に“ab”があっても、テキスト10内での、その(文字列の)終わりが推定される文字列の終わりの点ではないので、これは一致決定を生じない。次の推定される文字列の終わりの点は次の文字の直後であるが、 “abc”はリスト12内にないので、反復1は不一致決定(NoM-1)を行う。次に、反復1は、示されるように、単語“abc”に続くワードセパレータの直後で、反復2の始点を検出する。
【0030】
ボックス24内の反復2は、単語“defg”照合後の第1の、及びMWE“defg hij klmop” 照合後の第2の、2つの一致決定(M-2A及びM-2B)を行うことができ、(その単語とMWEは)それぞれ、テキスト10内の推定される文字列の終わり、ワードセパレータの直前で終わる。実施例によっては、いずれの一致文字列(“defg”及び“defg hij klmop”)も検出されたこととして扱われてよく、サーチを適切に継続してよい。
【0031】
図1は、反復3のために検出され得る、各々が推定される文字列の始めである、3つの可能な始点(SP-3A、SP-3B、及びSP-3C)を示している。1つ目(SP-3A)は、反復2の始点(SP-2)から前進することによって検出される最初のワードセパレータの直後、又は1つ目の一致決定(M-2A)の後であり、2つ目(SP-3B)は、2つ目の一致決定(M-2B)から後退することによって検出される最初のワードセパレータの直後であり、3つ目(SP-3C)は、2つ目の一致決定(M-2B)から前進することによって検出される最初のワードセパレータの直後である。
【0032】
この実施例が、始点で始まる最長一致文字列を選択する場合は、サーチは2つ目の一致決定(M-2B)から続く。しかし、この実施例がどのように次の反復の始点を検出するかによって、第3の反復は可能な始点(SP-3A、SP-3B、及びSP-3C)のどれからでも始まり得る。
【0033】
ボックス30内の反復3Aは、示されるように、1つ目の始点(SP-3A)で開始する。リスト12内の選択された単語に“h”で始まる単語はないので、反復3Aは不一致決定(NoM-3A)を行う。次に、反復3Aは、示されるように、単語“hij”に続くワードセパレータの直後で、反復4の始点(SP-4A)を検出する。
【0034】
同様に、ボックス32内の反復3Bは、示されるように、2つ目の始点(SP-3B)で開始する。リスト12内の選択された単語に“k”で始まる単語はないので、反復3Bも不一致決定(NoM-3B)を行う。次に、反復3Bは、示されるように、単語“klmnop”に続くワードセパレータの直後で、反復4の始点(SP-4B)を検出する。
【0035】
一方、ボックス34内の反復3Cは、テキスト10内の推定される文字列の終わり、ワードセパレータの直前、で終わる単語“qrs”の照合後に一致決定(M-3C)を行う。次に、反復3Cは、示されるように、単語“qrs”に続くワードセパレータの直後で、反復4の始点(SP-4C)を検出する。
【0036】
図1は、ボックス20内の反復の幾つかの特徴を示している。各反復はテキスト内に始点を有する。各反復は、その始点の後に、選択文字列のいずれかと一致し、推定される文字列の終わりで終わる文字列が続くか否かを決定する。各反復は、推定される文字列の始めで、次の反復の始点を検出する。
【0037】
図2に示されるように、一連の反復は、各々、ボックス50及びボックス52内の一般的な処理を含む。ボックス50の処理は、テキスト内の反復の始点の後に、選択文字列のリストのいずれかと一致し、推定される文字列の終わりで終わる文字列が続くか否かを決定する。次にボックス52の処理は、推定される文字列の始めで、次の反復の始点を検出する。
【0038】
図2に示す処理に加えて、随意的に、一連の反復の前に、点線のボックス54で示されるように、最初の始点を検出する付加的な処理が行われてもよく、随意的に、ボックス50及びボックス52の後から延びる点線で示されるように、次の反復の始点を検出して又は検出せずに終了する最後の反復が続いてもよい。
【0039】
図3の装置70は、テキスト74を入手するために接続されているとともにメモリ76のデータにアクセスするために接続されている、プロセッサ72を含む。プロセッサ72は、データ入力回路78を介してデータを受取るためにも接続されており、データ入力回路78は、示されるように、メモリ80、記憶媒体アクセス装置82、又はネットワーク84への接続から受け取ったデータを供給することができる。従って、プロセッサ72は、パーソナルコンピュータ、ワークステーション、又はサーバの中央処理装置(CPU)、又は示されるような接続を有する他の任意の処理装置であってよい。
【0040】
テキスト74は、テキストを定義する一続きの文字コード等の、任意の適切な形態をとってよい。テキスト74は、ユーザ入力回路(図示せず)、メモリ76、又はデータ入力回路78を含む任意の適切なソースから入手されてよい。
【0041】
プロセッサ72は、データ出力回路86を介してデータを提供するために接続されてもよく、データ出力回路86は、データ入力回路78がデータを受け取ることができる構成要素と類似の構成要素への接続を介して、又はディスプレイ及びプリンタ等の他の出力装置への接続を介して、データを供給してもよい。
【0042】
示されるように、データ入力回路78によって供給されるデータ本体90は、選択文字列リスト92及び命令データ94を含む。選択文字列リスト92は、例えば、有限状態データ構造のような、文字列のリストを示すための任意の適切な構造であってよい。
【0043】
命令データ94によって示される命令を実行する際に、可能ならばリスト92をメモリ76にロードした後、プロセッサ72は、リスト92内の選択文字列のいずれかと一致する文字列を検出するために、テキスト74を自動サーチする。その際、プロセッサ72は一連の反復を行い、その中の各反復は、その始点の後に、推定される文字列の終わりで終わる一致文字列が続くか否かを決定する。更に、各反復は、推定される文字列の始めで、次の反復の始点を検出する。
【0044】
上述したように、図3は、データ入力回路78がプロセッサ72に提供するデータを取り出し得る3つの可能なソース、即ち、メモリ80、記憶媒体アクセス装置82、及びネットワーク84を示している。
【0045】
メモリ80は、装置70内の、ランダムアクセスメモリ(RAM)又は読み取り専用メモリ(ROM)を含む任意の従来のメモリ、又は任意の種類の周辺又は遠隔記憶装置であってよい。
【0046】
記憶媒体アクセス装置82は、例えば1つ以上のテープ、ディスケット、又はフロッピーディスクの組のような磁気媒体、1つ以上のCD−ROMのセットのような光学媒体、又はデータを記憶するための他の任意の適切な媒体であり得る記憶媒体96にアクセスするための、ドライブ又は他の適切な装置又は回路であってよい。記憶媒体96は、装置70の一部、サーバ又は他の周辺又は遠隔記憶装置の一部、又はソフトウェア製品であってよい。これらの場合の各々において、記憶媒体96は装置内で使用可能な1つの製品である。
【0047】
ネットワーク84は、装置100からのデータ本体を供給できる。装置100内のプロセッサ102は、ネットワーク84を介してネットワーク接続回路104、及びデータ入力回路78を通じて、プロセッサ72との接続を確立できる。どちらのプロセッサが接続を開始してもよく、接続は任意の適切なプロトコルで確立されてよい。次に、プロセッサ102はメモリ106に記憶されているデータ本体にアクセスし、ネットワーク84を介して、データ本体をプロセッサ72に転送できる。プロセッサ72は、データ本体をメモリ76又はどこか他の場所に格納でき、次に、選択文字列のいずれかと一致する文字列を検出するためにテキスト74を自動サーチするための命令を実行できる。
【0048】
上述の全般的な特徴は、選択文字列のリストと一致する文字列を検出するためにテキストを自動サーチするための、様々な装置で、多くの方法で実施されてよい。以下に述べる実施例は、C(言語の)ソースコード及び他の標準プログラミング言語のソースコードからコンパイルされたコードを実行する、Solarisの元で動くSunワークステーションで実施された。
【0049】
図4では、システム120は、Sunワークステーションの中央処理装置(CPU)122を含み、CPU122は、画像を表示するためのディスプレイ124と、ユーザからの信号を供給するためのキーボード126及びマウス128とに接続されている。CPU122は、メモリ130にアクセスできるようにも接続されており、メモリ130は、示されるように、プログラムメモリ132及びデータメモリ134を含む。
【0050】
プログラムメモリ132内に記憶されているルーチンは、幾つかの主要機能にグループ化でき、そのうちの2つ、即ち、辞書生成ルーチン140及びサーチ/注釈ルーチン142が示されている。図4は、データメモリ134に格納されるとともにプログラムメモリ132内のルーチンの実行中にCPU122によってアクセスされる、幾つかのデータ項目、即ち、選択表現150、辞書152、トークン化オートマトン154、入力テキスト156、注釈つきテキスト158、及び雑データ項目160も示しており、そのうちの幾つかについては後述する。
【0051】
辞書生成ルーチン140を実行する際に、プロセッサ122は、選択表現150を受け取って格納できる。選択表現150は、キーボード126を用いてタイプしても、マウス128を用いてディスプレイ124に表示されるリストから選択しても、データメモリ134の中のファイル又は他の場所から取り出しても、又は他の適切な方法で入手してもよい。次に、プロセッサ122は、MWEと単独の単語との両方を含み得る選択表現150を用いて、有限状態辞書152を生成できる。有限状態辞書152は、多くのタイプの有限状態データ構造の1つであってよく、選択表現150に含まれる表現だけを受け入れる。従って、有限状態辞書152は、図3のリスト92の実施例であり、図3に示されるように、或いは、システム120の外部のソースからデータ入力回路を介して受け取られてもよい。
【0052】
プロセッサ122は、トークン化オートマトン154も、システム120の外部のソースから入手できる。トークン化オートマトン154を生成することは可能であり、本発明の範囲に含まれるが、これまでに作られている実施例は、他の目的のために生成された、従来の有限状態オートマトントークナイザーを用いる。米国特許第5,721,939号等に、FSAトークナイザーを生成し、用いるための、様々な技術が述べられている。従って、プロセッサ122は、図3に関係して上述されたように、データ入力回路からトークン化オートマトン154を受け取ってもよく、それをデータメモリ134に格納してもよい。
【0053】
同様に、プロセッサ122は、入力テキスト156を独立して入手及び格納できる。或いは、プロセッサ122は、データメモリ134に1つのバッファ(の容量)を越える文字コードを格納せずに、入力テキスト156をリアルタイムで受け取って、サーチ及び注釈づけを行ってもよい。
【0054】
サーチ/注釈ルーチン142を実行する際に、プロセッサ122は、入力テキスト156、有限状態辞書152、及びトークン化オートマトン154を用いて、選択表現150のいずれかと一致する、入力テキスト156内の文字列を自動サーチできる。従って、サーチ/注釈ルーチン142は、図2のボックス50及びボックス52の処理を実施するとともに、図3の命令94の実施例である。
【0055】
一致する文字列を検出する際に、サーチ/注釈ルーチン142は、一致文字列に関係する操作を行うか否かの決定もする。詳細には、ルーチン142は、入力テキスト156に、一致文字列と関連する注釈を挿入することによる、注釈づけを行うか否かを決定する。注釈は、辞書152内でアクセスされた情報、雑データ項目160内でアクセスされた情報、又は他の場所から入手された情報を含んでよい。従って、ルーチン142は、注釈つきテキスト156を生成し、注釈つきテキスト156を、ディスプレイ124に表示するなどして、出力として供給することができる。
【0056】
辞書生成ルーチン140は、選択表現150から、多くの異なる方法で有限状態辞書152を生成し得る。後述する、辞書の2つの広いカテゴリーは、有限状態変換器(FST)及び有限状態オートマトン(FSA)であり、どちらも有限状態データ構造の例である。
【0057】
ルーチン140は、第15回International Conference on Computational Lingistics、Coling 94(1994年、日本の京都で開催)講演集の406頁から411頁の、カルツネン(Karttunen, L.)の“字句変換器の構成(Constructing Lexical Transducers)”に記載されているような技術を用いて、2レベルFSTを生成してもよい。FSTの一方のレベルは全ての選択表現150を受け入れてもよく、他方のレベルは複数の異なる種類の任意の出力を供給し得る。例えば、選択表現150は、表現の表面形態を含んでもよく、FSTの出力レベルは、各表現の基本形態を、品詞などの辞書特性に関する情報と共に与えてもよい。又は、出力レベルは、各選択表現に、翻訳、URL、又は関連情報にアクセスするための他のハンドル等のような注釈を与えてもよい。又は、出力レベルは、注釈又は他の関連情報へのアクセスに用いるための索引を与えてもよい。
【0058】
ルーチン140は、代わりに、米国特許第5,754,847号に記載されているような、単語/数値マッピングを行うのに用いることができるFSA(W/N FSA)を生成してもよい。W/N FSAは、任意の選択表現150でアクセスされた際に、その表現に固有の数値を与えてもよい。次に、この数値を用いて、注釈等の関連情報にアクセスできる。W/N FSAは、全ての選択表現を受け入れてもよく、又は、後述するように、表現の基本形態を入手するFSTと組み合わせて用いられる場合は、基本形態だけを受け入れてもよい。
【0059】
図5は、サーチ/注釈ルーチン142の1つの実施例でプロセッサ122が行い得る全般的な処理を示している。この実施例では、各反復は、まず、文字列と辞書152との照合を試み、照合に失敗した場合は、トークナイザー154を用いて次の反復の始点を検出する。この実施例では、辞書152は決定的であることとし、各状態が、各文字に対して、最大で1つの出力変換(outgoing transition)を有する。
【0060】
ボックス200の処理は、入力テキスト156又は入力テキスト156へのアクセスに用いることができるハンドルを受け取ることで開始し、これは、サーチ/注釈ルーチン142に対する呼出しの一部であってもよい。ボックス200の処理は、入力テキスト156内の、例えば最初の文字のような適切な位置で(処理を)開始するために、始点の初期化も行う。
【0061】
次に、ボックス202の処理は、入力テキスト156の各文字について行われる反復ループを開始する。以下の説明から理解できるように、文字レベル反復は、各々が入力テキスト156内に始点を有する列レベル反復にグループ化できる。幾つかの列レベル反復は、入力テキスト156からの文字列が辞書152内の選択表現の1つと一致することを決定し、一方、他の列レベル反復は、文字列が選択表現のどれとも一致しないことを決定する。
【0062】
ボックス204で、各文字レベル反復は、入力テキスト156の次の文字を得ることによって開始する。次に、ボックス210の処理は、ボックス204で得た文字を用いて、辞書152にアクセスする。文字が、列レベル反復の最初の文字である場合は、ボックス210の処理は、その文字と辞書152の開始状態の出力変換との照合を試みる。文字が、列レベル反復において続きの文字である場合は、ボックス210の処理は、その文字と、前の文字レベル反復から生じた辞書152のカレント(現在の)状態の出力変換との照合を試みる。
【0063】
ボックス210の処理が辞書152内の文字の照合に成功した場合は、ボックス212の処理は、雑データ項目160内のデータのスタック及び他の項目を、後で使用するために更新する。辞書152がFSTである場合は、最後の列レベル反復が完了したので、スタックはFSTの入力文字列及び出力文字列の両方を保持できる。辞書152がW/N FSAである場合は、最後の列レベル反復が完了したので、スタックはFSAへの入力文字列を保持できるとともに、マッピングのために文字列の終わりのカウントも保持できる。
【0064】
ボックス214の処理は、カレント文字列が受け入れ可能であるか否か、つまり選択表現150の1つであるか否かを決定するとともに、入力テキスト156内で、その後に推定される文字列の終わりが続くか否かを決定する。カレント文字列が受け入れ可能であるか否かを決定するために、ボックス214の処理は、ボックス210で照合変換をとることによって達した状態が、その状態と関連づけられた受諾データによって示すことができるように、受け入れ可能文字列に続くことができる状態になったか否かを決定してもよい。カレント文字列の後に推定される文字列の終わりが続くか否かを決定するために、ボックス214の処理はトークナイザー154を用いてもよいが、しかしそれは他の技術ほど効率的ではないかもしれない。例えば、辞書152は、受け入れ可能文字列を終わらせる各状態の後に、入力テキスト156の、スペース又は句読点のような推定される文字列の終わりにあたる、次の文字をチェックできる分岐を含んでもよい。又は、そのような状態に達した後で、雑データ項目160内の特化されたデータ構造にアクセスして、入力テキスト156内のトークンの区切り又は他の推定される文字列の終わりをチェックしてもよい。
【0065】
カレント文字列が受け入れ可能文字列ではない場合、又はその後に推定される文字列の終わりが続かない場合は、カレント文字レベル反復は完了され、ボックス202で、次の文字レベル反復が開始する。
【0066】
カレント文字列が受け入れ可能であり、その後に推定される文字列の終わりが続く場合は、カレント文字列は注釈に適切であり得るので、ボックス216の処理はカレント文字列を保存する。ボックス216の処理は、入力テキスト156内におけるカレント文字列の終わりの位置のような他の関連データも保存してもよい。次に、ボックス202で、次の文字レベル反復が開始する。
【0067】
文字レベル反復は、ボックス210の処理が入力テキスト156内の文字の照合に失敗するまで、上述のように続く。つまり、一致する文字列の終わりに達したならば、列レベル反復を完了してよい。
【0068】
ボックス220の処理は、ボックス216で文字列が保存されたか否かに基づいて分岐する。そうである(即ち、保存された)場合は、カレント列レベル反復の始点の後に、選択表現150の1つと一致する少なくとも1つの文字列が続き、そのうちの最長の文字列は、最後に保存された文字列である。従って、ボックス222の処理は、適切である場合には注釈をつけ、入力テキスト156内のカレント位置を保存された文字列の終わりに戻す。
【0069】
辞書152がFSTである場合は、ボックス222内の処理は、例えば、出力文字列、又は出力文字列のデータを用いてアクセスされる注釈から、直接注釈を挿入することを含んでもよい。辞書152がW/N FSAである場合は、ボックス222の処理は、保存された文字列がマッピングされた数値を用いてアクセスされる注釈を挿入することを含んでもよい。いずれの場合も、注釈は、入力テキスト内の保存された文字列の後に続くか、又は他の適切な方法で、保存された文字列と関連づけられてよい。実際には、保存された文字列を注釈で置換してもよい。
【0070】
ボックス222の処理は、注釈が適切であるか否かを決定するための基準の適用も含んでよい。例えば、FST出力又はW/N FSTからの数値が注釈を含まない場合は、基準は、注釈が不適切であると決定してもよい。他の基準としては、同じ文字列が前に注釈をつけられたか否か等に基づいてもよい。
【0071】
選択表現150が、基本形態の、複数及び単数のような異なる表面形態を含む場合は、問題が生じ得る。異なる表面形態は、異なる索引を有することができるが、同じ注釈を有することはできない。従って、表面形態の索引を、どうにかして、注釈にアクセスするための同じ索引に変換する必要があろう。
【0072】
この問題を回避する1つの変更例では、辞書152は、単語及びMWEの表面形態である選択表現を受け取って、それに対する基本形態又は見出し語を品詞と共に与える、見出し語分類(lemmatizing)FSTであってもよい。従って、注釈をつけるか否かの決定は、部分的に品詞に依存してもよい。この変形例では、雑データ項目160は、辞書152によって与えられた各見出し語を数値にマッピングする、単語/数値マッピングFSAを含むことができる。その数値を用いて、任意の対応する表面形態の注釈にアクセスすることができる。ボックス216において保存された文字列は、照合された選択表現の1つの基本形態を示すことができる。従って、ボックス222の処理は、基本形態を用いて選択表現の注釈にアクセスすることができる。
【0073】
一方、ボックス216で保存された文字列がない場合は、カレント列レベル反復の始点の後には一致文字列が続いていない。ボックス224の処理は、単に、カレント位置をカレント列レベル反復の始点に戻す。
【0074】
いずれの場合も、ボックス226の処理は、トークナイザー154を用いて、入力テキスト156内のカレント位置の後ろの、次の推定される文字列の始めを検出し、次の列レベル反復の始点をその位置に更新する。最後に、各列レベル反復が終わる前に、ボックス228の処理は、例えば、辞書152及びトークナイザー154の開始状態に戻り、もしあれば、スタック及びマッピングカウントをクリアする等のような、次の列レベル反復に備えるために必要な任意の操作を行う。
【0075】
最後に、入力テキスト156の全ての文字が処理されたら、ボックス230の処理は、この時点でボックス222で挿入された任意の注釈を含む注釈つきテキスト158を戻す。次に、注釈つきテキスト158を、任意の適切な方法でディスプレイ124に表示できる。例えば、各選択表現を、他の単語とは異なる色で表示するようにして強調表示でき、強調表示された表現を選択するユーザからの信号に応答して表示されるHTMLページを含むHTMLファイルにリンクできる。基本形態を入手し、それを用いて注釈への数値の索引を得る変形例では、表示は、更に、テキスト内に生じる選択表現のリスト、各表現の基本形態、及びHTMLファイルへのアクセスに用いられた基本形態の数値の索引も含むことが可能である。各基本形態のHTMLページは、従来の技術を用いて、基本形態に関係する画像又は他の注釈から自動的に生成でき、基本形態に注釈がついていない場合は、空白ページ又は適切なエラーメッセージを有するページとすることができる。
【0076】
図6は、サーチ/注釈ルーチン142の別の実施例でプロセッサ122が行い得る全般的な処理を示す。この実施例では、外側の反復ループがトークン化を行い、その後、内側の反復ループがトークンの文字列と辞書152との照合を試みる。照合に失敗した場合は、前の始点の後の次のトークンの区切りを次の始点として用いる。この実施例でも、辞書152は決定的であることとし、各文字について各状態は最大で1つの出力変換を有する。
【0077】
ボックス250の処理は、入力テキスト156又は入力テキスト156へのアクセスに用いることができるハンドルを受け取ることで開始し、これは、サーチ/注釈ルーチン142に対する呼出しの一部であってもよい。ボックス250の処理は、入力テキスト156内の、例えば最初の文字のような適切な位置で開始するために、始点の初期化も行う。
【0078】
次に、ボックス252の処理は、トークン化を行う外側の反復ループを開始する。以下の説明から理解できるように、外側の反復は、各々が入力テキスト156内に始点を有する列レベル反復にグループ化できる。幾つかの列レベル反復は、入力テキスト156からの文字列が辞書152内の選択表現の1つと一致することを決定し、一方、他の列レベル反復は、文字列が選択表現のどれとも一致しないことを決定する。
【0079】
ボックス254で、各外側反復は、入力テキスト156の次の文字からトークン化することにより開始する。ボックス254の処理がトークンの区切りに達すると、次に、検出されたトークンが、ボックス260で開始する一連の内側反復での更なる処理のために、得られる。
【0080】
ボックス262の処理は、トークンの次の文字を得、次に、ボックス270の処理は、ボックス262で得た文字を用いて辞書152にアクセスする。ボックス270の処理は、その文字と辞書152のカレント状態の出力変換との照合を試み、ちょうど新しい列レベル反復が開始するところであれば、それが開始状態になるが、そうでない場合は、前の変換から生じたカレント状態になる。
【0081】
ボックス270の処理が辞書152内の文字の照合に成功する場合は、ボックス272の処理は、図5のボックス212と同様に、後で用いるために、雑データ項目160内のデータのスタック及び他の項目を更新する。
【0082】
ボックス274の処理は、カレント文字列がトークンの終わりにあるか否かを決定する。そうでない場合は、カレント内側反復は完了され、ボックス260で次の内側反復が開始する。
【0083】
しかし、トークンの終わりに達したら、カレント内側反復はカレント外側反復の最後でもある。ボックス252で次の外側反復を開始する前に、ボックス276の処理は、カレント文字列が受け入れ可能であるか否か、つまり、選択表現150の1つであるか否かを決定する。カレント文字列が受け入れ可能であるか否かを決定するために、ボックス276の処理は、ボックス270で照合変換を得ることによって達した状態が、その状態と関連づけられた受諾データによって示すことができる、受け入れ可能文字列に続くことができる状態になったか否かを決定してもよい。
【0084】
カレント文字列が受け入れ可能であり、トークンの終わりにある場合は、カレント文字列は注釈に適切であり得るので、ボックス278の処理は、カレント文字列を保存する。ボックス278の処理は、他の関連データも保存してよい。次に、トークンの終わりに達したので、ボックス252で次の外側反復が開始する。
【0085】
外側及び内側の反復は、ボックス270の処理が入力テキスト156内の文字の照合に失敗するまで、上述のように続く。つまり、おそらくは1つを越えるトークンを有する文字列である、一致する文字列の終わりに達したので、列レベル反復を完了することができる。
【0086】
ボックス280の処理は、ボックス276で文字列が保存されたか否かに基づいて分岐する。そうである場合は、カレント列レベル反復の始点の後に、選択表現150の1つと一致する少なくとも1つの文字列が続き、そのうちの最長の文字列は、最後に保存された文字列である。従って、ボックス282の処理は、図5のボックス222に関連して上述したように、適切である場合には注釈をつける。いずれの場合にも、ボックス284の処理は、次の列レベル反復の始点を、カレント始点の後の、ボックス254で検出された、最初のトークンの区切りに設定する。ボックス284の処理も、例えば、辞書152及びトークナイザー154の開始状態に戻り、もしあれば、スタック及びマッピングカウントをクリアする等のような、次の列レベル反復に備えるために必要な任意の操作を行うことができる。
【0087】
最後に、入力テキスト156の全ての文字が処理されたら、ボックス290の処理は、図5のボックス230と同様に、注釈つきテキスト158を戻す。
【0088】
上述の実施例は、上述の事項を参照して“辞書優先サーチ”及び“トークナイザー優先サーチ”と呼ばれる2つの別々の手法に従うが、これらは本発明の実施に用いられ得る広いクラスの技術の2つの例にすぎない。これらの例では、トークナイザーを用いるような推定される文字列の終わりのサーチ、及び、辞書を用いるような照合サーチは、一致するとともに推定される文字列の終わりで終わる文字列を検出するようにして、一緒に行われる。上述した特定の技術は、更に、推定される文字列の終わりで終わる最長一致文字列を検出するが、本発明は、多くの他の技術を用いて実施されてもよく、最長一致文字列をサーチする必要はない。
【0089】
上述の実施例は、文字列が選択文字列のリストのいずれかと一致するか否かを決定するために、FST(“専用字句変換器”と呼んでもよい)のような有限状態辞書及びW/N FSAを用いる。詳細には、上述の実施例は、決定的有限状態辞書を用いる。しかしながら、本発明は、文字列が他の方法で一致するか否かを決定するように実施されてもよく、適切な後方追跡(backtracking)技術を用いて、非決定的有限状態辞書を用いてもよい。上述の実施例は正確な一致を必要とするが、本発明は、より弱い照合基準を用いて実施されてもよい。
【0090】
上述の実施例では、有限状態辞書をサーチが行われる装置と同じ装置で生成することができるが、選択文字列のリストを定義する辞書又は他のリソースは、異なる場所で又は異なる時に用意されてもよく、任意の適切な方法で、サーチを行っている装置に供給されてもよい。更に、上述のサーチは、サーチ要求を受信する装置で行われるのではなく、クライアント/サーバプロトコルを介するなどして、入力されたテキストに応答して、遠隔で行われてもよい。
【0091】
上述の実施例は、次の反復の始点を検出するために、簡単な通常表現で定義された予め存在するトークン化オートマトンを用いるが、本発明は、トークンの区切り以外の特徴を検出する有限状態データ構造にアクセスすることによって、特別に生成されたトークン化オートマトンにアクセスすることによって、又は適切なアルゴリズムを適用することによって、照合に用いられる有限状態辞書の付加的な変換及び状態を追跡するような他の方法で、始点を検出するように実施されてもよい。更に、上述の実施例は、次の反復の始点を検出するために、前の反復の始点から前進するが、次の反復の始点は、上述の図1に幾つか示されているカレント位置又は他の位置で始まるように検出されてもよく、前進ではなく後退することによって検出されてもよい。
【0092】
有限状態辞書を用いてトークン化オートマトンを構成することは可能かもしれないが、時間及び空間の問題を生じるであろう。従って、コンパクトで速度の速いものにするためには、トークナイザー及び辞書を別々に用いるのが有利なようである。
【0093】
上述の実施例は、単語又はMWEである選択表現及び一致文字列を含み、推定される文字列の始めと終わりとを検出するトークン化オートマトン及び他の様々な技術を用いて、推定される単語の始めと終わりとを検出する。MWEは、例えば、日付、相互参照、又は公知の単語のシーケンス又は特定のパターンの数値を有する他の表現を含んでもよい。しかしながら、本発明は、単語及びMWEに限定されるものではなく、文字列が一致する文又はSGMLやXMLのタグのような他のタイプの選択表現のサーチに適用されてもよい。また、推定される文字列の始め及び終わりは、照合される文字列及び選択表現のタイプに適した任意の方法で検出されてよい。
【0094】
選択文字列のリストは任意の適切な方法で入手されてよく、例えば、技術表現のリスト、ある会社又は所与の領域の特殊な表現のリスト、固有名詞のリスト、科学的な参照又は引用、又は他のドキュメントとの相互参照、又は、ロゴにリンクするための又はフォントを変更するための適切な登録名のような、ハイパーリンクを設定されそうな参照のリスト、法律用語のような定義された用語のリスト、“see”のような相互参照の一部として出現しそうな単語のリスト、法的な警告のような特殊なテキストの表現のリスト、又は他の任意のそのようなリストであってよい。
【0095】
上述の実施例は、適切である場合に入力テキストに注釈をつけるが、例えば、各一致文字列をその翻訳又は更新されたバージョンと置換すること、一致する文字列が検出されるロケーション又はドキュメントの識別子を保存すること、及び各一致文字列を強調表示することを含む、一致する文字列に関係する他の様々な操作を行ってもよい。他の操作の例の幾つかは、本発明の適用例に関係して後述される。
【0096】
また、注釈は、上述の方法に加えて、様々な方法で挿入されてよく、注釈自体も、例えば、(形態構文的又は意味的情報を与えるタグがある又はない)翻訳、定義、領域識別子、ハイパーリンク、又は対話的な補助や、ヘルプスクリーン、画像、図、指示、オンラインマルチメディアドキュメント等のような関連情報へのアクセスを提供するための他のデータ項目を含む、広い範囲の様々な形態をとってよい。所与の1つの表現に対して1つを越える注釈が与えられてもよい。注釈をつけるか否かの決定は、例えば、隣接する単語、タイトルのようなドキュメント内での位置、又は、SGMLタグによって示される強調表示のような表示方法等のような基準に基づいて、自動的に行うことができる。注釈をつけるか否かの決定を、自動的に行わずに、ユーザに可能な選択肢を表示し、ユーザが選択した選択肢を示す信号を受け取ることによって、対話的に行ってもよい。
【0097】
上述の実施例は、仏語に適用され、時々英語の注釈を入手したが、本発明は、仏語及び英語以外の、推定される文字列の始まり及び終わりが検出可能な他の言語にも適用できる。
【0098】
上述の実施例で行われる特定の処理は、省略されても、又は異なる方法で行われてもよい。例えば、データは、スタックではなくデータ構造に保存されてもよい。
【0099】
上述の実施例で行われる処理の順序は、多くの場合に修正されてよい。例えば、上述のように先にトークン化を行ったり、先に辞書検索を行ったりするのではなく、文字列の各文字を同時に用いて有限状態辞書内及びトークン化オートマトン内の変換を行ってもよい。
【0100】
上述したように、本発明は、様々な方法で注釈づけを行うように適用できる。
【0101】
テキストセグメントに自動的に、例えば、(1つ以上の言語への)翻訳、定義へのポインタ、ヘルプスクリーン、絵、又は任意の関連マルチメディアドキュメントのような、特別な情報の注釈をつける、オンラインアプリケーションを提供してもよい。注釈は、WWWアプリケーションのハイパーリンクであってもよく、又は技術マニュアル等のオンラインドキュメントを調べるため、ユーザに技術用語の翻訳を提供するため、又は指示、図等、或いはそれらの組み合わせにアクセスするための、対話的補助であってもよい。
【0102】
マルチメディアアプリケーションでは、ドキュメントは、FSTの1つのレベルによって認識されるキーワードによって索引でき、FSTは出力として、ネットワークを介して送られるドキュメントを含む、索引されたドキュメントへのポインタを与えてもよい。
【0103】
技術用語は不明瞭な情報を持たない傾向があるが、それでもやはり非母国語話者にとっては(内容の)把握が困難かもしれないので、技術用語の翻訳は有用なアプリケーションである。技術用語の翻訳を提供するアプリケーションは、多言語の用語法データベースから用意された有限状態辞書を用いることができる。プロトタイプ(試作品)では、既に存在する、様々な領域からの数千語を収録したバイリンガルの用語法データベースを用いて、複数のFSTを生成した。そのうちのどれを反転して対の言語のFSTを生成してもよい。
【0104】
この適用例は、熟語又は翻訳記憶項目のような、より一般的な複数単語表現に拡張されてもよく、翻訳システムへの有用な予備ステップとしての役割を果たすことができよう。
【0105】
別のプロトタイプでは、単独の単語及びMWEの両方を含む1組の選択表現セットを用いて、各表現を基本形態にマッピングするFSTを生成した。各基本形態には索引が与えられ、各基本形態をその索引にマッピングするためのマッピングデータ構造も生成された。適切な索引を用いて、基本形態に関係する画像にアクセスできるようにした。注釈は、画像へのハイパーテキストリンクを与えた。
【0106】
本発明は、ドキュメントに光学的文字認識を行うことができ、プリント前に注釈を追加できる、デジタルコピー機に適用されてもよい。
【0107】
本発明は、ウェブページのリライター(rewriter)に適用されてもよい。
【0108】
本発明は、ゼロックス言語開発アーキテクチャ(Xerox Linguistic Development Architecture: XeLDA)のような開発環境に適用されてもよい。
【図面の簡単な説明】
【図1】選択文字列のリストのいずれかと一致する文字列を検出するために、どのようにテキストを自動サーチするかを示す模式的なフロー図である。
【図2】選択文字列のリストのいずれかと一致する文字列を検出するための、テキストの自動サーチの全般的な処理を示すフロー図である。
【図3】図2の全般的な処理を実行可能なシステムの構成要素を示す模式的な図である。
【図4】図2の全般的な処理が実施されたシステムの模式的な図である。
【図5】図4のシステムで実施できるサーチ及び注釈づけの、1つの方法を示すフロー図である。
【図6】図4のシステムで実施できるサーチ及び注釈づけの、別の方法を示すフロー図である。
【符号の説明】
10 テキスト
12 リスト
70 装置
120 システム
122 プロセッサ
124 ディスプレイ
130 メモリ
132 プログラムメモリ
134 データメモリ
Claims (1)
- テキストの選択文字列を自動的に検出し、該選択文字列に関連する情報を提供するシステムであって、
該システムは、
テキストを画定するテキスト・データを記憶する第1のメモリと、
選択文字列のリストを記憶する第2のメモリと、
プロセッサと、
を備え、
前記プロセッサは、前記テキスト・データおよび選択文字列のリストにアクセスすることができるように前記第1および第2のメモリに接続され、
前記プロセッサは、
前記第2のメモリに記憶されている前記選択文字列のリストのいずれかの選択文字列に適合する文字列を検出するために、前記第1のメモリに記憶されている前記テキストを自動的に探索し、
前記自動的な探索において、処理を繰り返し実行し、
前記処理は前記テキストの中の開始点から開始され、
前記処理を実行することにより、
前記選択文字列のリストのいずれかの選択文字列と適合し、単語を区分する基準を満たす少なくとも一の文字を含む文字列であるセパレータの直前の位置で終わる文字列が、前記開始点に続くか否かを、対応する各文字の一致・不一致を判断し、不一致の場合には不一致であることを示す識別子を付すことにより判断し、
次の処理のために、前記テキストの中のセパレータの直後の文字を探すことにより次の開始点を検出し、
前記次の処理を実行することにより、
前記選択文字列のリストのいずれかの選択文字列と適合し、セパレータの直前の位置で終わる文字列が、前記次の開始点に続くか否かを、対応する各文字の一致・不一致を判断し、不一致の場合には不一致であることを示す識別子を付すことにより判断し、
前記判断は、
前記開始点に続く文字列によって、選択文字列の辞書として働く有限状態データ構造にアクセスし、
前記有限状態データ構造は、前記選択文字列の一つの末尾で、前記開始点に続く文字列と該選択文字列の一つとが一致した場合にアクセスされる受諾データを含み、
前記開始点に続く文字列のセパレータの直前の位置で、前記受諾データにアクセスすることができるならば、前記開始点に続く文字列が前記選択文字列の一つに適合すると判断する、
ことを含み、
前記有限状態データ構造は、文字列照合レベルおよび情報出力レベルを有する有限状態変換器であり、
前記文字列照合レベルは、前記開始点に続く文字列によってアクセスされることにより前記判断を行うレベルであり、
前記情報出力レベルは、前記開始点に続く文字列に応じて前記受諾データがアクセスされた場合、情報出力データを提供するレベルであり、
前記情報出力データは、前記開始点に続く文字列の注釈にアクセスするためのアクセス・データであり、
前記開始点に続く文字列の後に、もしくは該開始点に続く文字列と関連付けて、前記注釈を前記第1のメモリに記憶されているテキストの中に挿入し、
前記注釈は、翻訳、定義、ハイパーリンク、および、ヘルプスクリーン、画像、図、オンラインマルチメディアドキュメントへアクセスするための情報の少なくとも一つを含む、
システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/222,549 US6269189B1 (en) | 1998-12-29 | 1998-12-29 | Finding selected character strings in text and providing information relating to the selected character strings |
US222549 | 1998-12-29 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000200291A JP2000200291A (ja) | 2000-07-18 |
JP2000200291A5 JP2000200291A5 (ja) | 2007-05-10 |
JP4544674B2 true JP4544674B2 (ja) | 2010-09-15 |
Family
ID=22832668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36205199A Expired - Fee Related JP4544674B2 (ja) | 1998-12-29 | 1999-12-21 | 選択文字列に関連する情報を提供するシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6269189B1 (ja) |
JP (1) | JP4544674B2 (ja) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6498921B1 (en) * | 1999-09-01 | 2002-12-24 | Chi Fai Ho | Method and system to answer a natural-language question |
US5836771A (en) * | 1996-12-02 | 1998-11-17 | Ho; Chi Fai | Learning method and system based on questioning |
DE19725790A1 (de) * | 1997-06-18 | 1998-12-24 | Fischer Gmbh Gert | Verfahren zum selektiven Erfassen und Auslesen einer Zeichenkette |
US7143350B2 (en) * | 1999-06-30 | 2006-11-28 | Microsoft Corporation | Method and system for character sequence checking according to a selected language |
US6341306B1 (en) * | 1999-08-13 | 2002-01-22 | Atomica Corporation | Web-based information retrieval responsive to displayed word identified by a text-grabbing algorithm |
US6626960B1 (en) * | 1999-09-01 | 2003-09-30 | International Business Machines Corporation | Method, system, and program for generating a table to determine boundaries between characters |
US7127500B1 (en) * | 1999-11-10 | 2006-10-24 | Oclc Online Computer Library Center, Inc. | Retrieval of digital objects by redirection of controlled vocabulary searches |
CN1302030B (zh) * | 1999-12-24 | 2010-04-21 | 纽昂斯通讯公司 | 词义消歧的机器翻译方法和系统 |
US7092871B2 (en) * | 2000-07-20 | 2006-08-15 | Microsoft Corporation | Tokenizer for a natural language processing system |
US6748123B1 (en) * | 2000-08-30 | 2004-06-08 | International Business Machines Corporation | Displaying multi-line fields for key-in |
US7328211B2 (en) * | 2000-09-21 | 2008-02-05 | Jpmorgan Chase Bank, N.A. | System and methods for improved linguistic pattern matching |
KR20010025567A (ko) * | 2001-01-06 | 2001-04-06 | 정용석 | 로고 도메인을 이용한 인터넷 사이트 접속방법 |
US7024624B2 (en) * | 2002-01-07 | 2006-04-04 | Kenneth James Hintz | Lexicon-based new idea detector |
US7369984B2 (en) * | 2002-02-01 | 2008-05-06 | John Fairweather | Platform-independent real-time interface translation by token mapping without modification of application code |
US7451143B2 (en) * | 2002-08-28 | 2008-11-11 | Cisco Technology, Inc. | Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data |
US7596553B2 (en) * | 2002-10-11 | 2009-09-29 | Avaya Inc. | String matching using data bit masks |
US7464254B2 (en) * | 2003-01-09 | 2008-12-09 | Cisco Technology, Inc. | Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data |
US8255417B2 (en) * | 2003-05-20 | 2012-08-28 | Google Inc. | System and method for providing definitions |
EP2345970A3 (en) | 2003-12-30 | 2013-05-29 | Google Inc. | Method and system for text segmentation |
US8799401B1 (en) * | 2004-07-08 | 2014-08-05 | Amazon Technologies, Inc. | System and method for providing supplemental information relevant to selected content in media |
US7299407B2 (en) * | 2004-08-24 | 2007-11-20 | International Business Machines Corporation | Marking and annotating electronic documents |
US7680648B2 (en) * | 2004-09-30 | 2010-03-16 | Google Inc. | Methods and systems for improving text segmentation |
US7996208B2 (en) | 2004-09-30 | 2011-08-09 | Google Inc. | Methods and systems for selecting a language for text segmentation |
US8051096B1 (en) | 2004-09-30 | 2011-11-01 | Google Inc. | Methods and systems for augmenting a token lexicon |
JP2006277103A (ja) * | 2005-03-28 | 2006-10-12 | Fuji Xerox Co Ltd | 文書翻訳方法および文書翻訳装置 |
US8428358B2 (en) * | 2005-05-31 | 2013-04-23 | Microsoft Corporation | Radical-base classification of East Asian handwriting |
US7987087B2 (en) * | 2005-06-15 | 2011-07-26 | Xerox Corporation | Method and system for improved software localization |
US7706520B1 (en) * | 2005-11-08 | 2010-04-27 | Liveops, Inc. | System and method for facilitating transcription of audio recordings, with auditing |
US7849399B2 (en) * | 2007-06-29 | 2010-12-07 | Walter Hoffmann | Method and system for tracking authorship of content in data |
US8666729B1 (en) * | 2010-02-10 | 2014-03-04 | West Corporation | Processing natural language grammar |
US8463053B1 (en) | 2008-08-08 | 2013-06-11 | The Research Foundation Of State University Of New York | Enhanced max margin learning on multimodal data mining in a multimedia database |
US8374873B2 (en) | 2008-08-12 | 2013-02-12 | Morphism, Llc | Training and applying prosody models |
US8180164B2 (en) * | 2008-12-16 | 2012-05-15 | Xerox Corporation | OCR-guided text tokenization of digital images |
CN102307723B (zh) | 2008-12-19 | 2014-06-04 | 纤维复合有限责任公司 | 利用离聚物面料的木塑复合物及其制造方法 |
US20130159919A1 (en) * | 2011-12-19 | 2013-06-20 | Gabriel Leydon | Systems and Methods for Identifying and Suggesting Emoticons |
US9031829B2 (en) | 2013-02-08 | 2015-05-12 | Machine Zone, Inc. | Systems and methods for multi-user multi-lingual communications |
US8996353B2 (en) | 2013-02-08 | 2015-03-31 | Machine Zone, Inc. | Systems and methods for multi-user multi-lingual communications |
US8990068B2 (en) | 2013-02-08 | 2015-03-24 | Machine Zone, Inc. | Systems and methods for multi-user multi-lingual communications |
US9600473B2 (en) * | 2013-02-08 | 2017-03-21 | Machine Zone, Inc. | Systems and methods for multi-user multi-lingual communications |
US9298703B2 (en) | 2013-02-08 | 2016-03-29 | Machine Zone, Inc. | Systems and methods for incentivizing user feedback for translation processing |
US8996352B2 (en) | 2013-02-08 | 2015-03-31 | Machine Zone, Inc. | Systems and methods for correcting translations in multi-user multi-lingual communications |
US9231898B2 (en) | 2013-02-08 | 2016-01-05 | Machine Zone, Inc. | Systems and methods for multi-user multi-lingual communications |
US8996355B2 (en) | 2013-02-08 | 2015-03-31 | Machine Zone, Inc. | Systems and methods for reviewing histories of text messages from multi-user multi-lingual communications |
EP2858323A1 (en) * | 2013-10-01 | 2015-04-08 | Enyx SA | A method and a device for decoding data streams in reconfigurable platforms |
US9128930B2 (en) * | 2013-10-31 | 2015-09-08 | Tencent Technology (Shenzhen) Company Limited | Method, device and system for providing language service |
JP6403417B2 (ja) * | 2014-04-23 | 2018-10-10 | 株式会社キーエンス | 携帯型光学式読取装置、該携帯型光学式読取装置を用いる光学式読取方法、及びコンピュータプログラム |
US9043196B1 (en) * | 2014-07-07 | 2015-05-26 | Machine Zone, Inc. | Systems and methods for identifying and suggesting emoticons |
US9372848B2 (en) | 2014-10-17 | 2016-06-21 | Machine Zone, Inc. | Systems and methods for language detection |
US10162811B2 (en) | 2014-10-17 | 2018-12-25 | Mz Ip Holdings, Llc | Systems and methods for language detection |
US10765956B2 (en) | 2016-01-07 | 2020-09-08 | Machine Zone Inc. | Named entity recognition on chat data |
US10339923B2 (en) | 2016-09-09 | 2019-07-02 | International Business Machines Corporation | Ranking based on speech pattern detection |
JP6737117B2 (ja) * | 2016-10-07 | 2020-08-05 | 富士通株式会社 | 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置 |
US10572760B1 (en) * | 2017-11-13 | 2020-02-25 | Amazon Technologies, Inc. | Image text localization |
CN110020140B (zh) * | 2017-11-15 | 2023-02-21 | 腾讯科技(深圳)有限公司 | 推荐内容显示方法、装置及系统 |
US11636100B2 (en) | 2020-11-27 | 2023-04-25 | Verizon Patent And Licensing Inc. | Systems and methods for compression-based search engine |
US20220284190A1 (en) * | 2021-03-02 | 2022-09-08 | Microsoft Technology Licensing, Llc | Tokenizing alphanumeric text through use of finite state machines |
CN113609352B (zh) * | 2021-08-03 | 2023-08-04 | 北京恒安嘉新安全技术有限公司 | 字符串检索方法、装置、计算机设备及存储介质 |
CN116306526B (zh) * | 2023-03-10 | 2024-01-02 | 北京麦克斯泰科技有限公司 | 一种根据文本下标标记对应富文本的方法及装置 |
CN116226362B (zh) * | 2023-05-06 | 2023-07-18 | 湖南德雅曼达科技有限公司 | 一种提升搜索医院名称准确度的分词方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02504439A (ja) * | 1988-05-27 | 1990-12-13 | コダック・リミテッド | データ処理システムにおける文書操作 |
US5377281A (en) * | 1992-03-18 | 1994-12-27 | At&T Corp. | Knowledge-based character recognition |
US5428707A (en) * | 1992-11-13 | 1995-06-27 | Dragon Systems, Inc. | Apparatus and methods for training speech recognition systems and their users and otherwise improving speech recognition performance |
US5488719A (en) * | 1991-12-30 | 1996-01-30 | Xerox Corporation | System for categorizing character strings using acceptability and category information contained in ending substrings |
JP2000514214A (ja) * | 1996-04-23 | 2000-10-24 | ロゴヴィスタ株式会社 | 自動自然言語翻訳 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2945692B2 (ja) | 1988-05-27 | 1999-09-06 | コダック・リミテッド | 注釈可能なイメージを処理するデータ処理システム |
CA2078423C (en) | 1991-11-19 | 1997-01-14 | Per-Kristian Halvorsen | Method and apparatus for supplementing significant portions of a document selected without document image decoding with retrieved information |
US5909666A (en) * | 1992-11-13 | 1999-06-01 | Dragon Systems, Inc. | Speech recognition system which creates acoustic models by concatenating acoustic models of individual words |
US5699456A (en) * | 1994-01-21 | 1997-12-16 | Lucent Technologies Inc. | Large vocabulary connected speech recognition system and method of language representation using evolutional grammar to represent context free grammars |
US5721939A (en) | 1995-08-03 | 1998-02-24 | Xerox Corporation | Method and apparatus for tokenizing text |
WO1997048058A1 (en) | 1996-06-14 | 1997-12-18 | Logovista Corporation | Automated translation of annotated text |
JPH1078963A (ja) | 1996-08-01 | 1998-03-24 | Hewlett Packard Co <Hp> | 文書注記方法 |
-
1998
- 1998-12-29 US US09/222,549 patent/US6269189B1/en not_active Expired - Lifetime
-
1999
- 1999-12-21 JP JP36205199A patent/JP4544674B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02504439A (ja) * | 1988-05-27 | 1990-12-13 | コダック・リミテッド | データ処理システムにおける文書操作 |
US5488719A (en) * | 1991-12-30 | 1996-01-30 | Xerox Corporation | System for categorizing character strings using acceptability and category information contained in ending substrings |
US5377281A (en) * | 1992-03-18 | 1994-12-27 | At&T Corp. | Knowledge-based character recognition |
US5428707A (en) * | 1992-11-13 | 1995-06-27 | Dragon Systems, Inc. | Apparatus and methods for training speech recognition systems and their users and otherwise improving speech recognition performance |
JP2000514214A (ja) * | 1996-04-23 | 2000-10-24 | ロゴヴィスタ株式会社 | 自動自然言語翻訳 |
Also Published As
Publication number | Publication date |
---|---|
US6269189B1 (en) | 2001-07-31 |
JP2000200291A (ja) | 2000-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4544674B2 (ja) | 選択文字列に関連する情報を提供するシステム | |
US5890103A (en) | Method and apparatus for improved tokenization of natural language text | |
US6393389B1 (en) | Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions | |
JP3300866B2 (ja) | テキスト処理システムにより使用されるテキストを準備する方法及び装置 | |
US7369987B2 (en) | Multi-language document search and retrieval system | |
US6424983B1 (en) | Spelling and grammar checking system | |
US6473729B1 (en) | Word phrase translation using a phrase index | |
KR100594512B1 (ko) | 지식 창조 능력을 가지는 문서 의미 분석/선택 시스템 및그 방법 | |
JP3220560B2 (ja) | 機械翻訳装置 | |
US5680628A (en) | Method and apparatus for automated search and retrieval process | |
WO1997004405A9 (en) | Method and apparatus for automated search and retrieval processing | |
JPS61248160A (ja) | 文書情報登録方式 | |
JPH07244669A (ja) | 文書検索方式 | |
JP3949874B2 (ja) | 翻訳訳語学習方法、翻訳訳語学習装置、記憶媒体及び翻訳システム | |
JPH09245051A (ja) | 自然言語事例検索装置及び自然言語事例検索方法 | |
JPH04330565A (ja) | 自然言語処理システム | |
JPH0232467A (ja) | 機械翻訳方式 | |
JPH0954781A (ja) | 文書検索システム | |
JP2839419B2 (ja) | イディオム登録機能を持つ機械翻訳装置 | |
JPH0973454A (ja) | 文書作成装置及び文書作成方法 | |
JPH01258069A (ja) | 日本語文字列の形態素解析方式 | |
JPH06187329A (ja) | 自然言語処理装置 | |
Tran | Intelligent document format: A text encoding scheme. | |
JPH0345423B2 (ja) | ||
JPH02110771A (ja) | 電訳機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100507 |
|
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: 20100601 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100629 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130709 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |