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

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

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

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

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

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

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

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

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

相关推荐
CryptoRzz3 分钟前
如何高效接入日本股市实时数据?StockTV API 对接实战指南
java·python·kafka·区块链·状态模式·百度小程序
码农水水9 分钟前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
福楠13 分钟前
C++ STL | map、multimap
c语言·开发语言·数据结构·c++·算法
ytttr87316 分钟前
地震数据频率波数域变换与去噪的MATLAB实现
开发语言·matlab
小二·17 分钟前
Python Web 开发进阶实战(终章):从单体应用到 AI 原生生态 —— 45 篇技术演进全景与未来开发者生存指南
前端·人工智能·python
极客小云19 分钟前
【基于 PyQt6 的红外与可见光图像配准工具开发实战】
c语言·python·yolo·目标检测
Sarvartha26 分钟前
二分查找学习笔记
数据结构·c++·算法
秋名山大前端35 分钟前
AI数字孪生本体智能技术方案
人工智能·aigc·数据可视化
墨瑾轩35 分钟前
C# PictureBox:5个技巧,从“普通控件“到“图像大师“的蜕变!
开发语言·c#·swift
集和诚JHCTECH38 分钟前
边缘智能,触手可及|BRAV-7821高能效AI边缘计算系统正式发布
大数据·人工智能·边缘计算