掌桥专利:专业的专利平台
掌桥专利
首页

分词词库更新方法、装置、系统和计算机可读存储介质

文献发布时间:2023-06-19 11:22:42


分词词库更新方法、装置、系统和计算机可读存储介质

技术领域

本发明涉及数据库领域,尤其涉及分词词库更新方法、装置、系统和计算机可读存储介质。

背景技术

Elasticsearch软件可以制作搜索系统,并且采用IK分词插件进行分词。搜索系统对于分词进行搜索。IK分词插件基于关键词库进行分词。但是,各种新词层出不穷。关键词库不能自动收录新词,需要定期手动更新。因此,本领域的技术人员致力于开发一种分词词库更新方法。

发明内容

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何实现分词词库自动更新。

为实现上述目的,本发明提供了一种分词词库更新方法、装置、系统和计算机可读存储介质。

在本发明的一个实施方式中,一种分词词库更新方法包括:

建立数据表;

对于用户搜索的关键词进行记录;

统计当天与昨天搜索所述关键词的频率;

根据多个算法的公式计算当天所述关键词中的热词;

查询所述数据表是否存在所述热词;

如果所述数据表不存在所述热词,则所述数据表录入所述热词;

如果所述数据表存在所述热词,则进入下一步骤;

根据所述数据表生成新词典文件;

向搜索系统发送所述新词典文件覆盖原词典文件;

命令所述搜索系统重新分词形成新的索引文档。

在本发明的另一实施方式中,一种分词词库更新装置包括数据库模块、前台模块、后台模块;

所述数据库模块建立数据表;

所述前台模块对于用户搜索的关键词进行记录;

所述后台模块统计当天与昨天搜索所述关键词的频率;

根据多个算法的公式计算当天所述关键词中的热词;

查询所述数据表是否存在所述热词;

如果所述数据表不存在所述热词,则所述数据表录入所述热词;

如果所述数据表存在所述热词,则进入下一步骤;

根据所述数据表生成新词典文件;

向搜索系统发送所述新词典文件覆盖原词典文件;

命令所述搜索系统重新分词形成新的索引文档。

在本发明的另一实施方式中,一种分词词库更新设备包括分词词库更新装置、搜索系统;

所述分词词库更新装置包括数据库模块、前台模块、后台模块;

所述搜索系统包括分词词库;

所述数据库模块建立数据表;

所述前台模块对于用户搜索的关键词进行记录;

所述后台模块统计当天与昨天搜索所述关键词的频率;

根据多个算法的公式计算当天所述关键词中的热词;

查询所述数据表是否存在所述热词;

如果所述数据表不存在所述热词,则所述数据表录入所述热词;

如果所述数据表存在所述热词,则进入下一步骤;

根据所述数据表生成新词典文件;

向搜索系统发送所述新词典文件覆盖原词典文件;

命令所述搜索系统重新分词形成新的索引文档。

在本发明的另一实施方式中,一种计算机可读存储介质包括计算机程序,所述计算机程序在计算机上运行,所述计算机执行所述分词词库更新方法。

本发明提供的分词词库更新方法具有以下有益效果:通过根据多个算法的公式计算当天所述关键词中的热词,使得所述数据表录入所述热词,并且根据所述数据表生成新词典文件,命令所述搜索系统重新分词形成新的索引文档,从而实现分词词库自动更新。分词词库自动更新与现有的手动更新相比更加简单、及时、全面。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明分词词库更新方法一个实施例的流程示意图;

图2是本发明分词词库更新方法另一实施例的流程示意图;

图3是本发明分词词库更新方法另一实施例的流程示意图;

图4是本发明分词词库更新方法另一实施例的流程示意图;

图5是本发明分词词库更新装置一个实施例的模块示意图;

图6是本发明分词词库更新设备一个实施例的模块示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

为了阐释的目的而描述了本发明的一些示例性实施例,需要理解的是,本发明可通过附图中没有具体示出的其他方式来实现。

图1是本发明分词词库更新方法一个实施例的流程示意图。

如图1所示,分词词库更新方法100包括步骤S110至S190B。

步骤S110,建立数据表。

如表1所示,数据表包括三个字段Id、Word、Created_at。第一个字段Id表示编号。第二个字段Word表示关键词。第三个字段Created_at表示创建时间。三个字段Id、Word、Created_at的类型为Int、Varchar、Int。第一种类型Int表示整数类型。第二种类型Varchar表示可变长度字符串。三个字段Id、Word、Created_at 的长度为11、255、11。

