导读:自然语言处理(Natural Language Processing,NLP)技术是与自然语言的计算机处理有关的所有技术的统称,其目的是使计算机能够理解和接受人类用自然语言输入的指令,完成从一种语言到另一种语言的翻译功能。

自然语言处理技术的研究,可以丰富计算机知识处理的研究内容,推动人工智能技术的发展。

作者:达观数据

来源:大数据DT(ID:hzdashuju)

01 语义分析技术

自然语言处理技术的核心为语义分析。语义分析是一种基于自然语言进行语义信息分析的方法,不仅进行词法分析和句法分析这类语法水平上的分析,而且还涉及单词、词组、句子、段落所包含的意义,目的是用句子的语义结构来表示语言的结构。语义分析技术具体包括如下几点。

1. 词法分析

词法分析包括词形分析和词汇分析两个方面。一般来讲,词形分析主要表现在对单词的前缀、后缀等进行分析,而词汇分析则表现在对整个词汇系统的控制,从而能够较准确地分析用户输入信息的特征,最终准确地完成搜索过程。

2. 句法分析

句法分析是对用户输入的自然语言进行词汇短语的分析,目的是识别句子的句法结构,以实现自动句法分析的过程。

3. 语用分析

语用分析相对于语义分析又增加了对上下文、语言背景、语境等的分析,即从文章的结构中提取出意象、人际关系等附加信息,是一种更高级的语言学分析。它将语句中的内容与现实生活中的细节关联在一起,从而形成动态的表意结构。

4. 语境分析

语境分析主要是指对原查询语篇之外的大量“空隙”进行分析,以便更准确地解释所要查询语言的技术。这些“空隙”包括一般的知识、特定领域的知识以及查询用户的需求等。

5. 自然语言生成

AI驱动的引擎能够根据收集的数据生成描述,通过遵循将数据中的结果转换为散文的规则,在人与技术之间创建无缝交互的软件引擎。结构化性能数据可以通过管道传输到自然语言引擎中,以自动编写内部和外部的管理报告。

自然语言生成接收结构化表示的语义,以输出符合语法的、流畅的、与输入语义一致的自然语言文本。早期大多采用管道模型研究自然语言生成,管道模型根据不同的阶段将研究过程分解为如下三个子任务。

  • 内容选择:决定要表达哪些内容。

  • 句子规划:决定篇章及句子的结构,进行句子的融合、指代表述等。

  • 表层实现:决定选择什么样的词汇来实现一个句子的表达。

早期基于规则的自然语言生成技术,在每个子任务上均采用了不同的语言学规则或领域知识,实现了从输入语义到输出文本的转换。

鉴于基于规则的自然语言生成系统存在的不足之处,近几年来,学者们开始了基于数据驱动的自然语言生成技术的研究,从浅层的统计机器学习模型,到深层的神经网络模型,对语言生成过程中每个子任务的建模,以及多个子任务的联合建模,开展了相关的研究,目前主流的自然语言生成技术主要有基于数据驱动的自然语言生成技术和基于深度神经网络的自然语言生成技术。

02 自然语言处理应用

自然语言处理应用的技术体系主要包括字词级别的自然语言处理,句法级别的自然语言处理和篇章级别的自然语言处理。

  • 字词级别的分析主要包括中文分词、命名实体识别、词性标注、同义词分词、字词向量等;

  • 句法级别的分析主要包括依存文法分析、词位置分析、语义归一化、文本纠错等;

  • 篇章级别的分析主要包括标签提取、文档相似度分析、主题模型分析、文档分类和聚类等。

1. 中文分词

中文分词是计算机根据语义模型,自动将汉字序列切分为符合人类语义理解的词汇。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。

在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能够通过明显的分界符来进行简单的划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层面上,中文比英文要复杂得多、困难得多。

2. 命名实体识别

命名实体识别又称作“专名识别”(NER),是指对具有特定意义的实体进行自动识别的技术,是信息提取、知识图谱、问答系统、句法分析、搜索引擎、机器翻译等应用的重要基础。

3. 词性标注

词性标注(Part-of-Speech tagging或POS tagging)又称词类标注,是指为分词结果中的每个单词标注一个正确的词性的程序。具体来说就是,确定每个词是名词、动词、形容词或者是其他词性的过程(如图3-2所示)。

