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

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

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

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

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

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

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

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

相关推荐
databook3 分钟前
如何快速构建一个数据科学应用?从零到上线
python·机器学习·scikit-learn
guo_xiao_xiao_3 分钟前
YOLO室内训练场橙色环形训练圈目标检测数据集-156张
人工智能·yolo·目标检测
凡泰AI5 分钟前
金融机构如何选择自己的企业级 AI桌面终端?
人工智能·agent·企业级ai·企业级agent
微硬创新7 分钟前
耐达讯自动化:16路4-20mA模拟信号,该怎样平稳接入PROFINET控制系统?
人工智能·物联网·网络协议·自动化·信息与通信
上下求索,莫负韶华8 分钟前
切面学习笔记
笔记·python·学习
水如烟11 分钟前
孤能子视角:原始思维篇·0 总纲——关系场的直接编织:认知的底层呼吸
人工智能
Luminbox紫创测控12 分钟前
太阳模拟器如何模拟真实太阳?积分球与氙灯光源技术解析
人工智能·测试工具·安全性测试·uv·测试标准
mlidongfeng13 分钟前
[AI][shmem] Aiv 直驱RDMA
人工智能
九硕智慧建筑一体化厂家20 分钟前
从电费支出到碳资产收益,直流照明如何让商业楼宇实现柔性用能
运维·人工智能·智慧城市
Axis tech26 分钟前
人形机器人训练:从工人动作到机器人作业技能
机器人