基于产品使用手册的问答方法、装置及计算设备与流程

文档序号:19310560发布日期:2019-12-03 23:28阅读:187来源:国知局
基于产品使用手册的问答方法、装置及计算设备与流程

本发明涉及数据处理领域,特别涉及一种基于产品使用手册的问答方法、装置及计算设备。



背景技术:

产品使用手册(例如汽车用户手册)通常包含产品(例如某种型号的汽车)的使用流程、维修和常见问题处理方法等方面的知识。熟悉产品使用手册能够避免很多常识性错误,对产品的使用和维护都有很大帮助。近年来随着人工智能技术的发展,借助各种智能终端能够构建产品使用方面的问答系统,并通过自然语言交互方式方便快捷地解决人们使用产品碰到的各种问题,展现出非常重要的应用价值。产品使用手册作为厂家提供的一类丰富、权威知识源,具有非结构化、内容繁杂等特点,如何围绕产品使用手册知识构建问答系统也是一个非常具有挑战性的问题。

当前围绕产品使用手册构建问答系统,主要采取两种思路。一种思路是基于问题和答案相似度匹配的方式,直接根据问题从产品使用手册等非结构化文本中检索匹配最相关的答案。该方法一般包括两个阶段:第一个阶段粗排,即通过类似搜索引擎的关键词检索方式,获取候选答案集合;第二阶段精排,即对问题和候选答案进行语义表征(可利用神经网络方法),计算问题和候选答案的语义相似度,并重新进行排序,最终获取问题的答案。

该方案的缺点是准确性相对较差,获取的答案质量参差不齐,很难控制。一方面,出于效率原因,粗排阶段基于关键词检索,尽管包含查询扩展等操作,但仍难以完全捕获同义词、近义词、相关词等多样化表达,从而造成检索的候选答案集合不准确;另一方面,精排阶段关键是对问题和候选答案进行语义表征,目前多采用深度神经网络的方法,但受限于问题和答案的语义空间不一致,需要在模型设计中考虑问题和答案的交互,同时模型训练也需要较大的训练数据集,这就给模型的训练造成了较大困难,最终导致获取答案质量不可控。

另一种思路是基于问题与问题相似度匹配的方式,首先拆解产品使用手册内容,构造潜在的问题答案对,形成问题答案库,然后从问题答案库中检索与用户问题语义最相似的问题,并将它的答案作为用户问题的最终答案,返回给用户。该方案的主要缺点是受限于构建准确性高、覆盖率大的问题答案库的成本相对较高,能够回答的用户问题范围十分有限。由于汽车用户手册的内容以非结构化文本为主,图文混排、表格丰富,提取相关知识的准确性较低,而且,用户问题往往具有不可预见性,很难一次构建出完善的问题答案库。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的、基于产品使用手册的问答方法、装置及计算设备。

根据本发明的一个方面,提供了一种基于产品使用手册的问答方法,在计算设备中执行,所述产品使用手册以目录形式组织,每个最底层目录对应一个知识点,每个知识点包括知识点标题和知识点内容,所述计算设备中还存储有知识库和问题模板库,所述知识库的每个数据条目包括知识点与产品、部件和标签集合的关联关系,所述问题模板库的每个数据条目包括问题模板与标签集合的关联关系,所述标签集合包括一个或多个语义标签,所述语义标签表示与部件相关的操作/描述信息,所述方法包括:

对接收到的用户问题进行产品实体识别和部件识别,获取用户问题关联的产品和部件;

将用户问题与所述问题模板库进行匹配,获取与用户问题关联的标签集合;

根据与用户问题关联的产品和部件,从所述知识库中获取候选的知识点集合;

计算用户问题关联的标签集合与候选的知识点集合中知识点关联的标签集合,二者的第一匹配分值,作为用户问题与知识点的匹配分值;以及

获取候选的知识点集合中匹配分值大于预定阈值的知识点,作为用户问题对应的答案。

根据本发明的问答方法,其中,所述将用户问题与所述问题模板库进行匹配,获取与用户问题关联的标签集合,包括:将用户问题中的产品实体替换为产品实体的类型,得到泛化的用户问题;将泛化的用户问题与所述问题模板库进行匹配,得到用户问题对应的问题模板;从所述问题模板库中获取与该问题模板关联的标签集合,作为与用户问题关联的标签集合。

