关键词确定方法、装置、设备及计算机可读存储介质与流程

文档序号:18214727发布日期:2019-07-19 22:33阅读:140来源:国知局
关键词确定方法、装置、设备及计算机可读存储介质与流程

本公开实施例涉及计算机技术领域,尤其涉及关键词确定方法、装置、设备及计算机可读存储介质。



背景技术:

在进行网络检索或文本内容检索和分析以寻找目标信息(或目标关键词)时,使用关键词进行检索常常难以找到或筛选与关键词内在相关但是外在关联度较低的目标信息。例如,在进行诸如公司之类的机构的风险评估时,往往需要通过新闻舆情对公司机构进行风险分类评估。在很多情况下,使用工商执照上的公司全名,难以获得相应的新闻舆情,这是因为公司的产品或服务的品牌名称往往不同于该公司的注册名称。因此,当需要布控舆情的机构数量很大时,以人工方式进行产品品牌的匹配已经不能满足需求。

可以通过人工方式在网络中或文本内容中搜索与关键词内在相关但是外在关联度较低的目标信息,但是其缺点是无法同时处理大量需求,耗时极长,造成资源浪费。另外,虽然可以通过分词后的简单统计频率对网络检索结果或文本内容搜索结果进行排序,但是该方式的缺点是无法有效过滤大量垃圾信息,仍需要人工介入检查。



技术实现要素:

有鉴于此,本公开第一方面提供了一种关键词确定方法,包括:

对与第一关键词相关的文本执行第一分词处理以将所述文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在所述文本中的权重进行调整;

按照预设分词表对所述多个文字部分进行第二分词处理以将所述文本分割为多个短语,并对所述多个短语的关键程度进行打分;

对所述多个短语中的各个词的关键程度进行打分;

利用所述多个短语的关键程度得分以及所述多个短语中的各个词的关键程度得分确定所述多个短语中的各个词中是否存在目标关键词。

本公开第二方面提供了一种关键词确定装置,包括:

第一分词模块,被配置为对与第一关键词相关的文本执行第一分词处理以将所述文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在所述文本中的权重进行调整;

第二分词模块,被配置为按照预设分词表对所述多个文字部分进行第二分词处理以将所述文本分割为多个短语,并对所述多个短语的关键程度进行打分;

词打分模块,被配置为对所述多个短语中的各个词的关键程度进行打分;

关键词确定模块,被配置为利用所述多个短语的关键程度得分以及所述多个短语中的各个词的关键程度得分确定所述多个短语中的各个词中是否存在目标关键词。

本公开第三方面提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下步骤:

对与第一关键词相关的文本执行第一分词处理以将所述文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在所述文本中的权重进行调整;

按照预设分词表对所述多个文字部分进行第二分词处理以将所述文本分割为多个短语,并对所述多个短语的关键程度进行打分;

对所述多个短语中的各个词的关键程度进行打分;

利用所述多个短语的关键程度得分以及所述多个短语中的各个词的关键程度得分确定所述多个短语中的各个词中是否存在目标关键词。

本公开第四方面提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面所述的方法。

在本公开实施方式中,通过对与第一关键词相关的文本执行第一分词处理以将所述文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在所述文本中的权重进行调整;按照预设分词表对所述多个文字部分进行第二分词处理以将所述文本分割为多个短语,并对所述多个短语的关键程度进行打分;对所述多个短语中的各个词的关键程度进行打分;利用所述多个短语的关键程度得分以及所述多个短语中的各个词的关键程度得分确定所述多个短语中的各个词中是否存在目标关键词,可以同时处理大量网络检索结果或文本内容搜索结果,节省处理时间和资源,还可以有效解决因缺少专家知识而出现的纰漏,并且在确定目标关键词的过程中得到有用的信息,过滤掉垃圾信息。

本公开的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对示例性实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些示例性实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出根据本公开一实施方式的关键词确定方法的流程图;

图2示出根据本公开一实施方式的关键词确定方法的步骤s102的示例的流程图;

图3示出根据本公开一实施方式的关键词确定方法的步骤s104的示例的流程图;

图4示出根据本公开一实施方式的关键词确定方法的应用场景示例的示意图;

图5示出根据本公开另一实施方式的关键词确定装置的结构框图;

图6示出根据本公开一实施方式的电子设备的结构框图;

图7是适于用来实现根据本公开一实施方式的关键词确定方法的计算机系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述。