▲图3-2 词性标注

在汉语中,词性标注比较简单,因为汉语词汇词性多变的情况比较少见,大多数词语只有一个词性,或者出现频次最高的词性远远高于第二位的词性。常用的方法有:基于最大熵的词性标注、基于统计的最大概率输出词性、基于隐马尔可夫模型(HMM)的词性标注。

4. 同义词分析

由于不同地区的文化差异,输入的查询文字很可能会出现描述不一致的问题。此时,业务系统需要对用户的输入做同义词、纠错、归一化处理。同义词挖掘是一项基础工作,同义词算法包括词典、百科词条、元搜索数据、上下文相关性挖掘,等等。

5. 词向量分析

词向量技术是指将词转化为稠密向量,相似的词对应的词向量也相近。在自然语言处理应用中,词向量作为深度学习模型的特征进行输入。因此,最终模型的效果在很大程度上取决于词向量的效果。一般来说,字词表示有两种方式:one-hot及分布式表示。

  • one-hot是指向量中只有一个维度的值为1,其余维度为0,这个维度代表了当前词。

  • 分布式表示(word embedding)指的是将词转化为一种分布式表示,又称词向量,分布式表示将词表示成一个定长的稠密向量。

词向量的生成可分为两种方法:基于统计方法(例如,共现矩阵、奇异值分解(SVD)和基于语言模型(例如,word2vec中使用的CBOW、Skip-gram等)。

6. 依存文法分析

依存文法通过分析语言单位内成分之前的依存关系解释其句法结构,主张句子中的核心谓语动词是支配其他成分的中心成分。而它本身却不会受到其他任何成分的支配,所有受支配的成分都以某种关系从属于支配者,如图3-3所示。

▲图3-3 依存文法分析距离

从分析结果中我们可以看到,句子的核心谓语动词为“召开”,主语是“民航局”,“召开”的宾语是“会”,“会”的修饰语是“通用航空发展工作专题”。有了上面的句法分析结果,我们就可以比较容易地看到,是“民航局”“召开”了会议,而不是“促进”了会议,即使“促进”距离“会”更近。

7. 词位置分析

文章中不同位置的词对文章语义的贡献度也不同。文章首尾出现的词成为主题词、关键词的概率要大于出现在正文中的词。对文章中的词的位置进行建模,赋予不同位置不同的权重,从而能够更好地对文章进行向量化表示。

8. 语义归一化

语义归一化通常是指从文章中识别出具有相同意思的词或短语,其主要的任务是共指消解。共指消解是自然语言处理中的核心问题,在机器翻译、信息抽取以及问答等领域都有着非常重要的作用。

就拿常见的信息抽取的一个成型系统来讲,微软的学术搜索引擎会存有一些作者的档案资料,这些信息可能有一部分就是根据共指对象抽取出来的。比如,在一个教授的访谈录中,教授的名字可能只会出现一两次,更多的可能是“我”“某某博士”“某某教授”或“他”之类的代称,不出意外的话,这其中也会有一些同样的词代表记者,如何将这些词对应到正确的人,将会成为信息抽取的关键所在。

9. 文本纠错

文本纠错任务指的是,对于自然语言在使用过程中出现的错误进行自动地识别和纠正。文本纠错任务主要包含两个子任务,分别为错误识别和错误修正。错误识别的任务是指出错误出现的句子的位置,错误修正是指在识别的基础上自动进行更正。

相比于英文纠错来说,中文纠错的主要困难在于中文的语言特性:中文的词边界以及中文庞大的字符集。由于中文的语言特性,两种语言的错误类型也是不同的。

英文的修改操作包括插入、删除、替换和移动(移动是指两个字母交换顺序等),而对于中文来说,因为每一个中文汉字都可独立成词,因此插入、删除和移动的错误都只是作为语法错误。由于大部分的用户均为母语用户,且输入法一般会给出正确提示,语法错误的情况一般比较少,因此,中文输入纠错主要集中在替换错误上。

10. 标签提取

文档的标签通常是几个词语或者短语,并以此作为对该文档主要内容的提要。标签是人们快速了解文档内容、把握主题的重要方式,在科技论文、信息存储、新闻报道中具有极其广泛的应用。文档的标签通常具有可读性、相关性、覆盖度等特点。

  • 可读性指的是其本身作为一个词语或者短语就应该是有意义的;

  • 相关性指的是标签必须与文档的主题、内容紧密相关;

  • 覆盖度指的是文档的标签能较好地覆盖文档的内容,而不能只集中在某一句话中。

11. 文本相似度

文本相似度在不同领域受到了广泛的讨论,然而由于应用场景的不同,其内涵也会有差异,因此没有统一的定义。

从信息论的角度来看,相似度与文本之间的共性和差异度有关,共性越大、差异度越小,则相似度越高;共性越小、差异度越大,则相似度越低;相似度最大的情况是文本完全相同。

相似度计算一般是指计算事物的特征之间的距离,如果距离小,那么相似度就大;如果距离大,那么相似度就小。

相似度计算的方法可以分为四大类:基于字符串的方法、基于语料库的方法、基于知识的方法和其他方法。

  • 基于字符串的方法是指从字符串的匹配度出发,以字符串共现和重复程度为相似度的衡量标准;

  • 基于语料库的方法是指利用从语料库中获取的信息计算文本的相似度;

  • 基于知识的方法是指利用具有规范组织体系的知识库计算文本的相似度。

12. 主题模型

主题分析模型(Topic Model)是以非监督学习的方式对文档的隐含语义结构进行统计和聚类,以用于挖掘文本中所蕴含的语义结构的技术。隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)是常用的主题模型计算方法。

