基于深度学习的领域问答系统的设计与实现

合集下载

基于深度学习的中文人机对话系统设计与实现

基于深度学习的中文人机对话系统设计与实现

基于深度学习的中文人机对话系统设计与实现近年来,深度学习技术在自然语言处理领域取得了巨大的突破。

中文人机对话系统作为自然语言处理的一个重要应用领域,具有广泛的应用前景和挑战。

本文将介绍一种基于深度学习的中文人机对话系统设计与实现的方法。

人机对话系统是指一种能够理解人的问题并且能够以自然语言进行交互的计算机程序。

人机对话系统在实际应用中可以用于智能客服、智能助理、智能导航等领域。

传统的人机对话系统通常基于规则、模板或统计方法实现,面临着语言表达多样性、上下文处理困难等问题。

而基于深度学习的中文人机对话系统能够通过端对端的学习方式,从大量的对话数据中自动学习对话模型,具有更强的智能性和灵活性。

对于基于深度学习的中文人机对话系统的设计与实现,我们可以按照以下步骤进行:1. 数据准备:首先,我们需要收集并准备用于训练对话系统的大规模中文对话数据。

这些数据可以来自聊天记录、社交媒体、网上论坛等渠道。

对于每一条对话数据,需要进行预处理,包括分词、去除停用词、标注对话角色等。

同时,还需要构建一个合适的数据集划分方案,将数据划分为训练集、验证集和测试集。

2. 对话模型设计:基于深度学习的中文人机对话系统通常采用循环神经网络(RNN)或者变种模型,如长短时记忆网络(LSTM)或门控循环单元(GRU)作为基础模型。

对话模型的设计主要包括对话嵌入层、对话编码层、对话解码层和生成回复层等部分。

其中,对话嵌入层将对话转化为向量表示,对话编码层将向量表示编码为固定长度的语义向量,对话解码层将语义向量解码为回复文本,生成回复层执行回复生成的操作。

3. 模型训练:在模型训练阶段,首先需要将准备好的对话数据输入到对话模型中,并通过最小化损失函数的方式进行优化。

优化算法可以采用常见的随机梯度下降(SGD)或者Adam等算法。

同时,还需要设置合适的超参数,例如学习率、批次大小、隐藏层大小等。

4. 模型评估:在模型训练完成后,需要对模型进行评估来判断其性能。

基于人工智能的智能问答系统实现

基于人工智能的智能问答系统实现

基于人工智能的智能问答系统实现人工智能(AI)一直是科技领域的一个重要研究方向。

最近几年,随着人们对AI的研究深入,AI的应用领域也越来越广泛。

其中,基于人工智能的智能问答系统(Intelligent Question Answering System,以下简称IQAS)在实际应用中发挥越来越大的作用。

本文将介绍IQAS的基本原理、实现方法和应用场景。

一、IQAS的基本原理IQAS是一种基于自然语言理解(Natural Language Understanding,以下简称NLU)、知识表示(Knowledge Representation,以下简称KR)和推理引擎(Reasoning Engine,以下简称RE)等技术实现的智能问答系统。

IQAS的主要任务是根据用户的自然语言输入,理解用户的意图,从庞大的知识库中找到相关的答案,并将答案以自然语言的形式返回给用户。

为了实现IQAS,需要使用NLU技术将用户的自然语言输入转化为计算机能够理解的形式。

NLU技术包括词法分析、语法分析和语义分析等步骤。

其中,语义分析是最关键的一步,它可以将用户的自然语言输入映射到语义空间中的向量表示形式。

为了能够进行有效的语义分析,需要将庞大的知识库转化为适合计算机处理的知识表示形式。

这就需要使用KR技术将实际世界中的知识转化为计算机能够处理的形式,例如图谱、本体等。

最后,为了能够对知识进行推理和计算,需要使用RE技术实现推理引擎。

二、IQAS的实现方法IQAS有多种不同的实现方法。

其中,基于规则的IQAS是最传统的实现方法。

基于规则的IQAS使用一系列预定义的规则,根据用户的自然语言输入,逐个匹配规则,最终找到与用户意图最相符的规则,并返回预定义的答案。

