JP5243779B2 - 適応的スペル・チェックのためのシステム及び方法 - Google Patents

適応的スペル・チェックのためのシステム及び方法 Download PDF

Info

Publication number
JP5243779B2
JP5243779B2 JP2007311981A JP2007311981A JP5243779B2 JP 5243779 B2 JP5243779 B2 JP 5243779B2 JP 2007311981 A JP2007311981 A JP 2007311981A JP 2007311981 A JP2007311981 A JP 2007311981A JP 5243779 B2 JP5243779 B2 JP 5243779B2
Authority
JP
Japan
Prior art keywords
replacement frequency
replacement
word
character strings
list
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.)
Active
Application number
JP2007311981A
Other languages
English (en)
Other versions
JP2008159044A (ja
Inventor
セカンド リック・アレン・ハミルトン
グレゴリー・ジェンセン・ボス
ジョン・スティーブン・ラングフォード
ウィリアム・クレス・ボーディン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008159044A publication Critical patent/JP2008159044A/ja
Application granted granted Critical
Publication of JP5243779B2 publication Critical patent/JP5243779B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Description

本発明は、一般的に、スペル・チェック及び訂正のためのシステム及び方法に関し、特に、個々のユーザまたはユーザのコミュニティの過去のスペル・パターンのマッピングに基づく適応的スペル・チェッカのためのシステム及び方法に関する。
一般的なワード・プロセッシング・アプリケーションで見られる文書のような電子文書に対する従来のスペル訂正システム(例えば、スペル・チェッカ)は単語単位で動作し、辞書内で文書内の各単語が検出されるかどうかをチェックする。辞書は、例えば、スペル・チェッカによって格納またはアクセスあるいはその両方が行われる有効な文字列の予め決定されたリストを備えることができる。辞書内に一致する単語が検出された場合、この単語は、正確につづられたとして取り扱われる。しかし、辞書内で単語が検出されない場合、単語は、不正確につづられたとして示される。不正確につづられた単語を、例えば、下線表示または強調表示あるいはその両方によってユーザが識別することができる。
多くの従来のスペル・チェック・プログラムは、誤ってつづられた単語を検出するだけでなく、誤ってつづられた単語の置き換えとして提案された代替単語の選択項目をも提示する。これら代替単語の選択項目を、ユーザがタイプしようとした単語である可能性に従って順位付けられた順で表示することができる。提案された置き換えのリストに投入する代替単語は、場合によれば、適用される数個の有効な代替接尾辞規則を有する置き換え単語の選択項目の静的セット(例えば、辞書)から選択される。
例えば、ユーザが単語「recede」をタイプしようとしたが、代わりに「resead」をタイプした場合、一般的なスペル・チェッカは、誤ってつづられた単語を検出し、提案された置き換えとして、以下の代替単語を、以下の順位付けられた順で表示することができる。
reseed
reseat
resend
reread
reseal
これらは、誤ってつづられた単語の文字列にほぼ一致する有効な単語の静的リスト(例えば、辞書)からの単に正確につづられた単語である。このような代替単語のリストは、スペル間違いが「タイプミス」(例えば、単語の文字の脱落、単語内の余分な文字の追加、単語の文字に対する文字の置き換え、または、単語内の文字の順序の入れ替え)の結果であるときに有用であることが多い。
しかし、タイプミスの代わりに、間違いが実際のスペル間違いである場合、例えば、正確な単語(この場合、「recede」)をどのようにつづるかを辞書で探すか人に尋ねるかした後、ユーザは正確な単語を手動で入力する必要がある。従って、従来のスペル・チェッカを用いる場合、誤ってつづられた単語が単なるタイプミス以外の何かの結果である場合にユーザは不便を感じることがある。
従って、当該技術分野において、前述した欠陥及び制限を克服する必要がある。
本発明の第1側面では、方法は、複数の過去に置き換えた文字列のそれぞれについての各頻度を追跡するステップを含む。この方法は、以前に変更されたかまたは認識されていない文字列に応答して、複数の過去に置き換えた文字列のうちの「n」個の文字列からなるリストを提供するステップを更に含む。
本発明の第2側面では、複数のユーザにスペル・チェックを提供する方法は、複数のユーザの少なくとも1つからデータを取り出すかまたは受信するステップを含む。この方法は、データに基づいてデータ構造を更新するステップと、文字列を識別するステップと、識別された文字列に対し、データ構造に基づいて少なくとも1つの置き換え文字列を提供するステップとを更に含む。
本発明の第3側面では、コンピュータ使用可能媒体に備えられたコンピュータ・プログラムは、コンピュータ可読プログラムを含む。コンピュータ可読プログラムはコンピュータ上で実行されると、コンピュータに、認識されていないかまたは以前に変更された文字列を識別させる。コンピュータ可読プログラムはコンピュータ上で実行されると、コンピュータに更に、認識されていないかまたは以前に変更された文字列に対して、少なくとも1つの置き換え文字列を、認識されていないかまたは以前に変更された文字列の過去の置き換えと関連するデータに基づいて提供させる。コンピュータ可読プログラムはコンピュータ上で実行されると、コンピュータに更に、文字列を置き換えさせ、この置き換えに基づいてデータを更新させる。
本発明の第4側面では、スペルをチェックするためのアプリケーションを配備する方法は、複数の過去に置き換えた文字列の頻度を追跡するように動作するコンピュータ・インフラストラクチャを提供するステップを含む。コンピュータ・インフラストラクチャは、以前に変更されたかまたは認識されていない文字列に応答して、複数の過去に置き換えた文字列のうちの「n」個の文字列からなるリストを提供するように更に動作する。
本発明の第5側面では、システムは、文字列の過去の置き換えと関連するデータを含むデータベースを有するサーバを備える。システムは、スペルをチェックするハードウェア及びソフトウェア・コンポーネントの少なくとも1つを更に備える。システムは、電子テキスト内の認識されていないかまたは以前に置き換えられた文字列を識別するように動作する。システムは、文字列の過去の置き換えと関連する前記データに基づいて、認識されていないかまたは以前に置き換えられた文字列に対する少なくとも1つの置き換え文字列を提供するように更に動作する。
本発明は、スペル訂正のためのシステム及び方法に関する。本発明は、直接のユーザまたは同じコミュニティ内の他のユーザあるいはその両方によって選択された以前の置き換え単語と、直接のユーザまたは同じコミュニティ内の他のユーザあるいはその両方によって入力された新たな置き換え単語とから学習するスペル・チェッカを提供する。このように、スペル・チェッカは、単語置き換え選択項目のリストにおいて、ユーザの過去の置き換えパターンに適応させることによって更に正確になる。更に、複数ユーザの1つ以上の集団の過去の置き換えから学習し適応させる実施形態を用いることができる。このように、スペル・チェッカは、新たな単語を集団の語彙に入れることができる。従って、本発明を用いて、特に電子文書における単語のスペルのチェックまたは訂正あるいはその両方を改善させることができる。
図1には、本発明による処理を管理する例示的な環境10を示す。この範囲まで、環境10は、本明細書に記載されている処理を実行することができるコンピュータ・インフラストラクチャ12を含む。特に、アプリケーション30を備えるコンピュータ装置14を含むコンピュータ・インフラストラクチャ12が示されている。アプリケーション30は、本明細書に記載されている処理を実行するようにコンピュータ装置14を動作させる。プロセッサ20、メモリ22A、入出力(I/O)インターフェース24及びバス26を含むコンピュータ装置14が示されている。更に、外部のI/O装置(リソース)28及びストレージ・システム22Bと通信するコンピュータ装置14が示されている。一般的に、プロセッサ20は、メモリ22Aまたはストレージ・システム22Bあるいはその両方に格納されたコンピュータ・プログラム・コードを実行する。コンピュータ・プログラム・コードを実行している間、プロセッサ20は、メモリ22A、ストレージ・システム22B及びI/Oインターフェース24のいずれか1つまたは任意の組み合わせへ/からデータを読み出しまたは書き込みあるいはその両方を行うことができる。バス26は、コンピュータ装置14内の各構成要素間で通信リンクを行う。I/O装置28は、個人がコンピュータ装置14と対話することができる任意の装置、または、コンピュータ装置14が任意タイプの通信リンクを用いて1つ以上の他のコンピュータ装置と通信することができる任意の装置を備えることができる。
いずれにしても、コンピュータ装置14は、インストールされたコンピュータ・プログラム・コードを実行することができる任意の汎用コンピュータ製品(例えば、パーソナル・コンピュータ、サーバ、ハンドヘルド装置など)を備えることができる。しかし、当然のことながら、コンピュータ装置14は、本明細書に記載されている処理を実行することができる様々な可能な等価のコンピュータ装置の一例にすぎない。この範囲まで、他の実施形態において、コンピュータ装置14によって行われる機能を、汎用または特殊目的あるいはその両方のハードウェアまたはコンピュータ・プログラム・コードあるいはその両方の任意の組み合わせを含むコンピュータ製品によって実施することができる。各実施形態では、標準のプログラミング及びエンジニアリング技術をそれぞれ用いてプログラム・コード及びハードウェアを生成することができる。
これと同様に、コンピュータ・インフラストラクチャ12は、本発明を実施する様々なタイプのコンピュータ・インフラストラクチャの一例にすぎない。例えば、一実施形態では、コンピュータ・インフラストラクチャ12は、ネットワークまたは共有メモリなどのような任意タイプの通信リンクを介して通信して、本明細書に記載されている処理を実行する2つ以上のコンピュータ装置(例えば、サーバ・クラスタ)を備える。更に、本明細書に記載されている処理を実行している間、コンピュータ・インフラストラクチャ12内の1つ以上のコンピュータ装置は、任意タイプの通信リンクを用いて、コンピュータ・インフラストラクチャ12の外部にある1つ以上の他のコンピュータ装置と通信することができる。いずれにしても、通信リンクは、様々なタイプの有線リンクまたは無線リンクあるいはその両方の任意の組み合わせを備えるか、1つ以上のタイプのネットワーク(例えば、インターネット、広域ネットワーク、ローカル・エリア・ネットワーク、仮想プライベート・ネットワークなど)の任意の組み合わせを備えるか、または、様々なタイプの伝送技術及びプロトコルの任意の組み合わせを用いることができ、あるいは、これらを任意の組み合わせで行うことができる。本明細書に記載されているように、アプリケーション30は、例えば、1つ以上のユーザの過去の単語の置き換えから学習する適応的スペル・チェッカを提供するというような、本明細書に記載されている処理をコンピュータ・インフラストラクチャ12に実行させることができる。
複数の実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアによって実施される。更に、本発明は、コンピュータまたは任意の命令実行システムによって用いられるかまたはこれと接続するプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセスできるコンピュータ・プログラムの形態をとることができる。この説明の目的のため、コンピュータ使用可能媒体またはコンピュータ可読媒体を、命令実行システム、装置またはデバイスによって用いられるかまたはこれと接続するプログラムを含み、格納し、伝達し、伝搬し、または転送することができる任意の装置とすることができる。媒体を、電子、磁気、光、電磁気、赤外線または半導体システム(または装置またはデバイス)あるいは伝搬媒体とすることができる。コンピュータ可読媒体の例として、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、固定磁気ディスク及び光ディスクが挙げられる。現在の光ディスクの例として、コンパクト・ディスク読み取り専用メモリ(CD‐ROM)、コンパクト・ディスク読み取り/書き込み(CD‐R/W)及びDVDが挙げられる。
プログラム・コードを格納または実行し、あるいはその両方を行うのに適するデータ処理システムは、システム・バスを介してメモリ素子に直接または間接的に結合された少なくとも1つのプロセッサを含む。メモリ素子は、プログラム・コードの実際の実行中に用いられるローカル・メモリと、大容量ストレージと、実行中にコードを大容量ストレージから取り出さなければならない回数を減少させるため、少なくとも一部のプログラム・コードの一時的なストレージを行うキャッシュ・メモリとを含むことができる。(キーボード、ディスプレイ、ポインティング装置などを含むがこれらに限定されない)入出力またはI/O装置を直接に、または介在するI/Oコントローラを介してシステムに結合することができる。介在するプライベート・ネットワークまたはパブリック・ネットワークを介してデータ処理システムが他のデータ処理システムまたは遠隔プリンタまたはストレージ装置に結合されるようにするネットワーク・アダプタをもシステムに結合することができる。モデム、ケーブル・モデム及びイーサネット(登録商標)カードは、現在使用可能なタイプのネットワーク・アダプタのごく一部である。
複数の実施形態では、本発明は、加入ベース、広告ベース及び手数料ベースのいずれか1つまたは任意の組み合わせで本発明の処理ステップを実行するビジネス方法を提供する。すなわち、ソリューション・インテグレータのようなサービス・プロバイダは、スペル・チェックを行うように提示することができる。この場合、サービス・プロバイダは、1つ以上のカスタマに対して本発明の処理ステップを実行するコンピュータ・インフラストラクチャの作成、配備、維持、サポートなどのいずれか1つまたは任意の組み合わせを行うことができる。その報酬として、サービス・プロバイダは、加入契約または手数料契約あるいはその両方の契約の下、(1つ以上の)カスタマから支払いを受けることができ、または、サービス・プロバイダは、1つ以上の第3機関に対する広告内容の売り上げから支払いを受けることができ、あるいは、これらの両方を行うことができる。
複数の実施形態では、本発明は、誤ってつづられた単語と、それぞれの誤ってつづられた単語を置き換えるため、ユーザによって選択または入力された置き換えとのリストを維持することを含む。誤ってつづられた単語、置き換え及び他のデータのリストを、例えば、ローカル・メモリに格納するか、データベースに遠隔的に格納することによって適切に維持することができる。データを格納しアクセスする技術は、当該技術分野において既知である。本発明を単語に関して説明するが、当然のことながら、単語は、ユーザによって入力された(例えば、タイプされ、ペーストされ、ダウンロードされるなどした)任意の文字列を備える。文字列(すなわち、個々の文字の列)は、例えば、文字、数、符号、特殊文字などのような任意タイプの文字を備えることができる。更に、文字列のような単語を取り扱うことによって、本発明は特別な言語の単語に限定されない。
複数の実施形態では、誤ってつづられた単語を適切に識別することができる。誤ってつづられた単語を識別する技術と、データを格納しアクセスする技術とは既知であって、更なる説明を必要としないと考えられる。例えば、単語をハッシュし、ハッシュされた単語を、事前に定義された単語のリスト(例えば、辞書)に対応するハッシュ・テーブルと比較することによって、単語のスペルを、事前に定義された単語のリストと比較することができる。
本発明の一実施形態では、誤ってつづられた単語(または、以下に説明するような、以前に変更された単語)を訂正するユーザの置き換え履歴データをテーブル内に提供することができる。例えば、誤ってつづられた(または、以前に変更された)単語「resead」に対する置き換え履歴データを表1に示す。第1列には、ユーザによって入力された(例えば、タイプされた)ときに誤ってつづられた単語を示す。第2列には、誤ってつづられた単語を置き換えるためユーザによって(リストから、または、新たにタイプしたことによって)選択された単語を示す。第3列には、置き換えの頻度(例えば、ユーザが第1列の単語を第2列の単語と置き換えた回数)を示す。
Figure 0005243779
特定の誤ってつづられた(または、以前に変更された)単語に対する置き換えの履歴を追跡することによって、本発明のスペル・チェッカは、この次、単語が誤ってつづられるか、または、ユーザによって以前に変更された単語として認識されるとき、「n」個の最も頻度の高い置き換えをユーザに表示することができる。「n」を、ゼロよりも大きい適切な任意の整数値とすることができることに留意すべきである。更に、ユーザに表示された「n」個の最も頻度の高い置き換えを、リストの一番上の最も頻度の高い置き換えから始まる順位付けられた降順で表示することができる。例えば、この次、ユーザが単語「resead」をタイプするとき、本発明のスペル・チェッカは、単語「recede」が4の頻度を有するのでリストの一番上に単語「recede」が現れ、単語「reseed」が2の頻度を有するのでリスト内で次に単語「reseed」が現れ、単語「reread」が1の頻度を有するのでリスト内で次に単語「reread」が現れる可能な置き換えのリストをユーザに表示することができる。
置き換え及び頻度(及び他の適切なデータ)を既知の方法で(例えば、コンピュータ・メモリ、データベースなどを用いて)格納し、アクセスし、更新することができることに留意すべきである。更に、単語が誤ってつづられている(または、以前に変更されたとして認識された)場合、可能な置き換えのリストを、例えば、重ね合わせたリスト、ダイアログ・ボックスなどによって任意の既知の方法でユーザに表示することができる。更に、「n」の値を、ゼロよりも大きい任意の整数とすることができ、例えば、システム設計者、管理者またはユーザによって指定することができる。
複数の実施形態では、特定の誤ってつづられた単語(または、以前に変更された単語)に対する置き換え履歴データに初期の置き換え単語のリストをシードすることができる。初期の置き換え単語を、例えば、従来のスペル・チェック・ルーチン(例えば、ハッシュ法)を用いて決定することができる。更に、それぞれの初期の置き換え単語に、例えば、1の頻度のような初期頻度を割り当てることができる。例えば、誤ってつづられた単語「resead」に対する置き換え履歴データに、表2に示すデータをシードすることができる。
Figure 0005243779
表2に示された初期のシードされた置き換え履歴データから開始し、ユーザが単語「resead」を7回誤ってつづり、「resead」を「recede」で4回置き換え、「reseed」で2回置き換え、「reread」で1回置き換えた場合、置き換え履歴データは、表3に示すようになる。
Figure 0005243779
この例を続け、「n」が4の値を有する場合、この次、ユーザが単語「resead」をタイプするとき、スペル・チェッカは、4つの提案された置き換えのリストを「recede」、「reseed」、「reread」及び「reseat」の順序で表示する。
前述した例を、誤ってつづられた単語に関して説明したが、本発明の実施形態は、ユーザによって入力され(例えば、タイプされ)次に変更された(例えば、タイプし直された)いかなる単語(すなわち、以前に変更された単語)にも同様に動作する。例えば、ユーザは、誤ってつづられた単語として検出されない単語(例えば、「night」)を入力することができる。その後、ユーザは、この単語を別の単語に(例えば、「night」から「knight」へ)変更することができる。本発明の実施形態は、この訂正を認識し、前述したように適切なデータ(元の単語、置き換え単語、頻度など)を格納する。このように、単語が最初誤ってつづられたかどうかに関係なく、いかなる単語に対しても、置き換え履歴データと、関連する学習され提案された置き換えとを提供することができる。
本発明の実施形態では、自動置き換え機構を用いることができる。例えば、自動置き換えに対して事前に定義されたしきい値をシステム設計者、管理者またはユーザによって指定することができる。特に、単語が入力されたとき、置き換え履歴データ内のただ1つの置き換えの頻度が、しきい値を上回る全頻度の合計のパーセンテージを占める場合、入力された単語は、ユーザ入力なしに、この置き換えと自動的に置き換えられる。例えば、ユーザが入力した単語「chemp」は、表4に示すような置き換え履歴データを有することができる。
Figure 0005243779
置き換え「chimp」の頻度は、全部の置き換えの約92.4%(すなわち、53のうちの49)に達する。しきい値が例えば、90%に設定されている場合、置き換えの総数に比較された「chimp」の頻度がしきい値を上回るので、本発明の実施形態は元の単語「chemp」を「chimp」と自動的に置き換える。このような比較及び自動置き換えの技術は既知であって、更なる説明を必要としないと考えられる。
本発明の実施形態を、独立型アプリケーションとして、または別のアプリケーションのコンポーネントとして実施することができる。例えば、本発明の処理を、ワード・プロセッシング・ソフトウェア、表計算ソフトウェア及び電子メール・ソフトウェアのいずれか1つまたは任意の組み合わせのスペル・チェック機能として統合することができる。このようなアプリケーションでは、本発明のスペル・チェック処理を用いて、単語単位で、または、例えば文書単位で単語をチェックし訂正することができる。あるいはまた、本発明の処理を、コンピュータ装置(例えば、デスクトップ・パーソナル・コンピュータ)上で実行する独立型の実行可能なアプリケーションで実施することができる。例えば、本発明が独立型アプリケーションで実施される場合、ユーザは、別のアプリケーション(例えば、ワード・プロセッサ)からテキストのブロックを独立型アプリケーションへエクスポート(例えば、カット・アンド・ペースト、送信、電子メールなど)することができる。本発明の処理をテキストのブロックについて実行することができ、次に、処理されたテキストのブロックを最初のアプリケーションに返信することができる。これと同様に、本発明の処理を、中央位置(例えば、サーバ、サービス・プロバイダなど)に存在するアプリケーションにおいて実施することができる。個々のユーザは、本発明に従って処理するため、テキストのブロック(または、全文書)を中央位置に送信することができ、処理されたテキストのブロック(または、全文書)を受信することができる。
前述した単一ユーザと同様にユーザの集団は本発明の実施形態を用いることができる。例えば、コミュニティを、個々のユーザの集団として定義することができる。コミュニティのユーザごとの個々の置き換え履歴データを組み合わせ、コミュニティ置き換え履歴データとして格納することができる。個々のユーザが単語を入力するとき、スペル・チェッカは、コミュニティ置き換え履歴データに基づいて、提案された置き換えを表示する。このように、スペル・チェッカは複数のユーザから学習することができる。例えば、表5には、単語「resead」に対する例示的なコミュニティ置き換え履歴データを示す。
Figure 0005243779
表5に示す値に基づいて、コミュニティの個々のユーザが単語「resead」を入力し、「n」が4に等しい場合、本発明のスペル・チェッカは、「reseed」、「reseat」、「resend」及び「reread」を(コミュニティ頻度に基づく順に)提案された置き換えとして表示する。
表5に示す例から明らかなように、コミュニティの置き換えの頻度は、特定のユーザの置き換えの頻度よりもかなり上回ることがある。従って、複数の実施形態では、コミュニティのユーザに対して提案された置き換えの優先順位を所望に応じて公式化することができる。例示的な公式化は、ユーザ頻度及びコミュニティ頻度を正規化し、それぞれの正規化された頻度を重み付けし、それぞれの重み付けられた頻度を結合し、それぞれの結合された値に基づいて、提案された置き換えを順序付けることを含む。図2に示す式を用いて例示的な公式化を実施することができる。
例えば、コミュニティの個々のユーザは、表3に示すような置き換え履歴データを有することができる。更に、コミュニティ置き換え履歴データを、表5に示すものとすることができる。0.75の重み係数を仮定すると、可能な置き換えごとの結合重みは、図2の式(1)、(2)及び(3)に従って図3に明らかにされている。
図3の表から明らかなように、この次、この特定のユーザが単語「resead」を入力するとき、「n」を4の値と仮定して、提案された置き換えは結合重みに従って順位付けられ、「recede」、「reseed」、「reread」及び「reseat」のように表示される。このように、提案された置き換えは、コミュニティからのデータに依然として基づくが、個々のユーザ自身の個人履歴に偏られている。結合重みに達するためにいかなる公式化をも用いることができることに留意すべきである。更に、前述した公式化(すなわち、式(1)、(2)及び(3))が用いられる場合、重み係数は0.75に限定されるものではなく、むしろ、いかなる所望の数にもすることができる。
コミュニティ置き換え履歴データに投入するデータを、中央位置(例えば、サーバ、データベースなど)で格納することができる。中央位置は、コミュニティの個々のユーザの各々からデータを受動的に受信するか、または能動的に収集するか、あるいはその両方を行うアプリケーションを含むことができる。例えば、コミュニティのユーザのネットワークにリンクされたサーバは全ユーザの活動(例えば、置き換え)を継続的に監視し、これに従ってコミュニティ置き換え履歴データを更新することができる。あるいはまた、コミュニティのユーザがオフラインで作業していた場合、ユーザが次にネットワークに接続するとき、ユーザの置き換えデータを自動または手動でサーバへアップロードすることができる。
複数の実施形態では、コミュニティ置き換え履歴データは、オープン・スタンダードに基づくリポジトリに格納される。例えば、データを、多数の異なるタイプのアプリケーション及びオペレーティング・システムと通信するように動作するデータベースに格納することができる。このように、異なるタイプのハードウェアまたはソフトウェアあるいはその両方を用いる複数のユーザは、前述したようなコミュニティとして取り扱うことができる。
個人を適切にコミュニティと関連付けることができる。例えば、特定のマシン(例えば、ワークステーション)をコミュニティと関連付け、これによって、マシンを用いる者をコミュニティの一部と見なすことができる。このように、(例えば、ワード・プロセッサ、表計算及び電子メールなどのような任意のアプリケーションの使用中、)このマシンに生じるいかなる置き換えも、コミュニティ置き換え履歴データに含まれる。あるいはまた、ユーザ・アカウントをコミュニティと関連付け、これによって、(例えば、ユーザ名、パスワードなどによって)アカウントにログオンする者をコミュニティの一部と見なすことができる。このように、(例えば、ワード・プロセッサ、表計算及び電子メールなどのような任意のアプリケーションの使用中、)このアカウントの使用中に生じるいかなる置き換えも、コミュニティ置き換え履歴データに含まれる。あるいはまた、ユーザを複数のコミュニティの一員とすることができ、ユーザは、例えば、特定のコミュニティを(例えば、ドロップダウン・メニュー内の)利用可能なコミュニティのリストから選択することによって、ユーザが動作しているアプリケーション(例えば、ワード・プロセッサ)において特定のコミュニティを選択することができる。このように、このアプリケーションの使用中に生じるいかなる置き換えも、特定のコミュニティ置き換え履歴データに含まれる。
使用方法
図4には、本発明のステップを実施するフローチャートである。図4(及び他のすべてのフローチャート)は、本発明のブロック図を等しく表すことができる。クライアント・サーバ関係にあるサーバから、または、図4(及び他のすべてのフローチャート)のステップがユーザ・ワークステーション上で実行することができ、動作情報が、上記で概説したナビゲーションを行うためにユーザ・ワークステーションに搬送されるサーバから、これらのステップを実施し実行することができる。更に、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、または、ハードウェア要素及びソフトウェア要素の両方を含む実施形態の形をとることができる。
図4には、本発明の側面によってテキストのスペルをチェックする方法200を表すフローチャートを示す。方法200は、単一ユーザと関連する実施形態に関する。ステップ205では、スペル・チェッカを開始する。このステップは、例えば、独立型ソフトウェア・アプリケーションを実行すること、大規模なアプリケーションのコンポーネント・アプリケーションを実行することなどを含むことができる。このステップは、(単語がタイプされたとき、単語単位で動作することを含む)分析すべき文書またはテキストのブロックを識別または受信することをも含むことができる。
ステップ210では、チェックすべき単語が残っているかどうかを決定する。このステップを、例えば、文書の終わり、別の単語の始まりなどを示す文字を検索するプログラミングを実行することによって適切に達成することができる。分析すべき単語がもはや残っていない場合、ステップ220においてスペル・チェッカを停止する。分析すべき単語が残っている場合、ステップ230においてアプリケーションは、分析すべき次の単語に進む。
更に図4を参照して、ステップ240では、分析すべき単語が誤ってつづられているか、または、過去に変更されたかどうかを決定する。誤ってつづられた単語を、例えば、当業者にとって既知であって前述したようなハッシュ法のルーチンを用いることによって適切に識別することができる。誤ってつづられたと見なされないが過去にユーザによって手動で変更された単語は、例えば表3に示すような置き換え履歴データ・テーブルを有する。過去に変更された単語を決定するため、システム及び方法は、ハッシュ法のルーチンを介して、利用可能な置き換え履歴データ・テーブルをすべての単語に対して検査するルーチンを用いることによってこのような識別を行うことができる。しかし、当業者は明らかなように、誤ってつづられていないが過去に変更された単語を識別する他の技術を用いることができる。
単語が誤ってつづられているかまたは過去に変更されたと識別されない(例えば、認識されない)場合、方法はステップ210に戻る。しかし、単語が誤ってつづられているかまたは過去に変更されたと識別された場合、ステップ250において、この単語に対するユーザ置き換え履歴データに基づいて上位「n」個の置き換え単語を表示する。複数の実施形態では、このステップは、この特定の単語に対する置き換え履歴データを検査し、(提案された置き換えとして)上位「n」個の置き換え単語を、前述したように過去の置き換え頻度の順位付けられた順に表示することを含む。この表示を、例えば、ダイアログ・ボックス、重ね合わせたリストなどのような適切な任意の形態で具体化することができる。更に、前述したように、「n」の値を、方法設計者、システム管理者またはユーザによって指定されるゼロよりも大きい任意の整数値とすることができる。
ステップ250の任意選択の機能として、方法は、「n」よりも多くの提案された置き換えをユーザに表示することができる。例えば、「n」の値が4であり、特定の単語に対する置き換え履歴データに10個の過去の置き換えがある場合、「n」よりも大きい任意の数(例えば、4の代わりに7)を用いてユーザに任意選択に表示することができる。しかも、複数の実施形態では、この方法は、ユーザが上位「n」個の置き換えに満足しない場合にユーザが置き換え履歴データの可能な置き換えのすべてを見るためのオプションを含む。例えば、上位「n」個の置き換えが表示された後、ユーザは、例えば、事前に定義されたキー入力、マウス・ポインタを用いるボタンのクリックなどのような特定のタスクを実行することによって「n」よりも多くの可能な置き換えを表示するように表示を変更することができる。
更に図4を参照して、ステップ260では、提案された置き換えの表示されたリストからユーザが置き換えを選択したかどうかを決定する。(例えば、表示されたリストの置き換え単語の1つにマウス・カーソルをクリックすることによって)ユーザが置き換えを選択した場合、ステップ270において、誤ってつづられているかまたは以前に変更された元の単語を、選択された置き換え単語と置き換える。この置き換えを、当業者に明らかな適切な任意の方法で達成することができる。更に、ステップ270で単語を置き換えた後、ステップ280において、誤ってつづられているかまたは以前に変更された元の単語に対するユーザ置き換え履歴データを更新する。例えば、複数の実施形態では、置き換え単語の頻度の値を1の値だけ増大させることができる。この時点で、この方法はステップ210に戻る。
ステップ260において、提案された置き換え単語の1つをユーザが選択しなかった場合、この方法はステップ290に進む。ステップ290では、誤ってつづられているかまたは以前に変更された元の単語に対してユーザが置き換え単語を手動で入力したかどうかを決定する。例えば、ユーザは、誤ってつづられているかまたは以前に変更された元の単語を強調表示し削除し、異なる単語をタイプし直すことがある。誤ってつづられているかまたは以前に変更された元の単語に対して手動で置き換え単語を入力する他の方法は、本発明によって意図され、当業者に明らかである。
ステップ290において、誤ってつづられているかまたは以前に変更された元の単語に対してユーザが置き換え単語を手動で入力した場合、この方法は、前述したようにステップ270,280に進む。ステップ290において、ユーザが置き換え単語を手動で入力しなかった場合、この方法はステップ210に進む。すなわち、誤ってつづられているかまたは以前に変更された単語には変化がなく、次の単語が存在する場合にスペル・チェッカは次の単語に進む。
図5には、本発明の側面によってテキストのスペルをチェックする方法300を表すフローチャートを示す。方法300は、前述したようなユーザのコミュニティと関連する個々のユーザを含む実施形態に関する。ステップ305では、スペル・チェッカを開始する。このステップは、例えば、独立型ソフトウェア・アプリケーションを実行すること、大規模なアプリケーションのコンポーネント・アプリケーションを実行することなどを含むことができる。このステップは、(単語がタイプされたとき、単語単位で動作することを含む)分析すべき文書またはテキストのブロックを識別または受信することをも含むことができる。
ステップ310では、チェックすべき単語が残っているかどうかを決定する。このステップを、例えば、文書の終わり、別の単語の始まりなどを示す文字を検索するプログラミングを実行することによって適切に達成することができる。分析すべき単語がもはや残っていない場合、ステップ320においてスペル・チェッカを停止する。分析すべき単語が残っている場合、ステップ330においてアプリケーションは、分析すべき次の単語に進む。
更に図5を参照して、ステップ340では、分析すべき単語が誤ってつづられているかまたはコミュニティ内のいずれかのユーザによって過去に変更されたかどうかを決定する。誤ってつづられた単語を、例えば、前述したようなハッシュ法のルーチンを用いることによって適切に識別することができる。誤ってつづられたと見なされないがコミュニティ内のいずれかのユーザによって過去に手動で変更された単語は、例えば表5に示すような置き換え履歴データ・テーブルを有する。従って、誤ってつづられていないが過去に変更された単語を、前述したように利用可能な置き換え履歴データ・テーブルを検査するルーチンによって識別することができる。しかし、当業者は明らかなように、誤ってつづられなかったが過去に変更された単語を識別する他の技術を用いることができる。
単語が誤ってつづられているかまたは過去に変更されたと識別されない場合、方法はステップ310に戻る。しかし、単語が誤ってつづられているかまたは過去に変更されたと識別された場合、ステップ350において、この単語に対するコミュニティ置き換え履歴データに基づいて上位「n」個の置き換え単語を表示する。複数の実施形態では、このステップは、この特定の単語に対する置き換え履歴データを検査し、(提案された置き換えとして)上位「n」個の置き換え単語を、前述したように過去の置き換え頻度の順位付けられた順に表示することを含む。例えば、提案された置き換えをコミュニティ頻度の順に順位付けることができる。あるいはまた、ステップ350は、例えば、上記に図2及び図3に関して説明したような可能な置き換えに対する優先順位を公式化することを含むことができる。順位付けられて提案された置き換えの表示を、例えば、ダイアログ・ボックス、重ね合わせたリストなどのような適切な任意の形態で具体化することができる。更に、前述したように、「n」の値を、方法設計者、システム管理者またはユーザによって指定されるゼロよりも大きい任意の整数値とすることができる。
ステップ350の任意選択の機能として、方法は、「n」よりも多くの提案された置き換えをユーザに表示することができる。例えば、「n」の値が4であり、特定の単語に対する置き換え履歴データに10個の過去の置き換えがある場合、「n」よりも大きい任意の数(例えば、4の代わりに7)を用いてユーザに任意選択に表示することができる。しかも、複数の実施形態では、この方法は、ユーザが上位「n」個の置き換えに満足しない場合にユーザが置き換え履歴データの可能な置き換えのすべてを見るためのオプションを含む。例えば、上位「n」個の置き換えが表示された後、ユーザは、例えば、事前に定義されたキー入力、マウス・ポインタを用いるボタンのクリックなどのような特定のタスクを実行することによって「n」よりも多くの可能な置き換えを表示するように表示を変更することができる。
更に図5を参照して、ステップ360では、提案された置き換えの表示されたリストからユーザが置き換えを選択したかどうかを決定する。(例えば、表示されたリストの置き換え単語の1つにマウス・カーソルをクリックすることによって)ユーザが置き換えを選択した場合、ステップ370において、誤ってつづられているかまたは以前に変更された元の単語を、選択された置き換え単語と置き換える。この置き換えを、当業者に明らかな適切な任意の方法で達成することができる。更に、ステップ370で単語を置き換えた後、ステップ380において、誤ってつづられているかまたは以前に変更された元の単語に対するユーザの置き換え履歴データを更新する。複数の実施形態では、置き換え単語の頻度の値を、例えば1の値だけ増大させることができる。
更に、誤ってつづられているかまたは以前に変更された元の単語に対するコミュニティ置き換え履歴データをステップ390において更新する。例えば、置き換え単語の頻度の値を1の値だけ増大させることができる。前述したように、コミュニティ置き換え履歴データを遠隔アプリケーションによって遠隔位置で格納しアクセスし変更することができる。この時点で、この方法はステップ310に戻る。
ステップ360において、提案された置き換え単語の1つをユーザが選択しなかった場合、この方法はステップ395に進む。ステップ395では、誤ってつづられているかまたは以前に変更された元の単語に対してユーザが置き換え単語を手動で入力したかどうかを決定する。例えば、ユーザは、誤ってつづられているかまたは以前に変更された元の単語を強調表示し削除し、異なる単語をタイプし直すことがある。誤ってつづられているかまたは以前に変更された元の単語に対して手動で置き換え単語を入力する他の方法は、本発明によって意図され、当業者に明らかである。
ステップ395において、誤ってつづられているかまたは以前に変更された元の単語に対してユーザが置き換え単語を手動で入力した場合、この方法は、前述したようにステップ370,380,390に進む。ステップ395において、ユーザが置き換え単語を手動で入力しなかった場合、この方法はステップ310に進む。すなわち、誤ってつづられているかまたは以前に変更された単語には変化がなく、次の単語が存在する場合にスペル・チェッカは次の単語に進む。
本発明の実施形態は、アプリケーションに統合するかまたは独立型アプリケーションとして実行することができる改善されたスペル・チェック及び訂正機能を提供する。複数の実施形態は過去の訂正パターンを適応的に用いて、特定の単語に対する好適な置き換えを学習する。この方法及びシステムは、個々のユーザまたはユーザのコミュニティあるいはその両方の過去の訂正パターンに基づくことができる。このように、本発明の実施形態は、提案された単語置き換え選択項目の正確なリストを提供する。更に、複数の実施形態は、新たな単語をコミュニティ語彙に入力することができ、置き換えの頻度に基づいて増大または減少した順位付けの優先順位を提供する。
本発明は複数の実施形態に関して説明したが、当然のことながら、当業者は、本発明に変更を加え、本発明の意図及び特許請求の範囲内で本発明を実行することができることを理解するであろう。
本発明の側面による環境を示す図である。 提案された置き換えを順位付ける例示的な公式化を示す図である。 図2の公式化による順位付けを示す図である。 本発明の側面による方法を表すフローチャートである。 本発明の側面による方法を表すフローチャートである。
符号の説明
200 テキストのスペルをチェックする方法

Claims (12)

  1. コンピュータを用いたスペル・チェックをおこなうための方法であって、前記コンピュータが
    複数の過去に置き換えた文字列と当該文字列のそれぞれについての置き換え頻度とをメモリに格納するステップと、
    以前に変更されたかまたは誤ってつづられた文字列に対して前記メモリに格納された前記複数の過去に置き換えた文字列のうちの「n」個の文字列からなるリストを提供するステップと、を実行することを含み
    前記置き換え頻度は、前記文字列のそれぞれについての個々のユーザに係る置き換え頻度および複数ユーザからなる集団に係る置き換え頻度を含み
    前記リストを提供するステップは
    前記個々のユーザに係る置き換え頻度および前記複数ユーザからなる集団に係る置き換え頻度の各々に重み付けをするステップと、
    前記重み付けをされた前記置き換え頻度に従って前記リストを順位付けるステップと、を含む方法。
  2. 前記コンピュータは、サービス・プロバイダのコンピュータである、請求項1に記載の方法。
  3. 前記文字列を、前記複数の過去に置き換えた文字列のうちから選択された1つの文字列と置き換えるステップを更に含む、請求項1に記載の方法。
  4. 前記複数の過去に置き換えた文字列のうちから選択された前記1つの文字列の置き換え頻度を更新するステップを更に含む、請求項に記載の方法。
  5. 前記更新するステップは、前記複数の過去に置き換えた文字列のうちから選択された前記1つの文字列の前記置き換え頻度の値を増大させるステップを含む、請求項に記載の方法。
  6. 前記リストを提供するステップは、前記順位付けられた前記リストを表示するステップを含む、請求項1に記載の方法。
  7. 前記重み付けをするステップは、
    前記個々のユーザに係る置き換え頻度を第1重み係数を用いて重み付けることと、前記集団に係る置き換え頻度を前記第1重み係数と異なる第2重み係数を用いて重み付けることを含む、請求項に記載の方法。
  8. スペル・チェックをおこなうためのコンピュータ・プログラムであって、前記コンピュータに、
    複数の過去に置き換えた文字列と当該文字列のそれぞれについての置き換え頻度とをメモリに格納するステップと
    以前に変更されたかまたは誤ってつづられた文字列を識別するステップと、
    識別された前記以前に変更されたかまたは誤ってつづられた文字列に対して、メモリに格納された複数の過去に置き換えた文字列のうちの「n」個の文字列からなるリストを提供するステップと、を実行させることを含み
    前記置き換え頻度は、前記文字列のそれぞれについての個々のユーザに係る置き換え頻度および複数ユーザからなる集団に係る置き換え頻度を含み
    前記リストを提供するステップは
    前記個々のユーザに係る置き換え頻度および前記複数ユーザからなる集団に係る置き換え頻度の各々に重み付けをするステップと、
    前記重み付けをされた前記置き換え頻度に従って前記リストを順位付けるステップとを含む、コンピュータ・プログラム。
  9. 前記文字列を、前記複数の過去に置き換えた文字列のうちから選択された1つの文字列と置き換えるステップと
    前記複数の過去に置き換えた文字列のうちから選択された前記1つの文字列の置き換え頻度を更新するステップとを更に含む、請求項8に記載のコンピュータ・プログラム
    方法。
  10. 前記リストを提供するステップは、前記順位付けられた前記リストを表示するステップを含む、請求項8に記載のコンピュータ・プログラム
  11. 前記重み付けをするステップは
    前記個々のユーザに係る置き換え頻度を第1重み係数を用いて重み付けることと、前記集団に係る置き換え頻度を前記第1重み係数と異なる第2重み係数を用いて重み付けることを含む、請求項8記載のコンピュータ・プログラム
  12. データベースを有するサーバと、スペルをチェックするコンピュータとを備えるシステムであって、
    前記サーバが、前記データベースに、複数の過去に置き換えた文字列と当該文字列のそれぞれについての置き換え頻度とを格納し、
    前記コンピュータが
    電子テキスト内の以前に置き換えられたかまたは誤ってつづられた文字列を識別し、
    識別された前記以前に置き換えられたかまたは誤ってつづられた文字列に対して、前記サーバの前記データベースに格納された前記複数の過去に置き換えた文字列のうちの「n」個の文字列からなるリストを提供するように動作し、
    前記置き換え頻度は、前記文字列のそれぞれについての個々のユーザに係る置き換え頻度および複数ユーザからなる集団に係る置き換え頻度を含み
    前記リストを提供することは
    前記個々のユーザに係る置き換え頻度および前記複数ユーザからなる集団に係る置き換え頻度の各々に重み付けをすることと、
    前記重み付けをされた前記置き換え頻度に従って前記リストを順位付けることを含む、システム。
JP2007311981A 2006-12-21 2007-12-03 適応的スペル・チェックのためのシステム及び方法 Active JP5243779B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/614740 2006-12-21
US11/614,740 US9275036B2 (en) 2006-12-21 2006-12-21 System and method for adaptive spell checking

Publications (2)

Publication Number Publication Date
JP2008159044A JP2008159044A (ja) 2008-07-10
JP5243779B2 true JP5243779B2 (ja) 2013-07-24

Family

ID=39544733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007311981A Active JP5243779B2 (ja) 2006-12-21 2007-12-03 適応的スペル・チェックのためのシステム及び方法

Country Status (3)

Country Link
US (2) US9275036B2 (ja)
JP (1) JP5243779B2 (ja)
CN (1) CN101206641A (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775931B2 (en) * 2007-03-30 2014-07-08 Blackberry Limited Spell check function that applies a preference to a spell check algorithm based upon extensive user selection of spell check results generated by the algorithm, and associated handheld electronic device
US20090164493A1 (en) * 2007-12-24 2009-06-25 Johnsgard Todd J Apparatus and methods for editing content on a wireless device
US9075777B1 (en) * 2008-02-27 2015-07-07 Amazon Technologies, Inc. System and method for dynamically changing web uniform resource locators
CN102043763B (zh) * 2009-10-23 2015-12-02 北大方正集团有限公司 一种自动校对姓名的方法及装置
JP5460359B2 (ja) * 2010-01-29 2014-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書中の文字列の処理を支援するための装置、方法及びプログラム
FR2959333B1 (fr) * 2010-04-27 2014-05-23 Alcatel Lucent Procede et systeme d'adaptation d'un contenu textuel au comportement langagier d'une communaute en ligne
US8639494B1 (en) * 2010-12-28 2014-01-28 Intuit Inc. Technique for correcting user-interface shift errors
US8661341B1 (en) * 2011-01-19 2014-02-25 Google, Inc. Simhash based spell correction
US20120246133A1 (en) * 2011-03-23 2012-09-27 Microsoft Corporation Online spelling correction/phrase completion system
US20130044063A1 (en) * 2011-08-19 2013-02-21 Apple Inc. Touch correcting keypad
CN102298577A (zh) * 2011-09-21 2011-12-28 深圳市万兴软件有限公司 一种文本编辑的拼写检测方法及其装置
JP5994366B2 (ja) * 2012-04-27 2016-09-21 ソニー株式会社 情報処理装置、情報処理方法、並びにプログラム
US9514120B1 (en) * 2012-06-25 2016-12-06 Amazon Technologies, Inc. Classification of a string as a typographical error based on feedback
KR101483433B1 (ko) * 2013-03-28 2015-01-16 (주)이스트소프트 오타 교정 시스템 및 오타 교정 방법
US9898586B2 (en) * 2013-09-06 2018-02-20 Mortara Instrument, Inc. Medical reporting system and method
KR101381101B1 (ko) * 2013-11-13 2014-04-02 주식회사 큐키 문자열 사이의 연관성 판단을 통한 오타 수정 방법
EP3062212A1 (en) * 2015-02-25 2016-08-31 Kyocera Document Solutions Inc. Text editing apparatus and print data storage apparatus
CN105915443A (zh) * 2016-06-15 2016-08-31 Tcl移动通信科技(宁波)有限公司 一种移动终端对即时通信信息的处理方法及系统
US10552523B2 (en) * 2016-10-14 2020-02-04 Sap Se Automatically identifying synonyms within a token-based database management system
US10579729B2 (en) 2016-10-18 2020-03-03 International Business Machines Corporation Methods and system for fast, adaptive correction of misspells
US10372814B2 (en) 2016-10-18 2019-08-06 International Business Machines Corporation Methods and system for fast, adaptive correction of misspells
US10089297B2 (en) * 2016-12-15 2018-10-02 Microsoft Technology Licensing, Llc Word order suggestion processing
US20180188823A1 (en) * 2017-01-04 2018-07-05 International Business Machines Corporation Autocorrect with weighted group vocabulary
US20180253985A1 (en) * 2017-03-02 2018-09-06 Aspiring Minds Assessment Private Limited Generating messaging streams
US10657326B2 (en) 2017-05-23 2020-05-19 International Business Machines Corporation Removable spell checker device
US11093709B2 (en) 2017-08-10 2021-08-17 International Business Machine Corporation Confidence models based on error-to-correction mapping
CN109783244B (zh) * 2017-11-10 2021-06-22 北京搜狗科技发展有限公司 处理方法和装置、用于处理的装置
US10691887B2 (en) * 2018-04-09 2020-06-23 Microsoft Technology Licensing, Llc Techniques for automatic proofing of textual data
US10685180B2 (en) * 2018-05-10 2020-06-16 International Business Machines Corporation Using remote words in data streams from remote devices to autocorrect input text
CN109348304B (zh) * 2018-09-30 2021-04-27 武汉斗鱼网络科技有限公司 一种弹幕数据的校验方法、装置及终端
CN109413451B (zh) * 2018-09-30 2021-07-23 武汉斗鱼网络科技有限公司 一种弹幕数据的校验方法、装置及终端
CN109413452B (zh) * 2018-09-30 2021-02-02 武汉斗鱼网络科技有限公司 基于不同方式的弹幕校验方法、装置、终端及存储介质
CN109348305B (zh) * 2018-09-30 2021-04-27 武汉斗鱼网络科技有限公司 一种弹幕数据的校验方法、装置、终端及存储介质
US11301626B2 (en) 2019-11-11 2022-04-12 International Business Machines Corporation Artificial intelligence based context dependent spellchecking

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4328561A (en) 1979-12-28 1982-05-04 International Business Machines Corp. Alpha content match prescan method for automatic spelling error correction
US4355371A (en) 1980-03-25 1982-10-19 International Business Machines Corporation Instantaneous alpha content prescan method for automatic spelling error correction
JPS619753A (ja) * 1984-06-26 1986-01-17 Hitachi Ltd 文書処理装置における頻発熟語の自動登録方法
JPH02144763A (ja) 1988-11-28 1990-06-04 Ricoh Co Ltd 仮名漢字変換装置
US5572423A (en) * 1990-06-14 1996-11-05 Lucent Technologies Inc. Method for correcting spelling using error frequencies
JP2952689B2 (ja) 1990-07-17 1999-09-27 盟和産業株式会社 複合成形体の製造方法およびそのプレス型
JPH0554029A (ja) 1991-08-27 1993-03-05 Matsushita Electric Ind Co Ltd 文章校正方法およびその装置
JPH09274615A (ja) * 1996-04-05 1997-10-21 Casio Comput Co Ltd 文体変換装置
US5956739A (en) * 1996-06-25 1999-09-21 Mitsubishi Electric Information Technology Center America, Inc. System for text correction adaptive to the text being corrected
JP2990077B2 (ja) 1996-10-28 1999-12-13 沖縄日本電気ソフトウェア株式会社 文書作成装置およびその入力方法
US6047300A (en) * 1997-05-15 2000-04-04 Microsoft Corporation System and method for automatically correcting a misspelled word
US6424983B1 (en) 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6144958A (en) * 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
JP2000330984A (ja) 1999-05-25 2000-11-30 Hitachi Ltd 文書処理装置及び方法
CA2392446C (en) * 1999-05-27 2009-07-14 America Online Incorporated Keyboard system with automatic correction
US6393389B1 (en) * 1999-09-23 2002-05-21 Xerox Corporation Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions
JP2002091960A (ja) 2000-03-01 2002-03-29 Masanobu Kujirada 語句入力システム、方法、プログラム
US6918086B2 (en) * 2000-03-28 2005-07-12 Ariel S. Rogson Method and apparatus for updating database of automatic spelling corrections
US6564213B1 (en) * 2000-04-18 2003-05-13 Amazon.Com, Inc. Search query autocompletion
US7107204B1 (en) * 2000-04-24 2006-09-12 Microsoft Corporation Computer-aided writing system and method with cross-language writing wizard
US7149970B1 (en) * 2000-06-23 2006-12-12 Microsoft Corporation Method and system for filtering and selecting from a candidate list generated by a stochastic input method
US6732333B2 (en) * 2001-01-16 2004-05-04 Scott Selby System and method for managing statistical data regarding corrections to word processing documents
US7296019B1 (en) * 2001-10-23 2007-11-13 Microsoft Corporation System and methods for providing runtime spelling analysis and correction
US20030101044A1 (en) * 2001-11-28 2003-05-29 Mark Krasnov Word, expression, and sentence translation management tool
JP2003223437A (ja) 2002-01-29 2003-08-08 Internatl Business Mach Corp <Ibm> 正解語の候補の表示方法、スペルチェック方法、コンピュータ装置、プログラム
EP2259197B1 (en) * 2002-07-23 2018-07-18 BlackBerry Limited System and method of using a custom word list
US20040250208A1 (en) 2003-06-06 2004-12-09 Nelms Robert Nathan Enhanced spelling checking system and method therefore
US7617202B2 (en) * 2003-06-16 2009-11-10 Microsoft Corporation Systems and methods that employ a distributional analysis on a query log to improve search results
US7451392B1 (en) * 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
JP2005258888A (ja) 2004-03-12 2005-09-22 Nec Corp 通信ネットワークシステム、その通信方法、携帯端末及びサーバ
US8321786B2 (en) * 2004-06-17 2012-11-27 Apple Inc. Routine and interface for correcting electronic text
US7584093B2 (en) * 2005-04-25 2009-09-01 Microsoft Corporation Method and system for generating spelling suggestions
US7587385B2 (en) * 2005-08-30 2009-09-08 Sap Ag Autocompletion for unordered lists
US8201087B2 (en) * 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
US8380512B2 (en) * 2008-03-10 2013-02-19 Yahoo! Inc. Navigation using a search engine and phonetic voice recognition

Also Published As

Publication number Publication date
US20080155398A1 (en) 2008-06-26
US10229108B2 (en) 2019-03-12
US20160132545A1 (en) 2016-05-12
CN101206641A (zh) 2008-06-25
JP2008159044A (ja) 2008-07-10
US9275036B2 (en) 2016-03-01

Similar Documents

Publication Publication Date Title
JP5243779B2 (ja) 適応的スペル・チェックのためのシステム及び方法
US11334635B2 (en) Domain specific natural language understanding of customer intent in self-help
US9524291B2 (en) Visual display of semantic information
CN105408890B (zh) 基于声音输入执行与列表数据有关的操作
US20150046153A1 (en) Macro replacement of natural language input
US10747772B2 (en) Fuzzy substring search
EP3815342B1 (en) Adaptive user-interface assembling and rendering
CN111708934A (zh) 知识内容的评价方法、装置、电子设备和存储介质
US10949418B2 (en) Method and system for retrieval of data
US20180129735A1 (en) Generation of support data records using natural language processing
WO2011111038A2 (en) Method and system of providing completion suggestion to a partial linguistic element
EP2673687A2 (en) Visual display of semantic information
US20220121668A1 (en) Method for recommending document, electronic device and storage medium
CN111435406A (zh) 一种纠正数据库语句拼写错误的方法和装置
US10110533B2 (en) Identifying entities in email signature blocks
US20160241671A1 (en) Profile update evaluator
US9619458B2 (en) System and method for phrase matching with arbitrary text
US11663507B2 (en) Predicting custom fields from text
JP5113206B2 (ja) スパムブログ判定装置及び方法
JP5394512B2 (ja) 教師データ生成装置、方法及びプログラム
US20220382753A1 (en) Narrowing synonym dictionary results using document attributes
KR20240033757A (ko) 투자 정보 제공 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN114398469A (zh) 搜索词权重的确定方法、装置及电子设备
US10423613B2 (en) Data search method and data search system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120911

TRDD Decision of grant or rejection written
RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130319

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130405

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5243779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250