语料,即语言材料,是构成语料库的基本单元。 所以,人们简单地用文本作为替代,并把文本中的上下文关系作为现实世界中语言的上下文关系的替代品。我们把一个文本集合称为语料库(Corpus),当有几个这样的文本集合的时候,我们称之为语料库集合(Corpora)。(定义来源:百度百科)按语料来源,我们将语料分为以下两种:
纸质或者电子文本资料==》电子化==》语料库。
国内外标准开放数据集(比如国内的中文汉语有搜狗语料、人民日报语料) 或 通过爬虫。
语料预处理大概会占到整个50%-70%的工作量。
基本过程: 数据清洗==》分词==》词性标注==》去停词
语料清洗:在语料中找到感兴趣的内容,将不感兴趣、视为噪音的内容清洗删除。包括:对于原始文本提取标题、摘要、正文等信息,对于爬虫,去除广告、标签、HTML、JS等代码和注释。
常见数据清洗方式:人工去重、对齐、删除和标注等,或规则提取内容、正则表达式匹配、根据词性和命名实体提取,编写脚本或代码批处理等。
分词:将短文本和长文本处理为最小单位粒度是词或词语的过程。
常见方法:基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法和基于规则的分词方法,其中每种方法下面对应许多具体的方法。
难点:歧义识别 和 新词识别。 eg:“羽毛球拍卖完了”,这个可以切分成“羽毛 球拍 卖 完 了”,也可切分成“羽毛球 拍卖 完 了”==》上下文信息
词性标注:对每个词或词语打词类标签,是一个经典的序列标注问题。eg:形容词、动词、名词等。有助于在后面的处理中融入更多有用的语言信息。
词性标注不是非必需的。比如,常见的文本分类就不用关心词性问题,但是类似情感分析、知识推理却是需要的,下图是常见的中文词性整理。
常见方法:基于规则和基于统计的方法。
停用词:对文本特征没有任何贡献的字词,eg:标点符号、语气、人称等。
注意:根据具体场景决定。eg:在情感分析中,语气词、感叹号是应该保留的,因为他们对表示语气程度、感情色彩有一定的贡献和意义。
如何把分词之后的字和词语表示成计算机能够计算的类型。
思路:中文分词的字符串 ==》 向量
两种常用表示模型:
词袋模型(Bag of Word, BOW):不考虑词语原本在句子中的顺序,直接将每一个词语或者符号统一放置在一个集合(如 list),然后按照计数的方式对出现的次数进行统计。统计词频这只是最基本的方式,TF-IDF 是词袋模型的一个经典用法。
词向量:将字、词语转换为向量矩阵的计算模型。
常用的词表示方法:
[0 0 0 0 0 0 0 0 1 0 0 0 0 ... 0]
关键:如何构造好的特征向量?
==》要选择合适的、表达能力强的特征。
常见的特征选择方法:DF、 MI、 IG、 CHI、WLLR、WFO 六种。
对于不同的应用需求,我们使用不同的模型
过拟合:模型学习能力太强,以至于把噪声数据的特征也学习到了,导致模型泛化能力下降,在训练集上表现很好,但是在测试集上表现很差。
常见的解决方法有:
欠拟合:就是模型不能够很好地拟合数据,表现在模型过于简单。
常见的解决方法有: