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

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

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

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

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

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

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

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

相关推荐
有为少年2 分钟前
Welford算法 | 从单一到批次
大数据·人工智能·深度学习·神经网络·算法·机器学习
godspeed_lucip3 分钟前
LLM和Agent——专题3: Agentic Workflow 入门(1)
大数据·数据库·人工智能
打小就很皮...5 分钟前
基于 Python + LangChain + React 的 AI 流式对话与历史存储实战
人工智能·langchain·flask·react·sse
小沈跨境10 分钟前
Temu 运营进阶之路 工具选型与凌风体系分析
大数据·人工智能·产品运营·跨境电商·temu
迁移科技15 分钟前
案例丨AI+3D视觉,赋能制药行业拆垛及破包更精准高效
人工智能·科技·3d·自动化·视觉检测
idingzhi19 分钟前
A股量化策略日报(2026年05月22日)
android·开发语言·python·kotlin
NQBJT20 分钟前
万字拆解 NeckFix:AI 脖子前倾检测的算法原理与工程实现
人工智能·算法
song50126 分钟前
多卡训练加速:HCCL 集合通信实战
分布式·python·flutter·ci/cd·分类
数智工坊27 分钟前
【Inner Monologue论文阅读】: 首次将大语言模型嵌入机器人控制闭环,实现自我反思和动态行为调整
论文阅读·人工智能·算法·语言模型·机器人·无人机