一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种主题词生成模型的训练方法及计算设备与流程

2021-11-05 21:43:00 来源:中国专利 TAG:


1.本发明涉及自然语言处理领域,尤其涉及一种主题词生成模型的训练方法、装置、计算设备及可读存储介质。


背景技术:

2.提取文本主题词在众多网络应用中起着至关重要的作用。例如,在搜索引擎建立索引以及内容推荐中,需要提取文本主题词,根据主题词建立各个文本的索引,并根据用户的搜索词推荐具有相关主题词的内容,从而提高检索效率;在基于内容的网络广告中,需要提取用户当前浏览内容的主题词,以便向用户推送与其浏览内容相关的广告;在根据用户搜索关键词进行内容排序阶段,文本的主题词作为一个相关特征对排序起着重要作用;以及在基于内容的文本分类中,需要根据提取到的文本主题词对文本进行分类。
3.现有技术中,提取文本主题词的一种方法是:计算文本中的词在语料库中词频(tf)、逆文本频率指数(idf)或tf

idf等指标的值,当指标的值达到一定阈值时,将相应的词作为文本的主题词。但是,这种方法会导致一些生僻词的idf较高,而常见词的idf较低,从而导致有些生僻词被当做文档关键词、错误地判断主题词的问题。另一种方法是:基于textrank算法,获得文本中词的重要性的得分,确定得分高的指定个数的词作为文本的主题词。但是,这一方法仅考虑词语之间的共现关系,会导致一些局部主题词成为全局主题词,而导致主题词的选取精度低。
4.为此,需要一种主题词生成模型的训练方法来提高主题词提取的准确度,以力图解决或至少缓解上述技术方案中存在的问题。


技术实现要素:

5.为此,本发明提供一种主题词生成模型的训练方法、装置、计算设备及可读存储介质,以力图解决或至少缓解上面存在的问题。
6.根据本发明的一个方面,提供了一种主题词生成模型的训练方法,在计算设备中执行,包括步骤:获取文档集合和记录用户行为的日志;针对用户每一次搜索行为,对用户搜索的关键词进行分词处理,得到一个或多个切分后的词;针对每一个切分后的词和文档集合中的每一个文档,根据切分后的词、日志和文档集合生成特征向量,将切分后的词作为特征向量的标签,并确定包含特征向量及其标签的样本为正样本或负样本;根据样本,对主题词生成模型进行训练,得到训练后的主题词生成模型。
7.可选地,在根据本发明的方法中,记录用户行为的日志包括第一日志和第二日志,其中,第一日志包括用户搜索关键词后所展示的文档集合中的文档,第二日志包括用户搜索关键词后所点击的文档集合中的文档,第一日志和第二日志中的文档通过标记用户搜索行为的唯一的标识号进行关联。
8.可选地,在根据本发明的方法中,用户每一次搜索行为对应唯一的标识号,其中,确定包含特征向量及其标签的样本为正样本或负样本的步骤,包括:如果切分后的词存在
于第二日志中该标识号对应的文档中,则样本为正样本;如果切分后的词不存在于第二日志中该标识号对应的文档中,但存在于第一日志中该标识号对应的文档中,则样本为负样本。
9.可选地,在根据本发明的方法中,其中,特征向量中包括切分后的词的以下至少一个特征:是否出现在文档集合中当前文档的标题中、出现在文档集合中当前文档的标题中的次数、是否在预测的主题词中出现、tf、idf、tf

idf、词性、所对应的语义向量。
10.可选地,在根据本发明的方法中,其中,特征向量中还包括以下至少一个特征:是否为车系词、是否为品牌词。
11.可选地,在根据本发明的方法中,其中,切分后的词是否在预测的主题词中出现是按照如下方式确定:基于textrank算法,对文档集合中每个文档进行主题词预测;如果切分后的词存在于当前文档的预测的主题词中,则确定切分后的词在预测的主题词中出现;如果切分后的词未存在于当前文档的预测的主题词中,则确定切分后的词未在预测的主题词中出现。
12.可选地,在根据本发明的方法中,其中,tf通过如下方式确定:获取切分后的词出现在文档集合中所有文档中的次数,与所有文档的总词数的比值,作为切分后的词对应的tf值。
13.可选地,在根据本发明的方法中,其中,idf通过如下方式确定:获取文档集合中的文档总数,与文档集合中包含切分后的词的文档数的比值,作为切分后的词对应的idf值。
14.可选地,在根据本发明的方法中,其中,tf

