好吧,我知道這個問題被多次詢問,但我仍然無法用「可用」解決方案修復它。希望得到任何進一步的想法或如何檢測我的句子的概念是Python中的英語。可用的解決方案:檢測是否帶有python的英文文本
- 語言探測器(紅寶石不是蟒蛇:/)
- 谷歌翻譯API V2(不再是免費的,要交一個月的,而我在做這個項目的學術目的20塊錢。禮貌限制:?0字符/天)
- 語言識別的Python(源代碼沒有找到,鏈接在下面automatic-language-identification)
- Enchant(它不是Python 2.7版我是新來的蟒蛇,任何指導我?打賭這將是我需要的)
- 來自NLTK的Wordnet(我得到不知道爲什麼「wordnet.synsets」丟失,只有「wordnet.Synset」可用。解決方案中的示例代碼不適用於我以及T_T,可能再次版本問題?)
- 將英語單詞存儲到列表中,並比較單詞是否存在(是的,這是有點糟糕的方法,而句子來自Twitter和..你知道:P)
工作液
最後經過一系列的努力,以下是工作液(替代上述列表)
- Wikt離子API(使用Urllib2和simplejson解析它)。然後查找該鍵是否爲-1表示該詞不存在。否則它是英語。當然,在twitter中使用必須將您的單詞預處理爲@#,?!等特殊字符。關於如何找到鑰匙將在這裏引用。 (弱點:假如說短於20個字符的句子必須安裝PyEnchant,否則它將返回UNKNOWN。雖然PyEnchant不支持Python 2.7,但意味着無法安裝,並且不能安裝,而且不支持Python 2.7,意味着無法安裝,也不會工作不到20個字符的句子)
參考
- Detecting whether or not text is English (in bulk)
- How to check if a word is an English word with Python?
- How to retrieve Wiktionary word content?
有趣的問題。將單詞存儲在列表中的一個改進是將它們存儲在一個集合或字典中。列表方法是O(n),其他方法是O(1)。 – Octipi 2013-03-07 00:48:20
不要在問題中提出解決方案,而應將其作爲答案發布。如果您有答案,請回答您自己的問題 – 2016-01-14 15:17:57