文本预处理中包含的主要环节
文本处理的基本方法
• 分词
分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符, 分词过程就是找到这样分界符的过程.
分词的作用:
词作为语言语义理解的最小单元, 是人类理解文本语言的基础. 因此也是AI解决NLP领域高阶任务, 如自动问答, 机器翻译, 文本生成的重要基础环节
流行使用jieba“中文分词组件”,支持多种分词模式,还可以繁体分词,用户自定义词典分词
流行使用hanlp“中英文分词”

• 词性标注
词性: 语言中对词的一种分类方法,以语法特征为主要依据、兼顾词汇意义对词进行划分的结果, 常见的词性有14种, 如: 名词, 动词, 形容词等.
顾名思义, 词性标注(Part-Of-Speech tagging, 简称POS)就是标注出一段文本中每个词汇的词性.

• 命名实体识别
通常我们将人名, 地名, 机构名等专有名词统称命名实体. 如: 周杰伦, 黑山县, 孔子学院, 24辊方钢矫直机.

作用:
同词汇一样, 命名实体也是人类理解文本的基础单元, 因此也是AI解决NLP领域高阶任务的重要基础环节.


文本张量表示方法
将一段文本使用张量进行表示,其中一般将词汇为表示成向量,称作词向量,再由各个词向量按顺序组成矩阵形成文本表示
• one-hot编码
又称独热编码,将每个词表示成具有n个元素的向量,这个词向量中只有一个元素是1,其他元素都是0,不同词汇元素为0的位置不同,其中n的大小是整个语料中不同词汇的总数.

优势:操作简单,容易理解.
劣势:完全割裂了词与词之间的联系,而且在大语料集下,每个向量的长度过大,占据大量内存

• Word2vec
是一种流行的将词汇表示成向量的无监督训练方法, 该过程将构建神经网络模型, 将网络参数作为词汇的向量表示, 它包含CBOW和skipgram两种训练模式
• Word Embedding
通过一定的方式将词汇映射到指定维度(一般是更高维度)的空间.
广义的word embedding包括所有密集词汇向量的表示方法,如之前学习的word2vec, 即可认为是word embedding的一种.
狭义的word embedding是指在神经网络中加入的embedding层, 对整个网络进行训练的同时产生的embedding矩阵(embedding层的参数), 这个embedding矩阵就是训练过程中所有输入词汇的向量表示组成的矩阵.


文本语料的数据分析
文本数据分析能够有效帮助我们理解数据语料, 快速检查出语料可能存在的问题, 并指导之后模型训练过程中一些超参数的选择.
• 标签数量分布
• 句子长度分布
• 词频统计与关键词词云
• 获得训练集和验证集的标签数量分布
• 获取训练集和验证集的句子长度分布
• 获取训练集和验证集的正负样本长度散点分布
• 获得训练集与验证集不同词汇总数统计
• 获得训练集上正负的样本的高频形容词词云


文本特征处理
文本特征处理包括为语料添加具有普适性的文本特征, 如:n-gram特征, 以及对加入特征之后的文本语料进行必要的处理, 如: 长度规范. 这些特征处理工作能够有效的将重要的文本特征加入模型训练中, 增强模型评估指标.
• 添加n-gram特征
给定一段文本序列, 其中n个词或字的相邻共现特征即n-gram特征, 常用的n-gram特征是bi-gram和tri-gram特征, 分别对应n为2和3.
• 文本长度规范
一般模型的输入需要等尺寸大小的矩阵, 因此在进入模型前需要对每条文本数值映射后的长度进行规范, 此时将根据句子长度分布分析出覆盖绝大多数文本的合理长度, 对超长文本进行截断, 对不足文本进行补齐(一般使用数字0), 这个过程就是文本长度规范.


数据增强方法
• 回译数据增强法
回译数据增强目前是文本数据增强方面效果较好的增强方法, 一般基于google翻译接口, 将文本数据翻译成另外一种语言(一般选择小语种),之后再翻译回原语言, 即可认为得到与与原语料同标签的新语料, 新语料加入到原数据集中即可认为是对原数据集数据增强