根据本发明的问答方法,其中,所述将泛化的用户问题与所述问题模板库进行匹配,得到用户问题对应的问题模板,包括:如果在所述问题模板库中匹配到问题模板,则将匹配到的问题模板作为与用户问题对应的问题模板;如果在所述问题模板库中未匹配到问题模板,则计算用户问题与所述问题模板库中各问题模板的相似度,将相似度最高的问题模板作为与用户问题对应的问题模板。

根据本发明的问答方法,其中,所述相似度为:用户问题与问题模板的编辑距离相似度;用户问题与问题模板的向量相似度;或者,所述编辑距离相似度和向量相似度的加权平均。

根据本发明的问答方法,其中,所述第一匹配分值为:用户问题关联的标签集合与知识点关联的标签集合,二者的交集与并集的第一比值;用户问题关联的标签集合与知识点关联的标签集合的向量相似度;或者,所述第一比值和向量相似度的加权平均。

根据本发明的问答方法,其中,还包括:计算用户问题与知识点标题的向量相似度,作为第二匹配分值;将第一匹配分值和第二匹配分值的加权平均,作为用户问题与知识点的匹配分值。

根据本发明的问答方法,其中,所述获取候选的知识点集合中匹配分值大于预定阈值的知识点,作为用户问题对应的答案,包括:若存在多个匹配分值大于预定阈值的知识点,则对这些知识点进行目录检查,将属于同一目录的知识点聚合为一个聚合知识点,并将匹配分值最高的预定数目个知识点,作为用户问题对应的答案。

根据本发明的问答方法,其中,聚合知识点的匹配分值取聚合前的知识点中的最高匹配分值。

根据本发明的问答方法,其中,还包括,根据产品使用手册构建所述知识库:

根据知识点标题确定与知识点关联的部件;

根据知识点与部件的关联关系,确定与部件关联的知识点集合;

根据部件所关联的知识点集合,确定与部件关联的标签集合;

对于每个知识点,

获取与该知识点关联的部件所关联的标签集合;

将知识点标题与获取的标签集合进行匹配,将匹配到的一个或多个语义标签作为与该知识点关联的标签集合;

将该知识点以及与该知识点关联的产品、部件和标签集合作为一个数据条目添加到所述知识库中。

根据本发明的问答方法,其中,所述根据知识点标题确定与知识点关联的部件,包括:如果某个部件的关键词在知识点标题中出现,则将该部件确定为与该知识点关联的部件。

根据本发明的问答方法,其中,部件的关键词包括:与部件名称相关的关键词和/或对部件进行操作/描述的关键词。

根据本发明的问答方法,其中,所述根据部件所关联的知识点集合,确定与部件关联的标签集合,包括:

对于每个部件,

遍历与该部件关联的知识点集合中的每个知识点;

对于遍历到的每个知识点,从该知识点的知识点标题中提取表示对部件进行操作/描述的核心词;

对遍历到的所有知识点对应的核心词进行汇总,得到与该部件关联的标签集合。

根据本发明的问答方法,其中,所述标签集合中的每个语义标签包括一个或多个同义词。

根据本发明的问答方法,其中,所述知识库为知识图谱,其中,产品和知识点对应知识图谱中的节点,部件和标签集合对应节点之间的关系。

根据本发明的问答方法,其中,还包括,根据历史问题库构建问题模板库:

从历史问题库中筛选出与产品使用手册相关的问题,生成候选问题库;

对于候选问题库中的每个问题,

对该问题进行产品实体识别、部件识别和核心词识别;

如果识别出的核心词是与部件关联的标签集合中的语义标签或者是该语义标签的同义词,则将该语义标签加入该问题的标签集合中;

将问题中的产品实体替换为产品实体的类型,得到该问题的问题模板;

对所有问题模板进行聚合,生成问题模板库。

根据本发明的问答方法,其中,所述从历史问题库中筛选出与产品使用手册相关的问题,包括:利用部件关键词对历史问题库中的问题进行匹配,从而筛选出与产品使用手册相关的问题。

根据本发明的问答方法,其中,如果识别出的核心词不是与部件关联的标签集合中的语义标签,也不是该语义标签的同义词,则利用与部件关联的标签集合中的语义标签对问题进行匹配,将匹配到的语义标签加入该问题的标签集合中。