在本公开的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。.

图1示出根据本公开一实施方式的关键词确定方法的流程图。该方法可以包括步骤s101、s102和s103和s104。

在步骤s101中,对与第一关键词相关的文本执行第一分词处理以将文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在文本中的权重进行调整。

在步骤s102中,按照预设分词表对多个文字部分进行第二分词处理以将文本分割为多个短语,并对多个短语的关键程度进行打分。

在步骤s103中,对多个短语中的各个词的关键程度进行打分。

在步骤s104中,利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分确定多个短语中的各个词中是否存在目标关键词。

在本公开实施方式中,通过对与第一关键词相关的文本执行第一分词处理以将文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在文本中的权重进行调整;按照预设分词表对多个文字部分进行第二分词处理以将文本分割为多个短语,并对多个短语的关键程度进行打分;对多个短语中的各个词的关键程度进行打分;利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分确定多个短语中的各个词中是否存在目标关键词,可以同时处理大量网络检索结果或文本内容搜索结果,节省处理时间和资源,还可以有效解决因缺少专家知识而出现的纰漏,并且在确定目标关键词的过程中得到有用的信息,过滤掉垃圾信息。

在本公开的一个实施例中,与第一关键词相关的文本是使用搜索引擎对第一关键词进行搜索的结果。在此情况下,步骤s101包括:利用搜索引擎分词方法对与第一关键词相关的文本执行第一分词处理以将文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在文本中的权重进行调整。

以下参照图4所示的本公开实施例的应用场景示例进行进一步说明。如图4所示,可以通过搜索引擎搜索获得文本。例如,在百度或谷歌浏览器搜索中搜索诸如公司之类的机构的工商注册名字,如“上海拉扎斯信息科技有限公司”。从浏览器获取返回的搜索结果(标题与底部的相关搜索)。如图4所示,诸如“上海拉扎斯信息科技有限公司_百度百科”之类的搜索结果通过细线方框标示。对浏览器的搜索结果可以执行第一分词处理,例如,使用搜索引擎优化(seo,searchengineoptimization)规则进行分词。seo分词规则使用例如“【、】、-、_”等标点符号进行分词。如图4所示,运用seo规则的第一分词处理进行初步分割的分割标记以细线圆圈标示,诸如“上海拉扎斯信息科技有限公司_百度百科”中的“_”之类的第一分词处理的分割标记由细线圆圈标示。一般搜索引擎返回的排名靠前的结果,标题和简介都比较规范规整以求获得良好的seo效果,因此用seo中常见的标点符号和固定搭配可以进行初步分割,效果良好。

在本公开的一个实施例中,对分割出的多个文字部分中与特定词共同出现的词在文本中的权重进行调整可以指的是通过定位特定词(也可称为特殊关键词),对与这些特殊关键共同出现的词进行权重调整。特殊关键词以及调整权重可以由机器学习方法训练而得到。

在本公开的一个实施例中,特定词与文本中的特定词以及目标关键词以外的词相比,与目标关键词具有更强的关联,其中,通过对标记过的语料进行训练来获得特定词。

通常而言,对于通过搜索引擎搜索获得文本,带有“官网”、“app”等词的网站往往和人们所期望的产品品牌名字有更大的关联,因此可以调整其整体权重。如图4所示,诸如“饿了么-网上订餐_外卖_饿了订餐官网”搜索结果中的“官网”之类的特定词通过粗线圆圈标示。这些特定词可以通过训练已标记过的语料来获得。例如,对100家公司的搜索结果页面文本和最终品牌产品名进行标注,可以统计其中哪一类标题文本有更高概率出现期望结果,对这类标题进行检查即可获得特定词。在本公开的一个实施例中,可采用k-mean分类或特征分解方法来获得特定词。

在本公开的一个实施例中,按照预设分词表对多个文字部分进行第二分词处理以将文本分割为多个短语,并对多个短语的关键程度进行打分。第二分词处理使用预设分词表中词汇对已经结果第一分词处理所得的多个文字部分进行分词,统计第二分词处理后每个短语的得分。如图4所示,诸如“饿了么为什么把自己公司起名叫上海拉扎斯信息科技有限公司?-知乎”搜索结果中的“为什么”以及“【上海拉扎斯信息科技有限公司2018招聘信息】_猎聘网”搜索结果中的“招聘”之类的分词表中的特定词通过粗线方框标示。