idf通过如下方式确定:针对同一个切分后的词,将得到的tf值与idf值相乘,得到切分后的词对应的tf

idf值。
15.可选地,在根据本发明的方法中,其中,切分后的词所对应的语义向量通过bert模型生成。
16.可选地,在根据本发明的方法中,其中,分词处理采用jieba分词算法。
17.可选地,在根据本发明的方法中,其中,正样本的标签值为1,负样本的标签值为0。
18.可选地,在根据本发明的方法中,其中,主题词生成模型为以下任一个:逻辑回归、支持向量机、随机森林、梯度提升决策树、神经网络、以及xgboost。
19.根据本发明的另一个方面,提供一种主题词生成模型的训练装置,包括:日志获取单元,获取文档集合和记录用户行为的日志;分词处理单元,针对用户每一次搜索行为,对用户搜索的关键词进行分词处理,得到一个或多个切分后的词;样本生成单元,针对每一个切分后的词和文档集合中的每一个文档,根据切分后的词、日志和文档集合生成特征向量,将切分后的词作为特征向量的标签,并确定包含特征向量及其标签的样本为正样本或负样本;模型训练单元,根据样本,对主题词生成模型进行训练,得到训练后的主题词生成模型。
20.根据本发明的有一个方面,提供一种计算设备,包括:一个或多个处理器;和存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行如上的主题词生成模型的训练方法中的任一方法的指令。
21.根据本发明的还有一个方面,提供一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当计算设备执行时,使得计算设备执行如上的主题词生成模型的训练方法中的任一方法。
22.本方案提供了一种有监督的主题词生成模型的训练方法,相比于传统的基于tf

