2017-07-12 9 views
0

私はテキストを入力していますが、これはあくまでブリークとワーストです。壊れた言葉の信頼性の高い修正

I have a text as an input, where there are occassionaly broken words.として出力を返すことができNLTKまたは類似の関数はありますか?

+0

あなたは[ 'pyechant']から辞書を使用した非常に近い得ることができます(https://pypi.python.org/pypi/pyenchant /)とループの少し。しかし、あなたは「時折」と「機会」と「同盟者」の両方を持つことができるので、あなたはまだ「仲間にいる時」の問題に遭遇します。 – Abdou

答えて

1

あなたはすべての機能を1つの機能にまとめることはできませんが、Pyenchantライブラリの助けを借りて単語のスペルを確認できます。あなたが行うことができ、これらの手順:

  1. トークナイザNLTK単語を使用して
  2. トークン化の言葉は、その単語が辞書にある場合は、単語が正しいことを意味しpyEnchant
  3. が提供する辞書にそれぞれを確認文を取りますそうでない場合は、pyEnchantが提供する関数を使用して、その単語に関連する推奨単語を取得します。
  4. 誤った単語とそれぞれの候補単語との間の最小編集距離を計算します。
  5. minimu m距離

はい、pyEnchantディクショナリには合法的ではない多くの単語が含まれていますが、効率的であるとは言いませんが、場合によっては機能します。上記の方法

は、レーベンシュタイン距離を使用している、あなたもまたNgrams、ジャカード係数を用いて補正を綴る行うことができます。

は、私はすでにあなたが私のGitHubのリンク上で確認することができ、このタスクを実装(https://github.com/rameshjesswani/Semantic-Textual-Similarity/blob/master/nlp_basics/nltk/string_similarity.ipynb

関連する問題