自然语言处理基础技术详细介绍(二)

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 自然语言处理基础技术详细介绍(二)

开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):自然语言处理基础技术详细介绍(二)】

课程地址https://edu.aliyun.com/course/3112108/lesson/19279

 

自然语言处理基础技术详细介绍(二)

 

三、关键词提取


自然语言处理是有趣的科学在这句话里面,哪一个词能够体现自然语语言处理的性质?自然语处理是科学,科学这两个字就是这句话的关键词。关键词提取就是我们在处理自然语言的时候,有什么办法找到这个关键词

关键词提取的概念,首先明白什么是关键词,关键词就是文本中一些重要的词。通过这些词可以理解文本里面的中心思想。那关键词的提取有点类似于论文里面的摘要,我们看一下面表里面的例子,原始文本。

图片607.png


裤子的质量好,穿起来很好看,非常满意。它的关键词提取出来为裤子质量好看,满意看。

第二个例子,原始文本是这本书无论是质量还是内容都非常棒。内容全面介绍顺序,循序渐进,图文并茂,可以作为高中生的入门课程。提取出来关键词可能是质量\内容\棒,高中生\,入门课程\这样一些关键词,你会发现单独地把这些关键词拿出来,你大概也能理解前面的文本表达的思想。那我们怎么去评价关键词提取的质量。


关键词提取的质量主要体现在它的准确性、全面性和代表性。关键词的提取要准确的话,可以大幅地提升下信息检索的效率。在对话系统里面提取关键词可以理解用户的意图。


从一个文本里面怎么样去提取关键词,哪些应该抽出来作为关键词,它的主要评价的指标。对于这个词是不是关键词,评价的指标是词的权重,也就是它对这个文本的贡献的权重是怎么样的。

接下来我们讲一下关键词提取的一些实现方法。前面说了关键词提取很重要,很有意义,那怎么样提取关键词,它主要分为两个步骤

第一步是获取文本的候选词,即看哪些词可能成为候选的关键词。

然后第二步是对这个候选词进行打分,打分之后得分比较高的,就把它作为关键词输出出来,这就是关键词提取的方法。


下面这个图就是关键词提取的实现流程。

图片608.png


第一步在获取这个文本的候选词的时候,要先进行分词。这种分词算法在中文的环境下非常的重要,因为中文和英文两种语言存在着非常大的差异。英文本身的最小力度是词语,它通过空格区分,标点符号区分,而中文的最小力度是字。所以在找候选词的时候,前提要进行分词,分词之后,再进一步获取候选词。获取候选词之后,然后我们再去提取候选关键词,那提取的时候对这个词进行打分。

主要有监督的学习和无监督的学习两个大类。在积极学习里面,我们已经了解了有监督的学习跟无监督的学习。


首先来看有监督的关键词提取,有监督的关键词提取呢主要是通过分类的方式进行。


首先我们要构建一个词表,在这个表要丰富要完善。然后我们要判断文档跟词表里面词的每个词的匹配的程度。这种类似打标签的方式来达到关键词提取的效果。


它的优点是精度很高,缺点是需要维护大量的标注数据,人工成本太高。而且这个词表要经常地维护,相对而言无监督的关键词提取它对数据的要求低。他既不需要一张人工来维护的生成得维护的词表,也不需要人工去做语料辅助训练。


当然它有缺点,他的缺点是它无法综合利用各种信息,对候选关键字进行排序,所以它可能效果会比不上有监督的关键词,解决方法。关键词提取的实现方法,我们就讲到这里。

 

四、命名实体识别


在学习命名实体识别之前,我们先来看看实体是什么。我们先通过一道题来了解,如何将文本自然语言处理是有趣的科学进行缩句。我们把这个语句的精华摘出来,就是自然语言处理是科学。

我们把 有趣的这个去掉了,把它清理完了之后,自然语言处理和科学就是这段文本里面的实体。我们这一小节讨论的就是怎么样在自然语言里面找出这样的实体。

命名实体识别的概念。命名实体识别又叫专名识别,它是去识别文本中具有特定意义的实体,主要包括人名、地名、机构名,还有一些专业名词。简单地讲,就是去识别这种自然文本里面的实体指称的边界和类别。


我们看下面这个例子。

小明将参加阿里巴巴主办的天池大数据竞赛。