表1

如表2所示,数据表包括三条记录。三条记录的关键词为中国、第三关键词、第二关键词。第一条和第二条记录的关键词中国、第三关键词属于中文关键词。第三条记录的关键词第二关键词属于英文关键词。第一条记录的编号和创建时间为1、2020-12-11 17:27:38。第二条记录的编号和创建时间为2、2020-12-11 17:27:54。第三条记录的编号和创建时间为3、2020-12-11 17:27:58。数据表的关键词来自搜索系统的分词词库和原词典文件。

表2

步骤S120,对于用户搜索的关键词进行记录。

用户搜索了第一关键词、第二关键词、第三关键词、第四关键词、第五关键词、第六关键词、第七关键词、第八关键词、第九关键词,这些关键词记录下来。

步骤S130,统计当天与昨天搜索关键词的频率。

根据统计,当天搜索第一关键词、第二关键词、第三关键词、第四关键词、第五关键词、第六关键词、第七关键词、第八关键词、第九关键词的频率为3233、 4000、6000、6345、2334、1434、3067、5056、6023。昨天搜索第一关键词、第二关键词、第三关键词、第四关键词、第五关键词、第六关键词、第七关键词、第八关键词、第九关键词的频率为1206、2121、3000、3454、2112、1212、3032、 2043、4024。

步骤S140,根据多个算法的公式计算当天关键词中的热词。

优选的,根据两个算法的公式计算当天关键词中的热词。根据两个算法的计算,当天的热词为第一关键词、第八关键词、第二关键词、第三关键词、第四关键词。

步骤S150,查询数据表是否存在热词。

根据查询,数据表存在两个热词第二关键词、第三关键词。但是,数据表不存在另三个热词第一关键词、第八关键词、第四关键词。

步骤S160,如果数据表不存在热词,则数据表录入热词。

数据表不存在三个热词第一关键词、第八关键词、第四关键词。数据表录入这三个热词第一关键词、第八关键词、第四关键词。

步骤S170,如果数据表存在热词,则进入下一步骤。

数据表存在两个热词,并且录入另三个热词。数据表具有所有热词第一关键词、第八关键词、第二关键词、第三关键词、第四关键词。

步骤S180,根据数据表生成新词典文件。

数据表的数据与新词典文件的数据一致。新词典文件具有所有热词第一关键词、第八关键词、第二关键词、第三关键词、第四关键词。

步骤S190A,向搜索系统发送新词典文件覆盖原词典文件。

原词典文件缺少三个热词第一关键词、第八关键词、第四关键词。新词典文件覆盖原词典文件补充这三个热词第一关键词、第八关键词、第四关键词。

步骤S190B,命令搜索系统重新分词形成新的索引文档。

搜索系统根据新词典文件重建分词词库。分词词库经过更新具有所有热词第一关键词、第八关键词、第二关键词、第三关键词、第四关键词。

本实施例通过根据多个算法的公式计算当天所述关键词中的热词,使得所述数据表录入所述热词,并且根据所述数据表生成新词典文件,命令所述搜索系统重新分词形成新的索引文档,从而实现分词词库自动更新。分词词库自动更新与现有的手动更新相比更加简单、及时、全面。

图2是本发明分词词库更新方法另一实施例的流程示意图。

如图2所示,分词词库更新方法100中计算当天关键词中的热词包括步骤 S142A至S148A。

步骤S142A,根据第一算法的公式B(W)=(Atp+Tp×R)÷((Btp+Atp)+Tp) 计算关键词的第一热度,其中B(W)为关键词的第一热度,Atp为当天搜索关键词的频率,Btp为昨天搜索关键词的频率,Btp与Atp的和TpSum为关键词的频率总和,Tp为关键词的频率总和与关键词的个数之比,R为当天搜索关键词的频率与关键词的频率总和之比的平均值。

如表3所示,关键词包括第一关键词、第二关键词、第三关键词、第四关键词、第五关键词、第六关键词、第七关键词、第八关键词、第九关键词。根据计算,各关键词的第一热度为0.701、0.721、0.673、0.662、0.619、0.642、0.596、 0.698、0.632。

步骤S144A,根据第二算法的公式