学习了回译数据增强优势:
操作简便, 获得新语料质量高

学习了回译数据增强存在的问题:
在短文本回译过程中, 新语料与原语料可能存在很高的重复率, 并不能有效增大样本的特征空间

学习了高重复率解决办法:
进行连续的多语言翻译, 如: 中文–>韩文–>日语–>英文–>中文, 根据经验, 最多只采用3次连续翻译, 更多的翻译次数将产生效率低下, 语义失真等问题

Jieba词性对照表

  • a 形容词

    • ad 副形词
    • ag 形容词性语素
    • an 名形词
  • b 区别词
  • c 连词
  • d 副词
    • df
    • dg 副语素
  • e 叹词
  • f 方位词
  • g 语素
  • h 前接成分
  • i 成语
  • j 简称略称
  • k 后接成分
  • l 习用语
  • m 数词
    • mg
    • mq 数量词
  • n 名词
    • ng 名词性语素
    • nr 人名
    • nrfg
    • nrt
    • ns 地名
    • nt 机构团体名
    • nz 其他专名
  • o 拟声词
  • p 介词
  • q 量词
  • r 代词
    • rg 代词性语素
    • rr 人称代词
    • rz 指示代词
  • s 处所词
  • t 时间词
    • tg 时语素
  • u 助词
    • ud 结构助词 得
    • ug 时态助词
    • uj 结构助词 的
    • ul 时态助词 了
    • uv 结构助词 地
    • uz 时态助词 着
  • v 动词
    • vd 副动词
    • vg 动词性语素
    • vi 不及物动词
    • vn 名动词
    • vq
  • x 非语素词
  • y 语气词
  • z 状态词
    • zg

Hanlp词性对照表
【Proper Noun——NR,专有名词】
【Temporal Noun——NT,时间名词
【Localizer——LC,定位词】如“内”,“左右”
【Pronoun——PN,代词】
【Determiner——DT,限定词】如“这”,“全体”
【Cardinal Number——CD,量词】
【Ordinal Number——OD,次序词】如“第三十一”
【Measure word——M,单位词】如“杯”
【Verb:VA,VC,VE,VV,动词】
【Adverb:AD,副词】如“近”,“极大”
【Preposition:P,介词】如“随着”
【Subordinating conjunctions:CS,从属连词】
【Conjuctions:CC,连词】如“和”
【Particle:DEC,DEG,DEV,DER,AS,SP,ETC,MSP,小品词】如“的话”
【Interjections:IJ,感叹词】如“哈”
【onomatopoeia:ON,拟声词】如“哗啦啦”
【Other Noun-modifier:JJ】如“发稿/JJ 时间/NN”
【Punctuation:PU,标点符号】
【Foreign word:FW,外国词语】如“OK

pytorch:http://121.199.45.168:8020/1/

自然语言处理入门:http://121.199.45.168:8005/

文本预处理:http://121.199.45.168:8003/1/#11

经典序列模型:http://121.199.45.168:8004/1/

RNN及其变体:http://121.199.45.168:8002/1/

Transformer:http://121.199.45.168:8001/1/

迁移学习:http://121.199.45.168:8007/1/