尽管基于规则的IQAS具有一定的可扩展性和易用性,但是由于规则的复杂性,这种实现方法无法胜任大规模知识库的问答任务。

为了解决这个问题,基于统计模型的IQAS应运而生。

高效准确的智能问答系统设计与实现

高效准确的智能问答系统设计与实现

高效准确的智能问答系统设计与实现智能问答系统是一种基于人工智能技术的应用,旨在为用户提供高效准确的问题回答和信息获取服务。

设计和实现一款高效准确的智能问答系统需要考虑多个方面,包括语义理解、知识获取、问题匹配和答案生成等环节。

本文将详细介绍智能问答系统的设计与实现方法。

一、语义理解语义理解是智能问答系统的关键环节,其目标是将用户提出的问题进行语义解析,转化为计算机能够理解的形式。

实现语义理解的方法有多种,包括规则匹配、机器学习和深度学习等。

其中,深度学习在自然语言处理领域取得了较好的效果,可以通过使用神经网络模型对问题进行编码和解码,实现精确的语义匹配。

二、知识获取为了回答用户的问题,智能问答系统需要获取相关的知识。

知识获取有多种途径,包括构建知识图谱、利用现有的知识库和抓取互联网上的信息等。

其中,构建知识图谱是一种常见的方法,可以将事实和知识以图的形式进行组织和表示,方便系统进行知识推理和查询。

三、问题匹配问题匹配是智能问答系统的关键环节之一,其目标是从知识库中找到与用户问题相匹配的相关知识。

问题匹配可以通过基于规则的方法和基于机器学习的方法实现。

前者依赖于建立的规则库,通过匹配问题中的关键词和知识库中的关键词进行匹配;后者则依赖于训练好的模型,可以根据问题的语义和上下文信息进行匹配。

四、答案生成答案生成是智能问答系统的最终目标,其目标是根据匹配到的知识,生成准确的回答并返回给用户。

答案生成可以利用规则模板、机器学习和自然语言生成等方法。

其中,自然语言生成是一种常见的方法,可以通过使用生成模型,根据问题的语义和上下文生成准确、连贯的回答。

除了以上四个环节之外,还有一些附加功能可以增强智能问答系统的性能和用户体验。

例如,实体识别和关系抽取可以帮助系统更好地理解问题和知识;用户反馈和评价机制可以帮助系统不断改进和优化。

在实际的设计和实现过程中,还需要考虑系统的性能和可扩展性。

对于大规模的知识库和用户量,需要设计有效的存储和检索算法,并采用分布式计算和并行处理等技术来提高系统的速度和吞吐量。

基于深度学习的人机对话生成与自动问答研究

基于深度学习的人机对话生成与自动问答研究

基于深度学习的人机对话生成与自动问答研究人机对话生成和自动问答是自然语言处理领域的重要研究方向,近年来得到了广泛关注。

利用深度学习方法进行人机对话生成和自动问答的研究,为解决传统方法中的一些问题提供了新思路。

本文将重点讨论基于深度学习的人机对话生成与自动问答的研究。

基于深度学习的人机对话生成,旨在通过算法模型使机器能够理解和生成自然语言,并与人进行自然而流畅的对话。

这一领域中,最常被用到的模型是循环神经网络(Recurrent Neural Networks,RNN),尤其是长短期记忆网络(Long Short-Term Memory,LSTM)。

RNN模型的优势在于能够利用上下文信息,可以捕捉到句子的结构和语义,从而生成更加准确和一致的回答。

在人机对话生成任务中,语言理解和语言生成是两个核心问题。

语言理解指的是机器能够理解用户输入的自然语言并提取其中的信息。

传统方法中常用的技术是基于模式匹配和规则的方法,但这些方法受限于规则的数量和复杂度。

而基于深度学习的方法能够更好地处理语义理解的问题,通过训练一个能够理解语义的模型,使机器能够从输入中提取出更加准确的信息。

语言生成是指机器通过生成自然语言来回复用户的输入。

传统方法中常用的是基于模板的生成方法,但这种方法往往会导致生成的回答过于机械和呆板。

而利用深度学习方法,可以让机器通过学习大量对话数据来生成更加自然和流畅的回答。