根据计算,第一关键词、第二关键词、第三关键词、第四关键词、第五关键词、第六关键词、第七关键词、第八关键词、第九关键词的第二热度为﹣0.986、﹣0.634、﹣0.693、﹣0.608、﹣0.1、﹣0.168、﹣0.011、﹣0.906、﹣0.403。

步骤S146A,根据加权平均法的公式

第一权重和第二权重设为0.7、0.3。第一关键词、第二关键词、第三关键词、第四关键词、第五关键词、第六关键词、第七关键词、第八关键词、第九关键词的加权热度为0.787、0.695、0.679、0.646、0.463、0.5、0.421、0.76、0.563。

表3

步骤S148A,通过加权热度的排名取得热词。

根据关键词的加权热度的排名,第一关键词、第八关键词、第二关键词、第三关键词、第四关键词的加权热度领先。当天的热词为第一关键词、第八关键词、第二关键词、第三关键词、第四关键词。

本实施例根据第一算法的公式计算关键词的第一热度,第一算法消除了关键词个数过少对于热度的影响;同时根据第二算法的公式计算关键词的第二热度,第二算法修正了关键词的热度随着时间的变化;进而根据加权平均法的公式计算关键词的加权热度,加权平均法兼具第一算法和第二算法的优点;从而通过加权热度的排名取得热词,这样的热词非常准确地体现了关键词的热点。

图3是本发明分词词库更新方法另一实施例的流程示意图。

如图3所示,分词词库更新方法100中计算当天关键词中的热词包括步骤 S142B至S148B。

步骤S142B,根据第一算法的公式B(W)=(Atp+Tp×R)÷((Btp+Atp)+Tp) 计算关键词的第一热度,其中B(W)为关键词的第一热度,Atp为当天搜索关键词的频率,Btp为昨天搜索关键词的频率,Btp与Atp的和为关键词的频率总和, Tp为关键词的频率总和与关键词的个数之比,R为当天搜索关键词的频率与关键词的频率总和之比的平均值;

步骤S144B,根据第三算法的公式Score=(P-1)÷(T+2)

步骤S146B,根据加权平均法的公式H(W)=α×B(W)+γ×Score计算关键词的加权热度,其中H(W)为关键词的加权热度,α为第一权重,γ为第三权重;

步骤S148B,通过加权热度的排名取得热词。

本实施例根据第一算法的公式计算关键词的第一热度,第一算法消除了关键词个数过少对于热度的影响;同时根据第三算法的公式计算关键词的第三热度,第三算法基于用户搜索关键词的次数这一关键因素;进而根据加权平均法的公式计算关键词的加权热度,加权平均法兼具第一算法和第三算法的优点;从而通过加权热度的排名取得热词,这样的热词非常准确地体现了关键词的热点。

图4是本发明分词词库更新方法另一实施例的流程示意图。

如图4所示,分词词库更新方法100中计算当天关键词中的热词包括步骤 S142C至S148C。

步骤S142C,根据第二算法的公式

步骤S144C,根据第三算法的公式Score=(P-1)÷(T+2)

步骤S146C,根据加权平均法的公式

步骤S148C,通过加权热度的排名取得热词。

本实施例根据第二算法的公式计算关键词的第二热度,第二算法修正了关键词的热度随着时间的变化;同时根据第三算法的公式计算关键词的第三热度,第三算法基于用户搜索关键词的次数这一关键因素;进而根据加权平均法的公式计算关键词的加权热度,加权平均法兼具第二算法和第三算法的优点;从而通过加权热度的排名取得热词,这样的热词非常准确地体现了关键词的热点。

本发明分词词库更新方法100另一实施例中计算当天关键词中的热词包括:

根据第一算法的公式B(W)=(Atp+Tp×R)÷((Btp+Atp)+Tp)计算关键词的第一热度,其中B(W)为关键词的第一热度,Atp为当天搜索关键词的频率,Btp 为昨天搜索关键词的频率,Btp与Atp的和为关键词的频率总和,Tp为关键词的频率总和与关键词的个数之比,R为当天搜索关键词的频率与关键词的频率总和之比的平均值;

根据第二算法的公式

根据第三算法的公式Score=(P-1)÷(T+2)

根据加权平均法的公式

通过加权热度的排名取得热词。