idf或者textrank等算法获取的主题词,采用本方法训练得到的模型提取的主题词能够更加准确的描述一篇文档的主题。本发明通过每一个切分后的词和文档集合中的每一个文档,根据切分后的词、所述日志和文档集合提取特征,以及生成特征向量,融合了所选特征的优势,提升模型预测的准确率。通过记录用户行为的日志确定样本的标签以及样本的种类(正样本或负样本),无需人工对样本标签进行标注,节约了人力成本,并提高了模型训练效率。
23.进一步地,采用本方案预测的主题词准确度高,能够更加准确的提取文档的主题词,从而优化线上排序的效果。
附图说明
24.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
25.图1示出了根据本发明一个实施例的计算设备100的示意图;
26.图2示出了根据本发明一个实施例的主题词生成模型的训练方法200的流程图;
27.图3示出了根据本发明一个实施例的生成训练数据的系统结构图;
28.图4示出了根据本发明一个实施例的训练主题词生成模型的流程图;
29.图5示出了根据本发明一个实施例的主题词生成模型的主题词预测流程图;
30.图6示出了根据本发明一个实施例的主题词生成模型的训练装置600。
具体实施方式
31.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
32.图1示出了根据本发明一个实施例的计算设备100的示意图。需要说明的是,图1所示的计算设备100仅为一个示例,在实践中,用于实施本发明的主题词生成模型的训练方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图1所示的计算设备100相同,也可以与图1所示的计算设备100不同。实践中用于实施本发明的主题词生成模型的训练方法的计算设备可以对图1所示的计算设备100的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
33.如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
34.取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心
114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
35.取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。操作系统120例如可以是linux、windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境ide、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作系统120添加驱动模块。
36.在计算设备100启动运行时,处理器104会从存储器106中读取操作系统120的程序指令并执行。应用122运行在操作系统120之上,利用操作系统120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至存储器106中,处理器104从存储器106中读取并执行应用122的程序指令。
37.计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。
38.计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个a/v端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个i/o端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
39.网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
40.计算设备100可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和web服务器等。当然,计算设备100也可以实现为小尺寸便携(或者移动)电子设备的一部分。在根据本发明的实施例中,计算设备100被配置为执行根据本发明的主题词生成模型的训练方法200。计算设备100的应用122中包含执行根据本发明的方法200的多条程序指令。
41.图2示出了根据本发明一个实施例的主题词生成模型的训练方法200的流程图。方
法200适于在如上所述的计算设备100中执行。如图2所示,方法200始于步骤s210。
42.在步骤s210中,获取文档集合和记录用户行为的日志。
43.具体地,所获取的记录用户行为的日志包括曝光日志(即第一日志)和点击日志(即第二日志),其中,曝光日志包括用户搜索关键词后,所展示的文档集合中的文档,点击日志包括用户搜索关键词后所点击的文档集合中的文档,曝光第一日志和点击日志中记录的文档通过标记用户搜索行为的唯一的标识号进行关联,且用户每一次搜索行为对应唯一的标识号。例如,用户搜索了关键词“新闻”,为用户的此次搜索行为标记唯一的标识号,例如为001,搜索引擎为用户找到与关键词“新闻”相关的四个文档doc1、doc2、doc3与doc4,曝光日志会记录此次搜索行为对应的标识号001以及所展示的四个文档;用户在搜索引擎推荐的四个文档中选择点击了doc1和doc3,那么点击日志会记录此次搜索行为对应的标识号001以及用户在展示的文档中选择点击的doc1和doc3。并且,通过用户搜索行为对应的唯一的标识号,在曝光日志和点击日志中可以获取到该标识号对应的关键词。
44.根据本发明的一个实施例,当用户搜索关键词时,在服务器端记录哪些文档被展示给用户(记录在曝光日志中),并记录在这些展示给用户的文档中有哪些文档被用户点击(记录在点击日志中)。
45.其中,根据本发明的一个实施例,记录用户行为的日志(第一日志和第二日志)可以通过埋点实现。具体地,通过在前端的特定位置埋点,例如在用户搜索关键词的搜索框中、在监听到用户点击链接时等等。曝光日志的建立可以通过new intersectionobserver()实例化一个全局的observer,结合vue指令的配合,将每个dom添加到observer的观察列表中。当某个dom进入视窗,则将该dom对应的信息进行收集记录在日志当中。点击日志的建立通过埋点对用户点击链接进行记录生成。用户搜索的关键词可以通过在搜索框中进行埋点获取。
46.在步骤s210中,还获取文档集合,其中,文档集合中包含大量的文本文档。
47.在步骤s220中,针对用户每一次搜索行为,对用户搜索的关键词进行分词处理,得到一个或多个切分后的词。
48.其中,用户每一次搜索行为对应唯一的标识号,以对每次搜索行为进行标记和区分,通过标识号可以在记录用户行为的日志中获取到该标识号所对应的用户搜索的关键词。
49.可选地,对用户搜索的关键词的分词处理采用jieba分词算法。jieba分词方法有多种分词处理模式:精准模式、全模式以及搜索引擎模式。通过函数语句jieba.cut(sentence,cut_all=false,hmm=true)可以对输入的文本进行精准模式的分词处理,全模式的分词处理可以通过函数语句jieba.cut(sentence,cut_all=true,hmm=true)进行,搜索引擎模式的分词处理可以通过函数语句jieba.cut_for_search(sentence,hmm=true)进行。在以上函数语句中,将sentence替换为需要进行分词处理的文本,经过处理后可以将文本转换为一个或多个词语,输出切分后的词。例如,待分词处理的文本为“今天天气真好”,精准模式将输出“今天天气真好”,全模式的输出为“今天今天天气天天天气真好”,搜索引擎模式的输出为“今天天天天气今天天气真好”。本发明对jieba分词模式的选取不做限制。
50.可选地,对文本进行分词处理还可以采用如下分词器:ltp、hanlp、thulac等等。本
发明对分词方法或分词器的选取不做限制。
51.经过步骤s230的处理,用户搜索的关键词经过切分后,得到一个或多个切分后的词。
52.在步骤s230中,针对每一个切分后的词和文档集合中的每一个文档,根据切分后的词、日志和文档集合生成特征向量,将切分后的词作为特征向量的标签,并确定包含特征向量及其标签的样本为正样本或负样本。
53.具体地,关键词经过切分处理得到的切分后的词通常包含至少一个词,因此,针对每一个切分后的词,即得到的切分后的词中的每一个词,以及文档集合中的每一个文档,生成特征向量。即,针对一个切分后的词和文档集合中的其中一个文档,生成一个特征向量,这里针对每一个切分后的词,和文档集合中的每一个文档,生成多个特征向量。
54.首先,进行特征的选取。根据本发明的实施例,选取的特征包括以下至少一个特征:是否出现在文档集合中当前文档的标题中、出现在文档集合中当前文档的标题中的次数、是否在预测的主题词中出现、tf、idf、tf

idf、词性、所对应的语义向量。特征向量中还可以包括以下至少一个特征:是否为车系词、是否为品牌词。
55.其中,是否出现在文档集合中当前文档的标题中,这一特征当中,具体判断的是当前词是否出现在当前文档的标题中,当前词即切分后的词中的一个词,当前文档即文档集合中的其中一个文档,当前选取切分后的词中的一个和文档集合中的一个文档来生成特征向量,所选取的切分后的词中的一个和文档集合中的一个文档作为当前词和当前文档。在其他特征当中,当前词和当前文档也如同这里所述的含义。可选地,对当前文档的标题进行分词处理,然后遍历分词处理后的文档标题,判断当前词是否与分词后的文档标题有所重合,如果是,则当前词有出现在文档集合中当前文档的标题中,反之,则当前词未出现在文档集合中当前文档的标题中。可选地,将当前词与当前文档的标题进行字符串匹配,判断当前词是否存在于当前文档标题中,如果是,则当前词有出现在文档集合中当前文档的标题中,反之,则当前词未出现在文档集合中当前文档的标题中。根据本发明的一个实施例,如果当前词有出现在文档集合中当前文档的标题中,则在特征向量中该特征对应的值为1,反之,特征向量中该特征对应的值为0。
56.其中,出现在文档集合中当前文档的标题中的次数,即当前词出现在当前文档标题中的次数。关于该特征的值的确定方式,可选地,对当前文档的标题进行分词处理,然后遍历分词处理后的文档标题,统计当前词与分词后的文档标题有所相同的次数。可选地,将当前词与当前文档的标题进行字符串匹配,判断当前词存在于当前文档标题中的次数。最后,将次数作为特性向量中该特征对应的值。
57.其中,是否在预测的主题词中出现,即当前词是否存在于当前文档的预测主题词中,该特征的值是按照如下方式确定:基于textrank算法,对当前文档进行主题词预测;这一方法的核心思想基于判断词的重要性,如果一个词出现在很多单词后面的话,那么说明该词的重要性较高;在一个句子当中,一个textrank值很高的词后面跟着出现的词,后面的这个词的textrank值也会相应地提高。textrank模型可以表示为一个有向有权图g=(v,e),由点集合v和边集合e组成,一个词的textrank值根据以下公式进行计算:
58.59.其中,s(v
i
)代表词v
i
的textrank值,s(v
j
)代表词v
j
的textrank值,v
i
、v
j
和v
k
代表单词对应的点,out
(vj)
代表词v
j
指向其他词的边的个数,in
(vi)
代表词指向v
i
的其他词的边的个数,d代表阻尼系数,一般取0.85,是一个经验值,w
ji
表示两点v
i
和v
j
之间边的权重,w
jk
表示两点v
j
和v
k
之间边的权重。
60.根据上面的公式计算词的textrank值,经过多轮迭代之后,每个词的textrank值的变化会小于预定值,即,值的变化稳定在一定范围内,将此时得到的数值作为单词的textrank值。文档中词的textrank值代表单词的重要性,在一个文档中,根据textrank值从大到小的顺序选取指定数量个词作为该文档的预测的主题词,主题词的数量可以为一个或多个。在得到文档预测的主题词后,遍历当前文档预测的一个或多个主题词,与当前词进行比较,从而确定当前词是否在预测的主题词中出现。如果切分后的词存在于当前文档的预测的主题词中,则确定切分后的词在预测的主题词中出现,如果切分后的词未存在于当前文档的预测的主题词中,则确定切分后的词未在预测的主题词中出现。这里切分后的词指的是关键词经过分词处理后得到的一个或多个词中的其中一个词,等同于上文的当前词。根据本发明的一个实施例,如果当前词有出现在预测的主题词中,则在特征向量中该特征对应的值为1,反之,特征向量中该特征对应的值为0。
61.在本发明的实施例中,特征term frequency(tf)表示词频,tf通过如下方式确定:获取切分后的词(当前词)出现在文档集合中所有文档中的次数,与所有文档的总词数的比值,作为切分后的词对应的tf值,并将这个数值作为特性向量中该特征对应的值。其中,文档集合中的文档包含的种类,涉及的领域越丰富,文档数量越多,tf的值越准确。
62.特征inverse document frequency(idf)表示逆文本频率指数,idf通过如下方式确定:获取文档集合中的文档总数,与文档集合中包含切分后的词(当前词)的文档数的比值,作为切分后的词对应的idf值,并将这个数值作为特性向量中该特征对应的值。例如,文档集合中包含1000个文档,其中,有200个文档的内容中包含当前词,则当前词所对应的idf值为5,即1000除以200得到的值。
63.特征term frequency

