我寫了一個代碼,它向Google發送查詢並返回結果。我從這些結果中提取片段(摘要)以供進一步處理。然而,有時非英語單詞在這些我不想要的片段中。例如:刪除python中的非英語單詞
/\u02b0w\u025bn w\u025bn unstressed \u02b0w\u0259n w\u0259n/
我只想要這個句子中的「非重讀」字。 我該怎麼做? 謝謝
我寫了一個代碼,它向Google發送查詢並返回結果。我從這些結果中提取片段(摘要)以供進一步處理。然而,有時非英語單詞在這些我不想要的片段中。例如:刪除python中的非英語單詞
/\u02b0w\u025bn w\u025bn unstressed \u02b0w\u0259n w\u0259n/
我只想要這個句子中的「非重讀」字。 我該怎麼做? 謝謝
您可以將您收到的單詞與英文單詞字典進行比較,例如BSD系統上的/ usr/share/dict/words。
我猜想Google的結果大部分都是語法正確的,但如果不是,您可能需要查看詞幹以便與您的字典匹配。
撇開谷歌的結果來自互聯網,因此在語法上至多可疑的事實,你將不得不做反對。沒有單詞文件將包含每個單詞的每個變化。 – 2010-10-27 09:38:03
問題是如果這是必需的。我們需要100%準確的結果嗎?還是我們可以生活在一個最佳的結果中。使用dictonary + stemming可能並不完美,但對TS來說可能已經足夠好了。 – bastijn 2010-10-27 09:41:43
您可以使用PyWordNet。這是WordNet的Python界面。只需在白色空格中分割您的句子,並檢查字典中是否有每個單詞。
PyEnchant可能是一個簡單的選項。我不知道它的速度,但你可以做這樣的事情:一個教程發現here
>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.check("Hello")
True
>>> d.check("Helo")
False
>>>
,它也有自己的選擇,返回其建議你可以再次用於另一個查詢或東西。此外,你可以檢查你的結果是否在拉丁-1(is_utf8()excist,不知道是否is_latin-1()也可以使用類似於Enca這樣的文本文件的編碼檢測,基於知識他們的語言)。
這是否允許標點符號和特殊字符?這個想法是檢查非英文文本 – MANU 2016-12-03 15:06:00
這段文字沒有任何意義。 – 2010-10-27 09:17:47
你想要真正的英語詞典單詞,還是僅含有ASCII字符的單詞(即使它們是名稱或地點等專有名詞,或拼寫錯誤英文單詞)? – detly 2010-10-27 09:18:32
@Glenn:這些是unicode格式的文字 – Hossein 2010-10-27 09:20:08