在本公开的一个实施例中,分词表中词可以由机器学习方法训练而得到。

在本公开的一个实施例中,步骤s102包括:基于预设的停用词表对多个短语中的各个词进行过滤以过滤掉多个短语中的停用词。基于停用词表过滤,可使用中文自然语言处理(nlp,naturallanguageprocessing)技术中广泛使用的停用词表。本领域技术人员可以理解,可以从相关技术中获知如何实现自然语言处理技术,本公开对此不再赘述。

在本公开的一个实施例中,第二分词处理方法可以参照快速自动关键词提取(rake,rapidautomatickeywordextraction)算法。即,通过惯用词(commonword)对文本中每句句子进行分词,并通过分词后所得的短语(phrase)中每个词的出现频率,共现情况与度(degree)对每个短语进行排序,挑选出得分最高的一个作为文档的关键短语。其中惯用词多为英文惯用词如“and”、“on”、“you”等。在本方案中,这些惯用词被替换为诸如“为什么”、“怎么样”等中文。例如,对图4所示的“饿了么为什么把自己公司起名叫上海拉扎斯信息科技有限公司?-知乎”进行第二分词处理可以得到:“饿了么”、“为什么”、“把”、“自己”、“公司”、“起名”、“叫”、“上海拉扎斯信息科技有限公司”、“知乎”这些词。本领域技术人员可以理解,可以从相关技术中获知如何实现自动关键词提取技术,本公开对此不再赘述。

在本公开的一个实施例中,分词表词汇的训练方法为:在训练样本的文本(例如,搜索结果页面)中定位所有的正确的目标关键词(例如,产品品牌名),将这些正确结果(目标关键词)周围的词放入词典;同时统计非目标关键词周围的词。通过协同过滤的方法,可获取更容易出现在正确结果周围而不出现在不正确结果周围的词,即为所要的分词词语,例如,“饿了么为什么把自己公司起名叫上海拉扎斯信息科技有限公司?-知乎”中的“为什么”。

图2示出根据本公开一实施方式的关键词确定方法的步骤s102的示例的流程图。如图2所示,步骤s102包括步骤s201和s202。

在步骤s201中,利用预设分词表中的词对多个文字部分进行第二分词处理以将文本分割为多个短语。

在步骤s202中,利用多个短语中各个词在文本中的出现频率和共现关系对多个短语的关键程度进行打分。

在本公开的一个实施例中,可以通过相关技术中的自动关键词提取算法,利用多个短语中各个词在文本中的出现频率和共现关系对多个短语的关键程度进行打分。

在本公开的一个实施例中,步骤s103包括:通过词频-逆文档频率(tf-idf,termfrequency-inversedocumentfrequency)算法对多个短语中的各个词的关键程度进行打分。例如,一个词的tf-idf值(得分)=tfxidf。其中,

tf为某一第一关键词(例如,具体公司)搜索结果经分词过滤后每个单独词的频率。在“饿了么为什么把自己公司起名叫上海拉扎斯信息科技有限公司?-知乎”的例子中,f(饿了么)=1,即,“饿了么”的tf值(词频)为1。f(知乎)=1,即,“知乎”的tf值(词频)为1。f(上海拉扎斯信息科技有限公司)=1,即,“上海拉扎斯信息科技有限公司”的tf值(词频)为1。在本公开的一个实施例中,idf=log(语料库文档总数/(预料控制包含该词的文档数+1))。在本公开的实施例中,若要对100个第一关键词(例如,机构公司)寻找目标关键词(例如,产品品牌名),则语料库大小即为100。其中,“饿了么”仅在“上海拉扎斯信息科技有限公司”的搜索页面中出现,其idf=log(100/2)=1.69,而“知乎”若在10个第一关键词的搜索结果页面中均有出现,则其idf=log(100/11)=0.95。因此,tf-idf可有效过滤出现在多个结果中有混淆效果的错误目标关键词。

在本公开的一个实施例中,可以对多个短语中的各个词的关键程度进行词频-逆文档频率算法的打分并通过打分结果排序。

在本公开的一个实施例中,步骤s104包括:利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分,通过分类算法确定多个短语中的各个词中是否存在目标关键词。

在本公开的一个实施例中,可以对各个词的tf-idf得分和所在短语的rake算法得分通过分类算法进行判断,判断对于这个第一关键词是否存在可接受的目标关键词。