inverse document frequency(tf

idf)为tf与idf的乘积,用以评估一个词对一个文档集合中的其中一个文档的重要程度,tf

idf通过如下方式确定:针对同一个切分后的词(同一个当前词),将得到的tf值与idf值相乘,得到切分后的词(当前词)对应的tf

idf值,即,将当前词的tf值和同一个当前词的idf值进行相乘,得到的值为该词的tf

idf值,并将这个数值作为特性向量中该特征对应的值。
64.根据本发明的实施例,词性的确定方法,包括:将当前词与已标注好中文词性的词典进行匹配,提取当前词所对应的词性。可选地,已标注好中文词性的词典可以采用ictpo3.0词性标记集、ictclas汉语词性标注集、或jieba词性标注集。
65.关于特征包括的切分后的词(当前词)所对应的语义向量,可选地,当前词所对应的语义向量通过bert模型生成,语义向量的维度为128。这里需要对bert模型进行微调,具体地,选取一些长尾词(长尾query),长尾词是指每日搜索量不是很多,但是一直都有搜索量的词。通过曝光日志和点击日志挖掘出一段时间内某个query被检索的过程中,有哪些文档被点击了(以query为单位进行聚合),计算出每篇文档的点击率,选定一个点击率阈值(经验值),大于这个阈值的文档的标题作为相似语句输入到bert模型中进行训练。训练好的bert模型用以生成当前词对应的语义向量。
66.根据主题词生成模型应用的领域,针对性地选取特定的垂直领域的特征,例如,在汽车领域中,将判断当前词是否为车系词和/或是否为品牌词作为模型的特征。如果将模型应用于其他领域,则可以将这两个特征替换为适用于其他领域的特征。
67.根据本发明的一个实施例,所选取的特征当中还可以包括以下至少一个特征:是否为车系词,是否为品牌词。是否为车系词,例如:宝马5系;是否为品牌词,例如:宝马。具体地,通过维护一个定时更新的车系词表,以及一个定时更新的品牌词表,特征是否为车系词可以通过判断当前词是否在车系词表中获得,特征是否为品牌词可以通过判断当前词是否在品牌词表中获得。根据本发明的一个实施例,如果特征对应的结果为是,则在特征向量中该特征对应的值为1,反之,特征向量中该特征对应的值为0。
68.经过上述操作,针对每个用户搜索的关键词分词处理后的当前词,以及当前文档,基于每个特征获取特征值,组成包含所选取的特征的特征向量,并将切分后的词作为特征向量的标签。例如,选取的特征有是否出现在文档集合中当前文档的标题中、出现在文档集合中当前文档的标题中的次数、是否在预测的主题词中出现、是否为车系词、是否为品牌词。切分后的词为“宝马”,当前文档的标题为“宝马推出新款车型”,预测的主题词为“宝马”“车型”,特征向量例如为[1,1,1,0,1],特征向量的标签为“宝马”。
[0069]
在步骤s230中,用户每一次搜索行为对应唯一的标识号。如果切分后的词(当前词)存在于点击日志(第二日志)中该标识号对应的文档中,则样本为正样本,该标识号指的是当前词所对应的用户搜索的关键词对应的用户搜索行为的标识号。例如,用户搜索的关键词为“宝马汽车”,此次搜索对应的标识号为001,当前词为“宝马”,点击日志中,标识号001对应的用户点击过的文档有doc1和doc2,且当前词“宝马”存在于doc1中,则样本为正样本,样本包括特征向量及特征向量对应的标签。相应地,如果切分后的词不存在于第二日志中该标识号对应的文档中,但存在于第一日志中该标识号对应的文档中,(即,当前词存在于曝光但未点击的文档中),则样本为负样本。根据本发明的一种实施例,正样本的标签值为1,负样本的标签值为0。
[0070]
经过上述计算,针对每个搜索关键词,可以获得该搜索关键词包含的每个当前词以及对应的标签值(term1,label1),(term2,label2)...(termk,labelk)。其中{term1,term2...termk}表示搜索关键词分词之后的term,{label1,label2,labelk}表示各个分词的标签值。如此以来,我们便得到了训练模型所需的数据。
[0071]
图3示出了根据本发明一个实施例的生成训练数据的系统结构图。如图3所示,通过在搜索引擎的网页中进行埋点,得到曝光日志和点击日志,将两个日志以及文档数据库(文档集合)中的文档输入到特征提取装置中,特征提取装置采用上述特征提取方法进行特征提取,得到训练数据。
[0072]
在步骤s240中,根据样本,对主题词生成模型进行训练,得到训练后的主题词生成模型。
[0073]
具体地,基于上述步骤得到的包含特征向量及其标签的正负样本作为训练数据,对主题词生成模型进行训练。可选地,主题词生成模型为以下任一个:逻辑回归、支持向量机、随机森林、梯度提升决策树、神经网络、以及xgboost。根据一种实施例,选取xgboost模型进行训练。xgboost是一种和梯度提升决策树采用同一种思想的一套可扩展即机器学习系统,但相较于梯度提升决策树,具有更高的精度和计算效率。
[0074]
图4示出了根据本发明一个实施例的训练主题词生成模型的流程图。如图4所示,根据一种实施例,将上述步骤得到的训练数据,拆分为训练集和测试集。使用训练集用来训练模型,使用测试集测试模型的性能。也可以将训练数据拆分为训练集、测试集和验证集,使用验证集验证模型的识别效果。
[0075]
xgboost模型中包含一些未确定的参数,因此,预先设置未知量的初始值,将训练集输入设置初始值的模型后,可以获得该文档的预测值,将预测值与通过日志表获得的实际标签值进行比对,根据比对结果,对预先设置初始值的参数不断进行修正,经过多次迭代,最终获得训练好的主题词生成模型。
[0076]
根据一种实施例,模型参数的选择如下:
[0077]
设置参数objective='binary:logistic',将模型设定为处理二分类问题。判断当前词是否是主题词,即确定切分后的词当中的每一个词是否是主题词。
[0078]
通过设置参数max_depth=4:设定树的最大深度。max_depth的参数值越大,模型将学习到训练集中更具体的一些局部的特征。设置一个适当的参数值可以避免模型过拟合。
[0079]
设置参数min_child_weight=6,该参数决定最小叶子节点样本权重和。xgboost模型的这一参数为最小样本权重的和,用于避免模型过拟合。当它的值较大时,可以避免模型学习到过多的局部特征。但是如果这个值过高,会导致模型欠拟合。可选地,参数通过sklearn的gridsearchcv来进行调整。
[0080]
参数gamma=0,在节点分裂时,只有分裂后损失函数的值下降了,才会分裂这个节点。gamma指定了节点分裂所需的最小损失函数下降值。这个参数的值越大,模型越保守。这个参数的值和损失函数息息相关。
[0081]
参数subsample=0.8,这个参数用来控制对于每棵树进行随机采样的比例。通过减小这个参数的值,模型会更加保守,从而避免过拟合。但是,如果这个值设置得过小,它可能会导致欠拟合。
[0082]
参数colsample_bytree=0.8,该参数用来控制每棵随机采样的列数的占比,其中每一列是一个特征。
[0083]
参数scale_pos_weight=1,设置这个值是因为类别不平衡。
[0084]
参数learning_rate=0.01,该参数的适当调低有助于提高模型的精度,但是将会花费更多的模型训练时间。
[0085]
参数reg_alpha=0.005,该参数表示权重的l1正则化项,应用在较高维度的情况下,使得模型的速度更快。
[0086]
其余参数选择默认的参数设置。
[0087]
训练完成后,得到训练好的主题词生成模型。图5示出了根据本发明一个实施例的主题词生成模型的主题词预测流程图。如图5所示,首先将待预测的文档进行分词处理,得到包含了切分后的词的集合,然后将集合中词输入到训练好的主题词生成模型中,最终得到模型预测的一个或多个主题词,得到一个主题词集合。
[0088]
通过本方案训练的模型预测主题词的准确率高,将文档输入到模型中得到预测的文档的主题词集合,利用预测的主题词可以提升搜索引擎的排序效果,将与预测出的主题词相关性从高到低的顺序将文档展示给用户,优先将相关性高的文档展示给用户,从而优
化文档排序的效果,提高搜索引擎推荐的准确度。
[0089]
图6示出了根据本发明一个实施例的主题词生成模型的训练装置600,该装置500可以包含在如图1所示的计算设备100中。如图6所示,装置600包括日志获取单元610、分词处理单元620、样本生成单元630和模型训练单元640。
[0090]
日志获取单元610获取文档集合和记录用户行为的日志。日志获取单元610可以进行与上面在步骤s210中描述的处理相对应的处理,这里不再展开赘述。
[0091]
分词处理单元620,针对用户每一次搜索行为,对用户搜索的关键词进行分词处理,得到一个或多个切分后的词。分词处理单元620,可以进行与上面在步骤s220中描述的处理相对应的处理,这里不再展开赘述。
[0092]
样本生成单元630,针对每一个切分后的词和文档集合中的每一个文档,根据切分后的词、日志和文档集合生成特征向量,将切分后的词作为特征向量的标签,并确定包含特征向量及其标签的样本为正样本或负样本。样本生成单元630,可以进行与上面在步骤s230中描述的处理相对应的处理,这里不再展开赘述。
[0093]
模型训练单元640,根据样本,对主题词生成模型进行训练,得到训练后的主题词生成模型。模型训练单元640,可以进行与上面在步骤s240中描述的处理相对应的处理,这里不再展开赘述。
[0094]
本方案提供了一种有监督的主题词生成模型的训练方法,相比于传统的基于tf

