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

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

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

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

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

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

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

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

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

相关推荐
老马聊技术1 分钟前
HBase单节点环境搭建详细教程
大数据·数据库·hbase
廋到被风吹走2 分钟前
【Spring】DefaultListableBeanFactory 详解
java·python·spring
子夜江寒2 分钟前
Python 操作 MySQL 数据库
数据库·python·mysql
灰色人生qwer4 分钟前
VS Code 配置Java环境
java·开发语言
yyy(十一月限定版)4 分钟前
C语言——排序算法
c语言·开发语言·排序算法
tgethe4 分钟前
Java 链表(LinkedList)
java·开发语言·链表
likerhood7 分钟前
5. pytorch第一个神经网络
人工智能·pytorch·神经网络
梦帮科技9 分钟前
第二十二篇:AI驱动的工作流优化:性能瓶颈自动检测
数据结构·数据库·人工智能·python·开源·极限编程
myzzb13 分钟前
python调用ffmpeg.exe封装装饰类调用
python·学习·ffmpeg·开发
Niuguangshuo14 分钟前
自编码器与变分自编码器:【1】自编码器 - 数据压缩的艺术
人工智能·深度学习