项目实训(三)
之前的思路是通过输入B和R生成一系列问题q,对q进行筛选得出q集合作为评分标准;但这需要在第一步完成问题生成,任务量会变大。因此我转换思路,在第一步生成向量集合代替问题q集合。具体描述如下:
1.对B和R进行预处理,去除噪音等;
2.使用模型(例如bert)对处理过的B和R进行向量生成;
在这一步有些细节我没有考虑清楚:
1.是仅仅对B和R的分词结果简单的生成词向量吗?
2.整个句子应该如何表示?是直接将词向量相加吗?如何将语义引入向量的表示?
3.关键词的权重如何考虑?生成词向量所用的分词结果是仅仅只包括关键词吗?
3.对R,P,N都按照该思路生成
每条答案独有的向量集合,对每条答案的向量集合进行筛选,筛选的思路和以前一样:
对R生成的向量集合中的每个向量αRn,对P和N内每一条标记答案生成的向量集合进行比较,如果P中的向量集合中都能找到与αRn相似的向量(通过相似度进行判断),那么这条向量就可以等待第二次筛选。在此不再赘述,筛选思路与之前一样。
总结:
目前的做法简化了整个项目实现的过程,在问题生成阶段,不再需要生成人可以理解的文本问题,而是转向生成有特异性和区分度的向量;在筛选阶段也不需要对文本问题进行处理,而是直接使用生成的向量进行筛选,大大简化了问题的复杂程度,同时能保证与之前一致甚至更好的准确性。