图3示出根据本公开一实施方式的关键词确定方法的步骤s104的示例的流程图。如图3所示,步骤s104包括步骤s301和s302。

在步骤s301中,利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分计算多个短语中的各个词的目标得分。

在步骤s302中,根据预设规则和多个短语中的各个词的目标得分从多个短语中的各个词中选择出候选目标关键词,并且对作为候选目标关键词进行验证以确定候选目标关键词是否是目标关键词。

在本公开的一个实施例中,可以从可接受的候选目标关键词中挑选出目标得分或综合得分最高的候选目标关键词作为结果,并进行验证。验证的方式包括但不限于地名判断、人名判断,即,将判断出属于地名或人名的目标关键词去除。在一个示例中,目标得分或综合得分可以是多个短语的关键程度得分以及多个短语中的各个词的关键程度得分之和的平均分。当然,本公开不限于此,可以以各种方式确定候选目标关键词的目标得分综合得分。

在本公开的一个实施例中,可以通过诸如分类算法的预设规则判断是否对第一关键词的搜索结果中出现了可能正确的目标关键词。分类算法的输入可以是每个词的tf-idf值和相关的rake算法值,还可以包括以这些值基础生成的其他特征。将这些特征输入相关技术中的机器学习分类算法如gradientboosting、svm等,可判断出输入的内容中是否包含可能的目标关键词。使用分类算法是为了保证在整个搜索结果不包含任何目标关键词情况下(例如,对于某些地方性小公司搜索不到他们的产品品牌),不抓取垃圾信息。

在本公开的一个实施例中,作为文本输入的搜索引擎结果,可以包含其他来源,包括但不限于各种网络百科、论坛、社交媒体等。

在本公开的一个实施例中,在进行分类的步骤中,可以替换成其他的机器学习或深度学习分类算法如randomforest、rnn等。即,前述预设规则可以通过相关技术中的各种算法来实现,本公开对此不再赘述。

在本公开的一个实施例中,在第二分词处理的分词步骤中,可以使用其他中文分词工具如hanlp等软件替换或搭配前述实施例中的算法。

在本公开的一个实施例中,在对多个短语中的各个词的关键程度进行打分时,人工方案无法解决大量的需求,并且容易出现错误。比如:对于某些有混淆效果的目标关键词(例如,产品品牌),如前述实施例中举例的“知乎”,若没有相应知识,很容易出现错判漏判的情况。而本公开的实施方式可同时处理大量的诸如互联网的搜索结果之类的文本,可在一分钟内处理10000个以上的结果。同时,通过采用例如tf-idf之类的对多个短语中的各个词的关键程度进行打分的方式和分类算法,基于历史数据和全局的统计信息,可以有效解决因缺少专家知识而出现的纰漏。在相关技术中,运用传统nlp方法分词并进行简单统计的方法,将导致出现大量垃圾信息,且不能保证分词分出所要的结果,如“饿了么”极可能被分为“饿”、“了”、“么”。本公开的实施方式通过诸如seo规则的第一分词处理、以及训练过的第二分词处理,可以保证分出期望的有用信息,并过滤掉无谓的垃圾信息。即,本公开实施方式可以同时处理大量网络检索结果或文本内容搜索结果,节省处理时间和资源,还可以有效解决因缺少专家知识而出现的纰漏,并且在确定目标关键词的过程中得到有用的信息,过滤掉垃圾信息。

图5示出根据本公开另一实施方式的关键词确定装置的结构框图。该装置可以包括第一分词模块501、第二分词模块502、词打分模块503和关键词确定模块504。

第一分词模块501被配置为对与第一关键词相关的文本执行第一分词处理以将文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在文本中的权重进行调整。

第二分词模块502被配置为按照预设分词表对多个文字部分进行第二分词处理以将文本分割为多个短语,并对多个短语的关键程度进行打分。

词打分模块503被配置为对多个短语中的各个词的关键程度进行打分。

关键词确定模块504被配置为利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分确定多个短语中的各个词中是否存在目标关键词。

以上描述了关键词确定装置的内部功能和结构,在一个可能的设计中,该关键词确定装置的结构可实现为关键词确定设备,如图6中所示,该处理设备600可以包括处理器601以及存储器602。

所述存储器602用于存储支持关键词确定装置执行上述任一实施例中关键词确定方法的程序,所述处理器601被配置为用于执行所述存储器602中存储的程序。