本实施例根据第一算法的公式计算关键词的第一热度,第一算法消除了关键词个数过少对于热度的影响;同时根据第二算法的公式计算关键词的第二热度,第二算法修正了关键词的热度随着时间的变化;另外根据第三算法的公式计算关键词的第三热度,第三算法基于用户搜索关键词的次数这一关键因素;进而根据加权平均法的公式计算关键词的加权热度,加权平均法兼具第一算法、第二算法和第三算法的优点;从而通过加权热度的排名取得热词,这样的热词更加准确地体现了关键词的热点。

图5是本发明分词词库更新装置一个实施例的模块示意图。

如图5所示,分词词库更新装置200包括数据库模块210、前台模块220、后台模块230;

数据库模块210建立数据表;

前台模块220对于用户搜索的关键词进行记录;

后台模块230统计当天与昨天搜索关键词的频率;

根据多个算法的公式计算当天关键词中的热词;

查询数据表是否存在热词;

如果数据表不存在热词,则数据表录入热词;

如果数据表存在热词,则进入下一步骤;

根据数据表生成新词典文件;

向搜索系统发送新词典文件覆盖原词典文件;

命令搜索系统重新分词形成新的索引文档。

如图5所示,分词词库更新装置200的后台模块230根据第一算法的公式B(W)=(Atp+Tp×R)÷((Btp+Atp)+Tp)计算关键词的第一热度,其中B(W)为关键词的第一热度,Atp为当天搜索关键词的频率,Btp为昨天搜索关键词的频率, Btp与Atp的和为关键词的频率总和,Tp为关键词的频率总和与关键词的个数之比,R为当天搜索关键词的频率与关键词的频率总和之比的平均值;

根据第二算法的公式

根据加权平均法的公式

通过加权热度的排名取得热词。

如图5所示,分词词库更新装置200的后台模块230根据第一算法的公式 B(W)=(Atp+Tp×R)÷((Btp+Atp)+Tp)计算关键词的第一热度,其中B(W)为关键词的第一热度,Atp为当天搜索关键词的频率,Btp为昨天搜索关键词的频率, Btp与Atp的和为关键词的频率总和,Tp为关键词的频率总和与关键词的个数之比,R为当天搜索关键词的频率与关键词的频率总和之比的平均值;

根据第三算法的公式Score=(P-1)÷(T+2)

根据加权平均法的公式H(W)=α×B(W)+γ×Score计算关键词的加权热度,其中H(W)为关键词的加权热度,α为第一权重,γ为第三权重;

通过加权热度的排名取得热词。

如图5所示,分词词库更新装置200的后台模块230根据第二算法的公式

根据第三算法的公式Score=(P-1)÷(T+2)

根据加权平均法的公式

通过加权热度的排名取得热词。

图6是本发明分词词库更新设备一个实施例的模块示意图。

如图6所示,分词词库更新设备300包括分词词库更新装置310、搜索系统 320;

分词词库更新装置310包括数据库模块312、前台模块314、后台模块316;

搜索系统320包括分词词库322;

数据库模块312建立数据表;

前台模块314对于用户搜索的关键词进行记录;

后台模块316统计当天与昨天搜索关键词的频率;

根据多个算法的公式计算当天关键词中的热词;

查询数据表是否存在热词;

如果数据表不存在热词,则数据表录入热词;

如果数据表存在热词,则进入下一步骤;

根据数据表生成新词典文件;

向搜索系统320发送新词典文件覆盖原词典文件;

命令搜索系统320重新分词形成新的索引文档。

本发明还提供一种计算机可读存储介质,包括计算机程序,计算机程序在计算机上运行,计算机执行分词词库更新方法。分词词库更新方法的实施例如上所述,不再赘述。

总而言之,本发明公开了一种分词词库更新方法、装置、系统和计算机可读存储介质。分词词库更新方法包括:建立数据表;对于用户搜索的关键词进行记录;统计当天与昨天搜索关键词的频率;根据多个算法的公式计算当天关键词中的热词;查询数据表是否存在热词;如果数据表不存在热词,则数据表录入热词;如果数据表存在热词,则进入下一步骤;根据数据表生成新词典文件;向搜索系统发送新词典文件覆盖原词典文件;命令搜索系统重新分词形成新的索引文档。分词词库更新方法实现分词词库自动更新。分词词库自动更新与现有的手动更新相比更加简单、及时、全面。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

相关技术
  • 分词词库更新方法、装置、系统和计算机可读存储介质
  • 支持大量词库的分词方法、计算机可读存储介质及系统
技术分类

06120112901213