随着中国自然语言处理技术的不断发展,机器阅读理解及常用问题解答技术也被广泛应用于各领域,帮助人们高效快捷的从大量文本中获取有价值的信息。自然语言理解是人工智能的重要研究领域,是实现智能化过程中必须要解决的技术问题。而自然语言理解的最终目标是为了让机器能够理解人类语言,实现机器通过语言符号了解人类的需求,从而智能化地服务于人类。

        MRC是英文Machine Reading Comprehension的缩写,意为机器阅读理解。机器阅读理解是一种利用算法使计算机理解文章语义并回答相关问题的技术。由于文章和问题均采用人类语言的形式,因此机器阅读理解属于自然语言处理的范畴,也是其中最新最热门的课题之一。近些年来,随着机器学习,特别是深度学习的发展,机器阅读理解研究有了长足的进步,并在实际应用中崭露头角。常见的预训练语言模型结构包含编码输入层、网络结构层、编码输出层。预训练语言模型的区别主要体现在网络结构层以及预训练时对语言建模的任务。

       机器阅读理解中抽取式任务的答案,限定是文章的一个子句,需要模型在文章中标明正确的答案起始位置和终止位置。因此把该任务建模为输入问题和文本,预测出两个文本中的位置索引去指示答案的起始和结束位置。

       FAQ是英文Frequently Asked Questions的缩写,意为常见问题解答。FAQ是当前网络上提供在线帮助的主要手段,通过事先组织好一些可能的常见问答对,发布在网页上为用户提供咨询服务。FAQ具有高频问题优先、精确简明的特点,因此针对使用说明、操作文档的FAQ能有效帮助用户快速了解文档内容,熟悉系统使用方法。然而上述方案无法满足用户的搜索需求,只能提供静态数据供用户检索,所以对于用户问题匹配的常用问题解答模型研究是极有意义的。

       目前市面上的问答系统未能有效结合文本内容以及常用问答对,快速给用户提供优质准确的答案。使得用户无法及时解决问题,耗费了用户的线上时间。

       我们开发了基于机器阅读理解及常用问题解答模型的智能问答系统,包括问答对采集,模型训练与用户问题采集以及答案生成。

     问答对采集通过人工标注的方式,首先对系统文档进行段落划分。再通过人工生成的方式,分组标注文本段落,清洗数据后得到问答对数据集。

     模型训练使用问答对数据集,对于抽取式阅读理解模型,首先分批读取数据集中的数据。再对文本及问题进行分词并向量化,使用门控注意力RNNs向段落词向量融合问句信息,使用自匹配注意力得到具有段落上下文信息的语义向量。将段落词向量与上下文语义向量进行拼接,作为Bi-RNNs的输入,将其最后隐状态作为字级别向量表示,用于答案抽取任务。对于常用问题解答模型,首先对问答对进行分词、词性标注、停用词过滤,再使用word2vec对处理后的文本进行向量化,并存入数据库中。

       用户问题信息采集通过前端网页,收集用户选择的搜索模式,以及问题文本信息。

       答案生成模块,首先将前端获取到的用户问题进行分词并向量化,将问题向量输入FAQ模型。并将用户问题向量与数据库中的问答对问题向量进行比较,通过计算两向量间的余弦值来反映其语义相似度,将语义相似度最高的问答对答案输出。若FAQ模型匹配结果不满足语义相似度阈值,则将收集到的用户问题向量输入到之前训练好的MRC模型中,将模型的输出和数据库中文本段落的向量表示输入模型解码器,计算文本中每个词作为答案起止位置的概率,将概率最高的结果作为解码器的输出。最后将模型输出的问题答案返回到前端展示。