例如,Seq2Seq模型是一种常用的深度学习模型,它包含一个编码器和一个解码器,编码器将输入序列编码成一个固定长度的向量,然后解码器通过这个向量生成输出序列。

这种方法可以使机器在生成回答时更好地保持语义连贯性和上下文一致性。

自动问答是指机器能够根据用户提出的问题自动给出准确的回答。

传统的自动问答方法是基于规则和模式匹配的,但这些方法需要人工构建大量的规则和模式,不仅费时费力,而且在处理复杂问题时效果不佳。

而基于深度学习的自动问答方法可以通过大规模的语料数据,通过端到端的学习方式来训练模型。

智能问答的实现方式

智能问答的实现方式

智能问答的实现方式智能问答是一种能够以人工智能技术为基础,通过分析和理解用户提出的问题,并给出准确、多样化、实时的答案的系统。

实现智能问答的方式有多种,下面将介绍几种常见的实现方式。

一、基于规则的智能问答系统基于规则的智能问答系统是一种通过建立一套规则库来实现问答功能的系统。

在这种系统中,开发者需要事先定义好一系列的规则,包括问题的模式和答案的匹配规则。

当用户提出问题时,系统会根据预先定义的规则进行匹配,然后给出相应的答案。

这种方式的优点是实现简单、效率高,但缺点是需要开发者事先定义好规则,对于规则库之外的问题,系统无法提供准确的答案。

二、基于统计的智能问答系统基于统计的智能问答系统是一种通过分析和统计大量的语料库来实现问答功能的系统。

在这种系统中,开发者会建立一个庞大的语料库,然后通过机器学习算法对语料库进行分析和训练,从而建立一个问题和答案的匹配模型。

当用户提出问题时,系统会根据模型进行匹配,并给出最有可能的答案。

这种方式的优点是可以提供更准确的答案,但缺点是需要大量的语料库和复杂的算法支持。

三、基于知识图谱的智能问答系统基于知识图谱的智能问答系统是一种通过建立一个庞大的知识图谱来实现问答功能的系统。

在这种系统中,开发者会收集和整理大量的知识,并将其组织成一个图谱。

当用户提出问题时,系统会在知识图谱中进行搜索和匹配,并给出相应的答案。

这种方式的优点是可以提供丰富的知识和准确的答案,但缺点是需要大量的知识整理和图谱构建工作。

四、基于深度学习的智能问答系统基于深度学习的智能问答系统是一种通过深度学习算法来实现问答功能的系统。

在这种系统中,开发者会使用深度学习模型,如循环神经网络(RNN)或卷积神经网络(CNN),对大量的问题和答案进行训练和建模。

当用户提出问题时,系统会通过深度学习模型进行匹配和推理,并给出相应的答案。

这种方式的优点是可以自动学习和理解问题,但缺点是需要大量的数据和计算资源支持。

基于Java的智能问答系统设计与实现

基于Java的智能问答系统设计与实现

基于Java的智能问答系统设计与实现智能问答系统是一种能够理解自然语言并给出准确答案的人工智能系统。

随着人工智能技术的不断发展,智能问答系统在各个领域得到了广泛的应用,如智能客服、智能助手等。

本文将介绍基于Java语言的智能问答系统的设计与实现过程。

1. 智能问答系统概述智能问答系统是一种基于自然语言处理和人工智能技术的应用系统,其核心功能是接受用户提出的问题,并给出相应的答案。

智能问答系统通常包括问题理解、知识检索和答案生成三个主要模块。

在本文中,我们将使用Java语言来实现一个简单的智能问答系统。

2. 技术选型在设计智能问答系统时,我们需要选择合适的技术栈来支撑系统的实现。

考虑到Java语言在企业级应用开发中的稳定性和可靠性,我们决定采用Java作为主要开发语言。

此外,我们还将使用以下技术来构建系统:Spring框架:用于构建系统的后端服务,提供依赖注入和面向切面编程等功能。

Elasticsearch:用于存储和检索知识库中的问题和答案。

Stanford CoreNLP:用于自然语言处理,包括分词、词性标注、句法分析等功能。

3. 系统架构设计基于以上技术选型,我们设计了如下的智能问答系统架构:前端界面:用户通过前端界面输入问题,并展示系统返回的答案。

后端服务:包括问题理解、知识检索和答案生成三个模块。

问题理解:利用自然语言处理技术对用户输入的问题进行分析和理解。

知识检索:通过Elasticsearch从知识库中检索相关问题和答案。

答案生成:根据检索结果生成最终的回答,并返回给用户。

知识库:存储系统所需的问题和对应的答案,以便后续检索和生成。

4. 系统实现步骤4.1 数据准备首先,我们需要准备一个包含问题和答案对的知识库。

可以手动录入一些常见问题和标准答案,也可以通过爬虫等方式从互联网上获取数据。

将这些数据存储在Elasticsearch中以便后续检索。

4.2 问题理解模块问题理解模块是整个系统的核心部分,它需要对用户输入的问题进行分词、词性标注、句法分析等处理,以便后续进行知识检索。

智能问答系统设计与实现

智能问答系统设计与实现

智能问答系统设计与实现随着人工智能技术的快速发展,智能问答系统已经成为了一种越来越受欢迎的技术。

智能问答系统可以通过对用户提出的问题进行分析和处理,从而给出相应的答案。

其应用范围非常广泛,比如在智能客服、智能导航、智能问卷调查等方面都有着广泛的应用。

本文就从设计与实现两个角度来介绍智能问答系统。

一、设计智能问答系统的要点设计一个智能问答系统需要考虑到以下要点:1.问题分类在设计一个智能问答系统时,首先需要考虑的是问题分类。

因为不同类型的问题需要不同的处理方式。

一般来说,问题可以分为简单问题和复杂问题。

简单问题可以通过一些常见的规则来进行处理,而复杂问题需要进行深度学习等复杂的算法实现。

2.答案准确性设计一个智能问答系统最重要的一个要点就是答案准确性。

用户提出的问题需要得到正确的答案,否则用户就无法信任这个系统了。

这就需要在建立系统的时候考虑到尽可能的问题场景,以及提前训练好模型,保证答案的准确性。

3.交互方式问答系统的交互方式一般有两种:文本和语音。

语音交互方式需要借助语音识别技术,适应性更好,但是精度相对来说较低。

而文本交互方式则可以借助很多文本处理技术,精度更高。

需要根据自己的需求来选择合适的交互方式。

4.用户体验最后要考虑的就是用户体验。

一个好的智能问答系统需要简单易用,并且能够快速地给出正确答案。

同时还需要考虑到用户的体验感受,比如说对话的自然性、速度、推荐功能等等。

二、实现智能问答系统的方式实现一个智能问答系统需要借助很多技术手段。

下面就罗列一些实现技术:1.自然语言处理自然语言处理是实现智能问答系统的基础技术之一。

通过自然语言处理,系统可以有效地分析用户提出的问题,并给出相应的答案。

目前,自然语言处理技术已经相当成熟,可以借助一些自然语言处理的库来实现。

2.分类算法问题分类是一个关键的环节。

有很多种算法可以用来实现问题分类,比如朴素贝叶斯算法、支持向量机等。

这些算法可以用来帮助系统自动对问题进行分类,从而更加高效地解决问题。

基于领域自适应理论的智能问答系统设计

基于领域自适应理论的智能问答系统设计

基于领域自适应理论的智能问答系统设计智能问答系统是近年来人工智能领域的热门研究方向之一。

基于领域自适应理论的智能问答系统设计是为了更好地适应不同领域的问题和需求,提供准确、高效的答案。

本文将介绍该系统的设计思路、关键技术及应用场景,并探讨其未来发展趋势。

一、设计思路基于领域自适应理论的智能问答系统设计的核心思路是根据用户提出的问题,自动识别问题所属的领域,并从对应领域的知识库中获取相关答案。

在设计过程中,需要考虑以下几个方面:1. 领域识别:通过自然语言处理技术,对用户提问进行文本分类,将问题分到不同的领域中。

这可以采用机器学习算法,如朴素贝叶斯分类器、支持向量机等进行模型训练。

2. 知识库构建:为不同的领域构建相应的知识库,其中包含该领域的重要实体、规则、特定问题的答案等。

这需要利用信息抽取技术,从大规模的文本数据中自动提取知识,并通过人工校对和验证,构建可靠的知识库。

