论文部分内容阅读
社区问答(Community Question Answering,CQA)系统是一种较高级别的信息检索系统。与搜索引擎不同,CQA系统中存在大量由社区成员长期维护的问题和答案,信息质量较高;CQA系统返回的信息通常更符合用户的真实需求,而搜引擎通常返回若干相关网页。目前,利用CQA系统知识获取已经成为一个研究热点,但如何高效的从CQA系统中检索信息仍是一个研究难点。本文的研究内容主要围绕CQA系统的答案排序和问题检索任务,工作分为以下三个方面: 1)提出了改进主题模型。传统的LDA主题模型未考虑到垃圾主题和相似主题的存在,影响主题相似度计算的准确率,第三章提出了垃圾主题过滤算法和主题相似度检测算法用于移除垃圾主题和检测相似主题,以构造语义关系更强的主题向量。在中文语料库上的实验结果验证了改进主题模型能够提升文本分类的准确率,第三章还将改进主题模型应用到CQA系统中,在SemEval问答数据集上的实验结果一方面确定了答案排序和问题检索任务的最优特征组合,另一方面验证了改进主题模型同样能够提升答案分类的准确率。 2)提出了一种针对CQA系统的信息增强方法。第四章利用原始问题、相似问题和答案三者的关系,构造答案与原始问题的标注数据集,作为额外的训练集融入到原始数据集中,额外数据集是对原始数据集的信息增强,在CQA系统两个子任务上的实验结果验证了信息增强方法的高效性。第四章还探索了五种神经网络对答案排序和问题检索任务的建模方法和应用效果,发现BiLSTM网络和Attention网络整体上具有较高的答案分类准确率和MRR值,实验发现数据清洗对神经网络影响较大,在大多数场景中数据清洗都是必要的,但对某些场景(如小规模数据集,BiLSTM网络等)数据清洗会降低网络的性能。 3)设计了CQA系统的实现流程图。首先分析了系统存在的问题,然后介绍了设计中涉及的关键技术,最后分模块阐述CQA系统中各个问题的解决方案。各问题与解决方案可以概括为:针对海量知识库的信息抽取计算复杂度较高的问题,提出了一种两阶段文本排序方法;针对内容实时更新和外部请求重合度较高的问题,使用Spark流式计算引擎进行实时内部答案排序和信息更新,并将预先计算的部分文本特征和热门问题缓存,使用LRU算法发现、更新热门问题。该流程设计的目的是将提出的上述方法应用到实际场景中,通过将其与大数据组件结合,综合提高问题和答案分类的准确率,缩短系统响应时间。