簡體   English   中英

是否有任何用於 Python 的自動更正/自動完成庫?

[英]Are there any auto-correct/auto-complete libraries for Python?

我正在制作一個聊天機器人,並希望用戶正確拼寫以使后端的一切變得更容易。 是否有任何自動更正和/或自動完成庫?

我猜您正在為 Slack 之類的東西進行集成。 使用自動更正功能可能非常危險,因為您可以將某些內容從中立狀態“更正”到破壞性狀態。 將您的輸入樣式設置為簡單但具有描述性會更安全。 您還可以通過一些簡單的字符計數來實現“您的意思是”功能,讓用戶看到他們搞砸了,然后提供正確輸入正確關鍵短語的選項。

輸入:

derete file1.jpg

使用現有關鍵字集檢查可能的關鍵字位置 0...添加/刪除/刪除

0/6 匹配添加

2/6 匹配刪除

5/6 匹配已知關鍵字“刪除”,選擇“刪除”作為建議

輸出:

你的意思是delete file1.jpg嗎?

我認為這會更安全,而且編寫代碼不會太痛苦。 只需有一個函數來遍歷每個字符並在字符匹配時增加一個計數器。 它離完美還很遠,但如果您想手動制作它,這將是朝着正確方向邁出的一步。

gman 在另一個答案中所說的是一個好主意,有時嘗試強制自動更正可能會“更正”適合上下文但不在自動更正數據庫中的正確單詞,並將它們替換為不正確的單詞語境中的意義。

一個 python 自動完成庫: https : //github.com/phatpiglet/autocorrect

另見: https : //github.com/mattalcock/blog/blob/master/2012/12/5/python-spell-checker.rst

嘗試jamspell - 它適用於自動拼寫校正(考慮上下文):

import jamspell

corrector = jamspell.TSpellCorrector()
corrector.LoadLangModel('en.bin')

corrector.FixFragment('Some sentnec with error')
# u'Some sentence with error'

然而,它有時會破壞正確的單詞(根據他們的文檔,不到 1% 的情況)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM