一种建立文档推荐模型的方法及装置与流程

文档序号:26279320发布日期:2021-08-13 19:36阅读:55来源:国知局
一种建立文档推荐模型的方法及装置与流程
本申请实施例涉及计算机领域,尤其涉及一种建立文档推荐模型的方法及装置。
背景技术
:随着计算机技术与存储技术的发展,文档存储数量十分庞大。用户需要在众多繁杂的文档中快速找到满足需求的文档。例如,在软件产品的标书答复过程中,客户会提供一份投标答复库(statementofcompliance,soc),用于描述对于软件的具体需求;软件供应方拿到标书后,需将自己可以提供的软件产品的多份软件特性文档作为需求说明(featuredescription,fd),快速查找出可以满足soc中的需求的软件特性文档,以答复soc,提高投标成功率。当前主要是通过检索关键词、计算文档相似度等方法来实现文档的推荐,但由于撰写的语言习惯差异,存在文档中可能并不存在需求的关键词的情况,或者不同语言习惯导致同一内容描述为不同的文本,文本相似度并不高的情况,因此,采用常规的检索关键词、计算文档相似度很难实现精准的文档查找。针对上述现象,业界提出了一种建立针对被映射文档库(多个用于被查询的文档的集合,也可称为被查询文档库)的模型,当向该模型输入主映射文本(也可以称为需求文本,主映射文本包括一个段落)时,模型推荐出被映射文档中与主映射文本相关的文档。建立模型的过程包括:获取样本文档(包括主映射文本及被映射文档库),人工通读样本文档后标记主映射文本与哪些被映射文档相关作为真实映射关系,将标注了映射关系的样本文档作为训练数据集;然后将训练数据集输入语言模型得到每个文档的向量数据,将向量数据输入文本分类模型得到样本文档中主映射文本与被映射文档相关的预测映射关系;最后根据预测映射关系与真实映射关系训练模型,提高模型预测的准确度。但是,上述模型建立过程需要专业人员通读样本文档后标注真实映射关系,耗时长、人员专业性要求高且人力成本较高;并且会出现样本数据中主映射文本不足影响模型有效性的缺陷。技术实现要素:本申请提供一种建立文档推荐模型的方法及装置,实现缩短耗时、不受人员专业性要求限制且低成本的文档推荐建立,同时避免主映射文本不足对模型有效性的影响。为了达到上述目的,本申请采用如下技术方案:第一方面,本申请提供一种建立文档推荐模型的方法,该方法可以包括:获取多个被映射文档;提取每个被映射文档中的关键句;构建一个或多个主映射文本,主映射文本包括一个或多个关键句;将每个主映射文本及每个被映射文档输入文档推荐模型,得到每个主映射文本与每个被映射文档的预测映射信息;预测映射信息用于指示主映射文本与被映射文档是否预测相关;根据预测映射信息与每个主映射文本及每个被映射文档的真实映射信息,训练文档推荐模型直至收敛;真实映射信息用于指示主映射文本与被映射文档是否真实相关;主映射文本与其包含的关键句所属的被映射文档真实相关。通过建立文档推荐模型的方法,在建模时,先提取被映射文档的关键句,将关键句构建为主映射文本,然后将建立的主映射文本及被映射文档通过训练建立模型。一方面,主映射文本由关键句组成,主映射文本与被映射文档之间的真实映射关系由从属关系决定,无需专业人员通读后确定,耗时短、不受人员专业性要求限制且低成本,并且可以构建丰富的建模用的主映射文本,有效的避免了主映射文本不足模型有效性的影响。其中,文档推荐模型用于对输入其中的主映射文本及被映射文本进行处理,预测每个主映射文本与每个被映射文本的相关性,输出预测映射信息。结合第一方面,在一种可能的实现方式中,多个被映射文档可以由建立文档推荐模型的装置的管理员输入。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,多个被映射文档可以为存储于建立文档推荐模型的装置或其所在的服务器中的一组被映射文档。结合第一方面或上述任一种可能的实现方式,在一种可能的实现中,文档推荐模型可以为一级模型,配置为输出预测映射信息。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,文档推荐模型可以包括两级用于预测的模型,一级模型为用于识别输入其内部的文本的语义并以向量的形式输出的神经网络,第二级模型为用于根据向量预测相关性的模型。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,文档推荐模型可以包括语言模型及文本分类模型,将每个主映射文本及每个被映射文档输入文档推荐模型,得到每个主映射文本与每个被映射文档的预测映射信息,包括:将每个主映射文本及每个被映射文档输入语言模型,得到每个主映射文本及每个被映射文档的特征向量;特征向量用于反映文档的语义;将每个主映射文本及每个被映射文档的特征向量输入文本分类模型,得到每个主映射文本与每个被映射文档的预测映射信息。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,预测映射信息可以包括:用于指示是否相关的指示信息;或者,用于指示相关程度的相关概率值。在这种可能的实现方式中,预测信息为用于指示相关程度的相关概率值时,由于文档推荐模型的输出为相关程度的相关概率,根据该概率值确定的被映射文档,准确度更高。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,构建一个或多个主映射文本可以包括:按照预设规则构建一个或多个主映射文本。在该可能的实现方式中,可以根据用户的需求来配置预设规则,可以满足用户的多种需求,使文档推荐模型的应用范围更广。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,预设规则可以包括:将一个被映射文档包含的关键句构建为一个主映射文本。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,预设规则可以包括:将一个关键句构建为一个主映射文本。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,预设规则可以包括:将所有被映射文档包含的关键句中随机选取q个作为一个主映射文本。其中,q大于或等于1。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,预设规则可以包括:将所有被映射文档包含的关键句分为l个组,每个组作为一个主映射文本。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,关键句为在被映射文档的典型性指标x大于或等于阈值的句子。其中,计算第一句子在第一被映射文档的x的计算式满足下述关系:tf为第一句子在第一被映射文档中出现的次数;d为多个被映射文档的总数量;m为多个被映射文档中包含第一句子的被映射文档的数量,a为预设底数。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,真实映射信息可以包括:用于指示是否相关的指示信息;或者,主映射文本与被映射文档的关联关系,相互关联的文档真实相关。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,该方法还可以包括:获取多个领域文本,领域文本为被映射文档所属的专业领域的文本;根据多个领域文本训练语言模型至收敛。在该可能实现的方式中,通过领域文本对语言模型训练后得到的文本推荐模型,由于对领域文本的语义识别度更高,在实现文档推荐时,具有更高的准确度。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,该方法还可以包括:获取用户输入的包括一个段落的查询文本;将查询文本输入文档推荐模型,获取与查询文本相关的y个被映射文档;y大于或等于1;向用户输出y个被映射文档中的n个被映射文档,n大于或等于1。结合第一方面或上述任一种可能的实现方式,在一种可能的实现方式中,向用户输出y个被映射文档中的n个被映射文档可以包括:若n大于或等于y,向用户输出y个被映射文档;若n小于y,向用户输出y个被映射文档中的与查询文本相关程度从高到低的前n个被映射文档。第二方面,本申请提供一种建立文档推荐模型的装置,用于实现上述第一方面描述的方法。该建立文档推荐模型的装置可以为服务器或支持服务器实现该第一方面描述的方法的装置,例如该装置包括芯片系统。例如,该建立文档推荐模型的装置可以包括:第一获取单元,提取单元、构建单元、处理单元和训练单元。第一获取单元,用于获取多个被映射文档。提取单元,用于提取每个被映射文档中的关键句。构建单元,用于构建一个或多个主映射文本,主映射文本包括一个或多个关键句。处理单元,用于将每个主映射文本及每个被映射文档输入文档推荐模型,得到每个主映射文本与每个被映射文档的预测映射信息;预测映射信息用于指示主映射文本与被映射文档是否预测相关。训练单元,用于根据预测映射信息与每个主映射文本及每个被映射文档的真实映射信息,训练文档推荐模型直至收敛;真实映射信息用于指示主映射文本与被映射文档是否真实相关;主映射文本与其包含的关键句所属的被映射文档真实相关。需要说明的是,第二方面的各个单元具体实现同第一方面中相应的方法描述,这里不再赘述。上述第二方面的功能模块可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。例如,收发器,用于完成接收单元和发送单元的功能,处理器,用于完成处理单元的功能,存储器,用于处理器处理本申请实施例的方法的程序指令。处理器、收发器和存储器通过总线连接并完成相互间的通信。第三方面,本申请提供另一种建立文档推荐模型的装置,该建立文档推荐模型的装置可以实现上述方法示例中的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。该建立文档推荐模型的装置可以以芯片的产品形态存在。结合第三方面,在一种可能的实现方式中,该建立文档推荐模型的装置的结构中包括处理器和收发器,该处理器被配置为支持该建立文档推荐模型的装置执行上述方法中相应的功能。该收发器用于支持该建立文档推荐模型的装置与其他设备之间的通信。该建立文档推荐模型的装置还可以包括存储器,该存储器用于与处理器耦合,其保存该建立文档推荐模型的装置必要的程序指令和数据。第四方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述任一方面或任一种可能的实现方式提供的建立文档推荐模型的方法。第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方面或任一种可能的实现方式提供的建立文档推荐模型的方法。第六方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述方法中的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。其中,需要说明的是,上述各个方面中的任意一个方面的各种可能的实现方式,在方案不矛盾的前提下,均可以进行组合。附图说明图1为现有技术提供的一种建立针对被映射文档库的模型的过程示意图;图2为本申请提供的一种文档推荐系统示意图;图3为本申请提供一种建立文档推荐模型的装置示意图;图4为本申请实施例提供的一种建立文档推荐模型的方法流程示意图;图5为本申请实施例提供的另一种建立文档推荐模型的方法流程示意图;图6为本申请提供另一种建立文档推荐模型的装置的结构示意图;图7为本申请提供再一种建立文档推荐模型的装置的结构示意图;图8为本申请提供再一种建立文档推荐模型的装置的结构示意图。具体实施方式本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,a/b可以表示a或b;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。在本申请实施例中,至少一个还可以描述为一个或多个,多个可以是两个、三个、四个或者更多个,本申请不做限制。为了便于理解,先对本申请涉及的名词进行解释。句子(sentence),是书面语言运用的基本单位,它由词、词组(短语)构成,能表达一个完整的意思。不同句子中间有较大停顿,句子的结尾可以有句号、问号、省略号、或感叹号等结尾性的标识。文本,是指通过书面语言表达信息的形式,文本包含一个段落,段落可以指具有完整、系统含义的一个句子或多个句子的组合。文档,是指具有固定名称,固定格式的计算机上存储的文本的集合。本申请描述的文档指计算机可识别的文档,包括但不限于文字信息、程序信息或者其他。例如,常见的文档有txt文档、doc文档、docx文档、pdf文档等。被映射文档,可以指存储于服务器中用于被查询的文档。例如,在软件产品的标书答复过程中,被映射文档可以是多份fd。主映射文本,可以指作为需求的文本,用于在被映射文档中查询与其相关的文档。其中,主映射文本可以为一个或者多个句子构成的文本段落。例如,本申请实施例中的主映射文本可以是被映射文档的关键句子构成的文本段落。主映射文档,可以指作为需求的文档,包含一个或多个主映射文本。例如,在软件产品的标书答复过程中,主映射文档可以是soc,soc中的每个段落可以作为主映射文本。语言模型,是一种基于深度神经网络的模型,其功能为识别输入其内部的文本序列中的语义和/或语法,并将识别出的内容以向量形式输出。语言模型的作用在于量化的表征文本,即将文本转化为向量,物理意义在于通过多维特征表示一段文本和另一端文本的相似和不同之处。例如,语言模型可以包括:word2vec模型、glove模型,bert模型。通用语言模型,可以指不限定领域的语言模型。领域语言模型,将通用语言模型通过专业领域文本训练后,得到针对该专业领域的语言模型。文档推荐,可以指在被映射文档中找到与主映射文本相关的文档并进行推荐的过程。与主映射文本相关的文档,可以表达主映射文本的意思或者涵盖了表达主映射文本的意思的文本。文档推荐模型,是指针对一组被映射文档进行文档推荐的模型,用于从该组被映射文档中找到与主映射文本相关的文档并进行推荐。当前,业界提出了一种建立针对被映射文档库的模型的方法,通过该模型实现文档推荐。图1示意了一种建立针对被映射文档库的模型的过程,该过程可以包括但不限于s101和s102。s101、人工根据样本数据构建训练数据集。s101可以实现为:可以通过样本积累或者其他方式,获取多个主映射文本和多个被映射文档作为样本数据。专业人员通读样本数据中的所有主映射文本和被映射文档后,标记主映射文本与被映射文档之间的真实映射关系,将标注了真实映射关系的样本数据称为训练数据集。需要说明的是,若需求文档包含多个段落的文档文本时,先对文档进行分段,将每一个段落作为一个主映射文本,构建训练数据集。s102、通过训练数据集训练得到针对被映射文档库的模型。具体的,在s102中可以将s101中构建的训练数据集,输入语言模型得到主映射文本与被映射文档的向量,将向量数据输入文本分类模型,文本分类模型输出每个主映射文本与每个被映射文档的预测映射关系(是否相关或者相关概率);然后根据每个主映射文本与每个被映射文档的预测映射关系与真实映射关系训练文本分类模型和/或语言模型,直至收敛,将训练后的语言模型和文本分类模型作为针对被映射文档库的模型。在针对被映射文档库的模型建立好之后,利用该模型具体的推荐过程为:将主映射文本(一个文本段落)输入该模型,模型输出与主映射文本相关的一个或多个被映射文档。但是,s101中构建训练数据集时,需要专业人员通读样本数据中的所有主映射文本与被映射文档,然后人为判断每个主映射文本与每个被映射文档之间的相关性(真实映射关系),该过程耗时长、人员专业性要求高且人力成本较高。另外,在上述建立模型过程中,可能存在样本数据中主映射文本不足的情况,导致建立的模型有效性不足。基于此,本申请实施例提供一种建立文档推荐模型的方法,通过提取被映射文档的关键句,将关键句构建为主映射文本,然后将建立的主映射文本及被映射文档通过训练建立模型。一方面,主映射文本由关键句组成,主映射文本与被映射文档之间的真实映射关系由从属关系决定,无需专业人员通读后确定,耗时短、不受人员专业性要求限制且低成本,并且可以构建丰富的建模用的主映射文本,有效的避免了主映射文本不足模型有效性的影响。下面将结合附图对本申请实施例的实施方式进行详细描述。本申请实施例提供的建立文档推荐模型的方法应用于图2所示的文档推荐系统中。如图2所示,文档推荐系统20可以包括服务器201、管理员202。其中,管理员202通过服务器201的人机交互界面,对服务器201进行操作。其中,可选的,服务器201的人机交互界面可以配置于服务器201中,或者,服务器201的人机交互界面可以配置于与服务器201匹配使用的其他设备中。管理员202可以通过服务器201的人机交互界面输入主映射文本,服务器201用于查找获取相关的被映射文档,并通过其人机交互界面向管理员202推荐。进一步的,服务器201可以包括文档推荐模型2011及被映射文档库2012。服务器201可以通过本申请提供的方案建立针对被映射文档库2012中的被映射文档的文档推荐模型2011。服务器201还可以用于,在接收到管理员202输入的主映射文本时,通过文档推荐模型2011查找被映射文档库2012,获取与主映射文本相关的被映射文档进行推荐。其中,服务器201可以是物理服务器,或者云服务器,或者其他具有数据处理能力与存储能力的设备,本申请对此不予限定。可选的,服务器201中包括的文档推荐模型2011及被映射文档库2012可以成组存在,服务器201中可以包括多组文档推荐模型2011及被映射文档库2012。下面结合附图,对本申请的实施例提供的建立文档推荐模型的方法及装置进行具体阐述。一方面,本申请实施例提供一种建立文档推荐模型的装置,用于执行本申请提供的建立文档推荐模型的方法。该建立文档推荐模型的装置可以部署于图2所示的文档推荐系统20中的服务器201中,该建立文档推荐模型的装置可以为服务器201的部分或者全部。或者,该建立文档推荐模型的装置也可以单独部署,该建立文档推荐模型的装置可以为具有相关数据处理与存储能力的电子设备或者芯片系统。图3示意了本申请实施例提供的一种建立文档推荐模型的装置30。如图3所示,建立文档推荐模型的装置30可以包括处理器301、存储器302以及收发器303。下面结合图3对建立文档推荐模型的装置30的各个构成部件进行具体的介绍:其中,存储器302可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);或者非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);或者上述种类的存储器的组合,用于存储可实现本申请方法的程序代码、应用程序及配置文件、数据信息或者其他内容。处理器301是建立文档推荐模型的装置30的控制中心。例如,处理器301可以是一个中央处理器(centralprocessingunit,cpu),也可以是特定集成电路(applicationspecificintegratedcircuit,asic),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalsingnalprocessor,dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,fpga)。收发器303用于建立文档推荐模型的装置30与其他设备的信息交互。具体的,处理器301通过运行或执行存储在存储器302内的软件程序和/或模块,执行如下功能:获取多个被映射文档;提取每个被映射文档的关键句;构建一个或多个主映射文本,主映射文本包括一个或多个关键句;将每个主映射文本及每个被映射文档输入文档推荐模型,得到每个主映射文本与每个被映射文档的预测映射信息;预测映射信息用于指示主映射文本与被映射文档是否预测相关;根据预测映射信息与每个主映射文本及每个被映射文档的真实映射信息,训练文档推荐模型直至收敛;真实映射信息用于指示主映射文本与被映射文档是否真实相关;主映射文本与其包含的关键句所属的被映射文档真实相关。另一方面,本申请实施例提供一种建立文档推荐模型的方法,用于建立针对一组被映射文档的文档推荐模型,该模型用于从该组被映射文档中选取主映射文本相关的文档。为了处理方便,可以对每个主映射文本以及每个被映射文档进行编号或标识,在本方案处理过程中,传递编号或者标识,处理者根据编号或标识获取对应的文本或文档进行对应处理用。如图4所示,该方法可以包括:s401、建立文档推荐模型的装置获取多个被映射文档。一种可能的实现方式中,多个被映射文档可以由建立文档推荐模型的装置的管理员输入。另一种可能的实现方式中,多个被映射文档可以为存储于建立文档推荐模型的装置或其所在的服务器中的一组被映射文档。具体的,s401中建立文档推荐模型的装置通过检测每个被映射文档的后缀名(.pdf或者.doc等),得到每个被映射文档的格式,然后调用与格式匹配的解码器,读取每个被映射文档的内容。s402、建立文档推荐模型的装置提取每个被映射文档中的关键句。一种可能的实现方式中,s402中可以将每个被映射文档分别看作整体,识别提取每个被映射文档中的关键句。具体的,在s402中,可以先识别出每个被映射文档包括的段落,然后识别出段落中的句子,然后确定被映射文档中的关键句之后进行提取。例如,建立文档推荐模型的装置对每个被映射文档采用分段算法,识别出每个被映射文的段落,按照分句算法,识别出句子。本申请对于分段算法、分句算法的类型不予限定。其中,关键句可以为在被映射文档的典型性指标x大于或等于阈值的句子。具体的,确定被映射文档中的关键句,先计算每个句子在其所在被映射文档的典型性指标,然后与阈值进行对比。其中,阈值可以根据用户的经验进行配置,本申请对此不予限定。需要说明的是,对于计算每个句子的典型性指标的方法相同,本申请仅以计算一个句子在一个被映射文档的典型性指标为例进行说明,其他不再一一赘述。可选的,计算句子典型性指标的方法可以是基于词频-逆文本频率指数(termfrequency–inversedocumentfrequency,tf-idf)算法,或者textrank算法,或者线性判别分析(latentdirichletallocation,lda)算法等任何可以计算典型性指标的算法,进行句子典型性指标计算,本申请对此不做具体限定。示例性的,基于tf-idf算法计算第一句子在第一被映射文档的典型性指标x的计算式满足下述关系:其中,tf为第一句子在第一被映射文档中出现的次数;d为s401中获取的多个被映射文档的总数量;m为s401中获取的多个被映射文档中包含第一句子的被映射文档的数量,a为预设底数。第一句子为s401中获取的多个被映射文档中包含的任一句子,第一被映射文档为s401中获取的多个被映射文档中包含第一句子的任一文档。其中,可以根据实际需求配置a的取值,本申请不予限定。例如,a可以为10或者自然常数e或者其他。例如,一个被映射文档a如下所示,对该被映射文档采用分句算法后,得到下述句子b和句子c。其中,被映射文档a:“whenthecustomersofcbssystemareconsuming,charging,paying,andsoon,afterthecustomerinformationwillchange,thethirdpartysystemobtains....whenacbssubscriberusesservices,makesarecharge,makesapayment,orperformsotheractivitieswhichleadsubscriberinformationchanges,thisfeatureenablescbsto……”。句子b:“whenthecustomersofcbssystemareconsuming,charging,paying,andsoon,afterthecustomerinformationwillchange,thethirdpartysystemobtains....”。句子c:“whenacbssubscriberusesservices,makesarecharge,makesapayment,orperformsotheractivitieswhichleadsubscriberinformationchanges,thisfeatureenablescbsto……”。假设共有10个被映射文档,被映射文档a为其中之一,10个被映射文档中有2个被映射文档包含句子b,10个被映射文档中有5个被映射文档包含句子c,句子b在被映射文档a中出现2次,句子c在被映射文档a中出现3次,分别计算句子b和句子c在被映射文档a的典型性指标如下:句子b在被映射文档a的典型值指标子c在被映射文档a的典型值指标假设阈值为3,xb大于阈值,xc小于阈值,可以确定句子b为被映射文档a的一个关键句。s403、建立文档推荐模型的装置构建一个或多个主映射文本。其中,主映射文本可以包括前述多个被映射文档包括的关键句中的一个或多个关键句。可选的,s403可以有多种实现方案,可以包括但不限于下述实现方案1或实现方案实现方案1、建立文档推荐模型的装置按照预设规则构建一个或多个主映射文本。其中,预设规则可以根据用户的需求进行设定,本申请对比不予限定。示例性的,预设规则可以包括但不限于下述任一种规则:规则1:将一个被映射文档包含的关键句构建为一个主映射文本。在规则1中,构建的主映射文本的数量,与被映射文档的数量相同。规则2:将一个关键句构建为一个主映射文本。在规则2中,构建的主映射文本的数量,与被映射文档中包括的关键句的数量相同。规则3:将所有被映射文档包含的关键句中随机选取q个作为一个主映射文本。其中,q大于或等于1。其中,可以根据实际需求配置q的取值,本申请实施例不予限定。需要说明的是,使用规则3时,当所有被映射文档中包括的关键句的总量不是q的整数倍时,可以允许某个主映射文本包含的关键句的数量小于q。规则4:将所有被映射文档包含的关键句分为l个组,每个组作为一个主映射文本。其中,l大于或等于1。需要说明的是,使用规则4时,当所有被映射文档中包括的关键句的总量不是l的整数倍时,可以允许不同主映射文本包含的关键句的数量不同。上述预设规则仅为示例说明,并不构成具体限定。实现方案2、建立文档推荐模型的装置按照需求构建一个或多个主映射文本。例如,在软件产品的标书答复过程中,可以将fd文档中描述同一个软件功能的关键句构建为一个主映射文本。进一步的,通过s403中构建主映射文本,可以得到主映射文本与被映射文档的真实映射关系,即主映射文本与其包含的关键句所属的被映射文档真实相关。s404、建立文档推荐模型的装置将每个主映射文本及每个被映射文档输入文档推荐模型,得到每个主映射文本与每个被映射文档的预测映射信息。其中,预测映射信息用于指示主映射文本与被映射文档是否预测相关。一种可能的实现方式中,预测映射信息可以包括:用于指示是否相关的指示信息。该指示信息用于指示主映射文本与被映射文档是否预测相关时,可以指示两种结果:相关或者不相关。具体的,可以根据实际需求配置用于指示是否相关的指示信息的内容及形式,本申请实施例对此不予限定。例如,指示信息可以为0(指示不相关)或1(指示相关)。或者,指示信息可以为false(指示不相关)或ture(指示相关)。例如,预测映射信息可以为:(z1,b1,0),(z1,b2,1),其中,括号中第一位置为主映射文本的编号,第二位置为被映射文本的编号,第三位置为前两个位置的文档指示信息。(z1,b1,0)表示主映射文本z1与被映射文档b1不相关,(z1,b2,1)表示主映射文本z1与被映射文档b2相关。另一种可能的实现方式中,预测映射信息可以包括:用于指示是否相关程序的相关概率值。该相关概率值用于指示主映射文本与被映射文档是否预测相关时,可以结合相关门限指示两种结果:相关概率值大于相关门限则指示相关,相关概率值小于相关门限则指示不相关,相关概率值等于相关门限可以根据实际需求配置为指示相关或指示不相关。其中,可以根据实际需求配置相关门限的具体取值,本申请实施例对此不予限定。例如,预测映射信息为:(z1,b1,0.3),(z1,b2,0.9),其中,括号中第一位置为主映射文本的编号,第二位置为被映射文本的编号,第三位置为前两个位置的文档的相关概率值。假设相关门限为0.5,(z1,b1,0.3)表示主映射文本z1与被映射文档b1不相关,(z1,b2,0.9)表示主映射文本z1与被映射文档b2相关。其中,文档推荐模型用于对输入其中的主映射文本及被映射文本进行处理,预测每个主映射文本与每个被映射文本的相关性,输出预测映射信息。一种可能的实现中,文档推荐模型可以为一级模型,配置为输出预测映射信息,本申请实施例对于该文档推荐模型的架构及类型不予限定。该模型可以为神经网络。另一种可能的实现方式中,文档推荐模型可以包括两级用于预测的模型,一级模型为用于识别输入其内部的文本的语义并以向量的形式输出的神经网络,第二级模型为用于根据向量预测相关性的模型。例如,一级模型可以为语言模型,用于识别输入其内部的文本的语义,并以向量的形式输出。示例性的,语言模型可以包括:word2vec模型、glove模型,bert模型。例如,第二级模型可以为文本分类模型,用于识别主映射文本与被映射文档之间的相关性,输出预设映射信息。示例性的,文本分类模型可以包括:逻辑回归模型、多层感知器、神经网络模型。进一步的,语言模型可以为通用语言模型或者领域语言模型。为了提高模型的领域适应性,以提高预测精度,可以对通用语言模型进行领域化训练,领域化训练过程详见下述步骤s406到s407,此处不再一一赘述。具体的,当文档推荐模型包括语言模型及文本分类模型时,s404具体可以实现为s4041和s4042。s4041、建立文档推荐模型的装置将每个主映射文本及每个被映射文档输入语言模型,得到每个主映射文本及每个被映射文档的特征向量。其中,特征向量用于反映文档的语义。可选的,在s4041中,建立文档推荐模型的装置可以将每个主映射文本及每个被映射文档本身,或者,将每个主映射文本及每个被映射文档的编号或标识输入语言模型,语言模型根据编号或标识获取对应的文本或文档进行处理,输出每个主映射文本及每个被映射文档的特征向量。s4042、建立文档推荐模型的装置将每个主映射文本及每个被映射文档的特征向量输入文本分类模型,得到每个主映射文本与每个被映射文档的预测映射信息。例如,建立文档推荐模型的装置得到的预测映射信息可以如表1所示,表1示意的预测映射信息中包括用于指示是否相关的指示信息,该指示信息为0表示不相关,1表示相关。表1需要说明的是,表1只是通过举例的方式对预测映射信息进行说明,并不是具体限定。s405、建立文档推荐模型的装置根据预测映射信息与每个主映射文本及每个被映射文档的真实映射信息,训练文档推荐模型直至收敛。其中,真实映射信息用于指示主映射文本与被映射文档是否真实相关,主映射文本与其包含的关键句所属的被映射文档真实相关。可选的,真实映射信息可以包括:用于指示是否相关的指示信息,或者,主映射文本与被映射文档的关联关系,相互关联的文档相关。例如,真实映射信息包括主映射文本与被映射文档的关联关系时,真实映射信息可以如表2所示。如表2所示,主映射文本z1与被映射文档b2和被映射文档b3相关。表2需要说明的是,表2只是通过举例的方式对真实映射关系进行说明,并不是具体限定。具体的,s405具体可以实现为:建立文档推荐模型的装置根据预测映射信息与每个主映射文本及每个被映射文档的真实映射信息,计算真实映射信息与预测映射信息的差值,若该差值大于训练门限值,则反向训练该文档推荐模型(调整文档推荐模型的参数,例如权值、偏置等),之后再进行预测,得到新的预测映射信息,计算真实映射信息与预测映射信息的差值,直至该差值小于训练门限值,则文档推荐模型已收敛。其中,真实映射信息与预测映射信息的差值可以为两者的相似度,或者不同部分的占比等其他,本申请实施例不予限定。需要说明的是,可以根据实际需求配置训练门限值的取值,本申请实施例对此也不进行具体限定。对于真实映射信息与预测映射信息的差值等于训练门限值的情况,可以根据实际需求配置为进行反向训练,或者不进行反向训练。对于反向训练的方法,本申请实施例也不予以限定。例如,可以采用误差反向传播(errorbackpropagation,bp)算法进行反向训练。可选的,当文档推荐模型包括多个模型时,反向训练文档推荐模型可以训练其中的部分或全部模型。一种可能的实现方式中,当文档推荐模型包括语言模型及文本分类模型时,s405中建立文档推荐模型的装置可以训练文档推荐模型中的文本分类模型直至文本分类模型收敛。示例性的,训练文本分类模型的过程可以为:建立文档推荐模型的装置判断每个主映射文本及每个被映射文档的预测映射信息与真实映射信息不同时,然后通过反向传输调整训练文本分类模型中的权重与偏置,直至文本分类模型收敛。一种可能的实现方式中,当文档推荐模型包括语言模型及文本分类模型时,s405中建立文档推荐模型的装置可以训练文档推荐模型中的文本分类模型及语言模型,直至收敛。示例性的,训练文本分类模型及语言模型可以为:建立文档推荐模型的装置判断每个主映射文本及每个被映射文档的预测映射信息与真实映射信息不同时,通过反向传输调整训练文本分类模型与语言模型中的权重与偏置,直至收敛。可选的,文本分类模型可以由建立文档推荐模型的装置训练,或者由建立文档推荐模型的装置请求其他设备训练。对于训练文本分类模型同时微调语言模型的方法本申请不予限定。本申请实施例提供建立文档推荐模型的方法,通过提取被映射文档中的关键句,将关键句构建为主映射文本,然后将建立的主映射文本及被映射文档通过训练建立模型。一方面,主映射文本由关键句组成,主映射文本与被映射文档之间的真实映射关系由从属关系决定,无需专业人员通读后确定,耗时短、不受人员专业性要求限制且低成本,并且可以构建丰富的建模用的主映射文本,有效的避免了主映射文本不足模型有效性的影响。需要说明的是,若本申请实施例中的对主映射文本与被映射文档的语言类型不做限定,若主映射文本与被映射文档为同一种语言类型(例如都是英语),直接执行本申请实施例中提供的建立文档推荐模型的方法。若主映射文本与被映射文档不属于同一种语言类型(例如,主映射文本时英语,被映射文档是中文),此时,需要先将主映射文本与被映射文档转换为同一种语言类型(英语或者中文),再执行本申请实施例中提供的建立文档推荐模型的方法。本申请对语言转换的方式不做具体的限定。示例性的,可以再别的设备中将主映射文本与被映射文档转换为同一种语言的文本后,导入本申请的建立文档推荐模型的装置中,也可以直接由本申请的建立文档推荐模型的装置进行语言的转换(例如,可以通过bert语言模型实现语言的转换)。进一步的,为了提高模型的领域适应性,以提高预测精度,可以对通用语言模型进行领域化训练,如图5所示,在s404之前,本申请实施例提供的建立文档推荐模型的方法还可以包括s406和s407。s406、建立文档推荐模型的装置获取多个领域文本。其中,领域文本可以为被映射文档所属的专业领域的文本。例如,领域文本可以包括被映射文档所属的专业领域的行业标准文档、所有历史主映射文本和被映射文档等文本。例如,若被映射文档所属的专业领域为计费软件系统,则将公开的计费标准文档作为领域文档。s407、建立文档推荐模型的装置根据多个领域文本训练语言模型至收敛。其中,该语言模型为文档推荐模型中包括的语言模型。具体的,s407中建立文档推荐模型的装置先将语言模型的输出层调整,修改为预测文本中缺少的部分,然后对语言模型进行领域化训练。其中,领域化训练的过程可以为:随机删掉每个领域文本的部分字,将删掉部分字的每个领域文本输入语言模型,由语言模型分析每个领域文本的语义,预测出每个领域文本缺少的部分,若预测出的缺少的部分与删掉的部分不同,通过反向传输调整语言模型中的权重与偏置,直至预测出的缺少的部分与删掉的部分相同,此时语言模型收敛。将领域化训练的语言模型称为领域语言模型。进一步的,当领域化训练结束后,可以将语言模型的输出层调整,使语言模型的输出为向量数据。对于使用领域文本训练语言模型的方法本申请不予限定。可选的,语言模型可以由建立文档推荐模型的装置训练,或者由建立文档推荐模型的装置请求其他设备训练。进一步的,如图5所示,本申请实施例提供的建立文档推荐模型的方法还可以包括s408到s410。s408、建立文档推荐模型的装置获取用户输入的包括一个段落的查询文本。一种可能的实现方式中,用户输入了一个段落,将该一个段落作为s408中的查询文本。另一种可能的实现方式中,用户输入了多个段落,将每个段落分别作为s408中的查询文本,对于每一个查询文本,分别执行s409和s410的过程。s409、建立文档推荐模型的装置将查询文本输入文档推荐模型,获取与查询文本相关的y个被映射文档。其中,y大于或等于1。与查询文本相关的y个被映射文档,是指文档推荐模型输出的预测映射信息中指示与查询文本相关的被映射文档。例外的,存在被映射文档中没有文档与查询文本相关,此时y为0,则不执行s410的操作,可以直接输出查询结果为空。s410、建立文档推荐模型的装置向用户输出y个被映射文档中的n个被映射文档。其中,n大于或等于1。n为推荐的数量,可以根据实际需求配置。一种可能的实现方式中,若n大于或等于y,向用户输出y个被映射文档。另一种可能的实现方式中,若n小于y,向用户输出y个被映射文档中的与查询文本相关程度从高到低的前n个被映射文档。例如,若n等于1时,向用户输出y个被映射文档中的与查询文本相关程度最高(相关概率值最大)的被映射文档。当然,还可以根据实际需求配置s410中推荐的规则,本申请不予限定。进一步的,当s408中获取了多个查询文本时,针对每个查询文本执行了s409,得到了每个查询文本相关的被映射文档,在s410中可以将每个查询文档相关的被映射文档求并集,然后推荐其中的部分或全部被映射文档。一种可能的实现方式中,将每个查询文档相关的被映射文档求并集,推荐其中的部分或全部被映射文档,具体可以实现为:获取并集中每个被映射文档作为相关文档的次数,将次数从高到低的顺序中前n个进行推荐。需要说明的是,本申请实施例描述的方法中各个步骤的执行顺序,可以根据实际需求配置,本申请对此不予限定,附图仅为举例说明。还需要说明的是,针对同一组被映射文档实现文档推荐时,执行一次文档推荐模型的建立过程,然后根据输入不同的主映射文本,该模型给用户推荐相关的被映射文档。针对不同组被映射文档实现文档推荐时,需要分别对每一组被映射文档执行一次本申请的文档推荐模型的建立过程,得到多个文档推荐模型。在文档推荐时,首先根据查询文本选择需要推荐的被映射文档的文档推荐模型,然后将主映射文本输入至该模型,该模型给用户推荐相关的被映射文档。下面以软件产品的标书答复场景为例,对本申请实施例提供的一种建立文档推荐模型的过程进行详细说明。软件供应方根据自己的软件产品(10份fd文档)建立一个文档推荐模型,然后服务器将客户提供的soc文档输入该模型,该模型输出与soc相关程度最大3个的fd文档,服务器将该文档输出给用户。建立该文档推荐模型的具体的过程可以包括但不限于下述步骤1到步骤8。步骤1、服务器获取10个fd文档(被映射文档),并对10个fd文档被映射文档进行编号,分别为:101、102、103、104、105、106、107、108、109、110。步骤2、服务器提取每个fd文档中的关键句。示例性的,服务器提取的每个fd文档中的关键句如表3所示。表3关键句关键句所属的fd编号ifthenumberof…101whenasubscriberenters…101callcenterinvokecbs…101thecarrierscandefinexdays…102………………110步骤3、服务器将一个fd文档包含的关键句,作为一个主映射文本,构建了10个主映射文本,并将10个主映射文本编号为z1、z2、z3、z4、z5、z6、z7、z8、z9、z10。步骤4、服务器将10个主映射文本及10个fd文档输入文档推荐模型,文档推荐模型输出的对应的预测映射信息。其中,预测映射信息可以如表4所示。表4主映射文本编号fd文档编号相关概率值是否相关z110193%是z110223%否z1………………z111074%是z210167%是……………………z1011012%否步骤5、服务器获取10个主映射文本及10个fd文档输入文档的真实映射关系。其中,真实映射关系可以如表5所示。表5主映射文本编号fd文档编号是否相关z1101是z1102否z1…………z1110否z2101否………………z10110否步骤6、服务器根据10个主映射文本及10个fd文档的预测映射信息和真实映射信息,训练文档推荐模型直至收敛。步骤7、服务器获取soc文档(包括13条软件要求),将soc文档中的每条要求作为一个查询文本,分别输入文档推荐模型,文档推荐模型输出与每个文本段落相关的fd文档,如表6所示。表6查询文本相关的fd文档编号c1101、103c2102、103、105c3101、107c4103、106、108、109…………c13103、105、110步骤8、服务器统计每个fd文档作为相关文档的次数,将次数前三的编号为103、105、101的fd文档输出给用户。上述主要从建立文档推荐模型的装置工作原理的角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述建立文档推荐模型的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本申请实施例可以根据上述方法示例对建立文档推荐模型的装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中所涉及的建立文档推荐模型的装置60的一种可能的结构示意图。该建立文档推荐模型的装置可以为服务器,也可以为服务器中的功能模块或者芯片,也可以为与服务器匹配使用的装置。如图6所示,建立文档推荐模型的装置60可以包括:第一获取单元601、提取单元602、构建单元603、处理单元604及训练单元605。第一获取单元601用于执行图4或图5中的过程s401或者图5中的过程s406;提取单元602用于执行图4或图5中的过程s402;构建单元603执行图4或图5中的过程s403;处理单元604执行图4或图5中的过程s404或者图5中的s409;训练单元605执行图4或图5中的过程s405或者图5中的s407。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。进一步的,如图7所示,建立文档推荐模型的装置60还可以包括第二获取单元606及输出单元607。其中,第二获取单元606用于执行图5中的过程s408,输出单元607用于执行图5中的过程s410。在采用集成的单元的情况下,图8示出了上述实施例中所涉及的建立文档推荐模型的装置80的一种可能的结构示意图。该建立文档推荐模型的装置可以为服务器,也可以为服务器中的功能模块或者芯片,也可以为与服务器匹配使用的装置。如图8所示,建立文档推荐模型的装置80可以包括:处理模块801、通信模块802。处理模块801用于对建立文档推荐模型的装置80的动作进行控制管理。例如,处理模块801用于执行图4或图5中的s401至s405,或者,执行图5中的过程s406至s410。通信模块802用于支持建立文档推荐模型的装置80与其他单元通信。建立文档推荐模型的装置80还可以包括存储模块803,用于存储建立文档推荐模型的装置80的程序代码和数据。其中,处理模块801可以为图3所示的建立文档推荐模型的装置30的实体结构中的处理器301,可以是处理器或控制器。例如可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理模块801也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块802可以为图3所示的建立文档推荐模型的装置30的实体结构中的收发器303,通信模块802可以是通信端口,或者可以是收发器、收发电路或通信接口等。或者,上述通信接口可以通过上述具有收发功能的元件,实现与其他设备的通信。上述具有收发功能的元件可以由天线和/或射频装置实现。存储模块803可以是图3所示的建立文档推荐模型的装置30的实体结构中的存储器302。当处理模块801为处理器,通信模块802为收发器,存储模块803为存储器时,本申请实施例图8所涉及的建立文档推荐模型的装置80可以为图3所示的建立文档推荐模型的装置30。如前述,本申请实施例提供的建立文档推荐模型的装置60或建立文档推荐模型的装置80可以用于实施上述本申请各实施例实现的方法中的功能,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请各实施例。作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的建立文档推荐模型的方法。作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行时执行上述方法实施例中的建立文档推荐模型的方法。本申请实施例再提供一种芯片系统,该芯片系统包括处理器,用于实现本发明实施例的技术方法。在一种可能的设计中,该芯片系统还包括存储器,用于保存本发明实施例必要的程序指令和/或数据。在一种可能的设计中,该芯片系统还包括存储器,用于处理器调用存储器中存储的应用程序代码。该芯片系统,可以由一个或多个芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1