NLP入门+文本预处理
什么是自然语言处理?
让计算机去理解人类语言
认识文本预处理
文本预处理及作用
前提:之前用pandas等进行数据分析,也属于文本预处理的范围
文本预处理作用:将文本转换成模型能够识别的形式,进而实现模型的训练
文本预处理的基本方法:
分词:
分词的意义:
一般实现模型训练的时候,模型接受的文本基本最小单位是词语,因此我们需要对文本进行分词
词语是语意理解的基本单元
英文具有天然的空格分隔符,而中文分词的目的:寻找一个合适的分词边界,进行准确分词
常用分词工具:
jieba分词工具
精确模式:就是按照人类擅长的表达词汇的习惯来分词
全模式分词:将尽可能成词的词汇分割出来
搜索引擎模式:
在精确模式分词的基础上,将长粒度的词再次切分
支持中文繁体分词
支持用户自定义词典
词典的意义:
可以根据自定义词典,修改jieba分词方式,优先考虑词典里面的词来切分
格式:词语 词频(可省略) 词性(可省略)
命名实体识别(NER)
定义:
命名实体:通常指: 人名,地名,机构名等专有名词
NER:从一段文本中识别出上述描述的命名实体
实现方式:
模型训练(后续项目)
词性标注
定义:
对每个词语进行词性的标注: 动词,名词,形容词等
文本张量的表示方式
文本张量表示
意义:将文本转换为向量(数字)的形式,使得模型能够识别进而实现训练,一般是进行词向量的表示实现的方式:
one-hot
word2Vec
wordEmbedding
One-Hot 词向量表示
定义:针对每一个词汇,都会用一个向量表示,向量的长度是n,n代表去重 之后的词汇总量,而且向量只有0,和1两种数字
俗称:独热编码,01编码
ONe-Hot编码的缺点
割裂了词与词之间的联系
如果n过大,会导致占用大量的内存(维度爆炸)
Word2Vec模型
Word2Vec是一种无监督训练方法,本质是训练一个模型,将模型的参数矩阵当作所有词汇的词向量表示
两种训练方式: cbow,skipgram
CBOW介绍
给一段文本,选择一定的窗口,然后利用上下文预测中间目标值