【Python机器学习】NLP理论概述

和计算机编程语言不通,自然语言并不会被翻译成一组有限的数学运算集合。用编程语言编写的计算机程序会清楚地告诉计算机做什么,而对于英语、法语等这样的自然语言,并没有所谓的编译器或者解释器将他们翻译成机器指令。

自然语言处理(NLP)是计算机科学和人工智能(AI)的一个研究领域,它关注自然语言的处理,这种处理通常包括将自然语言转换成计算机能够用于理解这个世界的数据。同时,这种对世界的理解有时被用于生成能够体现这种理解的自然语言文本(即自然语言生成)。

自然语言处理系统通常被称为"流水线",这是因为该系统往往包括多个处理环节,其中自然语言从"流水线"的一端输出,处理后的结果从另一端输出。

python从一开始就被设计成一种可读的语言,也公开了很多其内部的语言处理机制,这两个特点使Python称为学习自然语言处理的一个很自然的选择。在企业级环境下为NLP算法构建可维护的生产流水线时,Python也是一种很棒的语言。在某些可能的地方,Python是代替数字和数学符号的"通用语言"。毕竟Python可以无歧义的描述数学算法,使其尽可能地具备可读性。

自然语言并不能直接被翻译成一组精确的数学运算集合,但是它们确实包含可供提取的信息和指令。这些信息和指令可以被存储、索引、搜索或立即使用。使用方式之一可能是生成一段词语序列对某条语句进行回复。这属于"对话引擎"或者聊天机器人的功能。

从自然语言中提取有用的信息是一件比较困难的事情,这需要巨量的统计记录,但这正是机器的作用。依靠一些技术,构建一些机器学习的模型,也可以执行一些令人惊讶的精细任务,甚至在精度和速度上都超过了人类。当时由于人类有能力保留对话的上下文信息,因此仍然更善于识别连续对话中的部分信息。当然,机器也越来越善于保留上下文。

一旦从自然语言中提取出结构化的数值型数据------向量之后,就可以利用各种数学工具和机器学习工具。我们可以类似于将三维物体投影到二维计算机屏幕的线性代数方法,这些方法很早就被使用了。这些突破性的想法开启了一个"语义"分析的世界,即让计算机能够解释和存储语句的"含义",而不仅仅是对其中的词和字符计数。语义分析和统计学一起有助于解决自然语言的歧义性,这里的歧义性是指词语或短语通常具有多重含义或解释。

因此,从自然语言文本中提起信息和构建编程语言的编译器完全不同。此外,自然语言还有一个更难解决的所谓"解码"挑战。关于人类如何处理语言的思维理论后来被证实是一个强有力的假设。如果我们假设人类的语言"处理器"拥有人类一生关于世界的常识,我们就能用很少的话表达很多信息。这种信息压缩率仍非机器的能力可及。在NLP刘淑贤中也没有明确的"思维理论"可以参照。

相关推荐
成长之路5141 小时前
【数据集】地级市公共安全基建省内横向压力(2015-2025)
大数据
唐梓航-求职中1 小时前
编程-技术-算法-leetcode-288. 单词的唯一缩写
算法·leetcode·c#
仟濹1 小时前
【算法打卡day3 | 2026-02-08 周日 | 算法: BFS】3_卡码网99_计数孤岛_BFS | 4_卡码网100_最大岛屿的面积DFS
算法·深度优先·宽度优先
清水白石0081 小时前
深入解析 LRU 缓存:从 `@lru_cache` 到手动实现的完整指南
java·python·spring·缓存
Ll13045252981 小时前
Leetcode二叉树part4
算法·leetcode·职场和发展
林开落L1 小时前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
JaydenAI1 小时前
[LangChain之链]LangChain的Chain——由Runnable构建的管道
python·langchain
kali-Myon1 小时前
2025春秋杯网络安全联赛冬季赛-day3
python·安全·web安全·ai·php·web·ctf
牛奔1 小时前
Go 是如何做抢占式调度的?
开发语言·后端·golang