所述存储器602用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器601执行以实现以下步骤:

对与第一关键词相关的文本执行第一分词处理以将所述文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在所述文本中的权重进行调整;

按照预设分词表对所述多个文字部分进行第二分词处理以将所述文本分割为多个短语,并对所述多个短语的关键程度进行打分;

对所述多个短语中的各个词的关键程度进行打分;

利用所述多个短语的关键程度得分以及所述多个短语中的各个词的关键程度得分确定所述多个短语中的各个词中是否存在目标关键词。

在本公开实施方式中,通过对与第一关键词相关的文本执行第一分词处理以将文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在文本中的权重进行调整;按照预设分词表对多个文字部分进行第二分词处理以将文本分割为多个短语,并对多个短语的关键程度进行打分;对多个短语中的各个词的关键程度进行打分;利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分确定多个短语中的各个词中是否存在目标关键词,可以同时处理大量网络检索结果或文本内容搜索结果,节省处理时间和资源,还可以有效解决因缺少专家知识而出现的纰漏,并且在确定目标关键词的过程中得到有用的信息,过滤掉垃圾信息。

在本公开的一个实施例中,与第一关键词相关的文本是使用搜索引擎对第一关键词进行搜索的结果。在此情况下,对与第一关键词相关的文本执行第一分词处理以将所述文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在所述文本中的权重进行调整,包括:利用搜索引擎分词方法对与第一关键词相关的文本执行第一分词处理以将文本分割为多个文字部分,并对分割出的多个文字部分中与特定词共同出现的词在文本中的权重进行调整。

以下参照图4所示的本公开实施例的应用场景示例进行进一步说明。如图4所示,可以通过搜索引擎搜索获得文本。例如,在百度或谷歌浏览器搜索中搜索诸如公司之类的机构的工商注册名字,如“上海拉扎斯信息科技有限公司”。从浏览器获取返回的搜索结果(标题与底部的相关搜索)。如图4所示,诸如“上海拉扎斯信息科技有限公司_百度百科”之类的搜索结果通过细线方框标示。对浏览器的搜索结果可以执行第一分词处理,例如,使用搜索引擎优化(seo,searchengineoptimization)规则进行分词。seo分词规则使用例如“【、】、-、_”等标点符号进行分词。如图4所示,运用seo规则的第一分词处理进行初步分割的分割标记以细线圆圈标示,诸如“上海拉扎斯信息科技有限公司_百度百科”中的“_”之类的第一分词处理的分割标记由细线圆圈标示。一般搜索引擎返回的排名靠前的结果,标题和简介都比较规范规整以求获得良好的seo效果,因此用seo中常见的标点符号和固定搭配可以进行初步分割,效果良好。

在本公开的一个实施例中,对分割出的多个文字部分中与特定词共同出现的词在文本中的权重进行调整可以指的是通过定位特定词(也可称为特殊关键词),对与这些特殊关键共同出现的词进行权重调整。特殊关键词以及调整权重可以由机器学习方法训练而得到。

在本公开的一个实施例中,特定词与文本中的特定词以及目标关键词以外的词相比,与目标关键词具有更强的关联,其中,通过对标记过的语料进行训练来获得特定词。

通常而言,对于通过搜索引擎搜索获得文本,带有“官网”、“app”等词的网站往往和人们所期望的产品品牌名字有更大的关联,因此可以调整其整体权重。如图4所示,诸如“饿了么-网上订餐_外卖_饿了订餐官网”搜索结果中的“官网”之类的特定词通过粗线圆圈标示。这些特定词可以通过训练已标记过的语料来获得。例如,对100家公司的搜索结果页面文本和最终品牌产品名进行标注,可以统计其中哪一类标题文本有更高概率出现期望结果,对这类标题进行检查即可获得特定词。在本公开的一个实施例中,可采用k-mean分类或特征分解方法来获得特定词。

在本公开的一个实施例中,按照预设分词表对多个文字部分进行第二分词处理以将文本分割为多个短语,并对多个短语的关键程度进行打分。第二分词处理使用预设分词表中词汇对已经结果第一分词处理所得的多个文字部分进行分词,统计第二分词处理后每个短语的得分。如图4所示,诸如“饿了么为什么把自己公司起名叫上海拉扎斯信息科技有限公司?-知乎”搜索结果中的“为什么”以及“【上海拉扎斯信息科技有限公司2018招聘信息】_猎聘网”搜索结果中的“招聘”之类的分词表中的特定词通过粗线方框标示。

