我正在處理一個清理凌亂的社交媒體和電子商務訂單文本數據的項目,並且希望理智地檢查我的方法並查看是否有庫和其他我應該考慮使用的資源。修復拼寫錯誤和在雜亂文本中查找地址
我正在處理數十萬個英文文本片斷,但不是完整的句子,並且包含人名,商家名稱,聯繫信息,郵寄地址以及來自社交媒體帖子的內容,包括鏈接和處理社交媒體處理,如Twitter和Instagram處理。我得到的文本只是一個未格式化的非結構化文本。我會指出,文本通常是一堆短語和單詞,因此不能被認爲是完整的英語句子;我提到這一點是因爲我認爲這可能會限制我使用標準NLP和詞性標記技術(但我不確定這一點)的語義解析量。
我的目標是對每個文本片段實施以下修復和增強功能: 當我可以放心地修復拼寫錯誤時修復拼寫錯誤,但在沒有可用的替換文件時保留現有的記號。請注意,我的文本中有一些多餘的換行符,有時缺少空格,所以拼寫錯誤有三種:1)常規拼寫錯誤(例如「bananna」);沒有空格拼寫錯誤(例如,「yellowbanana」);額外的空格拼寫錯誤(例如,「ban ana」) 標記地址和地名,以便我可以對它們進行地理編碼並鏈接到該地點的地圖。
下面是一些由但代表性的例子:
實施例1:
7pcs gillette razors and 1 mens cardi
gan sweater 231 E Front St Missoula
MT Order total $34.39 shipping ground UPS
在本例中,我想修復「開襟」的拼寫錯誤,並且還注意到,「231Ë Front St Missoula MT「是郵寄地址。
實施例2:
6600 cartons yellowbanana for @metmuseum
Marpa was a seminal figure of early Tibetan Bud
dhism and principal teacher of Milarapa
在本例中,我想解決的「yellowbanana」拼寫錯誤和修復「佛教」
的拼寫錯誤雖然我當然可以寫一堆規則和正則表達式,我試圖利用現有的NLP和其他工具來避免大量特殊的外殼。我正在查看以下實用程序:
- https://hunspell.github.io/是Google Chrome,Firefox和其他許多項目使用的拼寫檢查程序。
- https://textblob.readthedocs.io/en/dev/建立在NLTK之上,似乎有許多不同的功能,雖然我不確定它是否可以處理我的非句子文本數據來解決上述問題。這看起來很強大,但我不確定如何利用它來解決我的問題。
- 對於例2,我發現https://geocode.xyz/,它不能在完整的地址(雖然它得到米蘇拉MT)拿起。 https://pypi.python.org/pypi/pyap也看起來很有趣,雖然它只適用於美國和加拿大,我需要能夠解析世界各地的地址。我很遺憾先不知道哪個國家的每個文本片段都在。
我非常感謝任何可以給我的指針,並讓我知道我是否在正確的軌道上。謝謝。