LightSide使用过程及错误分析

一、使用过程

1.数据集:

20%——development  data——定性分析、特征空间设计、错误分析

70%——cross validation data——运行试验数据

10%——final test data——应用交叉验证集训练得到的模型测试测试集

2.试验流程:

①Dev数据进行定性分析→②从CV数据集中提取特征→③用CV数据集训练基本模型且用CV进行测试→④用CV数据集训练新的模型,用Dev数据集进行测试→⑤分析Dev数据集的评估结果且做错误分析→⑥从错误分析中对模型特征等产生新的想法→⑦从CV数据集中提取新特征→⑧使用CV中提取的新特征,训练新模型,用CV数据集进行评估→若不满足,返回步骤④。

3.基本的文本特征提取:

文本作为一个向量,向量的每个元素对应一个词,即词包方法

按照文本的特征顺序进行标记,如果包含cheese,则是1,包含cows,标记为1……

但如果 cheese make cows的向量和cows make cheese的向量是一致的,这种方法丢失了词间顺序的标志。

以because the cost of healthcare is just outta sight crazy为例

其含义分别为:

unigrams-每个词进行分割,because, the, cost,,,,

Bigrams-每两个进行分割,because the, the cost, cost of, of healthcare, healthcare is,,,,,

Trigrams-每三个词进行分割,because the cost, the cost of, cost of healthcare,,,

POS Bigrams- 对每个词进行speech tagging,如“the(DT) cost(NN) of(PRP) healthcare(NN) ”,然后两两进行分割,DT NN, NN PRP,PRP NN,,,,如果不是英语的话,意义不大,词标签的重叠性会很强。  

所引用的NLP 词标签的网站https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html

http://www.cis.uni-muenchen.de/~schmid/tools/Tree Tagger/data/Penn-Treebank-Tagset.pdf(网页资源无法找到)

Word/POS Pairs-将词语和其标签进行配对,如“the(DT) cost(NN) of(PRP) healthcare(NN) ”,每个词及标签的组合进行配对分割,the DT,cost NN, of PRP, ,,,

Line Length-文本长度,the cost of healthcare=4

Contains Non-Stopwords-停用词是没有内容的功能词,如it,在the cost of healthcare中包含两个非停用词-cost healthcare

Count Occurences-词特征出现的次数,取值为0或特征出现的次数,而不是1,0为默认值。(the value of the feature is the number of times it occurs, rather than 1 if it occurs or 0 otherwise, which is the default.)

Include Punctuation-是否包含标点符号

Remove Stopwords-移除停用词,如在the cost of healthcare中移去the 和of 

Stem N-Grams-移除英语中的开头词或结尾词形式,如ed,s, ing等,healthcare costs→healthcare cost

4.特征空间定制

特征空间设计的要求:

①像计算机一样思考;

②机器学习算法寻找的是可以有很好预测性的特征,因此特征不必是需要有意义的;

③寻找近似:如果是找问题,不必进行句法分析;寻找问题标志;寻找动词前可以先找和其关联密切的wh-terms。

二、错误分析原理

步骤:

1.确定有大错误的单元

2.作比较:纵向比较-正确分到同一类例子的相似性

                   横向比较-错误分类的例子之间有什么不同

目标:要发现如何呈现数据,相同分类的有什么相同点,不同分类的例子有什么不同点

三、案例操作

案例一:

1. 将CV数据集导入特征提取面板,配置好特征提取规则后,提取特征。

2. 将Dev数据集导入构建模型面板,利用CV中提取的特征构建模型,Dev的数据集作为测试集评估模型,此时选择的模型为Logistic regression,然后训练模型。

3.进入探索结果模块,进行分析。

4.重新提取特征,加入Bigram,训练模型后进行模型比较

5.配置Stretchy Patterns选项,加入pos 和neg的词汇列表,要求至少一个分类

案例二:

1.提取特征

2.构建模型

3.探索结果

4.调整后模型比较

四.存在的问题及解决措施

1.CV集和Dev集的使用,在构建模型中进行模型测试时,如何选择使用哪个数据集——一般都用CV数据集

2.如何在探索结果里,发现横纵向特征,及如何进行修改——自己选择特征进行分析

3.刚开始的特征提取,如何更加主观性,把不靠谱的特征删除——这部分可以再restruct data部分删除特征

猜你喜欢

转载自blog.csdn.net/weixin_38527856/article/details/85759998