具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1示出了本申请实施例的一个应用场景。如图1所示出的,由于行业关键词库对于风险监控、风险策略运营以及行业标准化都具有非常重要的作用,因此需要生成针对不同行业类别的关键词库。通常生成行业关键词库的方法是基于商户的文本语料(例如图1中示出的商户名、商品名以及商户地址)生成行业关键词库。
目前基于商户的文本语料生成行业关键词库的方法主要有人工挖掘和基于TF-IDF值等方式。但是目前生成行业关键词库的方法耗费较高的人力成本、生成的关键词库的覆盖率及准确率均较低。
为了解决上述问题,本申请实施例提供了一种生成关键词库的方法。下面将结合附图详细描述根据本申请实施例的生成关键词库的方法。
图2示出了本申请一个实施例的生成关键词库的方法。图2的方法可以由生成关键词库的装置执行。如图2所示出的,方法包括:
S102,基于目标类别对应的目标文本语料,确定目标类别的M个初始关键词,M为大于或等于2的整数。
需要说明的是,M个初始关键词中每个关键词包括的汉字的数量可以为1个或多个。
作为一个例子,S102中的目标类别为行业类别,目标文本语料为行业类别对应的商户相关信息。这里的行业类别可以是“国民经济行业分类标准”中涉及的行业类别,也可以是在一行业领域内自定义的行业类别。商户相关信息例如可以是商户名、商品名以及商户地址等信息。
在S102中,基于目标类别对应的目标文本语料,确定目标类别的M个初始关键词,具体实现方式可以是:对目标文本语料进行分词处理,得到P个目标分词,P为大于或等于M的整数;基于P个目标分词对应的词频-逆文档频率TF-IDF值,确定M个初始关键词。这里,P个目标分词中每个目标分词包括的汉字的个数可以是1个或多个。
例如,对目标文本语料进行分词得到的5个目标分词包括:保养、集团、电动、洗车和经营部,这5个目标分词相对应的TF-IDF值分别为0.4、0.1、0.44、0.5和0.2。若限定关键词的TF-IDF值需要大于0.2,则确定出3个初始关键词为保养、电动和洗车。
以目标类别为目标商户类别码MCC为例,假设目标MCC对应的目标文本中有T个单词,共有D个MCC。nd,t代表第d个MCC对应的T个单词中第t个单词的数目,dft代表包含第t个单词的MCC数。可以通过公式(1)计算每个单词的TF-IDF值。
或者,在S102中,基于目标类别对应的目标文本语料,确定目标类别的M个初始关键词,具体实现方式可以是:对目标文本语料进行分词处理,得到P个目标分词;通过TextRank方法从P个目标分词中提取出M个初始关键词。又或者,在S102中,基于目标类别对应的目标文本语料,确定目标类别的M个初始关键词,具体实现方式可以是:对目标文本语料进行分词处理,得到P个目标分词;通过隐含狄利克雷分布LDA主题模型从P个目标分词中提取中M个初始关键词。在通过LDA主题模型从P个目标分词中提取M个初始关键词的方法中,将P个目标分词输入到LDA主题模型中,经过LDA主题模型分析,确定出对主题(可以理解为本申请实施例中的目标类别)贡献度满足要求的分词,作为初始关键词。
进一步地,对目标文本语料进行分词处理,得到P个目标分词,具体实现方式可以是:对目标文本语料进行分词处理,得到Q个初始分词;基于Q个初始分词和预设选择规则,确定P个目标分词。这里Q个初始分词中每个初始分词包括的汉字的个数可以是1个或多个。
这里的预设选择规则可以是:从初始分词中选择非易混淆词和非停用词作为目标分词。例如,易混淆词包括地名和人名。在这种情况下,将Q个初始分词中的非地名、非人名以及非停用词的初始分词确定为目标分词。
可以理解的是,对目标文本语料进行分词处理,得到Q个初始分词,具体实现的方式可以是:基于分词模型对目标文本语料进行分词处理得到Q个初始分词;或基于预设分词规则对目标文本语料进行分词处理得到Q个初始分词。
S104,确定M个初始关键词之间的语义相似度。
在S104中,可以通过语义相似度计算模型,确定M个初始关键词之间的语义相似度。语义相似度计算模型可以是基于开源语料库训练生成。例如,通过开源语料库中的语料和word2vec训练词向量(embedding),得到语义相似度计算模型。通过开源语料库训练语义相似度计算模型能够考虑词语之间的上下文关系,由此训练出的语义相似度计算模型更为准确。
表1示出了通过开源语料库训练得到的语义相似度计算模型确定出的语义相似较高的词语。表2示出了通过本地语料(商户相关信息)训练得到的语义相似度计算模型确定出的语义相似度较高的词语。可以看出通过开源语料库训练语义相似度计算模型更为准确。作为一个例子,开源语料库为维基百科语料库。
表1
表2
具体地,在一些实施例中,确定M个初始关键词之间的语义相似度,包括:对M个初始关键词进行排序,得到第一排序结果;基于第一排序结果,确定排序靠前的N个初始关键词之间的第一语义相似度和其他初始关键词与N个初始关键词之间的第二语义相似度,N为小于M的整数。
在对M个初始关键词进行排序,得到第一排序结果时,可以基于M个初始关键词对应的TF-IDF值,对M个初始关键词进行排序,得到第一排序结果。或者可以基于M个初始关键词对目标类型的贡献度高低,对M个初始关键词进行排序,得到第一排序结果。本申请实施例对实现排序的方式不作限定。
举例来说,假设有5个初始关键词,分别为医院、卫生院、街道、医学院和医科,这5个初始关键词对应的TF-IDF值分别为0.22、0.17、0.12、0.11和0.11,则第一排序结果为:医院、卫生院、街道、医学院、医科。在确定这5个初始关键词之间的语义相似度时,计算医院和卫生院之间的语义相似度,以及街道、医学院和医科分别与医院和卫生院之间的语义相似度。
S106,基于M个初始关键词和语义相似度,生成目标类别的目标关键词库。
在S106中,基于M个初始关键词和语义相似度,生成目标类别的目标关键词库,具体的实现方式可以是:基于每个初始关键词对应的语义相似度和对应的TF-IDF值的乘积,对M个初始关键词再次进行排序,得到第二排序结果;基于第二排序结果,将排序靠前的预设数量的初始关键词构成的词库确定为目标关键词库。
举例来说,可以通过公式2确定每个初始关键词对应的一个排序值(Rank),Rank越大的排序越靠前。公式2中max()表示取最大值,cosame表示语义相似度。
Rank=max(cosame)*TF-IDF (2)
继续以上文中的例子为例,如图3所示出的,医院、卫生院、街道、医学院和医科这5个初始关键词对应的TF-IDF值分别为0.22、0.17、0.12、0.11和0.11,第一排序结果为:医院、卫生院、街道、医学院、医科。医院和卫生院之间的语义相似度为0.62,街道与卫生院之间的语义相似度为0.55,街道与医院之间的相似度为0.35,医学院与卫生院之间的语义相似度为0.83,医学院与医院之间的语义相似度为0.61,医科与卫生院之前的语义相似度为0.65,医科与医院之间的语义相似度为0.61,则根据公式(2)计算得到医院的Rank为0.22、卫生院的Rank为0.17、医学院的Rank为0.09、医科的Rank为0.07、街道的Rank为0.07,则对这5个初始关键词进行排序后的第二排序结果为:医院、卫生院、医学院、医科和街道。如果预设数量为3,则确定出的目标关键词库包括排名从前向后的医院、卫生院和医学院。
通过本申请实施例的生成关键词库的方法生成的关键词库人工抽样准确率高达90%,覆盖所有类别,形成3000多个关键词库,相比人工挖掘关键词库的方法,具有更高的效率和更高的准确率。并且在生成关键词库的过程中,考虑了词语之间的语义相似度,进一步提高了关键词库中的关键词排序的准确率。
下面将结合图4详细描述根据本申请一个具体实施例的生成关键词库的方法。图4所示的方法可以由生成关键词库的装置执行。如图4所示,方法包括:
S202,针对每个类别,对文本语料进行分词处理。
例如,有3个行业类别,分别为“药店”、“洗车”和“加油站”。其中,“药店”的文本语料进行分词得到的分词包括:高新区、福忻、大、药房、应城市、富水河、57号、百姓、药房、明康、牙医、体检和医药,“洗车”的文本语料进行分词得到的分词包括:漳州市、芗城区、迅洁、洗车、店、汽车、养护、清洗、折扣和套餐,“加油站”的文本语料进行分词得到的分析包括:北京市、顺通、加油、站、无锡市、安鑫、燃化、物资、化工和公司。通过去除地名、人名等易混淆词和去除停用词,得到“药店”对应的分词包括:药房、牙医和医药,“洗车”对应的分词包括:洗车、养护和清洗,“加油站”对应的分词包括:加油、燃化和化工。
S204,针对每个类别,用TF-IDF值初步筛选出每个类别的关键词,并对关键词进行初次排序。
S206,针对每个类别,通过word2vec计算关键词之间的词向量(embedding)。
S208,针对每个类别,基于初次排序结果,计算其他关键词与头部关键词的语义相似度。
在S208中,头部关键词指的是排名靠前的关键词,头部关键词的数量可以是1个也可以是多个,具体可以依据实际情况设置。
S210,针对每个类别,利用公式Rank=max(语义相似度)*TD-IDF对关键词进行再次排序。
S212,针对每个类别,基于再次排序结果,取排序靠前的10个关键词,生成关键词库。
在S212中,关键词库也可以称为“类别词典”或“类目词典”。
下面将结合图5详细描述根据本申请一个实施例的电子设备。参考图5,在硬件层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成生成关键词库的装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
基于目标类别对应的目标文本语料,确定所述目标类别的M个初始关键词,M为大于或等于2的整数;
确定所述M个初始关键词之间的语义相似度;
基于所述M个初始关键词和所述语义相似度,生成所述目标类别的目标关键词库。
上述如本申请图2和图4所示实施例揭示的由生成关键词库的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图2和图4所示实施例的方法,并具体用于执行以下方法:
基于目标类别对应的目标文本语料,确定所述目标类别的M个初始关键词,M为大于或等于2的整数;
确定所述M个初始关键词之间的语义相似度;
基于所述M个初始关键词和所述语义相似度,生成所述目标类别的目标关键词库。
图6是本申请的一个实施例的生成关键词库的装置的结构示意图。请参考图6,在一种软件实施方式中,装置600可包括:第一处理单元61、第二处理单元62和生成单元63,其中,
第一处理单元61,基于目标类别对应的目标文本语料,确定所述目标类别对应的M个初始关键词,M为大于或等于2的整数;
第二处理单元62,确定所述M个初始关键词之间的语义相似度;
生成单元63,基于所述M个初始关键词和所述语义相似度,生成所述目标类别的目标关键词库。
本申请实施例的生成关键词库的装置,在基于目标类别对应的目标文本语料确定出目标类别的初始关键词后,基于初始关键词以及初始关键词之间的语义相似度,生成目标类别的目标关键词库。由于在生成目标关键词库的过程中考虑了初始关键词之间的语义相似度,因此能够提高生成的关键词库的准确性,并且能够自动生成关键词库,降低人力成本和提高关键词库的覆盖率。
可选地,作为一个实施例,第二处理单元62:
对所述M个初始关键词进行排序,得到第一排序结果;
基于所述第一排序结果,确定排序靠前的N个初始关键词之间的第一语义相似度和其他初始关键词与所述N个初始关键词之间的第二语义相似度,N为小于M的整数。
可选地,作为一个实施例,第一处理单元61:
对所述目标文本语料进行分词处理,得到P个目标分词,P为大于或等于M的整数;
基于所述P个目标分词对应的词频-逆文档频率TF-IDF值,确定所述M个初始关键词;
基于所述M个初始关键词对应的TF-IDF值,对所述M个初始关键词进行排序,得到所述第一排序结果。
可选地,作为一个实施例,生成单元63:
基于每个初始关键词对应的语义相似度和对应的TF-IDF值的乘积,对所述M个初始关键词再次进行排序,得到第二排序结果;
基于所述第二排序结果,将排序靠前的预设数量的初始关键词构成的词库确定为所述目标关键词库。
可选地,作为一个实施例,第二处理单元62:
基于语义相似度计算模型,确定所述M个初始关键词之间的语义相似度。
可选地,作为一个实施例,所述语义相似度计算模型基于开源语料库训练生成。
可选地,作为一个实施例,第一处理单元61:
对所述目标文本语料进行分词处理,得到Q个初始分词;
基于所述Q个初始分词和预设选择规则,确定所述P个目标分词。
可选地,作为一个实施例,所述目标类别为行业类别,所述目标文本语料为所述行业类别对应的商户相关信息。
本申请实施例的生成关键词库的装置还可执行图2和图4中的生成关键词库的装置执行的方法,并实现生成关键词库的装置在图2和图4所示实施例的功能,在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。