admin 管理员组

文章数量: 887017

Semantic Textual Similarity (STS)

Semantic Textual Similarity (STS)


问题情况

SemEval 往年 STS数据:训练集train dataset(含输入文件2000句和golden standard用于训练)+测试集test dataset(含输入文件3000句和对应的golden standard以及测试脚本用于测试)
(SemEval 2017 STS的test dataset没有公布,就用往年的代替了)


解法简述

1.把简单处理并抽词干后的文本建立字典并做一个word2vec训练出词向量得到词汇间的词汇词性,语法相似度。

2.利用训练集计算出词汇的语义相似度。

3.对测试集的句子对,找出这两个句子的语法对应关系,并且利用对应成分上的语义相似度计算总的语义相似度,所谓对应成分,可以用词性语法相似度确定,也就是它们的词向量夹角很小就认为是对应成分。


预处理

把数据集中的字母单词以小写形式保留下来,其他信息都丢掉。(虽然这样会损失一部分信息,比如2 可能暗含信息two,一个疑问句和一个陈述句可能存在差别,但是这些情况很少,基本上不可能在训练集里训练到同时测试集里还遇到多次,所以就去掉非字母符号以防干扰问题)

用nltk的nltk.stem.lancaster库抽词干。(这也会损失一部分信息,比如时态和语态虽然包含很多语法信息,但是也包含语义信息,但是我觉得语法信息更多一点,所以就决定去掉)

把抽完词干的数据集建立字典,

本文标签: Semantic Textual Similarity (STS)