文本预处理的一些知识相关推荐

  1. 【NLP】文本预处理:删除单词停用词

    作者 | Chetna Khanna 编译 | VK 来源 | Towards Data Science 我们很清楚这样一个事实:计算机可以很容易地处理数字. 然而,我们掌握的大部分信息都是以文本的形 ...

  2. U1C2 文本预处理

    U1C2 Text pre-processing 一.正则表达式 - Regular Expressions 1.基本正则表达式模式 Basic Regular Expression Patterns ...

  3. 中文文本处理总结(读取文本、文本预处理、分词、去除停用词)

    中文文本处理总结(读取文本.文本预处理.分词.去除停用词)  针对前面学习的 Python读取文本内容.中文文本预处理.利用jieba对中文进行分词.中文分词后去除停用词.调整jieba分词结果,我们 ...

  4. NLP任务中的文本预处理步骤、工具和示例

    作者 | Viet Hoang Tran Duong 来源 | DeepHub IMBA 头图 | CSDN付费下载于视觉中国 数据是新的石油,文本是我们需要更深入钻探的油井.文本数据无处不在,在实际 ...

  5. Python文本预处理:步骤、使用工具及示例

    作者 | Data Monster 译者 | Linstancy 编辑 | 一一 出品 | AI科技大本营(ID:rgznai100) 本文将讨论文本预处理的基本步骤,旨在将文本信息从人类语言转换为机 ...

  6. 文本预处理的基本方法(分词、词性标注、命名实体识别)

    文本预处理及其作用 文本语料在输送给模型前一般需要一系列的预处理工作, 才能符合模型输入的要求, 如: 将文本转化成模型需要的张量, 规范张量的尺寸等, 而且科学的文本预处理环节还将有效指导模型超参数 ...

  7. wordcloud里面设置mask加载不出来词频_一条龙搞定情感分析:文本预处理、加载词向量、搭建RNN

    IMDB Sentiment Classification from scratch Author: Beyond Time: 2019.04.26 情感分析是上手NLP的最简单的任务之一,它就是一个 ...

  8. 数据科学和人工智能技术笔记 五、文本预处理

    五.文本预处理 作者:Chris Albon 译者:飞龙 协议:CC BY-NC-SA 4.0 词袋 # 加载库 import numpy as np from sklearn.feature_ext ...

  9. 练习题 - 基于快速文本标题匹配的知识问答实现(二,实现篇)

    承接练习题 - 基于快速文本标题匹配的知识问答实现(一,基础篇),前篇主要把qdr这个项目解剖了一下,现在开始应用做一下问答. 可以看到qdr这个项目的特点是:可以快速比对两个文本之间的相似性,而且计 ...

最新文章

  1. springmvc整合mybatis框架源码 bootstrap html5 mysql oracle maven SSM
  2. python 清空list 方法
  3. ubuntu linux下面运行《暗黑破坏神2》和英雄无敌3-死亡阴影
  4. 趣谈unicode,ansi,utf-8,unicode big endian这些编码有什么区别
  5. Vue第一部分(3):事件绑定与标签属性赋值
  6. C语言——选择法排序_数组
  7. (15)HTML面试题集锦
  8. C语言小知识---奇葩的小数
  9. 计算机组成原理中机器码怎么看,《计算机组成原理》汇编指令机器码对应列表...
  10. 40个免费flash相册程序
  11. 南银法巴消费金融拟设线下直营中心,与南京银行CFC联动
  12. 如何用python刷屏_利用python实现在微信群刷屏的方法
  13. 单片机学习笔记-基础知识
  14. R数据分析:cox模型如何做预测,高分文章复现
  15. 真的明白Code、RO-data、RW-data和ZI-data吗?
  16. dgraph的使用总结--------docker安装使用
  17. Java的运算符-取整,取绝对值,取余数
  18. 推荐:常用的代码编辑器!
  19. 企业CIO如何做好软件资产管理及优化
  20. 【如何快速的开发一个简单的iOS直播app】(代码篇)

热门文章

  1. iOS积分抽奖Demo,可以人为控制不同奖项的得奖率
  2. python弹球小游戏程序设计_Python写的弹球小游戏
  3. 冒险岛数据封包分网站源程序析
  4. 证明在(0,π/2)上,tanx>x>sinx
  5. 使用SSM框架开发企业级应用——北大青鸟ACCP8.0总结
  6. ASP.NET WebApi(四)【身份认证解决方案:Basic基础认证】
  7. 金额数字的格式化方法
  8. 电信重组,新机遇还是新危机?
  9. COBOL语言初级教程(1)--COBOL简介
  10. java单词接龙,百度2016年暑期实习生笔试题 —— 单词接龙