这里面的实体小明他是人名;阿里巴巴是一个实体,它是一个机构名,天池大数据竞赛也是一个实体,它是活动的名称。我们看到像小明,就这种姓名可能有很多,像阿里巴巴这种公司的实体的机构名也很多。天池大数据竞赛这种词增加词了,肯定新生的。因为命名实体的数量是不断地增加的,所以不可能在词典里面去穷尽。比如说天池大数据竞赛,你不可能做一个词典,很早就知道这是一个实体,所以就要去找它构成的规律,才能更智能地去识别这些实体。通常我们会把这些词的识别放在词汇形态处理任务中,独立去处理。首先强调一下命名实体识别是信息提取、问答系统、机器翻译,还有面向语义web的源数据标注等领域的非常重要的基础工具,在自然语言处理技术走向实用化的过程中占有非常重要的地位。


一般来说,命名实体识别的任务就是识别出来待处理文本里面的三大类和七小类。三大类指的是实体类,时间类和数字类,七小类指的是人名、机构名、地名、日期、时间,货币,还有百分比。通常我们会用这个叫BLOES四位序列标注法,这分别都是什么意思呢?我们看下面的表格。

图片609.png


BLOES代表的是类型。b代表Begin实体片段的开始,i是实体片段的中间,o是不为任何实体,E 就是End就是实体片段的结束,s就是Single,就是单个字进行命名

实体识别的时候,通常要对每个字进行标注,如果是中文的话,就是单个字,英文就是单词,英文就用空格分割。


比如这个例句,我是一名大学生,我爱中国。我是一名大学生这里面我是都是o,这里都是写的是o。它表示字符不为任何实体,e是s是单个字。


然后主要看这里大学生,他标注的是b i e,也就是一个命名实体的begin,i就是中间,e就是and这种方法是命名实体识别标注的方法。除了这个之外,还有比如b i o,这里b表示开头,i表示的结尾,然后o表示outside就是外部的,还有BLOES四个序列列标注的方法,其实思路上都是大同小异的。

相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用与挑战
【10月更文挑战第3天】本文将探讨AI技术在自然语言处理(NLP)领域的应用及其面临的挑战。我们将分析NLP的基本原理,介绍AI技术如何推动NLP的发展,并讨论当前的挑战和未来的趋势。通过本文,读者将了解AI技术在NLP中的重要性,以及如何利用这些技术解决实际问题。
|
13天前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用
【9月更文挑战第17天】本文主要介绍了AI技术在自然语言处理(NLP)领域的应用,包括文本分类、情感分析、机器翻译和语音识别等方面。通过实例展示了AI技术如何帮助解决NLP中的挑战性问题,并讨论了未来发展趋势。
|
18天前
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的自然语言处理技术
【10月更文挑战第38天】在本文中,我们将深入探讨自然语言处理(NLP)技术及其在机器学习领域的应用。通过浅显易懂的语言和生动的比喻,我们将揭示NLP技术的奥秘,包括其工作原理、主要任务以及面临的挑战。此外,我们还将分享一些实用的代码示例,帮助您更好地理解和掌握这一技术。无论您是初学者还是有经验的开发者,相信您都能从本文中获得宝贵的知识和启示。
26 3
|
27天前
|
机器学习/深度学习 人工智能 自然语言处理
深度探索人工智能中的自然语言处理技术#### 一、
【10月更文挑战第28天】 本文旨在深入剖析人工智能领域中的自然语言处理(NLP)技术,探讨其发展历程、核心算法、应用现状及未来趋势。通过详尽的技术解读与实例分析,揭示NLP在智能交互、信息检索、内容理解等方面的变革性作用,为读者提供一幅NLP技术的全景图。 #### 二、
61 1
|
20天前
|
机器学习/深度学习 自然语言处理 算法
自然语言处理中的情感分析技术
自然语言处理中的情感分析技术
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理中的语义理解技术
自然语言处理中的语义理解技术
50 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用
【10月更文挑战第4天】本文将介绍人工智能(AI)在自然语言处理(NLP)领域的应用,包括语音识别、机器翻译、情感分析等方面。我们将通过一些实际案例展示AI如何帮助人们更好地理解和使用自然语言。同时,我们也会探讨AI在NLP领域面临的挑战和未来发展方向。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI技术在自然语言处理中的应用
【9月更文挑战第22天】本文将探讨AI技术在自然语言处理(NLP)领域的应用,包括文本挖掘、情感分析、机器翻译等方面。我们将通过实例和代码示例,展示如何使用Python和相关库实现这些功能。
|
3月前
|
机器学习/深度学习 数据采集 人工智能
AI技术在自然语言处理中的应用与挑战
【9月更文挑战第12天】本文将探讨AI技术在自然语言处理(NLP)领域的应用及其面临的挑战。我们将介绍NLP的基本概念、主要任务和应用场景,并分析当前AI技术在NLP中的局限性和未来发展趋势。通过实际案例和代码示例,我们将展示AI技术如何帮助解决NLP问题,并探讨如何克服现有挑战以实现更高效的自然语言处理系统。