私はスペルチェッカーのバリエーションを実装しています。時間効率を向上させるためにさまざまなルートをとった後、私は、n-gramモデルの使用を含むコンポーネントを試す予定です。だから本質的には、今後の処理のために候補者候補のリストを整理したい。皆さんは、nの1つの値(例えば2)を使用する方が他のもの(3と言う)よりも優れているかどうか知っていますか?nグラムモデルでnの経験的に見つかった最良の値は何ですか?
1
A
答えて
0
this websiteによると、英語の平均単語長は5.10文字です。私は人が短い単語よりも長い単語を間違って綴る可能性が高いと思いますので、可能であれば、3〜5文字ほどの文字を腸の感情として送り出すことに向かって傾けたいと思います。
0
あなたがnグラムと言うとき、私はあなたが文の中の単語ではなく単語の中の文字を話していると仮定しようとしています。この場合、私はあなたが制御している単語の3〜5文字を含む単語まで候補リストを整理できるという点で、Mark Rushakoffに同意するでしょう。
もう1つの方法は、2つの単語間の編集距離を見つけるためにLevenshtein algorithmを実装することです。これは非常に効率的に行うことができます。まず、枝刈りリストをチェックするだけです。第2に、編集距離が何らかの種類の限界(例えば、3~5)を超えると、早急に単語の距離計算を終了することによって。
私は短い言葉を無視するべきではないという点について、私はマークに同意しません。ミスペルドされた単語の大部分は、それらがはるかに頻繁であるという理由で、短い単語(「や」、「〜」、「〜」、「〜」など)になります。
希望すると便利です。
0
トレーニング用のテキストが十分ある場合は、3が良いスタートです。一方、そのようなモデルはかなり大きくなり、あなたのスペルチェッカーを膨らませます。
perplexityに基づいて異なる設定を比較することもできます。
関連する問題
- 1. 何が良いですか:WHERE n = 0またはWHERE n!= 1
- 2. N個の点をn個の区間に入れるのに最も良いアルゴリズムは何ですか
- 3. ログ(O(n * log(n)))は何ですか?
- 4. ユーザ(コンソール)からn * nマトリックスを取得する最良の方法は何ですか?
- 5. MLEを使ってnグラムモデルをトレーニングする方法は?
- 6. から取得できる最大値を見つけるN
- 7. O(n)とO(log(n))の違い - これはより良く、O(log(n))は正確に何ですか?
- 8. 上位n個の要素をソート順に保つための最良のデータ構造は何ですか?
- 9. いくつかの基準に従ってトップn値を取る慣習的な方法は何ですか?
- 10. ARM Jazelleの経験は何ですか?
- 11. numpyの(N、)と(N、1)の違いは何ですか?
- 12. ビット演算n&(n-1)は何をするのですか?
- 13. ListBox.FindString最悪の場合のランタイムは何ですか? O(n)、O(n log n)、O(1)?
- 14. Big-Oh(n)= Omega(n)はいつですか?シータ(n)と同じですか?
- 15. C#とASP.NETの改行バリエーションは何ですか? (\ r \ nと\ n)
- 16. 「Array(n)」と「[... Array(n)]」の違いは何ですか?
- 17. Nの各値について、N階乗で何桁の数字が表示されるのですか
- 18. 関数2log(log(n))+ 3nlog(n)+ 5log(n)のbig-oとは何ですか?
- 19. いくつかのフィールドでソートされたN行ごとに最大値を見つける方法は?
- 20. qbasicプログラムで "while eof(n)"の目的は何ですか?
- 21. csvファイル(python)の列に最大2(またはn)の値を見つける
- 22. n -aryツリー内で最高値を見つける
- 23. コルーチンの戻り値に "n"とは何ですか?
- 24. N-Queensパズルの最高の複雑さは何ですか?
- 25. go:regexpのnパラメータは何ですか:FindAll()
- 26. "$^N"と "$ +"の違いは何ですか?
- 27. どちらが良いですか、ch = '\ n'; write(1、&ch、1);またはputchar( '\ n');
- 28. nの最大値は、
- 29. 1で最も一般的な値を計算する<-> 1..n | 0..N <->つのクエリで1
- 30. はX^n(1/n)よりも効率的ですか? (nは整数)