13. 文本分类

按照特定行业的文档分类体系,计算机自动阅读文档的内容并将其归属到相应类目的技术体系下。其典型的处理过程可分为训练和运转两种。即计算机预先阅读各个类目的文档并提取特征,完成有监督的学习训练,在运转阶段识别新文档的内容并完成归类。

14. 文本聚类

文本聚类主要是依据著名的聚类假设:同类的文档相似度较大,而不同类的文档相似度较小。作为一种无监督的机器学习方法,聚类由于不需要训练过程,以及不需要预先对文档的类别进行手工标注,因此具有一定的灵活性和较高的自动化处理能力。

文本聚类已经成为对文本信息进行有效地组织、摘要和导航的重要手段。文本聚类的方法主要有基于划分的聚类算法、基于层次的聚类算法和基于密度的聚类算法。

关于作者:达观数据,中国智能RPA领域的龙头企业,独立开发了全套“RPA+AI”系统,拥有核心知识产权。达观智能RPA产品是业界不依赖微软底层开发框架、未使用第三方开源框架的RPA产品。

本文摘编自《智能RPA实战》,经出版方授权发布。

延伸阅读《智能RPA实战》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:这是一部从实战角度讲解“AI+RPA”如何为企业数字化转型赋能的著作,从基础知识、平台构成、相关技术、建设指南、项目实施、落地方法论、案例分析、发展趋势8个维度对智能RPA做了系统解读,为企业认知和实践智能RPA提供全面指导。

划重点????

干货直达????

  • 马太效应和幂律分布是怎么回事?终于有人讲明白了

  • 什么是引力波?它是怎么被发现的?

  • 2020下半年,值得关注的10本机器学习、深度学习好书

  • 所到之处,寸草不生!深扒黑产工具和羊毛党操作流程

更多精彩????

在公众号对话框输入以下关键词

查看更多优质内容!

PPT | 读书 | 书单 | 硬核 | 干货 讲明白 | 神操作

大数据 | 云计算 | 数据库 | Python | 可视化

AI | 人工智能 | 机器学习 | 深度学习 | NLP

5G | 中台 | 用户画像 1024 | 数学 | 算法 数字孪生

据统计,99%的大咖都完成了这个神操作

????

