人类语言处理nlp部分笔记——一、NLP任务总览

参考自李宏毅课程-人类语言处理

一、NLP任务总览

1 Introduction

NLP(Natural Language Processing)关注以下两个部分,文本生成文本,文本生成类别:

根据输入序列和输出序列的对应关系,又可以细分为以下类别:

2 Part-of-Speech(POS) Tagging

POS Tagging就是给句子中的每个word做词性的判断,是动词,还是形容词,还是名词。输入是文本序列,输出是序列中每个token对应的词性类别,对POS Tagging的前处理可能并不是必要的,因为厉害的模型训练的时候可能自己就学到了,比如Bert。

Word Segmentation

Word Segmentation(分词),是前处理的一个内容,输入是文本序列,输出是每个文字对应的类别(是否是词的结尾),这个在现在也不是必须的,厉害的模型可以自己学到。

4 Parsing

Parsing又分为Constituency Parsing和Dependency Parsing,也是前处理。输入的是文本,输出的是树状结构,这种不像"输入文本,输出文本"或"输入文本,输出类别"这两大类,之后会单独讨论。

5 Corference Resolution

Corference Resolution称为指代消解,其目的是找出一个段落中属于同一个东西的短语或词汇。这个也不在那两大类中。

6 Summarization

Summarization(摘要)是输入一篇文章,输出这篇文章的摘要,有两种做法:Extractive summarization和Abstractive summarization。前者是从原文中抄几句话合成摘要,后者是要概括全文的主要内容(鼓励抄一些原文内容)

相当于,Extractive summarization是输入文本序列,输出每个token类别(这里的token是句子),是否放到摘要,Abstractive summarization是输入文本序列,输出摘要序列。

7 Machine Translation

Machine Translation(机器翻译)是一个典型的seq2seq模型,无监督的机器翻译是一个主要的研究方向,因为对于某些语言连文字都没有,很难收集到成对的翻译资料。

8 Grammar Error Correction

Grammar Error Correction也是一个seq2seq的模型,输入一个错误语法的句子,输出一个正确语法的句子,也可以简化任务为分类模型,给每个单词分类,分为"正确","替换","追加",这样就好像能改句子语法。

9 Sentiment classification

情感分类是典型的序列分类任务,评价一段话是好评还是差评,输入的是一段文本序列,输出一个类别。

10 Stance Detection

Stance Detection就是立场检测,检测两个句子的立场是否相同,立场可以分为四种,分别是"Support","Denying","Querying","Commenting",简称为(SDQC)。输入是多个文本序列,输出是一个类别,这个技术常被用于Veracity Prediction(真实性检测)。

11 Natural Language Inference(NLI)

NLI就是自然语言推理,给一个前提,再给一个假设,模型判断在这个前提下,输入的假设是否成立,也就是给模型输入一个前提和一个假设,然后做一个分类,判断是"矛盾","蕴含"还是"中立"。

搜索引擎之前是基于关键词的匹配,现在是用深度学习模型,从宏观上讲,就是输入搜索的句子和文章,输出句子和文章的相似度,然后按相似度排序。

13 Question Answering(QA)

QA在没有用深度学习之前,比较有名的是IBM的Watson,它们都是基于一些传统的机器学习模型,先对输入的问题进行前处理,把问题分到一个很小的类别当中,然后根据类别和问题从数据库中找备选答案,然后对答案进行相关性的评分,最后把这些备选答案合并和排序,得到最终答案,过程十分复杂。

有了深度学习以后,就是输入问题和知识库,输出一个答案。

14 Dialogue

对话可以分为聊天型和任务导向型。NLU是Nutural Language Understanding,NLU的子任务有意图识别(Intent Classification)、槽位填充(Slot Filling),NLG是Nutural Language Generation。


15 Knowledge Extraction

Knowledge Extraction就是去构建知识图谱(Knowledge Graph),比如有一大堆资料,先从这对资料中抽取一些entities,然后再根据资料给关联的entities之间画上relation,这部分说的很简化,实际上并不是如此简单。

15.1 Name Entity Recognition(NER)

NER和POS Tagging和Slot Filling做的事差不多,给一段文本,然后给每个token打标签,比如Harry Potter就是People,Hogwarts就是organizations等等。这里的entity的种类是可以根据我们关心的内容去改变的。

15.2 Relation Extraction

Relation Extraction是一个分类的问题,事先定义好有哪些relations,然后输入两个entities和与这两个entities相关的句子,得到最终的relation,类别中有一个"none"类,表示没有关系。

16 Benchmarks

机器到底理解人类的语言到什么样的程度,有一些基准,比如Glue,Super Glue和Decanlp。

相关推荐
pop_xiaoli1 分钟前
effective-Objective-C 第三章阅读笔记
笔记·ios·objective-c
猫头虎4 分钟前
OpenClaw相关的开源AI项目汇总大全:本文涵盖近期所有OpenClaw相关的GitHub高星star热门项目
运维·人工智能·macos·docker·容器·开源·github
陈天伟教授6 分钟前
人工智能应用- 搜索引擎:03. 网页定位
人工智能·神经网络·机器学习·搜索引擎·dnn
relis9 分钟前
Zvec 架构深度解析:阿里巴巴开源的轻量级进程内向量数据库
人工智能
测试_AI_一辰14 分钟前
项目实战15:Agent主观题怎么评测?先定底线,再做回归
开发语言·人工智能·功能测试·数据挖掘·ai编程
东坡肘子14 分钟前
祝大家马年新春快乐! -- 肘子的 Swift 周报 #123
人工智能·swiftui·swift
乾元16 分钟前
提示词注入:针对 LLM 的 SQL 注入式攻击分析
运维·人工智能·安全·网络安全·架构·系统架构·自动化
勾股导航21 分钟前
灰狼优化算法GWO
人工智能·深度学习·机器学习
sheyuDemo26 分钟前
关于深度学习的d2l库的安装
人工智能·python·深度学习·机器学习·numpy
政安晨26 分钟前
政安晨【人工智能项目随笔】OpenClaw网关与子节点完整配对指南——从零构建分布式AI助手网络
人工智能·ai网关·openclaw·分布式ai助手网络·openclaw分布式子节点·分布式ai节点·主节点-子节点