# 自然语言处理高级专题
本实验在 SemEval_2015_Task_31i数据集上使用规则提取特征并使用 SVM 和随机森林两种方法在提取特征的基础上进行分类。
## 特征提取
本实验参照ii文中的思路提取特征。
在 A 任务中,每个 question-comment pair 有 100 维特征。其中关于问题(QBody 字段)与回答(CBody 字段)本身各有 25 维特征,见表 1,在提取这些特征之前先去掉了文中的所有链接,但没有去掉html 标签。question-comment pair 整体还有 50 个特征,见表 2。
| 特征描述 |形式 |维数 |
|----|----|----|
| 标签数(以<>数量中较少的估计) |计数 |1 |
| 最长单词长度 |计数 |1 |
| 平均单词长度 |数值 |1 |
| 单词数量 |计数 |1 |
| 句子数量(以问号、句号、叹号总数估计) |计数 |1 |
| 平均每句单词数量 |数值 |1 |
| 大写单词数量 |计数 |1 |
| 命名实体数量 |计数 |1 |
| no 的数量 |计数 |1 |
| yes 的数量 |计数 |1 |
| thank, thanks 的数量 |计数 |1 |
| please 的数量 |计数 |1 |
| may, might, could, can, would, will 的数量 |计数 |1 |
| 问号的数量 |计数 |1 |
| 叹号的数量 |计数 |1 |
| 名词、动词、代词、疑问词、外来词的数量 |计数 |5 |
| 名词、动词、代词、疑问词、外来词的频率 |比率 |5 |
表 1 问题和回答文本分别统计的特征
| 特征描述 |形式 |维数 |
|----|----|----|
| 问题和回答中的图数和链接数 |计数 |4 |
| 回答是否是第一个或最后一个 |布尔 |2 |
| 当前及前后回答的 USERID 是否和提问者相同 |布尔 |3 |
| 问题是否为是否类问题 |布尔 |1 |
| 问题类型(QCATEGORY) |one-hot |27 |
| 回答的 title 是否问“Re:”+问题 title |布尔 |1 |
| 问题和回答相同的 uni\|bi\|tri gram 数 |计数 |3 |
| 上数相对于问题长度和回答长度的比值 |比率 |6 |
| 问题和回答的 uni\|bi\|tri gram 的 one-hot 向量余弦值 |数值 |3 |
表 2 问题和回答联合统计的特征
由于官网的评价脚本中,A 任务只考虑 Good、bad 和 Potential 三个类别,所以在标记标签时,尝试了两种标签标记方式:A-full 是标全 6 类的。而 A-sim 是只标记 3 类的。
在 B 任务中使用的特征和 A 任务中相同,不过是以题为单位。故每道题的特征向量是 A-sim 标记下svm 训练结果中标记为 good 的选项的特征向量的均值。
## 实验设置
在具体实现时,使用的工具 libsvm2和 xgboost3。分词、词性标注和命名实体识别等使用 nltk4。
简单调参后,两个任务均使用线性核 SVM,task-A 的两种标注的参数-c 均为 0.5,task-B 的参数-c为1。而在随机森林时,两个任务均使用 multi:softmax 作为目标函数,最大树深为 5,学习率 eta 为0.2,训练轮数为 50 轮。
评价时,task-A 和官网上评价脚本相同,只考虑 3 类。task-A 和 task-B 的评价指标均为 macro-f1和accuracy。
## 实验结果
Task-A 在验证集和测试集上的实验结果如表 3 所示,Task-B 在验证集和测试集上的的实验结果如表4所示。
| |macro-F1 |Acc |F1-Good |F1-Pot. |F1-Bad |
|----|----|----|----|----|----|
| A-full-svm-dev |47.39% |67.42% |76.05% |0.00% |61.66% |
| A-full-svm-test |49.41% |70.34% |76.70% |0.00% |67.99% |
| A-Sim-svm-dev |48.46% |69.36% |76.60% |0.00% |68.49% |
| A-Sim-svm-test |50.56% |72.77% |77.86% |0.00% |73.42% |
| A-full-rf-dev |48.51% |68.94% |77.12% |0.00% |64.96% |
| A-full-rf-test |49.57% |70.70% |77.08% |0.00% |68.49% |
| A-Sim-rf-dev |48.77% |69.85% |77.40% |0.00% |68.79% |
| A-Sim-rf-test |50.24% |72.27% |77.16% |0.00% |73.17% |
表 3 Task-A 上的实验结果
| |macro-F1 |Acc |F1-Yes |F1-Unsure |F1-No |
|----|----|----|----|----|----|
| B-svm-dev |54.32% |55.88% |66.67% |40.00% |50.00% |
| B-svm-test |43.39% |51.72% |62.86% |46.15% |20.00% |
| B-rf-dev |52.77% |55.88% |68.75% |45.45% |42.86% |
| B-rf-test |57.50% |68.97% |82.35% |58.82% |28.57% |
表 4 Task-B 上的实验结果
点分析
由于本实验采用的机器学习方法并没有针对 macro-F1 做特殊地优化,在 Task-A 上,小类 Pot.的效果很差。导致了本实验 Accuracy 看起来还不错但 macro-F1 明显偏低。
Xgboost 在 TaskB 上的效果莫名地好。不过可能也是由于 Task-B 的数据集较小导致的意外吧。
但是网上下载的数据集的测试集规模和 SemEval-2015 评测报告中写的不一样。
## 横向对比
我们将我们的结果与一些相关文章进行对比,Task-A 与 Task-B 的结果分别如表 5、表 6 所示。其中,Hou’s 为参考文献[2]的方法,也是我这里主要参考的方法;Quan’s 为参考文献[3]iii的方法,也是当时评测比赛时 Task-A 效果最好的方法(他们当时没做 Task-B)。Belinkov’s 为参考文献[4]iv的方法,也是当时评测比赛时 Task-B 效果最好的方法。
| |macro-F1 |Acc |F1-Good |F1-Pot. |F1-Bad |
|----|----|----|----|----|----|
| Task-A-SVM |50.56% |72.77% |77.86% |0.00% |73.42% |
| Task-A-RF |50.24% |72.27% |77.16% |0.00% |73.17% |
| Hou’s |56.44% |69.43% |78.87% |17.86% |72.58% |
| Quan’s |57.29% |72.52% |78.96% |14.36% |78.24% |
| Belinkov’s |49.54% |70.45% |---- |---- |---- |
表 5 Task-A 上的横向比较
| |macro-F1 |Acc |F1-Yes |F1-Unsure |F1-No |
|----|----|----|----|----|----|
| Task-B-SVM |43.39% |51.72% |62.86% |46.15% |20.00% |
| Task-B-RF |57.50% |68.97% |82.35% |58.82% |28.57% |
| Hou’s |53.60% |64.00% |80.00% |44.44% |36.36% |
| Belinkov’s |63.70% |72.00% |---- |---- |---- |
表 6 Task-B 上的横向比较
从上面的比较可以看出,我们的(SVM 与随机森林)方法在 Task-B 与 Task-A Accuracy 上超过了这两种方法选取特征时主要参考的工作,但是距离最好的工作还略有差距。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本实验在 SemEval_2015_Task_31i数据集上使用规则提取特征并使用 SVM 和随机森林两种方法在提取特征的基础上进行分类。本实验参照ii文中的思路提取特征。 在 A 任务中,每个 question-comment pair 有 100 维特征。其中关于问题(QBody 字段)与回答(CBody 字段)本身各有 25 维特征,见表 1,在提取这些特征之前先去掉了文中的所有链接,但没有去掉html 标签。question-comment pair 整体还有 50 个特征,见表 2。 在具体实现时,使用的工具 libsvm2和 xgboost3。分词、词性标注和命名实体识别等使用 nltk4。 简单调参后,两个任务均使用线性核 SVM,task-A 的两种标注的参数-c 均为 0.5,task-B 的参数-c为1。而在随机森林时,两个任务均使用 multi:softmax 作为目标函数,最大树深为 5,学习率 eta 为0.2,训练轮数为 50 轮。 评价时,task-A 和官网上评价脚本相同,只考虑 3 类。task-A 和 task-B 的评价指标均为 macro-
资源推荐
资源详情
资源评论
收起资源包目录
规则提取特征并使用 SVM 和随机森林在 SemEval_2015_Task_31i数据集上进行分类.zip (30个子文件)
semeval_2015_task_31i
src
evaluator.py 5KB
tools
IO.py 8KB
xgb.py 1KB
featureExtraction.py 11KB
dataPretreatment.py 2KB
data
dev_taskB.data 14KB
train_taskA2.data 5.83MB
test.json 858KB
test_taskA2.data 720KB
train.json 6.91MB
dev_taskA2.data 592KB
test_taskB.data 11KB
train_taskA.data 5.83MB
dev_taskA.data 592KB
test_taskA.data 720KB
train_taskB.data 82KB
dev.json 714KB
raw
CQA-QL-test-gold.txt 30KB
CQA-QL-train.xml 6.39MB
test_task3_English.xml 730KB
CQA-QL-devel-gold-yn.txt 396B
SemEval2015_task3_README.txt 3KB
CQA-QL-devel-input.xml 605KB
CQA-QL-devel-gold.txt 26KB
README.txt 10KB
CQA-QL-test-gold-yn.txt 307B
LICENSE 1KB
.gitignore 52B
README.md 6KB
SemEval_2015_Task_3_实验报告.pdf 111KB
共 30 条
- 1
资源评论
甜辣uu
- 粉丝: 8383
- 资源: 1103
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功