在本公开的一个实施例中,分词表中词可以由机器学习方法训练而得到。

在本公开的一个实施例中,按照预设分词表对多个文字部分进行第二分词处理以将文本分割为多个短语,并对多个短语的关键程度进行打分,包括:基于预设的停用词表对多个短语中的各个词进行过滤以过滤掉多个短语中的停用词。基于停用词表过滤,可使用中文自然语言处理(nlp,naturallanguageprocessing)技术中广泛使用的停用词表。本领域技术人员可以理解,可以从相关技术中获知如何实现自然语言处理技术,本公开对此不再赘述。

在本公开的一个实施例中,第二分词处理方法可以参照快速自动关键词提取(rake,rapidautomatickeywordextraction)算法。即,通过惯用词(commonword)对文本中每句句子进行分词,并通过分词后所得的短语(phrase)中每个词的出现频率,共现情况与度(degree)对每个短语进行排序,挑选出得分最高的一个作为文档的关键短语。其中惯用词多为英文惯用词如“and”、“on”、“you”等。在本方案中,这些惯用词被替换为诸如“为什么”、“怎么样”等中文。例如,对图4所示的“饿了么为什么把自己公司起名叫上海拉扎斯信息科技有限公司?-知乎”进行第二分词处理可以得到:“饿了么”、“为什么”、“把”、“自己”、“公司”、“起名”、“叫”、“上海拉扎斯信息科技有限公司”、“知乎”这些词。本领域技术人员可以理解,可以从相关技术中获知如何实现自动关键词提取技术,本公开对此不再赘述。

在本公开的一个实施例中,分词表词汇的训练方法为:在训练样本的文本(例如,搜索结果页面)中定位所有的正确的目标关键词(例如,产品品牌名),将这些正确结果(目标关键词)周围的词放入词典;同时统计非目标关键词周围的词。通过协同过滤的方法,可获取更容易出现在正确结果周围而不出现在不正确结果周围的词,即为所要的分词词语,例如,“饿了么为什么把自己公司起名叫上海拉扎斯信息科技有限公司?-知乎”中的“为什么”。

在本公开的一个实施例中,按照预设分词表对多个文字部分进行第二分词处理以将文本分割为多个短语,并对多个短语的关键程度进行打分,包括:利用预设分词表中的词对多个文字部分进行第二分词处理以将文本分割为多个短语;利用多个短语中各个词在文本中的出现频率和共现关系对多个短语的关键程度进行打分。

在本公开的一个实施例中,可以通过相关技术中的自动关键词提取算法,利用多个短语中各个词在文本中的出现频率和共现关系对多个短语的关键程度进行打分。

在本公开的一个实施例中,对多个短语中的各个词的关键程度进行打分,包括:通过词频-逆文档频率(tf-idf,termfrequency-inversedocumentfrequency)算法对多个短语中的各个词的关键程度进行打分。例如,一个词的tf-idf值(得分)=tfxidf。其中,tf为某一第一关键词(例如,具体公司)搜索结果经分词过滤后每个单独词的频率。在“饿了么为什么把自己公司起名叫上海拉扎斯信息科技有限公司?-知乎”的例子中,f(饿了么)=1,即,“饿了么”的tf值(词频)为1。f(知乎)=1,即,“知乎”的tf值(词频)为1。f(上海拉扎斯信息科技有限公司)=1,即,“上海拉扎斯信息科技有限公司”的tf值(词频)为1。在本公开的一个实施例中,idf=log(语料库文档总数/(预料控制包含该词的文档数+1))。在本公开的实施例中,若要对100个第一关键词(例如,机构公司)寻找目标关键词(例如,产品品牌名),则语料库大小即为100。其中,“饿了么”仅在“上海拉扎斯信息科技有限公司”的搜索页面中出现,其idf=log(100/2)=1.69,而“知乎”若在10个第一关键词的搜索结果页面中均有出现,则其idf=log(100/11)=0.95。因此,tf-idf可有效过滤出现在多个结果中有混淆效果的错误目标关键词。

在本公开的一个实施例中,可以对多个短语中的各个词的关键程度进行词频-逆文档频率算法的打分并通过打分结果排序。

在本公开的一个实施例中,利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分确定多个短语中的各个词中是否存在目标关键词,包括:利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分,通过分类算法确定多个短语中的各个词中是否存在目标关键词。

