【Python机器学习】NLP概述——深度处理

自然语言处理流水线的各个阶段可以看作是层,就像是前馈神经网络中的层一样。深度学习就是通过在传统的两层机器学习模型架构(特征提取+建模)中添加额外的处理层来创建更复杂的模型和行为。

上图中,前四层对应于聊天机器人流水线中的前两个阶段(特征提取和特征分析)。例如,词性标注(POS标注)是在聊天机器人流水线的分析阶段生成特征的一种方法。POS标签由默认的SpaCY流水线自动生成,该流水线包括上图中所有的前四层。POS标注通常使用优先状态转换机来完成,就像nltk.tag包中的方法一样。

底部的两层(实体关系和知识库)用户构成包括特定领域信息/知识的数据库。使用所有这6层从特定语句或文档中提取的信息可以与该数据库结合使用进行推理。这里的推理结果是从环境中检测到的一组条件中进行的逻辑推理,就像聊天机器人语句中包含的逻辑一样。图中较深层的这种推理机被认为属于人工智能的领域,机器可以对它们的世界进行推理,并使用这些推理结论做出决策。然而,聊天机器人只使用上面几层的算法,可以在没有上述知识库的情况下做出合理的决策。这些决策组合起来可能会产生令人惊讶的类人行为。

在NLP的最上面几层,最上面3层是进行有意义的情感分析和语义搜索,以及构建仿人聊天机器人所需要的全部内容。事实上,只使用一层,直接使用文本(字符序列)作为语言模型的特性,就可以构建一个有用且有趣的聊天机器人。如果给出足够的实例语句和回复,只进行字符串匹配和搜索的聊天机器人就能够参与到合理的令人信服的对话中。

举例来说,开源项目ChatterBot大大简化了上述流水线,它只计算输入语句和记录在数据库中的语句之间的字符串"编辑距离"(莱文斯坦距离)。如果其语句-回复对数据库中包含匹配的语句,则可以通过复用对应的回复(来自预先"学习"过的人工或机器对话框)作为最新语句的回复。对于该流水线,所需要的只是聊天机器人流水线的步骤3(生成)。在这个阶段,只需要一个暴力搜索算法就可以找到最佳回复。通过这种简单的技术(不需要分词或特征生成),ChatterBot作为Salvius的对话引擎可以维护令人信服的对话过程。

Will是有Steven Skoczen开发的一个开源的Python聊天机器人框架,它采用了完全不同的方法。Will只能通过训练对正则表达式语句作出回复。这是"重人力轻数据"的一种NLP方法。这种基于语法的方法对于问答系统和任务执行助理机器人尤其有效。这些系统通过使用"模糊正则表达式"和其他技术来寻找近似的语法匹配,从而克服了精确正则表达式的脆弱性。模糊正则表达式不做精确匹配,而是无视插入、删除和替换的最大错误数目,在可能的语法规则(正则表达式)列表中寻找最接近的语法匹配结果。然而,要对基于语法的聊天机器人行为的广度和复杂度进行扩展,需要大量的人力开发工作。

浅层MLP能够完成许多强大的任务,而且,几乎不需要人工监督。通常来说,机器可以持续不断地从它所处的环境中学习。

相关推荐
nVisual1 分钟前
nVisual:AI驱动的智能排障,平均响应时间缩短40%
android·人工智能·缓存
白日做梦Q2 分钟前
PyTorch从零手写CNN实现NEU钢材表面缺陷检测(完整实战·单篇完结)
人工智能·pytorch·cnn
星马梦缘7 分钟前
机器学习与模式识别 第十一章 优化于梯度下降 考点压缩
人工智能·机器学习·梯度下降·hessian·条件数
想会飞的蒲公英9 分钟前
TF-IDF + 随机森林中文文本分类全链路实战:从训练脚本到 Flask API + Streamlit 前端
人工智能·pytorch·python·随机森林·分类·flask·tf-idf
AI服务老曹15 分钟前
摄像机安装AI视频分析参数配置说明:POC现场交付全流程指南
人工智能·音视频
FriendshipT18 分钟前
Ultralytics:解读C3模块
人工智能·pytorch·python·深度学习·目标检测
极光代码工作室19 分钟前
基于深度学习的异常行为检测系统
人工智能·python·深度学习·神经网络·机器学习
承渊政道20 分钟前
【Python学习】(了解Python背景知识、搭建 Python 环境以及安装PyCharm)
python·学习·pycharm·搭建python环境
川石课堂软件测试22 分钟前
性能测试|Nginx中间件监控与调优
linux·python·nginx·中间件·单元测试·压力测试·harmonyos
阿拉斯攀登22 分钟前
RAG 性能优化:缓存、批量与并发
人工智能·缓存·性能优化·embedding·agent·loop·rag