详解自然语言处理5大语义分析技术及14类应用(建议收藏)相关推荐

  1. lr0文法分析表示例_详解自然语言处理(NLP)5大语义分析技术及14类应用(建议收藏)...

    导读:自然语言处理(Natural Language Processing,NLP)技术是与自然语言的计算机处理有关的所有技术的统称,其目的是使计算机能够理解和接受人类用自然语言输入的指令,完成从一种 ...

  2. C语言 指针+二维数组详解 (应付期末、考研的最强笔记,建议收藏)

    哈喽!这里是一只派大鑫,不是派大星.本着基础不牢,地动山摇的学习态度,从基础的C语言语法讲到算法再到更高级的语法及框架的学习.更好地让同样热爱编程(或是应付期末考试 狗头.jpg)的大家能够在学习阶段 ...

  3. 详解智能交通应用大数据“三重门”

    文章讲的是详解智能交通应用大数据"三重门",武汉市悬在路口立杆上的金属小盒子--超级电子眼3个月抓了13万起交通违法,逆行.压线.套牌一眼识别,并能自动报警. 只需10秒,重庆市凭 ...

  4. Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令

    Linux常用基本命令详解(一) Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令 Linux常用基本命令详解(三) 1.磁盘分区 磁盘分区(系统分区)是使用分区编辑器(part ...

  5. 详解虚函数的实现过程之虚基类(4)

    博客虚函数实现过程3 时提到过虚基类,这里呢,我们来详细讲述一下: 当我们在虚函数的声明结尾处添加"=0",这种虚函数就被称为纯虚函数. 它好似一个没有实现只有声明的函数,它的存在 ...

  6. 万字HBase详解带你畅游大数据的海豚湾

    写在前面:我是「且听风吟」,目前是某上市游戏公司的大数据开发工程师,热爱大数据开源技术,喜欢分享自己的所学所悟,现阶段正在从头梳理大数据体系的知识,以后将会把时间重点放在Spark和Flink上面. ...

  7. 详解淘宝直播背后的技术

    在移动网络.云计算.人工智能等技术发展的驱动下,直播成为当今时代的一个电商新物种.而该领域发展至今,无论是从量级上,还是技术上,作为行业中的佼佼者--淘宝直播,一直以来,都备受技术人的关注. 在阿里文 ...

  8. python开发技术详解pdf下载_python开发技术详解附源码-python开发技术详解电子书pdf下载高清去水印版-精品下载...

    Python开发技术详解适合Python爱好者.大中专院校的学生.社会培训班的学生以及用Python语言进行系统管理.GUI开发.Web开发.数据库编程.网络编程的人员使用. 内容提要 Python是 ...

  9. 详解多旋翼无人机的传感器技术(下)

    详解多旋翼无人机上的传感器技术(下) 按:本文作者YY硕,来自大疆工程师.本文来自雷锋网,一个很不错的资讯网站 雷锋网连接在此 http://www.leiphone.com/  强烈推荐雷锋网,本文 ...

最新文章

  1. 统计csv词频_中文词频统计
  2. Go 初体验 - 令人惊叹的语法 - defer.3 - defer 函数参数计算时机
  3. 即将放弃python的app_即将放弃Python 2.7的不止有Numpy,还有pandas和这些工具
  4. Exchange 常用命令行备忘
  5. 容器编排技术 -- Kubernetes 给 Pod 配置服务质量等级
  6. Linux系统初学者指南,Linux系统新手入门指南(二)
  7. Axure share APP使用教程——如何在手机上演示axure文件
  8. cab补丁包离线安装命令
  9. linux安装程序企鹅,在Linux上安装小企鹅输入法
  10. 一个善意的谎言拯救一个团队 (又叫沙漠中的指南针)
  11. Cadence常规通孔焊盘的创建
  12. switch()的参数注意项(转)
  13. python获取评论数据
  14. ESP32:用了七天我终于把环境搭建好了
  15. 阅文集团面经(PHP后端开发实习)
  16. Linux安装消息队列IBM MQ 7.5开发版安装配置详解
  17. 若微型计算机在工作时突然断电,2014计算机软考程序员考前模拟试题
  18. “黑客情报官”薛锋:真相只有一个,我们必须找到它
  19. 匈牙利算法和hopcroft_karp算法模板
  20. java笔试30_精选30道Java笔试题解答

热门文章

  1. C++|Linux工作笔记-C++获取Linux中shell命令结果
  2. Redis工作笔记-String类型
  3. C++ opengl 复合运动
  4. python访问数据库统一方法_Python 3.x 连接数据库(pymysql 方式)
  5. qt如何创建桌面快捷方式_如何用Qt Python创建简单的桌面条形码应用
  6. centos8 装docker 问题
  7. 计算机数据结构英语作文,数据结构学习心得英语作文
  8. java中图的封装,模拟java 中地图的功能封装一个有序的地图
  9. spring 优越性实践
  10. 操作系统之I/O管理:2、SPOOLing技术(假脱机技术)