根据本发明的问答方法,其中,所述对所有问题模板进行聚合,生成问题模板库,包括:对相同的问题模板进行去重处理;将相似的问题模板进行合并处理,其中,合并得到的问题模板所关联的标签集合是:相似的问题模板分别关联的标签集合的并集;将去重处理和合并处理得到的每个问题模板与其关联的标签集合,作为一个数据条目添加到问题模板库中。

根据本发明的问答方法,其中,所述产品使用手册为汽车用户手册。

根据本发明的另一方面,提供一种基于产品使用手册的问题装置,驻留在计算设备中,所述产品使用手册以目录形式组织,每个最底层目录对应一个知识点,每个知识点包括知识点标题和知识点内容,所述计算设备中还存储有知识库和问题模板库,所述知识库的每个数据条目包括知识点与产品、部件和标签集合的关联关系,所述问题模板库的每个数据条目包括问题模板与标签集合的关联关系,所述标签集合包括一个或多个语义标签,所述语义标签表示与部件相关的操作/描述信息,所述装置包括:

问题解析单元,适于对接收到的用户问题进行产品实体识别和部件识别,获取用户问题关联的产品和部件;

标签获取单元,适于将用户问题与所述问题模板库进行匹配,获取与用户问题关联的标签集合;

候选知识点获取单元,适于根据与用户问题关联的产品和部件,从所述知识库中获取候选的知识点集合;

匹配分值计算单元,适于计算用户问题关联的标签集合与候选的知识点集合中知识点关联的标签集合,二者的第一匹配分值,作为用户问题与知识点的匹配分值;以及

答案确定单元,适于获取候选的知识点集合中匹配分值大于预定阈值的知识点,作为用户问题对应的答案。

根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述方法的指令。

根据本发明的又一个方面,一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。

根据本发明的基于产品使用手册的问答方法,在接收到用户问题时,将用户问题与问题模板库进行匹配,获取与用户问题关联的标签集合,进而根据与用户问题关联的产品、部件和标签集合,从知识库中查询对应的知识点,作为用户问题对应的答案,该方案充分利用了知识库强大的知识表达和推理能力,能够获得更加准确和语义相关的问题答案。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例中汽车用户手册的目录示意图;

图2示出了本发明实施例中汽车用户手册的知识点示意图;

图3示出了本发明实施例中汽车领域的知识图谱的示意图;

图4示出了根据本发明一个实施例的计算设备400的结构图;

图5示出了根据本发明一个实施例的基于产品使用手册的问答方法500的流程图;

图6示出了本发明实施例中根据产品使用手册构建知识库的流程图;

图7示出了本发明实施例中根据历史问题库构建问题模板库的流程图;

图8示出了根据本发明一个实施例的基于产品使用手册的问答装置800的结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供一种基于产品使用手册的问答方法。产品使用手册是一种非结构化文本,通常以目录形式组织,每个最底层目录对应一个知识点,每个知识点包括知识点标题和知识点内容。

如图1所示,以汽车用户手册为例,其内容是按照目录组织的,其中最底层目录包含的内容称为一个知识点,一般是关于汽车的描述或操作性的内容。知识点由知识点标题和知识点内容构成,例如奥迪a4的汽车用户手册,目录“座椅和摆放/前座椅”下面有一个标题为“手动调节前座椅”的知识点,标题下方是知识点内容,给出了手动调节前座椅的6个步骤(如图2所示)。

本发明实施例的基于产品使用手册的问答方法可以在计算设备中执行。图4示出了根据本发明一个实施例的计算设备400的结构图。如图4所示,在基本的配置402中,计算设备400典型地包括系统存储器406和一个或者多个处理器404。存储器总线408可以用于在处理器404和系统存储器406之间的通信。

取决于期望的配置,处理器404可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器404可以包括诸如一级高速缓存410和二级高速缓存412之类的一个或者多个级别的高速缓存、处理器核心414和寄存器416。示例的处理器核心414可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器418可以与处理器404一起使用,或者在一些实现中,存储器控制器418可以是处理器404的一个内部部分。

取决于期望的配置,系统存储器406可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器406可以包括操作系统420、一个或者多个应用422以及程序数据424。应用422实际上是多条程序指令,其用于指示处理器404执行相应的操作。在一些实施方式中,应用422可以布置为在操作系统上使得处理器404利用程序数据424进行操作。

计算设备400还可以包括有助于从各种接口设备(例如,输出设备442、外设接口444和通信设备446)到基本配置402经由总线/接口控制器430的通信的接口总线440。示例的输出设备442包括图形处理单元448和音频处理单元450。它们可以被配置为有助于经由一个或者多个a/v端口452与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口444可以包括串行接口控制器454和并行接口控制器456,它们可以被配置为有助于经由一个或者多个i/o端口458和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备446可以包括网络控制器460,其可以被布置为便于经由一个或者多个通信端口464与一个或者多个其他计算设备462通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

在根据本发明的计算设备400中,应用422包括基于产品使用手册的问答装置800,装置800包括多条程序指令,这些程序指令可以指示处理器404执行方法500。

图5示出了根据本发明一个实施例的基于产品使用手册的问答方法流程图,该方法在计算设备中执行,所述产品使用手册以目录形式组织,每个最底层目录对应一个知识点,每个知识点包括知识点标题和知识点内容,所述计算设备中还存储有知识库和问题模板库,所述知识库的每个数据条目包括知识点与产品、部件和标签集合的关联关系,所述问题模板库的每个数据条目包括问题模板与标签集合的关联关系,所述标签集合包括一个或多个语义标签,所述语义标签表示与部件相关的操作/描述信息。

参照图5,该方法始于步骤s502,在步骤s502中,接收到用户问题,对用户问题进行产品实体识别和部件识别,获取用户问题关联的产品和部件。实体识别又称命名实体识别,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、产品名、专有名词等。本发明实施例中,产品实体识别是指从用户问题中识别出产品实体的过程,例如从“高尔夫用哪种机油”中识别出的产品实体为“高尔夫”。部件识别可以利用部件关键词词典对用户问题进行匹配。

然后,在步骤s504中,将用户问题与所述问题模板库进行匹配,获取与用户问题关联的标签集合。具体可以包括:

1)将用户问题中的产品实体替换为产品实体的类型,得到泛化的用户问题。这里,产品实体是指具体的产品,产品实体的类型是指具体的产品所属的类别或种类。例如,宝马x3和高尔夫都是产品实体,它们对应的产品实体的类型均为“车系”。例如,对于用户问题“宝马x3的机油型号”,其对应的泛化的用户问题为“{车系}的机油型号”

2)将泛化的用户问题与所述问题模板库进行匹配,得到用户问题对应的问题模板。其中,如果在所述问题模板库中匹配到问题模板,则将匹配到的问题模板作为与用户问题对应的问题模板;如果在所述问题模板库中未匹配到问题模板,则计算用户问题与所述问题模板库中各问题模板的相似度,将相似度最高的问题模板作为与用户问题对应的问题模板。

用户问题与问题模板的相似度可以是:编辑距离相似度,向量相似度,或者,所述编辑距离相似度和向量相似度的加权平均。

这里,用户问题q和问题模板t的编辑距离相似度edit_simi(q,t)的计算公式为:

其中editdistance(q,t)是用户问题和问题模板的编辑距离,|q|和|t|分别是用户问题和问题模板的文本长度。

另外,用户问题和问题模板可以进行向量化表示,他们的向量由它们所包含词的词向量平均得到。因此,用户问题和问题模板的向量相似性可以表示为两个向量的余弦相似度cos_simi(q,t)。最终,用户问题和问题模板的相似度simi(q,t)的计算公式可以为:

simi(q,t)=a×edit_simi(q,t)+(1-a)×cos_simi(q,t),

其中a是一个调节权重占比的超参数。

3)从所述问题模板库中获取与该问题模板关联的标签集合,作为与用户问题关联的标签集合。

然后,在步骤s506中,根据与用户问题关联的产品和部件,从所述知识库中获取候选的知识点集合,即从知识库中查询产品与部件均与用户问题所关联的产品和部件相同的知识点,查询得到的一个或多个知识点即为候选的知识点集合。例如,可以利用用户问题中识别出的车系实体,查找到该车系的手册知识点,然后利用用户问题中识别出的汽车部件,进一步筛选出该部件相关的知识点。

接下来,在步骤s508中,计算用户问题关联的标签集合与候选的知识点集合中知识点关联的标签集合,二者的第一匹配分值,作为用户问题与知识点的匹配分值。这里,需要对候选的知识点集合中的每个知识点分别计算一个匹配分值。

所述第一匹配分值可以为:

用户问题关联的标签集合与知识点关联的标签集合,二者的交集与并集的第一比值;

用户问题关联的标签集合与知识点关联的标签集合的向量相似度;或者

所述第一比值和向量相似度的加权平均。

