项目介绍:contextualSpellCheck
contextualSpellCheck 是一个用于检查和校正文本中上下文拼写错误的软件工具包。它的设计宗旨是利用上下文信息提供更加准确的拼写建议,并且当前主要帮助检测来自词汇表之外的错别字。
拼写错误的种类
在处理拼写错误时,通常可以将它们分为两类:非单词错误(NWE)和真实单词错误(RWE)。非单词错误是指在当前语言中无效的单词,而真实单词错误则是存在于语言中的错误单词。contextualSpellCheck 现在主要集中在使用 BERT 模型来矫正 OOV(超出词汇表之外)或非单词错误。
安装方法
该包可以通过 pip 从 Python 包管理器中简单安装。它需要 Python 3.6 以上的版本。
pip install contextualSpellCheck
使用说明
使用 contextualSpellCheck 非常简单,它可以直接加载到 spaCy 的处理管道中,从而与其他自然语言处理任务相结合。以下是集成到 spaCy 的示例:
import spacy
import contextualSpellCheck
nlp = spacy.load("en_core_web_sm")
contextualSpellCheck.add_to_pipe(nlp)
doc = nlp("Income was $9.4 milion compared to the prior year of $2.7 milion.")
print(doc._.outcome_spellCheck) # 输出:'Income was $9.4 million compared to the prior year of $2.7 million.'
功能扩展
contextualSpellCheck 通过 spaCy 扩展在不同层级提供功能,包括文档(doc)、跨度(span)和标记(token)级别的扩展:
- 文档层级提供总体拼写检查状态及建议。
- 跨度层级提供特定文本区间内的拼写检查信息。
- 标记层级则提供单词级别的拼写建议及分数。
API 接口
contextualSpellCheck 还提供了一个简单的 GET API,用户可以在本地启动应用并进行拼写检查测试。例如:
GET 请求:http://localhost:5000/?query=Income%20was%20$9.4%20milion%20compared%20to%20the%20prior%20year%20of%20$2.7%20milion.
响应将包含输入的错误文本、校正后的文本及建议替换的可能性评分。
未来任务
项目计划的未来发展方向包括优化代码性能、提供多语言支持、改进文档、添加对真实单词错误(RWE)的处理能力,以及其他新功能。
支持与贡献
如果您对这个项目感兴趣,欢迎支持和贡献!您可以通过提交 Issue 或 Pull Request 参与改进和扩展现有功能。
参考文献
该项目参考了多项研究和其他开源项目,包括 BERT 模型和 spaCy 框架等。具体文献和对项目开发有帮助的论著在文末进行了详细列述。