idf或者textrank等算法获取的主题词,采用本方法训练得到的模型提取的主题词能够更加准确的描述一篇文档的主题。通过有监督的方式将tf、idf以及是否是textrank算法提取的关键词等作为训练数据的特征,有效地融合了所选特征的优势,提升模型预测的准确率。
[0095]
其次,由于用户的行为可以直接反应用户的意图。因此,通过考虑用户的行为特征,包括将文档曝光给用户之后,用户是否对相应的文档标题进行了点击作为训练数据的标签,这样能够更加真实的反应某个切分后对的词是否可以作为描述某篇文章的主题词。
[0096]
并且,根据本发明的一个实施例的主题词生成模型采用了经过调优的xgboost模型进行训练及预测,能够更加准确的对某个切分后的词是否是主题词进行预测,进一步提升模型预测的准确率。
[0097]
根据本发明的主题词生成模型的训练方法,通过获取到的记录用户行为的日志、切分后的词、文档集合,选取多种特征,并提取特征向量对主题词生成模型进行训练,可以实现大幅度地提高主题词生成模型预测的准确度,训练后的主题词生成模型结合了所选取的特征的优势,可显著地提升模型生成主题词的准确度。采用本发明训练的主题词生成模型对文档进行主题词预测,相比于原来无监督方式预测的主题词,准确度有明显提高。
[0098]
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd

rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
[0099]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器
中存储的所述程序代码中的指令,执行本发明的文档加载方法。
[0100]
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
[0101]
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0102]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0103]
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0104]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0105]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0106]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0107]
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在
此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0108]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0109]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献