3. 问题解析:根据问题的语义和结构,解析用户提问的意图,以便进一步理解问题并确定查询的知识资源。

这涉及到自然语言处理中的知识表示、语义分析和推理等技术,如词嵌入、词义消歧、语法分析等。

4. 答案生成:根据问题的类型和需求,在知识库中检索相关的信息,并生成符合用户需求的答案。

这可能涉及到文本检索、关联度计算、句法结构生成等技术。

二、关键技术基于领域自适应理论的智能问答系统设计需要借助多个关键技术,下面我们逐一介绍这些关键技术:1. 自然语言处理:自然语言处理技术是智能问答系统的基础,包括文本分类、词义消歧、实体识别、语法分析、句法树解析等。

利用这些技术,系统能够理解用户提问的语义和结构,准确识别问题所属的领域。

2. 信息抽取与知识图谱:信息抽取技术可以从大量的文本数据中自动提取结构化的知识,并构建知识图谱。

知识图谱将实体、关系等知识以图谱的形式进行表示,为系统提供了丰富的知识资源,支持快速、准确的问题回答。

3. 机器学习与深度学习:机器学习和深度学习技术可以提高系统在领域识别、问题解析、答案生成等方面的性能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成都信息工程大学学报JOURNAL OF CHENGDU UNIVERSITY OF INFORMATION TECHNOLOGY第34卷第3期2019年6月Vol. 34 No. 3Jun. 2019文章编号:2096-1618(2019)03-0232-06基于深度学习的领域问答系统的设计与实现胡婕,陶宏才(西南交通大学信息科学与技术学院,四川成都611756)摘要:智能问答系统可以快速、准确地为用户提供信息服务,是目前自然语言处理领域一个备受关注的研究方 向。

旨在结合深度学习算法实现一个基于知识库的领域问答系统。

在知识库构建上,首先采用protGgG 编辑本体模 型,在完成领域知识获取以及RDF 知识图谱构建后,以Fuseki Server 作为SPARQL 服务器向问答系统检索模块提供査询接口。

在问句意图识别方面,通过多种分类算法在领域问题集上的对比实验,选用深度学习中的CNN 模型用于问句分类。

在槽位获取上,灵活地将序列标注模型Bi-LSTM+CRF 应用于问句中的槽位提取。

测试结果表明, 实现以微信公众号为问答终端的电影领域问答系统,在问句集上的问句理解准确率达到98% ;基于构建的领域知识图谱,可以比较准确迅速地回答大部分领域问题。

关键词:问答系统;深度学习;知识图谱;短问句分类中图分类号:TP312文献标志码:Adoi : 10. 16836/j. cnki. jcuit. 2019.03. 0040引言随着大数据时代的到来,针对信息爆炸和信息过载问题的搜索引擎只返回一系列相关网页的信息检索 方式已经无法满足需求,而问答系统(question answer ­ing system,QAS )则在一定程度上弥补了搜索引擎的不足。

问答系统能让用户以自然语言直接提问,同时 可以返回给用户精确、简洁的答案,极大地提高了获取信息的效率,也因此成为目前自然领域处理中最热门的研究方向〔I 】。

问答系统按领域可以分为开放领域 和限定领域。

目前,虽然有一些比较成熟的开放领域 的问答系统,如Sir!、微软小冰等等,但是由于开放领域问题范围太广,开放领域问答系统对用户的问题只 能做浅层分析来回答,有时甚至会出现回答的内容与 问题不相关的情况⑶。

而限定领域的问答系统可以借助很多领域相关资源,从而极大地提高了系统的可 用性及实用性。

近年来,深度学习技术的不断发展,为智能问答领域指明了新的发展方向。

然而目前深度学习算法在智能问答系统中的应用还不够充分。

此外,各大商业公 司对于自然语言问答系统的研究都还比较封闭⑷。

为此,在研究限定领域问答系统的同时对深度学 习的相关算法进行研究,进而将深度学习算法应用于 智能问答系统中,实现了一个基于领域知识库的融合 深度学习算法的问答系统。

收稿日期:2019-02-05基金项目:国家自然科学基金资助项目(61505168)1智能问答系统的研究现状问答系统的起源可以追溯到20世纪60年代。

