自然语言处理的知识点框架图

自然语言处理的知识点框架图

自然语言应用

(按技术层面划分)

基础技术

  • 词法分析
  • 句法分析
  • 命名实体识别
  • 语义分析
  • 篇章分析
  • 语言模型
  • 词性标注

核心技术

  • 机器翻译

    • BLEU 得分
  • 文本摘要
  • 文本分类
  • 阅读理解
  • 文本生成
  • 情感分析

    • 基于词典的情感分析方法
    • 基于机器学习的情感分析方法
    • 分析的对象和结果

      • 文本

        • 句子
        • 段落
        • 文档
      • 情绪

        • 正面
        • 负面
  • 智能问答

    • 按答案生成方式分类分类

      • 检索式问答系统
      • 生成式问答系统
    • 按求解问题分类

      • 事实型问题
      • 列表型问题
      • 定义型问题
      • 关系型问题
      • 观点型问题

应用

  • 智能客服
  • 搜索引擎
  • 个人助理
  • 推荐系统
  • 舆情分析
  • 知识图谱

Python 适用的常见 NLP 工具

中文综合 NLP 工具包

  • THULAC

  • LTP

  • BaiduLac

  • HanLP

  • FastNLP

  • SnowNLP

  • Tony-Wang/YaYaNLP

  • SeanLee97/小明NLP

  • rockingdingo/DeepNLP

  • smilelight/lightNLP

  • deepwel/Chinese-Annotator

  • taozhijiang/chinese_nlp

  • rockyzhengwu/FoolNLTK

  • smoothnlp/SmoothNLP

  • synyi/poplar

  • ownthink/Jiagu

英语或多语言综合 NLP 工具包

  • stanfordnlp/stanza

  • NLTK

  • spaCy

  • BrikerMan/Kashgari

  • chartbeat-labs/textacy

  • RaRe-Technologies/gensim

中文分词

  • Jieba 结巴中文分词

  • 北大中文分词工具

  • kcws 深度学习中文分词

  • hankcs/ID-CNN-CWS

  • Genius 中文分词

  • loso 中文分词

  • “哑哈”中文分词

  • Moonshile/ChineseWordSegmentation

信息提取

问答和聊天机器人

中文语料库

  • 开放知识图谱OpenKG.cn

  • 开放中文知识图谱的schema

  • 大规模中文概念图谱CN-Probase

  • ownthink / 1.4亿中文知识图谱开源下载

  • 农业知识图谱

  • 中文 Wikipedia Dump

  • 基于不同语料、不同模型(比如BERT、GPT)的中文预训练模型

  • OpenCLaP 多领域开源中文预训练语言模型仓库

  • to-shimo/chinese-word2vec

  • Embedding/上百种预训练中文词向量

  • 腾讯 AI - 超过 800 万个中文单词短语提供 200 维向量表示

  • 中文预训练BERT with Whole Word Masking

  • 中文 GPT2 训练代码

  • 中文语言理解测评基准 ChineseGLUE

  • 中华新华字典数据库(歇后语、汉字、词语、成语)

  • Synonyms 中文近义词工具包

  • dgk_lost_conv 中文对白语料

  • 中文突发事件语料库

  • PTT 八卦版問答中文語料(繁体)

  • 中文公开聊天语料库

  • 中国股市公告信息爬取

  • tushare 财经数据接口

  • SmoothNLP 金融文本数据集

  • 保险行业语料库

  • 中华古诗词数据库

  • DuReader Machine Reading Comprehension

  • 中文语料小数据

  • 中国文学文本的话语级命名实体识别和关系提取数据集

  • 中文文本推断项目

  • 大规模中文自然语言处理语料

  • 中文人名语料库

  • 中文敏感词词库

  • 中文简称词库

  • 公司名语料库

  • 中文实体情感知识库

  • 漢語拆字字典(繁体)

  • 情感/观点/评论 倾向性分析

  • 中文阅读理解数据库

常用于 NLP 的深度学习模型

循环模型

  • RNN

    • 双向 RNN
  • LSTM

    • 双向 LSTM
  • GRU
  • TextRNN

卷积模型

  • TextCNN
  • DCNN

递归模型

  • Syntatically-Untied RNN

Seq2seq

(2014)

Transformer

(Google, 2017)

  • Self-Attention
  • Multi-Head Attention
  • Masked Multi-Head Attention

BERT

(Google, 2019)

  • 自编码模型 (擅长自然语言理解)

GPT-3

(OpenAI, 2020)

  • 自回归模型 (擅长自然语言生成)

发展历史

基于规则

  • 无法使用计算机进行泛化
  • 鲁棒性差

基于统计

  • 隐马尔可夫模型 Hidden Markov Model
  • 朴素贝叶斯 Naive Bayes
  • 条件随机场 Conditional Random Fields
  • K-近邻算法 K-Nearest Neighbors algorithm, KNN
  • 支持向量机 Support Vector Machine, SVM
  • 决策树 Decision Tree
  • K-均值 K-means

基于深度学习

一般应用处理流程

1. 语料获取

  • 已有语料
  • 公开数据集
  • 爬虫

2. 数据预处理

  • 语料清洗
  • 分词
  • 词性标注
  • 去停用词

3. 特征工程

  • 向量化

4. 特征选择

  • 合适的
  • 表达能力强的

5. 模型选择

  • 机器学习模型
  • 深度学习模型

6. 模型训练

  • 模型微调

7. 模型评估

  • 准确率
  • 召回率
  • 精准度
  • F1 值
  • ROC、AUC

8. 投产上线

  • 线下训练后部署
  • 在线持久化训练

自然语言应用

(按两端的类型来划分)

一对一

  • 中文分词
  • 词性标注
  • 语义角色标注

一对多

  • 文本生成
  • 图像描述生成

多对一

  • 文本分类
  • 情感分析

多对多

  • 机器翻译
  • 自动摘要
  • 聊天机器人

Attention 机制

(2015)

保留隐态各状态提供给解码器

自然语言应用

(按照阅读和理解来分类)

自然语言理解 NLU

自然语言生成 NLG

  • 文本到文本的生成

    • 文本摘要

      • 抽取式摘要

        • 论文自动生成摘要
        • 根据文字直播生成赛事报道
      • 生成式摘要

    • 古诗生成
    • 文本复述

      • 使用机器翻译的方法生成文本复述
  • 数据到文本的生成

    • 新闻报道生成
  • 图像到文本的生成

    • 为图像生成解释性文本
    • 故事生成
    • 基于图像的问答任务