NLP干货输出

友情提示:本篇文章可能读起来有点晦涩难懂,但读完一定会让你明白NLP是做什么的以及它的使用场景,甚至还能让你走上NLP的道路,且听我来聊聊。

NLP,是英文Natural Language Processing的缩写,翻译过来叫自然语言处理,是人工智能和语言学领域的分支学科。

人们自古以来都在和文字打交道,无论是外国的英文还是我们的中文。我们使用文字挺简单的,那么到了计算机时代能不能让计算机也能够理解人所用的文字呢?这便是NLP的由来。

只说概念可能比较模糊,最好理解NLP的方式就是看它使用的场景,由于NLP覆盖的场景太多了,我这里挑十大任务模式来说下。

1、分词

凡做NLP的必然会用到分词,将一句话进行一个完美的分词是之后任务的基础,而中文分词比英文分词要困难,英文词汇有空格符分割词的边界,但中文中,却没有类似的方式来区分。目前中文分词做的比较好的比如Jieba、HanLp等。

2、摘要生成

这个任务主要就是通过建立一个模型来生成关于一段话的摘要。过去常用的是抽取式摘要。把一篇文档看作是许多句子的组成的序列,模型需要从中找出最能熔炼文章大意的句子提取出来作为输出。它相当于是对每个句子做一个二分类,来决定它要不要放入摘要中。但仅仅把每个句子分开来考虑是不够的。我们需要模型输入整篇文章后,再决定哪个句子更重要。这个序列的基本单位是一个句子的表征。而最近更流行的是生成式摘要,模型的输入是一段长文本,输出是短文本。输出的短文本往往会与输入的长文本有很多共用的词汇。这就需要模型在生成的过程中把文章中重要词汇拷贝出来,放到输出中的复制的能力,比如 Pointer Network。

3、翻译

这个应该很好理解吧,就是把一种语言自动翻译为另一种语言。比如把中文翻译成英文,再把英文翻译成中文。

4、语法改错

这个任务就是通过搭建一个模型,根据上下文的情境来检测这篇文章中是否有错别字或者语法错误。比如我们在有些平台编辑文章完成后就会出现提示有哪些错别字,就是利用的这种模型。

5、文本分类

文本分类可以说是NLP非常典型的任务了,文本分类下面又可以衍生出很多任务场景。比如情感分类,就是判断一篇文章是积极向上的还是恶意低俗的,一篇文章会包括正面的词汇和负面的词汇,模型需要根据上下文学到语境中更侧重正面还是负面。再比如事实验证分类,模型需要看一篇新闻文章,判断该文章内容是真的还是假的。

6、自然语言推断

输入给模型的是一个陈述前提,和一个假设,输出是能否通过前提推出假设,它包含三个类别,分别是矛盾,蕴含和中性。比如前提是,一个人骑在马上跳过一架破旧的飞机,假设是这个人正在吃午餐。这显然是矛盾的。因为前提推不出假设。如果假设是,这个人在户外,在一匹马上。则可以推理出蕴含。再如果假设是这个人正在一个比赛中训练他的马。则推理不能确定,所以是中性的。

7、搜索引擎

模型的输入是一个关键词或一个问句和一堆文章,输出是每篇文章与该问句的相关性。谷歌有把 BERT 用在搜素引擎上在语义理解上得到了提升。比如搜帮你做美容的人是否经常站着工作。没有 BERT 之前,模型会利用关键词 estheticians 和 stand-alone 做合并结果输出。但有了 BERT 之后,搜出的结果会更倾向于文章语义的理解而非单纯的关键字匹配。

8、对话机器人

对话机器人可以分成两种,闲聊和任务导向型。闲聊机器人基本上都是在尬聊,有一堆问题待解决,比如角色一致性,多轮会话,对上下文保有记忆等。任务导向的对话机器人能够协助人完成某件事,比如订机票,调闹钟,问天气等。我们需要一个模型把过去已经有的历史对话,统统都输入到一个模型中,这个模型可以输出一个序列当作现在机器的回复。

9、知识图谱

知识图谱的构建简化地去理解可以看作是实体提取和关系抽取。实体可以是人可以是物,也可以是组织机构,非常灵活。关系可以是人与人的关系,可以是谓语动作,也可以是企业之间的资本流动。信息抽取任务希望从海量文本中自动挖掘出实体关系三元组。这个问题其实非常地复杂。这里只是简单地讲。

10、实体命名识别

这类任务的主要目的就是从一段文本中提取实体。那什么是实体呢?可以是人名、地名、产品名、公司名等等很多很多。具体提取什么实体需要根据我们的实际业务场景来进行。

听完上面关于NLP的十大任务场景是不是对NLP就有了一个大概的了解了呢。如果只是了解那就足够,但是如果你想从事NLP工作的话,那只了解是不够的。首先你在学NLP之前还得先学会机器学习和深度学习,而想要学会必须得有线性代数和概率论的基础,所以说大学学好高数很重要啊!

另外我之前写了个关于NLP入门任务的教程放在github上了,该项目主要是为了完成复旦大学邱锡鹏老师的NLP入门练习以及给想要入门NLP的同学一个教程,看目前获得的star数量还是不旺我的一番心血呀!该项目地址为:https://github.com/Alic-yuan/nlp-beginner-finish

码字不易,点个赞再走吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来日正长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值