本节总结一下NLP中常见的任务,从一个全局观来看看NLP:
一:词法分析
- 分词 (Word Segmentation/Tokenization, ws): 在对文本进行处理的时候,会对文本进行一个分词的处理,下面是一个常用的词库。
库 | 开源or商业 | 支持语言 | 分词 | 词性标注 | 命名实体识别 | 费用 |
---|---|---|---|---|---|---|
HanLP | 开源 | Java, C++, Python | 有 | 有 | 有 | 无 |
Jieba | 开源 | Java, C++, Python | 有 | 无 | 无 | 无 |
FudanNLP | 开源 | Java | 有 | 有 | 有 | 无 |
LTP | 开源 | Java, C++, Python | 有 | 有 | 有 | 无 |
THULAC | 开源 | Java, C++, Python | 有 | 有 | 无 | 无 |
BosonNLP | 商业 | REST | 有 | 有 | 有 | 免费调用 |
百度NLP | 商业 | REST | 有 | 有 | 有 | 待定 |
腾讯文智 | 商业 | REST | 有 | 有 | 有 | 按次数/按月 |
阿里云NLP | 商业 | REST | 有 | 有 | 有 | 按次数 |
- 新词发现 (New Words Identification, nwi):这个好理解,因为网络上总是有新的词汇出现,比如以前的\'神马\'这类的网络流行词汇。
- 形态分析 (Morphological Analysis, MA):分析单词的形态组成,包括词干(Sterms)、词根(Roots)、词缀(Prefixes and Suffixes)等
- 词性标注 (Part-of-speech Tagging, POS):确定文本中每个词的词性。词性包括动词(Verb)、名词(Noun)、代词(pronoun)等。开源的人民日报数据中就按照规范对句子中的每个词的词性给标注好了。可以对着规范来看。https://www.jianshu.com/p/30fa95e143bf
- 拼写校正 (Spelling Correction, SP):顾名思义,需要找到错误的词,并对错误的词进行修改。
二:句法分析
- 语言模型 (Language Modeling, LM):语言模型的应用还是挺广泛的,NLP之语言模型学习笔记给出了对语言模型的详细介绍。现在好多模型都是基于LM来的。
- 组块分析 (Chunking):标出句子中的短语块,例如名词短语(NP),动词短语(VP)等
- 超级标签标注 (Super Tagging):给每个句子中的每个词标注上超级标签,超级标签是句法树中与该词相关的树形结构
- 成分句法分析 (Constituency Parsing, CP):分析句子的成分,给出一棵树由终结符和非终结符构成的句法树
- 依存句法分析(Dependency Parsing, DP):分析句子中词与词之间的依存关系,给一棵由词语依存关系构成的依存句法树。
- 语种识别 (Language Identification):确定一段文本是哪一种语言
- 句子边界检测 (Sentence Boundary Detection):给没有明显句子边界的文本加边界。
三:语义分析
-
词汇/句子/段落的向量化表示 (Word/Sentence/Paragraph Vector):这个意思就是word2vec、sentence2vec、paragraph2vec,甚至还有doc2vec。
- 词义消歧 (Word Sense Disambiguation):对有歧义的词,确定其准确的词义
- 语义角色标注 (Semantic Role Labeling):标注句子中的语义角色类标,语义角色,语义角色包括施事、受事、影响等
- 抽象语义表示分析(Abstract Meaning Representation Parsing):AMR是一种抽象语义表示形式,AMR parser把句子解析成AMR结构
- 一阶谓词逻辑演算(First Order Predicate Calculus):
- 框架语义分析 (Frame Semantic Parsing):
四:信息抽取
- 命名实体识别(Named Entity Recognition, NER):从文本中识别出命名实体,实体一般包括人名(PER)、地名(LOC)、机构名(ORG)、时间、日期、货币、百分比等。另外还有更加专业的专业实体。https://arxiv.org/abs/1812.09449一文综述了一下目前采用深度学习的方法对NER进行研究。
- 关系抽取(Relationship Extraction):确定文本中两个实体之间的关系类型。
- 术语抽取(Terminology/Giossary Extraction):从文本中找出符合要求的terminology。
- 事件抽取(Event Extraction):从无结构的文本中抽取结构化事件。
- 实体消歧(Entity Disambiguation, ED):也称语义消歧,是专门用于解决同名实体产生歧义问题的技术。在实际的 语言环境中,经常会遇到某个实体名称对应于多个命名实体对象的问题。
- 实体对齐 (Entity Alignment, EA):也被称为了实体匹配(Entity Matching),是指对于异构数据源知识库中的各个实体,找出属于现实世界中的同一实体。
- 共指消解(Coreference Resolution):确定不同实体的等价描述,包括代词消解和名词消解
- 情感分析(Sentiment Analysis):对文本里面所蕴含的主观性情绪。例如一句话\'我很喜欢这部电影\',那么这个就是一个正向的评价,\'我讨厌这部片子\'那么就是一个负向的评价。
- 意图识别(Intent Detection):对话系统中的一个重要模块,对用户给定的对话内容进行分析,识别用户意图。
- 槽位填充(Slot Filling):也是对话系统中的一个重要模块,从对话内容中分析出于用户意图相关的有效信息。
五:顶层任务
- 机器翻译 (Machine Translation, MT):两种语言的的转换。深度学习里面的很多模型sequence2sequence、Transformer、Bert等模型应用到了机器翻译上面。
- 文本摘要 (Text summarization/Simplication):对较长文本进行内容梗概的提取
- 问答系统 (Question-Answering Systerm, QAS):针对用户提出的问题,系统给出相应的答案
- 对话系统 (Dialogue Systerm, DS):能够与用户进行聊天对话,从对话中捕获用户的意图,并分析执行
- 阅读理解 (Reading Comprehension, RC):机器阅读完一篇文章后,给定一些文章相关问题,机器能够回答
- 自动文章分级 (Automatic Essay Grading, AEG):给定一篇文章,对文章的质量进行打分或分级
1、https://blog.csdn.net/lz_peter/article/details/81588430
2、https://edu.csdn.net/course/play/8673
3、https://github.com/sebastianruder/NLP-progress
4、https://blog.csdn.net/fendouaini/article/details/82027310
作者:奔向算法的喵
链接:https://www.jianshu.com/p/d80b065bdcf0
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。