具体地,对用户问题的标签集合labelsq和知识点的标签集合labelsk计算第一匹配分值,第一匹配分值由两个标签集合的jaccard指数和标签向量的余弦相似度加权得到。标签集合的jaccard指数为两个集合的交集与并集的比值,计算公式为:

上式中,分子为两个集合的交集,分母为两个集合的并集。

同时,标签集合可进行向量化表示,其语义向量vector(labels)由其中每个标签词的向量平均得到:

其中,vector(labelsi)表示标签集合labels中第i个标签labelsi的向量,每个标签词的向量可由词向量技术获得,|labels|表示标签集合labels中标签的数目。而标签集合的向量相似性表示为两个向量的余弦相似性cos_simi(labelsq,labelsk)。这样,用户问题标签集合和知识点标签集合的相似度可以由下式计算:

scorelabelsq,labelsk)

=b×jaccard(labelsq,labelsk)+(1-b)×cos_simi(labelsq,labelsk)

其中b是一个调节权重占比的超参数。

在另外一种实现方式中,还可以计算用户问题q与知识点标题title的向量相似度cos_simi(q,title),作为第二匹配分值,并将第一匹配分值和第二匹配分值的加权平均,作为用户问题与知识点的匹配分值。其中,问题文本和知识点标题可进行向量化表示,它们的向量由其中包含的词的向量平均得到。这样,最终的匹配得分由标签相似性和问题文本-知识点标题相似性加权得到,计算公式为:score=c×scorelabelsq,labelsk)+(1-c)×cos_simi(q,title),其中c是一个调节权重占比的超参数。

最后,在获取到用户问题与候选的知识点集合中各知识点的匹配分值之后,进入步骤s510。在步骤s510中,获取候选的知识点集合中匹配分值大于预定阈值的知识点,作为用户问题对应的答案。

在一种实现方式中,若存在多个匹配分值大于预定阈值的知识点,则对这些知识点进行目录检查,将属于同一目录的知识点聚合为一个聚合知识点,并将匹配分值最高的预定数目个知识点,作为用户问题对应的答案。这里,聚合知识点的匹配分值取聚合前的知识点中的最高匹配分值。

以下介绍上述知识库和问题模板库的构建方法。

如前所述,产品使用手册是一种非结构化文本,通常以目录形式组织,每个最底层目录对应一个知识点,每个知识点包括知识点标题和知识点内容。需要说明的是,产品使用手册可以是各种领域的产品使用手册,例如:汽车、空调、电视等领域的使用手册。下文将以汽车领域的产品使用手册即汽车用户手册为例进行说明,但本发明不限于此,也可以是任何领域的产品使用手册。

在本发明实施例中,可以根据产品使用手册来构建知识库,所述知识库包括多个数据条目,每个数据条目包括知识点与产品、部件和标签集合的关联关系,所述标签集合包括一个或多个语义标签,所述语义标签表示与部件相关的操作/描述信息。

以汽车用户手册为例,从图1所示的目录结构可以看出,汽车用户手册的知识点一般与汽车某部件关联,如发动机、轮胎、雨刮等,例如“更换雨刮片”这一知识点就是与“雨刮”部件相关的,因此可以将每个知识点与相应的汽车部件关联起来。

此外,汽车用户手册知识点内容一般是与部件相关的操作/描述信息,例如发动机的型号、轮胎的更换方法等,因此可将“型号”、“更换”等语义标签赋予相关的知识点,作为它的语义标记,例如“发动机型号”这一知识点相应的部件和语义标签就是“发动机”、“型号”。

因此,通过从知识点抽取部件和语义标签,能够将一个或多个非结构化的产品用户手册构建为一个结构化的知识库。需要说明的是,产品使用手册为数字化的产品使用手册,对同一领域的多个产品使用手册进行处理,能够生成一个该领域的知识库。例如,在汽车领域,不同的车系有不同的汽车用户手册,则根据所有车系的多个汽车用户手册,能够生成一个汽车领域的知识库。知识库的每个数据条目对应一个知识点,该知识点首先是与产品相关联,并且是与该产品的某个部件相关联,然后,还会与一个标签集合相关联,标签集合中的语义标签的数量可以为1个,表示该知识点涉及针对该产品下该部件的1个语义信息,标签集合中的语义标签的数量可以为多个,表示该知识点涉及针对该产品下该部件的多个语义信息

