赞
踩
直接上一些别人整理的东西:
数据不够怎么办,常见的数据增强的方法:
词汇替换
Back Translation(回译)
使用正则表达式应用的简单模式匹配变换
随机噪声注入(句子中添加一些随机单词的拼写错误、占位符替换、句子打乱,随机插入、交换、删除)
生成式的方法生成一堆数据
语法树操作
句子打乱
或者看下面:
1)中文首先需要分词,可以采用结巴分词、HanNLP、刨丁解牛等分词工具;
(2)数据规范化处理(Normalization):比如通常会把文本中的大写转成小写,清除文本中的句号、问号、感叹号等特殊字符,并且仅保留字母表中的字母和数字。小写转换和标点移除是两个最常见的文本 Normalization 步骤。是否需要以及在哪个阶段使用这两个步骤取决于你的最终目标。
(3)Tokenization,Token 是“符号”的高级表达。一般指具有某种意义,无法再分拆的符号。在英文自然语言处理中,Tokens 通常是单独的词。因此,Tokenization 就是将每个句子分拆成一系列词。可以使用NLTK工具箱来完成相关操作。
(4)Stop Word 是无含义的词,例如 ‘is’/‘our’/‘the’/‘in’/‘at’ 等。它们不会给句子增加太多含义,单停止词是频率非常多的词。 为了减少我们要处理的词汇量,从而降低后续程序的复杂度,需要清除停止词。
(5)Part-of-Speech Tagging:还记得在学校学过的词性吗?名词、代词、动词、副词等等。识别词在句子中的用途有助于我们更好理解句子内容。并且,标注词性还可以明确词之间的关系,并识别出交叉引用。同样地,NLTK 给我们带来了很多便利。你可以将词传入 PoS tag 函数。然后对每个词返回一个标签,并注明不同的词性。
(6)Named Entity 一般是名词短语,又来指代某些特定对象、人、或地点 可以使用 ne_chunk()方法标注文本中的命名实体。在进行这一步前,必须先进行 Tokenization 并进行 PoS Tagging。
(7)Stemming and Lemmatization:为了进一步简化文本数据,我们可以将词的不同变化和变形标准化。Stemming 提取是将词还原成词干或词根的过程。
(8)一些词在句首句尾句中出现的概率不一样,统计N-GRAM特征的时候要在句首加上BOS,句尾加上EOS作标记。
(9)把长文本分成句子和单词这些fine granularity会比较有用。
(10) 一般会有一个dictionary,不在dictionary以内的单词就用UNK取代。
(11)单词会被转成数字(它对应的index,从0开始,一般0就是UNK)。
(12)做机器翻译的时候会把单词转成subword units。
注:参考文章见正文各个链接。感谢各位大佬的分享。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。