1961年,BASEBALL ⑸就可以回答美国棒球赛的时间地点成绩等问题。

1966年,出现了第一个QA 系统El ­iza ⑷ 。

Eliza 扮演心理学专家,采用基于模式和关键字匹配的方法,将用户的问题转换为查询语句,进而获取出答案返回给用户。

由于其针对特定应用领域,因此 可以事先构造领域模型,使用推理技术来回答用户的 复杂问题。

不过,构建这类系统的模式库和规则库十分困难,而且需要领域专家的综合领域知识〔7】。

自1999年TREC 举办首届自动问答竞赛之后(类 似的问答系统评测竞赛还有CLEF 和NTCIR),研究者们开始从信息检索的角度来开展问答系统的研究工作,研究领域也逐渐从最初的限定领域拓展到开放领域,研究对象也从固定语料向互联网扩展,参加这些竞 赛的各类问答系统的性能也在逐年提高。

在此阶段,问答系统主要是通过搜索关键字得到相关文档,再根 据问题的核心语义,从文档中找到包含答案的文本片段,最后抽取出问题的答案。

这类开放领域的问答系 统一般比较容易评测,但是通常只对问句作浅层次的分析⑻,代表系统有Askjeeves 〔9】,START 110]。

针对上述不足,很多互联网公司开始研发面向社 区的问答,如雅虎、百度知道、知乎和搜狗问问等。

这种问答系统通过维护一个大的问答社区,将与用户问 题相似的历史问题及历史答案返回给用户。

这种问答第3期胡婕,等:基于深度学习的领域问答系统的设计与实现233模式的核心是基于关键字匹配的技术,不需要经过问题理解、信息检索和答案抽取等复杂的处理过程⑴]。

2010年左右,谷歌提出了知识图谱的概念。

通过把一些非结构化的纯文本数据变成结构化数据,然后基于结构化的知识图谱来做问答服务,称之为KB-based QA,也就是基于知识图谱的问答系统〔⑵。

这类问答系统的核心是如何基于已有的数据库或知识图谱,准确地理解用户的问题,并找到对应的答案。

到目前为止,主流问答机器人大多都是面向开放领域的。

比如,用海量聊天语料为基础的微软小冰和苹果的Siri,以及基于用户搜索日志的百度语言助手等。

然而,开放领域问答系统对一些特定领域(如旅游、医学和客服等)的问题无法做到较好的回答。

同时,由于中文表达字间无分隔的特性,不像英文表达那样具有天然的分词特性,因此使得基于中文的自然语言处理问答系统的研究更为困难〔⑶。

2系统设计研究目标为实现一个基于中文自然语言处理的限定领域的问答系统,领域限定为电影。

该系统可完成对电影领域自然语言问题的理解,并在充分理解用户意图后,将用户的自然语言查询转换为知识库可理解的结构化查询语句,最后检索查询并返回给用户简洁的答案。

2.1系统模块设计针对研究目标,该电影问答系统主要可以分为4大模块:(1)知识库建立模块:要建立一个基于知识图谱的问答系统,首要任务就是针对选取的领域构建一个规模较大的知识库。

知识库是该类问答系统的基础,知识的数量与质量是一个基于知识库的问答系统性能是否优越的决定性因素。

(2)问句理解模块:是问答系统的核心,只有准确地理解了用户意图和关键信息,后续的知识检索过程才是有效的。

(3)问句转换模块:将问句理解模块输出的用户意图和关键槽位(即句子中的关键信息)进行转换,生成知识库能够理解的结构化查询语言。

(4)答案检索模块:利用问句转化模块生成的知识库查询语句,向知识库发起检索,得到问题的答案。

2.2系统框架设计针对电影领域问答系统的需求,构建的系统架构如图1所示。

图1系统架构图端终户用答图位=意槽u句换块问转模案索块答检模---rL U知识库是基于知识图谱的问答系统(knowledge base question answering,KB-based QA)的基础。

知识库建立模块负责从豆瓣电影网站获取电影领域知识,并将知识抽取成三元组的形式,以此形成该领域的知识图谱。

