2017-06-19 62 views
1

我是使用PyEnchant庫的新手。使用PyEnchant創建自定義過濾器

隨着PyEnchant,我想寫一個自定義代碼:

  1. 忽略像「網絡俚語」,從拼寫檢查的某些詞語 - 可能是一個自定義過濾器可以幫助???

  2. 與「去」

如果有人可以幫助我,我怎麼能去了解它,將是巨大的幫助更換像要去的縮寫。謝謝 !

回答

0

對於1)使用個人單詞列表http://pythonhosted.org/pyenchant/tutorial.html#personal-word-lists添加您的話在這裏給定的語言,他們將被忽略。

2)看到我的回答對您的其他問題PyEnchant : Replace internet friendly words with a english word但在這種情況下,這個詞是字典單詞https://en.oxforddictionaries.com/definition/gonna所以運行代碼:

import enchant 
# Get the broker. 
b = enchant.Broker() 
# Set the ordering on the broker so aspell gets used first. 
b.set_ordering("en_US","aspell,myspell") 
# Print description of broker just to see what's available. 
print (b.describe()) 
# Get an US English dictionary. 
d=b.request_dict("en_US") 
# Print the provider of the US English dictionary. 
print (d.provider) 
# A test string. 
s = 'gonna' 
# We will check the word is not in the dictionary not needed if we know it isn't. 
print (d.check(s)) 
# Print suggestions for the string before we change anything. 
print (d.suggest(s)) 
# Store a relacement for our string as "so". 
d.store_replacement(s, 'going to') 
# Print our suggestions again and see "so" appears at the front of the list. 
print (d.suggest(s)) 


[<Enchant: Aspell Provider>, <Enchant: Ispell Provider>, <Enchant: Myspell Provider>, <Enchant: Hspell Provider>] 
<Enchant: Aspell Provider> 
True 
['gonna', 'Gina', 'Ginny', 'Joanna', 'Conn', 'Gena', 'gone', 'goon', 'gown', 'Donna', 'Genoa', 'Ghana', 'Janna', 'Jenna', 'going', 'goner', 'gunny', 'gin', 'Nona', 'Gienah', 'Goiania', 'Guiana', 'Guinea', 'Jinnah', 'gonad', 'guinea', 'Joan', 'koan', 'Conan', 'Gino', 'Goa', 'Golan', 'Joann', 'Jonah', 'jinn', 'Glenna', 'goons', 'gowns', 'CNN', 'Gen', 'Jon', 'con', 'gen', 'gun', 'Conner', 'Connie', 'Joanne', 'Johnny', 'cornea', 'gong', 'gonk', 'gunner', 'johnny', 'Anna', 'Bonn', 'Dona', 'Donn', 'Goya', 'Mona', 'dona', 'Gene', 'Gwyn', 'Jana', 'John', 'Joni', 'coin', 'cone', 'cony', 'coon', 'corn', 'gain', 'gene', 'john', 'join', 'conga', 'ganja', 'gonzo', "goon's", "gown's"] 
['gonna', 'going to', 'Gina', 'Ginny', 'Joanna', 'Conn', 'Gena', 'gone', 'goon', 'gown', 'Donna', 'Genoa', 'Ghana', 'Janna', 'Jenna', 'going', 'goner', 'gunny', 'gin', 'Nona', 'Gienah', 'Goiania', 'Guiana', 'Guinea', 'Jinnah', 'gonad', 'guinea', 'Joan', 'koan', 'Conan', 'Gino', 'Goa', 'Golan', 'Joann', 'Jonah', 'jinn', 'Glenna', 'goons', 'gowns', 'CNN', 'Gen', 'Jon', 'con', 'gen', 'gun', 'Conner', 'Connie', 'Joanne', 'Johnny', 'cornea', 'gong', 'gonk', 'gunner', 'johnny', 'Anna', 'Bonn', 'Dona', 'Donn', 'Goya', 'Mona', 'dona', 'Gene', 'Gwyn', 'Jana', 'John', 'Joni', 'coin', 'cone', 'cony', 'coon', 'corn', 'gain', 'gene', 'john', 'join', 'conga', 'ganja', 'gonzo', "goon's", "gown's"] 

打印true打印(d.check(S))不是假的。

這個例子很重要,因爲它是一個字典單詞,這個單詞本身出現在列表的前面,我們存儲的替換是第二個。所以如果你想自動替換這個單詞,你將不得不測試它,看看它是否是一個單詞,那麼如果它是使用列表中的第二項或沿着這些行的東西。