在一种实现方式中,可以将所述知识库构建为知识图谱的一部分,其中,产品和知识点对应知识图谱中的节点,部件和标签集合对应节点之间的关系,,所述知识图谱还包括产品、部件等的上下位关系,通过利用这些关系,能够增强推理能力,显著增强知识点的查找准确性。例如,当产品为汽车时,车系和知识点是图谱中的节点,而部件和语义标签(一个知识点可能对应一个或多个语义标签)则对应节点间的关系,且知识图谱中还可以包含汽车名词术语、车系、部件之间等的上下位关系,如图3所示。

图6示出了本发明实施例中根据产品使用手册构建知识库的流程图。参照图6,该方法始于步骤s602。在步骤s602中,根据知识点标题确定与知识点关联的部件。可以预先设置一与部件相关的关键词词典,并基于关键词匹配的方式,抽取各产品使用手册中各知识点的相关部件,如果关键词词典中某个部件的关键词在知识点标题中出现,则将该部件确定为与该知识点关联的部件,并将该知识点标记为从属该部件的知识点。这里,部件的关键词可以包括:与部件名称相关的关键词和/或对部件进行操作/描述的关键词。例如,“手动调节前座椅”,其关联的部件为“前座椅”;又例如,“宝马x3的机油型号”,其关联的部件为“发动机”,也就是说,在关键词词典中,发动机对应的关键词还包括“机油”。

经过步骤s602的处理,对于某一领域(例如汽车领域)的多个产品使用手册中的每个知识点,都完成了与部件的关联。然后,在步骤s604中,根据知识点与部件的关联关系,确定与部件关联的知识点集合。具体而言,每个知识点都与一个部件关联,那么,对所有知识点关联的部件进行汇总,就可以得到各部件分别关联的多个知识点,这些知识点构成与该部件关联的知识点集合。

举个例子,假设:知识点1关联部件1,知识点2关联部件2,知识点3关联部件3,知识点4关联部件1,知识点5关联部件1,知识点6关联部件3,则对这些数据进行汇总后得到:部件1关联{知识点1,知识点4,知识点5},部件2关联{知识点2},部件3关联{知识点3,知识点6}。

然后,在步骤s606中,根据部件所关联的知识点集合,确定与部件关联的标签集合(部件-标签体系)。具体而言,对于每个部件,可以执行如下处理,来确定与该部件关联的标签集合:

1)遍历与该部件关联的知识点集合中的每个知识点。

2)对于遍历到的每个知识点,从该知识点的知识点标题中提取表示对部件进行操作/描述的核心词。可以对知识点标题进行句法分析来提取其核心词,例如“发动机型号”的标题可提取出核心词“型号”。

3)对遍历到的所有知识点对应的核心词进行汇总,得到与该部件关联的标签集合。这里的汇总可以包括去重处理和同义词归类,例如发动机相关的语义标签包括“型号”、“启动”、“无钥匙启动”等,“添加发动机机油”有“加注”、“补充”等一系列同义词。

对于汽车领域,形成的部件-标签体系涵盖发动机、轮胎、雨刮、座椅、安全带等主要部件,每个部件的标签描述了该部件相关的信息和操作。下面是“发动机”的部件-标签体系示意,其中每一行是发动机相关的一个标签,以逗号分隔的是该标签的同义词:

机油,发动机油

关闭,停止

启动,起动,开启

无法启动,不能启动,不工作

然后,在步骤s608中,将产品使用手册中的各知识点进行结构化处理后,添加到知识库中。具体而言,对于每个知识点,执行如下操作:

1)获取与该知识点关联的产品和部件,并获取该部件所关联的标签集合;

2)将知识点标题与获取的标签集合进行匹配,将匹配到的一个或多个语义标签作为与该知识点关联的标签集合;

3)将该知识点以及与该知识点关联的产品、部件和标签集合作为一个数据条目添加到所述知识库中。

例如,对于宝马x3对应的汽车用户手册中,有一个“更换车轮”的知识点,则经过结构化处理后,该知识点在知识库中对应的数据条目为:

知识点:“更换车轮”(注:具体内容在宝马x3汽车用户手册的相关目录下),产品:宝马x3,部件:车轮,语义标签:更换。

如此,构建完成了一个或多个产品使用手册(指一个领域例如汽车领域内的多个汽车用户手册)对应的知识库。

