NLP基础-自然语言处理的基本过程
NLP基础-自然语言处理的基本过程

NLP基础-自然语言处理的基本过程

一、获取语料

数据集

语料是NLP的生命之源,所有的NLP问题都是从语料中学到数据分布的规律

语料的分类

  • 单语料
  • 平行语料
  • 复杂结构
类型 说明 例子
单语料 只有句子和句子集合 整理好的英文文档,中文古诗数据集
平行语料 有句子和句子之间的1 vs 1对应关系,有标注的句子,对话问答和翻译中比较多 中英文翻译数据集,对话数据集
复杂结构 复杂的结构 知乎的回答和评论数据 知乎的回答和评论数据

语料和数据集例子

  • Penn Treebank
  • Daily Dialog
  • WMT-1x翻译数据集
  • 中文闲聊数据集
  • 中国古诗数据集

英文语言模型语料总结

http://nlpprogress.com/english/language_modeling.html

获取方法

  • 公开数据集
  • 爬虫
  • 社交工具埋点
  • 数据库

Penn Treebank

例句:

no price for the new shares has been set instead the companies will leave it up to the marketplace to decide cray computer has applied to trade on nasdaq

image-20240109165112247

Daily Dialog

英文对话经典bench mark数据集

WMT-1x翻译数据集

官网:http://www.statmt.org/wmt18/translation-task.html

测试集:

image-20240109165135511

平行语料:

image-20240109105301674

中文闲聊数据集

image-20240109105341415

中国古诗数据集

image-20240109105413521

二、预处理

NLTK

Tokenize :

image-20240109105518267

image-20240109105532414

命名实体识别

image-20240109105548572

句法树构造

image-20240109105630391

image-20240109105651623

Jieba分词

image-20240109105722060

image-20240109105736977

SnowNLP

image-20240109105817636

Pyrouge

  • 评测文本摘要好坏开源库

image-20240109105911364

LTP

image-20240109105944777

常用python-based机器学习框架

  • Pytorch
    • 本门课程正课主要示例代码框架
    • 从诞生起即是动态图
    • 对NLP任务非常友好
    • https://pytorch.org/
  • Tensorflow
  • Keras

Sklearn

image-20240109110109730

Gensim

image-20240109110159097

三、特征工程

简单的特征工程

Numpy

https://numpy.org/

TF-IDF

  • Term Frequency

    • The specihcity of a term can be quantihed as an inverse function of the number of documents in which it occurs.
    • 高频词往往能够反馈文章的主要思想
    • 购买、折扣、优惠==>广告、电商等
    • 恐怖主义、叙利亚、斩首==>国际政治
    • 威尼斯、圣托里尼、极光、洲际酒店==>旅游
  • Inverse Document Frequency

    • The specihcity of a term can be quantihed as an inverse function of the number of documents in which it occurs.
    • 很多无实际意义的虚词词频也很高
    • 的、是、好==>无实际意义的虚词,几乎所有文章都存在
    • 一个直观结论:词频高但是文档频率低的词往往能反馈文档的主题

    image-20240109110839203

image-20240109110850416

image-20240109110856700

  • 词云制作

    image-20240109110936231

Word2Vec

  • 使用一个欧式空间向量表示词汇

image-20240109111008381

四、模型介绍

  • 朴素贝叶斯
  • 线性回归模型
  • 逻辑回归
  • CNN
  • LSTM
  • Transformer
  • Sequence to Sequence

朴素贝叶斯

image-20240109163503840

image-20240109163559212

image-20240109163620809

image-20240109163633763

image-20240109163643954

image-20240109163654242

image-20240109163726333

image-20240109163736794

数据集:https://github.com/observerss/ngender

image-20240109163834220

  • 代码示例

    • 初始化
    • 统计频率
    • 得到先验概率、联合概率
    • 根据后验概率判决

    image-20240109163917078

    image-20240109163936282

概率计算

image-20240109164011619

线性回归

image-20240109164036830

逻辑回归

image-20240109164059122

SVM

image-20240109164117499

CNN

image-20240109164200865

RNN

image-20240109164225102

Transformer

image-20240109164311770

Sequence to Sequence

image-20240109164330253

五、评测标准

NLP常见评测标准

  • Accuracy

    image-20240109164407715

  • F1-Score

    image-20240109164437578

  • AUC

    image-20240109164518323

  • BLEU

    • 多用于翻译和文本生成
    • image-20240109164640838
  • Rouge-L

    • 文本摘要中重要指标
    • image-20240109164716405

六、项目介绍

有趣的NLP项目

image-20240109164736437

image-20240109164755215

发表回复

您的电子邮箱地址不会被公开。