同时,利用领域知识构建同义词典和领域词典(电影名和人名词典等)为其他模块提供服务。

在拥有了领域知识库后,一次问答的简要过程如下:首先用户从终端输入问题,问句理解模块经过意图识别以及槽位提取和槽位改写等问句理解过程后,把得到的最终意图和槽位信息传递给问句转化模块。

然后,问句转化模块进一步将用户意图和槽位转换为sparql查询语言。

最后,答案检索模块借助领域知识库,完成sparql的查询,并返回简洁答案到用户终端上呈现给用户。

3系统实现3.1知识库建立对于知识库的建立,首先从豆瓣电影网站分析问答系统需要的信息。

主要包括:电影基本信息(评分、剧情等等)、电影和人员的关系信息(导演、演员、编剧)、电影和地区、电影和类型以及电影和语言的相关信息。

然后,选取Prot6g6作为知识库编辑本体的工具,构建知识图谱本体模型。

图2所示为系统的知识图谱本体模型。

在构建了本体模型之后,选取Scrapy爬虫框架编写爬虫从豆瓣电影获取数据信息,并存入数据库。

随后,按照定义的本体模型利用D2RQ技术把数据转换为资源描述框架(resource description framework,RDF)中的N-Triples三元组形式的数据,开放领域知识图谱DBpedia就是用这种格式来发布数据的。

234成都信息工程大学学报第34卷对于豆瓣的反爬虫策略,主要有两种解决方式:限速和爬虫代理。

限速是通过控制爬虫速度的方式防止被反爬虫,爬虫代理则是通过多个代理IP进行多线程的信息爬取。

爬虫代理分为免费代理和付费代理。

免费代理可以从一些网站获取,但大多免费代理基本不可用。

对于付费代理,可直接从某些网站购买,可用性强但实用性不高。

文中系统采用的是限速方式,只要控制好速度,就可以越过豆瓣的反爬虫策略,目前的爬取速度为每2s爬取一个页面。

由于电影数据会随着时间不断增加和变化,因此爬取的电影信息需要更新,比如评分和评价人数等信息。

文中系统的做法是:限速爬取豆瓣电影网站的信息,并定期增加和更新电影数据。

截至目前,系统的知识图谱共包含929050个三元组。

3.2意图识别3.2.1数据集由于限定领域内的问题有限,几乎可罗列,因此在限定领域中问句意图识别的问题也就可以转换为一个分类问题。

根据所构建的知识图谱本体模型,制定了28种意图。

然后,通过模板构造问句(人工构造问句模板,借助领域词典填充问句模板获得问句)、百度知道以及朋友搜集的方式整理岀了2万多条电影领域的问句数据集,作为问句分类的训练语料和测试语料。

图3所示为部分数据集样本。

我妖记2旳许分02017年上映旳£羞旳铁亭怎么样,许分有务少0蒂妬•徳業克斯想什么星屋10演员张止旳外*■&?13歌舞*春缶制片国家奇娜举14那邮战爭类型娘于军传奇的导瀆比谁15谁字狀了电*3我的早史*友15电彩®刘未来歹哪些険5!16sift•尼丸松演it的电彩祁奇哪鉴风格17施正泉演旳剧册电彩18成也和吴君如令作旳电衫亦哪童182014年上映旳电彩奇哪些?18王SU*在2017年插过_呷些爰册奥5!旳电彩呢?18二挙*九年的电彩有哪生18肓没有说上海话的电彩?1807年上映旳电彩.评分多于八点6旳有那些?19电彩送遏*王奇遏迄在呷一天上映旳1图3用于分类的问题集样本3.2.2问句分类采用深度学习中的CNN模型(卷积神经网络模型)用于问句的分类。

经问句分析后发现问句都比较短,利用jieba(python实现的分词库)切词,一个问句中的词语个数不超过20。

因此,将CNN嵌入层的输入设为20维的向量。

问句一共28个类别,于是设置CNN模型的输出为28维。

图4所示为最终的CNN模型结构。

以下为问句分类的处理过程。

(1)通过切词后的问句集构建领域词典Vocab,词典中每个词都有一个相应的数据序号。

然后,利用该词典可以把一个切词后的问句转为一个数字向量。

相关文档
最新文档