1

スペルチェッカーのバリエーションを実装しています。(時間効率を改善するために)さまざまなルートをたどった後、n-gramモデルを使用するコンポーネントを試してみる予定です。したがって、基本的には、さらに処理する可能性のある候補のリストを切り詰めたいと考えています。n の 1 つの値 (たとえば 2) を使用する方が他の値 (たとえば 3) よりも優れているかどうか、たまたま知っていますか?

4

3 に答える 3

0

n-gram と言うときは、文中の単語ではなく、単語中の文字について話していると想定します (これがおそらく最も一般的な使用法です)。この場合、候補リストを、制御している単語よりも 3 ~ 5 文字多いまたは少ない単語に絞り込むことができるという点で、Mark Rushakoff に同意します。

もう 1 つのオプションは、レーベンシュタイン アルゴリズムを実装して、2 つの単語間の編集距離を見つけることです。これは非常に効率的に行うことができます。まず、プルーニングされたリストに対してチェックするだけです。次に、編集距離が何らかの制限 (たとえば 3-5) を超えると、単語の距離計算を途中で終了します。

余談ですが、短い単語はスペルミスが少ないため、無視するべきだというマークの意見には同意しません。スペルミスの単語の大部分は短い単語 ("and" - "nad"、"the" - "teh"、"you" - "yuo" など) です。

お役に立てれば!

于 2012-10-30T17:48:28.750 に答える
0

このウェブサイトによると、英語の単語の長さの平均は 5.10 文字です。人は短い単語よりも長い単語のスペルを間違える可能性が高いと思います。そのため、直感的に、可能であれば 3 ~ 5 文字前後に進むようにします。

于 2009-09-11T21:40:50.867 に答える
0

トレーニング用の十分なテキストがある場合は、3 から始めるのが適切です。一方、そのようなモデルは非常に大きくなり、スペル チェッカーが肥大化します。

perplexityに基づいて異なる設定を比較することもできます。

于 2016-05-15T17:55:34.917 に答える