之后,可以根据历史问题库构建问题模板库,所述问题模板库包括多个数据条目,每个数据条目包括问题模板与标签集合的关联关系,所述标签集合包括一个或多个语义标签,所述语义标签表示与部件相关的操作/描述信息。具体而言,通过对历史问题库进行挖掘,利用语义标签抽取技术构建泛化的问题到语义标签的模板库,利用和模板库中的模板进行匹配可精确解析出问题的语义标签,为之后对用户问题进行语义解析做基础。

图7示出了本发明实施例中根据历史问题库构建问题模板库的流程图。参照图7,该方法始于步骤s702,在步骤s702中,从历史问题库中筛选出与产品使用手册相关的问题,生成候选问题库。历史问题库中有大量的用户问题,有些用户问题与产品使用手册相关,有些用户问题有产品使用手册无关。因此,在本步骤中,可以利用部件关键词(与部件相关的关键词词典中的关键词)对历史问题库中的问题进行匹配,从而筛选出与产品使用手册相关的问题。

在步骤s704中,将候选问题库中的问题泛化为问题模板。具体而言,对于候选问题库中的每个问题,执行如下处理:

1)对该问题进行产品实体识别、部件识别和核心词识别。实体识别又称命名实体识别,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、产品名、专有名词等。本发明实施例中,产品实体识别是指从问题文本中识别出产品实体的过程,例如从“高尔夫用哪种机油”中识别出的产品实体为“高尔夫”。部件识别可以利用部件关键词词典对问题文本进行匹配。核心词识别是从问题文本中识别出表示对部件进行操作/描述的核心词,可以通过句法分析来提取其核心词,例如从“发动机型号”中可提取出核心词“型号”。

2)如果识别出的核心词是与部件关联的标签集合中的语义标签或者是该语义标签的同义词,则将该语义标签加入该问题的标签集合中;

如果识别出的核心词不是与部件关联的标签集合中的语义标签,也不是该语义标签的同义词,则利用与部件关联的标签集合中的语义标签对问题进行匹配,将匹配到的语义标签加入该问题的标签集合中。

3)将问题中的产品实体替换为产品实体的类型,得到该问题的问题模板。这里,产品实体是指具体的产品,产品实体的类型是指具体的产品所属的类别或种类。例如,宝马x3和高尔夫都是产品实体,它们对应的产品实体的类型均为“车系”。

这样,对于问题文本“宝马x3的机油型号”,其对应的问题模板为“{车系}的机油型号”,其对应的标签集合为{“机油”,“型号”}。

经过步骤s704的处理,得到了多个问题模板,且每个问题模板均与一个标签集合相关联。由于候选问题库中包括的问题数量通常较大,这样,得到的多个问题模板中会存在许多相同或相似的问题模板,因此,在步骤s706中,对所有问题模板进行聚合,生成问题模板库。具体包括:

1)对相同的问题模板进行去重处理,即多个相同的问题模板仅保留一个问题模板。

2)将相似的问题模板进行合并处理,即多个相似的问题模板仅保留一个问题模板(可以是其中的任意一个),并且,合并得到的问题模板所关联的标签集合是:相似的问题模板分别关联的标签集合的并集。这里,如果两个问题模板的相似度大于预定阈值,则可以认为这两个问题模板相似。相似度可以采用编辑距离相似度、向量相似度或者二者的加权平均,本发明对具体的相似度计算方法不做限制,本领域可以根据具体需求进行合理选择。

例如:有3个相似的问题模板:模板1,模板2,模板3,所关联的标签集合分别为{标签1,标签2}、{标签1,标签3},{标签1,标签2},则对这3个相似的问题模板进行合并处理得到的问题模板可以是:模板1,其关联的标签集合为{标签1,标签2,标签3}。

3)将去重处理和合并处理得到的每个问题模板与其关联的标签集合,作为一个数据条目添加到问题模板库中。

模板库部分示意如下:

{车系}怎么关闭自动启停功能---[关闭,自动启停]

{车系}的机油型号---[机油,型号]

{车系}更换冷却液---[更换,冷却液]

{车系}可以遥控启动发动机吗---[启动,遥控]

构建完成知识库和问题模板库之后,就可以将所述知识库和问题模板库构建为问答系统。具体地,是将所述知识库和问题模板库存储在计算设备中,并在计算设备中创建问答处理单元。也就是说,所述问答系统包括知识库、问答模板库和问答处理单元,其中,所述问答处理单元适于在接收到用户问题时,将用户问题与所述问题模板库进行匹配,获取与用户问题关联的标签集合,进而根据与用户问题关联的产品、部件和标签集合,从所述知识库中查询对应的知识点,作为用户问题对应的答案返回给用户。