在本公开的一个实施例中,可以对各个词的tf-idf得分和所在短语的rake算法得分通过分类算法进行判断,判断对于这个第一关键词是否存在可接受的目标关键词。

在本公开的一个实施例中,利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分确定多个短语中的各个词中是否存在目标关键词,包括:利用多个短语的关键程度得分以及多个短语中的各个词的关键程度得分计算多个短语中的各个词的目标得分;根据预设规则和多个短语中的各个词的目标得分从多个短语中的各个词中选择出候选目标关键词,并且对作为候选目标关键词进行验证以确定候选目标关键词是否是目标关键词。

在本公开的一个实施例中,可以从可接受的候选目标关键词中挑选出目标得分或综合得分最高的候选目标关键词作为结果,并进行验证。验证的方式包括但不限于地名判断、人名判断,即,将判断出属于地名或人名的目标关键词去除。在一个示例中,目标得分或综合得分可以是多个短语的关键程度得分以及多个短语中的各个词的关键程度得分之和的平均分。当然,本公开不限于此,可以以各种方式确定候选目标关键词的目标得分综合得分。

在本公开的一个实施例中,可以通过诸如分类算法的预设规则判断是否对第一关键词的搜索结果中出现了可能正确的目标关键词。分类算法的输入可以是每个词的tf-idf值和相关的rake算法值,还可以包括以这些值基础生成的其他特征。将这些特征输入相关技术中的机器学习分类算法如gradientboosting、svm等,可判断出输入的内容中是否包含可能的目标关键词。使用分类算法是为了保证在整个搜索结果不包含任何目标关键词情况下(例如,对于某些地方性小公司搜索不到他们的产品品牌),不抓取垃圾信息。

在本公开的一个实施例中,作为文本输入的搜索引擎结果,可以包含其他来源,包括但不限于各种网络百科、论坛、社交媒体等。

在本公开的一个实施例中,在进行分类的步骤中,可以替换成其他的机器学习或深度学习分类算法如randomforest、rnn等。即,前述预设规则可以通过相关技术中的各种算法来实现,本公开对此不再赘述。

在本公开的一个实施例中,在第二分词处理的分词步骤中,可以使用其他中文分词工具如hanlp等软件替换或搭配前述实施例中的算法。

在本公开的一个实施例中,在对多个短语中的各个词的关键程度进行打分时,人工方案无法解决大量的需求,并且容易出现错误。比如:对于某些有混淆效果的目标关键词(例如,产品品牌),如前述实施例中举例的“知乎”,若没有相应知识,很容易出现错判漏判的情况。而本公开的实施方式可同时处理大量的诸如互联网的搜索结果之类的文本,可在一分钟内处理10000个以上的结果。同时,通过采用例如tf-idf之类的对多个短语中的各个词的关键程度进行打分的方式和分类算法,基于历史数据和全局的统计信息,可以有效解决因缺少专家知识而出现的纰漏。在相关技术中,运用传统nlp方法分词并进行简单统计的方法,将导致出现大量垃圾信息,且不能保证分词分出所要的结果,如“饿了么”极可能被分为“饿”、“了”、“么”。本公开的实施方式通过诸如seo规则的第一分词处理、以及训练过的第二分词处理,可以保证分出期望的有用信息,并过滤掉无谓的垃圾信息。即,本公开实施方式可以同时处理大量网络检索结果或文本内容搜索结果,节省处理时间和资源,还可以有效解决因缺少专家知识而出现的纰漏,并且在确定目标关键词的过程中得到有用的信息,过滤掉垃圾信息。

所述处理器601用于执行前述各方法步骤中的全部或部分步骤。

其中,所述关键词确定设备的结构中还可以包括通信接口,用于关键词确定设备与其他设备或通信网络通信。

本公开示例性实施例还提供了一种计算机存储介质,用于储存所述关键词确定装置所用的计算机软件指令,其包含用于执行上述任一实施例中关键词确定方法所涉及的程序。

图7是适于用来实现根据本公开一实施方式的关键词确定方法的计算机系统的结构示意图。

如图7所示,计算机系统700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行上述图1所示的实施方式中的各种处理。在ram703中,还存储有系统700操作所需的各种程序和数据。cpu701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。

以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。

特别地,根据本公开的实施方式,上文参考图1描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行图1的数据处理方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。

附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,并且/或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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