我们如何使用spaCy和Hunspell处理AI聊天机器人中的错别字
回想上一次给聊天机器人发短信的时间。无论是礼宾服务,客户支持助理还是AI虚拟招聘人员,该机器人都有可能通过线性流程引导您。
除非经过自然语言处理(NLP)培训并且能够吸引用户,否则机器人中几乎没有“智能”。
改善用户体验的一部分涉及预测人与机器人的交互方式。这是我过去两周在 impress.ai 上的主要关注点-弄清楚如何训练聊天机器人,使其能够响应拼写错误的对话框。
错别字有什么大惊小怪的?
我们的AI聊天机器人用于招聘人员在招聘过程中积极参与并筛选候选人。我们促进互动的一种方法是让用户(候选人)在面试过程中向聊天机器人提问,以了解有关公司,职位和职业收益的更多信息。
借助NLP技术,聊天机器人可以将问题中的每个单词分开,检查错误,然后为候选人的问题提供建议。就像当您在Google上输入错误的问题时,显示的第一件事是“您的意思是?”。 声明。
候选问题中的错别字限制了聊天机器人回答实际上有用的答案的能力。这就是为什么我们决定为聊天机器人的算法创建一种方法来识别拼写错误,因此不会突然中断对话框。
推荐的工具来创建拼写纠正功能
重要的是要理解,任何聊天机器人可以回答的问题数量仅限于机器人训练数据集中的问题。根据用例,可以定制信息以适合此数据集。有偏见或无关紧要的信息可以从数据集中删除,因此聊天机器人仅了解候选人可能提出的问题的答案。
由于我们的算法部署在交互式聊天机器人环境中,因此使用基于第三方Web的拼写或语法纠正工具将导致响应时间显着增加。这也会引起有关数据隐私的担忧。
我和我的团队研究了几种工具来帮助实现我们的目标,这些是我们使用的工具:
spaCy:spaCy是用于Python中高级NLP的免费开放源代码库
Hunspell:Hunspell是一个免费的拼写检查器和形态分析器库
spacy_hunspell:用于spaCy的Hunspell扩展
google-10000-english:按频率顺序列出10
我们的拼写校正功能采用的算法
一旦工具到位,下一步就是集思广益并执行正确的技术。这是我们的流程:
令牌化:
使用spaCy库,可以识别单个单词和标点符号
每个单词都被发送到Hunspell库,如果拼写错误,则使用该工具。提供建议的替换清单。如果没有替换项,则查询将被转发到FAQ模块,而无需进行任何更正。
相似度匹配:
使用spaCy将建议的替代词转换为单词向量。
然后将这些向量与原始拼写错误的词的向量表示形式进行比较。
比较会产生初始相似度分数,该分数指示该建议与原始单词有多相似。
但是,经过一些测试,我们不能仅仅依靠相似性分数来明智地