预处理原则:根据不同任务,考虑希望得到什么效果,有什么是会影响到最终呈现效果的,留下需要的,去除不需要的。
一、文本数据清洗
为什么:有碍于数据准确
主要考虑去除有碍于数据准确的因素,如非中文的字符:符号、数字、英文,其次是文本内容。
- 符号:爬虫时的html标签、url等;无意义表情符号(根据任务需求,如情感分析需有意义)
- 数字、英文:长串混乱等
- 文本内容:广告、低俗话语等
二、分词
为什么:神经网络需在字词之间处理其存在的关系、意义,由因生果
主要考虑后面Embedding操作时,希望是使用字粒度还是词粒度。
难点:1、歧义识别(同个词在不同句子意思不同) 2、新词识别
-
词粒度:把句子分成一个个词
· 基于字符串匹配的方法
· 基于理解的方法
· 基于统计的方法:jieba分词 -
字粒度:把句子分成一个个字
三、停用词
为什么:在搜索引擎等任务中,减少空间提高搜索效率
去除使用广泛和意义小的词如的、了等,或符号如’,’、’。'等
四、词性标注
为什么:根据词性可更好理解句法、句意,更能消除歧义、帮助命名实体识别
北大词性标注集部分标注词性如下表所示:
Ag 形语素 形容词性语素。形容词代码为a,语素代码g前面置以A。
a 形容词 取英语形容词adjective的第1个字母。
ad 副形词 直接作状语的形容词。形容词代码a和副词代码d并在一起。
an 名形词 具有名词功能的形容词。形容词代码a和名词代码n并在一起。
b 区别词 取汉字“别”的声母。
c 连词 取英语连词conjunction的第1个字母。
Dg 副语素 副词性语素。副词代码为d,语素代码g前面置以D。
d 副词 取adverb的第2个字母,因其第1个字母已用于形容词。
e 叹词 取英语叹词exclamation的第1个字母。
f 方位词 取汉字“方” 的声母。
g 语素 绝大多数语素都能作为合成词的“词根”,取汉字“根”的声母。
h 前接成分 取英语head的第1个字母。
i 成语 取英语成语idiom的第1个字母。
j 简称略语 取汉字“简”的声母。
k 后接成分
l 习用语 习用语尚未成为成语,有点“临时性”,取“临”的声母。
m 数词 取英语numeral的第3个字母,n,u已有他用。
Ng 名语素 名词性语素。名词代码为n,语素代码g前面置以N。
n 名词 取英语名词noun的第1个字母。
nr 人名 名词代码n和“人(ren)”的声母并在一起。
ns 地名 名词代码n和处所词代码s并在一起。
nt 机构团体 “团”的声母为t,名词代码n和t并在一起。
nz 其他专名 “专”的声母的第1个字母为z,名词代码n和z并在一起。
o 拟声词 取英语拟声词onomatopoeia的第1个字母。
p 介词 取英语介词prepositional的第1个字母。
q 量词 取英语quantity的第1个字母。
r 代词 取英语代词pronoun的第2个字母,因p已用于介词。
s 处所词 取英语space的第1个字母。
Tg 时语素 时间词性语素。时间词代码为t,在语素的代码g前面置以T。
t 时间词 取英语time的第1个字母。
u 助词 取英语助词auxiliary 的第2个字母,因a已用于形容词。
Vg 动语素 动词性语素。动词代码为v。在语素的代码g前面置以V。
v 动词 取英语动词verb的第一个字母。
vd 副动词 直接作状语的动词。动词和副词的代码并在一起。
vn 名动词 指具有名词功能的动词。动词和名词的代码并在一起。
w 标点符号
x 非语素字 非语素字只是一个符号,字母x通常用于代表未知数、符号。
y 语气词 取汉字“语”的声母。
z 状态词 取汉字“状”的声母的前一个字母。
五、同义词识别
为什么:提高泛化能力
中文近义词工具包:Synonyms、哈工大的pyltp
六、命名实体识别
为什么:在信息检索、抽取,翻译等任务中,识别到每块实体进行相应任务
三大类(实体类、时间类和数字类)和七小类(人名、地名、机构名、时间、日期、货币和百分比)命名实体
· 基于规则的方法
· 基于统计的方法
· 混合方法