2016-04-19 6 views
1

私はpyenchantですべての機能を試していましたが、store_replacementを試してみましたが、それは私のためには機能しませんでした。ここに私のコードです:Pyenchant store_replacementは機能しませんか?

d = enchant.Dict('en_us') 
d.check('alllow') 

アウトは、[1]:偽

d.suggest('alllow')` 

アウト[2]:[、
を '許可'、 'すべての低'
"オールロー '、
' wallop '、
'アロット '、
'すべてOY」、
'ウィロー'、
'アレル'、
'総模様']

d.store_replacement('alllow', 'alloy')` 

d.suggest('alllow')` 

アウト[3]:[ ' '許可'、
' すべてのロー、
'すべての低'、
'強打'、
'アロット'、
'合金'、
'ウィロー'、
'アレル'、
'総模様' ]

pyenchantからのドキュメントによると:

store_replacement(mis, cor)
ストアミス綴ら語の代替スペル。 このメソッドは、スペルチェックエンジンに対して、スペルミスの単語が実際に正しくスペルされていることを示唆します。そのような提案は、典型的には、後の誤った例のために提示された提案された綴りのリストの早いところにcorが現れることを意味する。

ご覧のとおり、私の提案はありません。提案リストはまったく同じです。私が同じことをしようとするが、提案リストに存在しない言葉で同じことをすると、私は同じことになる。

私は間違っていることを理解していません。 私は助けていただきありがとうございます。ありがとう!

答えて

0

私の理解では、store_replacementは、基礎となるプロバイダによって実装される必要があります。私の推測では、Myspellやそれを実装していない他のプロバイダを使用しているということです。私はそれを数回実行した後 ((注)Aspellのをインストールする必要があります、それは、この作業を見て辞書です)

import enchant 
b = enchant.Broker() 
b.set_ordering("en_US","aspell,myspell") 
print b.describe() 
d=b.request_dict("en_US") 
print d.provider 

s = 'alllow' 
d.check(s) 
print d.suggest(s) 
d.store_replacement(s, 'alloy') 
print d.suggest(s) 

:あなたはAspellのにプロバイダを変更した場合は、それを実装しているあなたはそれがそうのような作業を見ることができます( "合金"、 "ハロー"、 "サロウ")と異なる置換えで、そして最後にこの実行 "アロエ"でそれは出力する:

+0

ありがとう。それがそれを解決しました。私は実際にAspellを以前にインストールしましたが、ここでそれを使うとは思わなかった。どうもありがとう。 – ruz

関連する問題