综合以上步骤,本发明实施例的方案具有以下优点:

1)较高的候选知识点检索准确率和召回率。通过利用知识库(例如知识图谱)构建技术,能够将非结构化产品用户手册知识结构化到产品所属领域的知识图谱中,并覆盖绝大多数产品用户手册知识点,在问答过程中充分利用知识图谱的领域本体推理能力,从而提高手册知识点的检索准确率和召回率。

2)精确的用户问题语义解析和答案匹配。本发明通过从用户问题中抽取产品、部件、语义标签等信息,能够准确理解用户的查询意图。进一步基于这些信息能够实现在知识库中进行精确的答案查找和评分排序,使得回答精准,质量可控。

举个例子,假设用户问题为“高尔夫用哪种机油”,则利用“高尔夫用哪种机油”的车系和部件信息,可首先将答案限定在高尔夫车系的汽车用户手册中与发动机相关的一些知识点。以下为部分示意,每行是一个知识点,每个知识点包含四个部分,由“||”分隔,依次分别是部件、标签、标题、内容:

发动机||[机油,更换]||更换发动机机油。||务必按《保养手册》规定的周期定期更换发动机机油。因更换机油及机油滤清器须具备相应专业知识及相应的专用工具,故建议由本公司特许经销商更换机油和机油滤清器。处理废机油同样如此,也建议由本公司特许经销商处理。关于机油保养周期的详细信息可查阅《保养手册》。发动机机油里的添加剂很快就会使机油的颜色变暗,此属正常现象,无需频繁更换机油。

发动机||[机油,规格]||发动机机油规格。||必须使用规格正确的发动机机油!发动机机油是影响发动机功能和使用寿命的重要因素。本车出厂时已加注专用优质复式粘度机油,除极端严寒气候,该机油可全年使用。强烈建议仅使用本公司认可的适用于您所购轿车发动机的机油。如轿车其它部件一样,发动机机油也在不断发展之中,本公司特许经销商掌握车用油液的最新发展动态及技术数据,建议最好由本公司特许经销商更换发动机机油。发动机机油品质不仅须符合发动机及排气净化系统的要求,并且须与燃油品质相匹配。因发动机工作过程中发动机机油始终与燃烧残留物及燃油保持接触状态,从而加速机油的老化过程。市场销售的机油品质差异极大,因此,选用机油时务必谨慎。选用的发动机机油必须符合vw50200标准,同时,必须使用符合gb17930标准的优质无铅汽油。因此,符合vw50400和vw50700标准的发动机机油不适用于中国。允许使用的发动机机油规格:汽油发动机:vw50200。

再通过评分算法,得到上述第二条知识点为最匹配的知识点,作为答案返回给用户。

图8示出了根据本发明一个实施例的基于产品使用手册的问答装置800的结构图。装置800驻留于计算设备(例如前述计算设备400)中,以使计算设备执行本发明的问答方法500。所述产品使用手册以目录形式组织,每个最底层目录对应一个知识点,每个知识点包括知识点标题和知识点内容,所述计算设备中还存储有知识库和问题模板库,所述知识库的每个数据条目包括知识点与产品、部件和标签集合的关联关系,所述问题模板库的每个数据条目包括问题模板与标签集合的关联关系,所述标签集合包括一个或多个语义标签,所述语义标签表示与部件相关的操作/描述信息。如图8所示,装置800包括:

问题解析单元810,适于对接收到的用户问题进行产品实体识别和部件识别,获取用户问题关联的产品和部件;

标签获取单元820,适于将用户问题与所述问题模板库进行匹配,获取与用户问题关联的标签集合;

候选知识点获取单元830,适于根据与用户问题关联的产品和部件,从所述知识库中获取候选的知识点集合;

匹配分值计算单元840,适于计算用户问题关联的标签集合与候选的知识点集合中知识点关联的标签集合,二者的第一匹配分值,作为用户问题与知识点的匹配分值;以及

答案确定单元850,适于获取候选的知识点集合中匹配分值大于预定阈值的知识点,作为用户问题对应的答案

问题解析单元810、标签获取单元820、候选知识点获取单元830、匹配分值计算单元840和答案确定单元850的功能以及具体执行逻辑可参照方法500所述,这里不做赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1