基于用户行为数据提高自动补全准确率的方法以及装置与流程

未命名 07-29 阅读:194 评论:0


1.本发明属于搜索引擎技术领域,特别涉及一种基于用户行为数据提高自动补全准确率的方法以及装置。


背景技术:

2.搜索引擎是一种能够在互联网上搜索并返回相关信息的工具,它背后的技术涉及到多个领域,包括自然语言处理、机器学习、信息检索等。搜索引擎的核心技术是信息检索。当用户输入关键词时,搜索引擎会在其索引中查找相关的网页,并将这些网页按照相关性排序后返回给用户,这个过程包括多个步骤,如爬取网页、建立索引、查询处理等。在搜索引擎的背后,还有很多其他的技术支持。例如,搜索引擎需要理解用户输入的语言,这就需要用到自然语言处理技术。总之,搜索引擎是一个综合性的信息检索工具,它不仅需要处理大量的数据,还需要涉及多个技术领域的支持,从而让用户能够快速、方便地获取到他们需要的信息。
3.自动补全是一种搜索引擎的功能,可以在用户输入关键词的过程中,通过自动提示的方式向用户提供可能的搜索词语或短语。这个功能可以提高搜索的效率,减少用户的输入量,同时也可以帮助用户更准确地表达他们想要搜索的内容。比如当用户在搜索引擎中输入“旅游”,自动补全功能可能会提示以下相关内容:旅游景点、旅游攻略、旅游团购、旅游线路、旅游指南、旅游费用、国内旅游、海外旅游和自由行旅游。
4.自动补全的实现中,涉及到的技术包括自然语言处理、机器学习、数据挖掘等。通过这些技术的支持,搜索引擎可以根据用户的输入内容进行分析,并通过算法的方式提供相关的建议。除了搜索引擎,自动补全的功能还被广泛应用于输入框、表单等场景中。例如,在搜索引擎之外,许多电商网站、社交平台等也都提供了自动补全的功能,以提高用户的输入效率和搜索准确性。
5.自动补全通常根据搜索关键词的前缀匹配相关的查询建议,然而,这种方法并不能很好地满足用户的意图。例如,当用户输入“苹果”时,自动补全通常会显示与苹果公司有关的查询建议,但是用户的搜索意图可能是关于苹果水果的信息。这种情况下,现有技术的自动补全准确率会受到很大的影响。 另外,现有技术在涉及多义词、模糊搜索等场景中,也存在准确率不高、查询建议不够精准的问题。这些问题会影响用户的搜索体验,降低搜索引擎的效率和准确性。因此,需要一种更加高效、精准的自动补全技术来解决这些问题。


技术实现要素:

6.针对现有技术中存在的问题,本发明提出一种基于用户行为数据提高自动补全准确率的方法以及装置,可以充分考虑用户的搜索意图,提供更加准确的查询建议,从而提高自动补全的准确率和用户体验。
7.为了实现上述目的,本发明采用以下的技术方案:本发明提供了一种基于用户行为数据提高自动补全准确率的方法,包含以下步
骤:通过数据埋点采集用户的历史行为数据;将用户行为数据和搜索内容数据分别构建基于fst树的自动补全词库;基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,并按照权重进行排序,权重最高的自动补全词与用户搜索意图最相关。
8.根据本发明基于用户行为数据提高自动补全准确率的方法,优选地,通过数据埋点采集用户的历史行为数据,具体包括:定义用户行为数据标准,将对自动补全准确率存在影响的行为数据按照统一的数据标准进行规范;通过数据埋点平台,将埋点规则引入到app、pc以及小程序端进行数据埋点,通过api或者实时通道,将用户在终端设备产生的行为数据进行实时记录;通过持久化存储服务,将用户的历史行为数据进行存储。
9.根据本发明基于用户行为数据提高自动补全准确率的方法,优选地,所述行为数据包括用户在应用内进行浏览、查询和点击事件产生的埋点数据。
10.根据本发明基于用户行为数据提高自动补全准确率的方法,优选地,构建基于fst树的自动补全词库,包含以下步骤:通过数据分析工具将数据进行划分,分为用户行为数据和搜索内容数据;通过数据清洗、数据标准化以及数据归一化操作对数据进行预处理;基于深度学习框架提取文本中的关键词,基于tf-idf算法计算关键词权重;将提取的关键词,基于fst树结构进行存储,以此来构成自动补全词库。
11.根据本发明基于用户行为数据提高自动补全准确率的方法,优选地,针对用户行为数据,根据用户的唯一标识,为用户构建自动补全词库字典表,字典表结构为《userid,fst》。
12.根据本发明基于用户行为数据提高自动补全准确率的方法,优选地,将用户行为数据构建自动补全词库,表示为自动补全词库a,将搜索内容数据构建自动补全词库,表示为自动补全词库b;所述自动补全词库a的结构为[《userida,fst》,《useridb,fst》,

],其中userida,useridb表示用户a和用户b;所述自动补全词库b仅包含搜索内容fst树[fst]。
[0013]
根据本发明基于用户行为数据提高自动补全准确率的方法,优选地,基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,包括:接收用户关键词输入,查询出用户的唯一标识;根据用户的唯一标识,在自动补全词库a中查询出对应的fst树,记为用户fst树;基于协同过滤算法,查询出相似用户,在自动补全词库a中查询出相似用户的fst树集合,记为相似用户fst树集合;根据关键词前缀在用户fst树、相似用户fst树集合以及搜索内容fst树中匹配查询出各自的最大权重自动补全词列表;
将上述得到的三个自动补全词列表合并,按照权重进行排序返回给终端。
[0014]
本发明还提供了一种基于用户行为数据提高自动补全准确率的装置,包括:历史行为数据采集模块,用于通过数据埋点采集用户的历史行为数据;自动补全词库构建模块,用于将用户行为数据和搜索内容数据分别构建基于fst树的自动补全词库;自动补全词筛出模块,用于基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,并按照权重进行排序,权重最高的自动补全词与用户搜索意图最相关。
[0015]
与现有技术相比,本发明具有以下优点:传统的自动补全排序是基于搜索内容本身的关键词匹配,一般是根据字典排序或者部分权重设置,并未考虑到用户自身行为数据和其他相似用户的行为数据,这样给出的查询建议是静态的,不能准确识别用户真实搜索意图。因此,本发明提出了一种基于用户行为数据提高自动补全准确率的方法,该方法首先通过收集用户在应用内的操作行为数据构建自动补全词库,接着用户输入关键词,根据关键词前缀筛选出与之相匹配的查询建议,并将筛选出的查询建议按照权重进行排序,最后将排序后的查询建议呈现给用户,权重最高的查询建议与用户搜索意图最相关。本发明通过收集用户行为数据,提供更加个性化、精准的查询建议,进一步提高自动补全的准确率和用户体验,满足用户个性化需求。本发明能够应用于各类搜索引擎,无论是基于云端还是基于客户端,具有广泛的应用场景和市场前景。
附图说明
[0016]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]
图1是本发明实施例的基于用户行为数据提高自动补全准确率的方法的流程示意图;图2是本发明实施例的采集历史行为数据的流程示意图;图3是本发明实施例的提取关键词的流程示意图;图4是本发明实施例的fst树的结构示例图;图5是本发明实施例的构建自动补全词库的流程示意图;图6是本发明实施例的筛选出与关键词前缀相匹配的自动补全词并按照权重排序的流程示意图;图7是本发明实施例的基于用户行为数据提高自动补全准确率的装置的结构框图。
具体实施方式
[0018]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]
如图1所示,本实施例的基于用户行为数据提高自动补全准确率的方法,包含以下步骤:步骤s1,通过数据埋点采集用户的历史行为数据,如图2所示,具体包括步骤s11-s13:步骤s11,定义用户行为数据标准,有些行为数据会对自动补全准确率存在影响,将存在影响的行为数据按照统一的数据标准进行规范。
[0020]
步骤s12,通过专业的数据埋点平台,例如友盟sdk,将定义好的埋点规则引入到app、pc以及小程序端进行数据埋点,通过api或者实时通道,将用户在终端设备产生的行为数据进行实时记录。
[0021]
这里行为数据包括用户在应用内进行浏览、查询和点击等事件产生的埋点数据,例如:曝光行为、点击行为、场景、tags、类目层级、失效时间和状态埋点等。
[0022]
步骤s13,通过持久化存储服务,比如mysql、elasticsearch,将用户的历史行为数据进行存储,方便后续进行数据分析。
[0023]
步骤s2,将搜索内容数据和步骤s1的用户行为数据分别构建基于fst树的自动补全词库,如图5所示,具体包括步骤s21-s26:步骤s21,通过数据分析工具将数据进行划分,分为用户行为数据和搜索内容数据,用户行为数据构成数据集a,搜索内容数据构成数据集b。
[0024]
步骤s22,通过数据清洗、数据标准化以及数据归一化等操作对数据进行预处理。例如将文本:“如何进行《公积金》提取?”预处理为“如何进行公积金提取?”,过滤掉文本中杂质信息。
[0025]
步骤s23,基于深度学习框架(比如wordtovector技术)提取文本中的关键词,基于tf-idf算法计算关键词权重,比如文本“如何进行公积金提取?”,提取的关键词为公积金,权重分数为0.98543,提取关键词的流程如图3所示。
[0026]
步骤s24,将提取的排序靠前的k个关键词基于fst树或者trie等结构进行存储,以此来构成自动补全词库。
[0027]
比如有如下《关键词,权重分数》列表:[[cat,5], [deep,10][do,15] [dog,2][dogs,8]] ,将上述列表构成fst树,结构如图4所示。基于fst树构建的自动补全词库在大数据量下,能够有效的节省内存。
[0028]
步骤s25,为了提高检索的效率,针对用户行为数据,根据用户的唯一标识,为用户构建自动补全词库字典表,字典表结构为《userid,fst》。
[0029]
步骤s26,将数据集a的用户行为数据构建自动补全词库,表示为自动补全词库a,将数据集b的搜索内容数据构建自动补全词库,表示为自动补全词库b。自动补全词库a的结构为[《userida,fst》,《useridb,fst》,

],其中userida,useridb表示用户a和用户b,自动补全词库b仅包含搜索内容fst树[fst]。
[0030]
步骤s3,基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,并按照权重进行排序,权重最高的自动补
全词与用户搜索意图最相关,如图6所示,具体包括步骤s31-s37。
[0031]
步骤s31,接收用户关键词输入,比如用户输入公积金,那么终端设备实时将查询数据发送到后端接收程序。
[0032]
步骤s32,查询出用户的唯一标识。
[0033]
步骤s33,根据用户的唯一标识,在自动补全词库a中查询出对应的fst树,记为用户fst树。
[0034]
步骤s34,基于协同过滤算法,查询出相似用户,在自动补全词库a中查询出相似用户的fst树集合,记为相似用户fst树集合。
[0035]
步骤s35,根据关键词前缀在用户fst树、相似用户fst树集合以及搜索内容fst树中匹配查询出各自的最大权重自动补全词列表。比如根据关键词公积金,分别返回的最大权重自动补全词列表为[公积金查询,1.0]、[公积金提取,0.1]、[公积金预约,0.5]。
[0036]
步骤s36,将步骤s35的三个自动补全词列表合并,比如合并为[[公积金查询,1.0]、[公积金提取,0.1]、[公积金预约,0.5]]。
[0037]
步骤s37,按照权重排序返回给终端,比如按照权重大小排序为[[公积金查询,1.0]、[公积金提取,0.5]、[公积金预约,0.1]],用户看到的自动补全词列表为[公积金查询、公积金提取、公积金预约],其中公积金查询与用户搜索意图最相关。
[0038]
与上述基于用户行为数据提高自动补全准确率的方法相应地,本实施例还提出一种基于用户行为数据提高自动补全准确率的装置,如图7所示,包括:历史行为数据采集模块,用于通过数据埋点采集用户的历史行为数据。
[0039]
自动补全词库构建模块,用于将用户行为数据和搜索内容数据分别构建基于fst树的自动补全词库。
[0040]
自动补全词筛出模块,用于基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,并按照权重进行排序,权重最高的自动补全词与用户搜索意图最相关。
[0041]
本发明通过收集用户行为数据,能够更加准确地分析用户的搜索意图,提供更加个性化、精准的查询建议,并通过排序展示给用户,从而提高自动补全的准确率和个性化程度,提升用户的搜索体验。同时,本发明在涉及多义词、模糊搜索等场景中也能取得更好的效果,从而提高搜索引擎的效率和准确性,具有实际应用价值和广阔的市场前景。
[0042]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
[0043]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0044]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0045]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0046]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0047]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种基于用户行为数据提高自动补全准确率的方法,其特征在于,包含以下步骤:通过数据埋点采集用户的历史行为数据;将用户行为数据和搜索内容数据分别构建基于fst树的自动补全词库;基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,并按照权重进行排序,权重最高的自动补全词与用户搜索意图最相关。2.根据权利要求1所述的基于用户行为数据提高自动补全准确率的方法,其特征在于,通过数据埋点采集用户的历史行为数据,具体包括:定义用户行为数据标准,将对自动补全准确率存在影响的行为数据按照统一的数据标准进行规范;通过数据埋点平台,将埋点规则引入到app、pc以及小程序端进行数据埋点,通过api或者实时通道,将用户在终端设备产生的行为数据进行实时记录;通过持久化存储服务,将用户的历史行为数据进行存储。3.根据权利要求2所述的基于用户行为数据提高自动补全准确率的方法,其特征在于,所述行为数据包括用户在应用内进行浏览、查询和点击事件产生的埋点数据。4.根据权利要求1所述的基于用户行为数据提高自动补全准确率的方法,其特征在于,构建基于fst树的自动补全词库,包含以下步骤:通过数据分析工具将数据进行划分,分为用户行为数据和搜索内容数据;通过数据清洗、数据标准化以及数据归一化操作对数据进行预处理;基于深度学习框架提取文本中的关键词,基于tf-idf算法计算关键词权重;将提取的关键词,基于fst树结构进行存储,以此来构成自动补全词库。5.根据权利要求4所述的基于用户行为数据提高自动补全准确率的方法,其特征在于,针对用户行为数据,根据用户的唯一标识,为用户构建自动补全词库字典表,字典表结构为<userid,fst>。6.根据权利要求5所述的基于用户行为数据提高自动补全准确率的方法,其特征在于,将用户行为数据构建自动补全词库,表示为自动补全词库a,将搜索内容数据构建自动补全词库,表示为自动补全词库b;所述自动补全词库a的结构为[<userida,fst>,<useridb,fst>,

],其中userida,useridb表示用户a和用户b;所述自动补全词库b仅包含搜索内容fst树[fst]。7.根据权利要求6所述的基于用户行为数据提高自动补全准确率的方法,其特征在于,基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,包括:接收用户关键词输入,查询出用户的唯一标识;根据用户的唯一标识,在自动补全词库a中查询出对应的fst树,记为用户fst树;基于协同过滤算法,查询出相似用户,在自动补全词库a中查询出相似用户的fst树集合,记为相似用户fst树集合;根据关键词前缀在用户fst树、相似用户fst树集合以及搜索内容fst树中匹配查询出
各自的最大权重自动补全词列表;将上述得到的三个自动补全词列表合并,按照权重进行排序返回给终端。8.一种基于用户行为数据提高自动补全准确率的装置,其特征在于,包括:历史行为数据采集模块,用于通过数据埋点采集用户的历史行为数据;自动补全词库构建模块,用于将用户行为数据和搜索内容数据分别构建基于fst树的自动补全词库;自动补全词筛出模块,用于基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,并按照权重进行排序,权重最高的自动补全词与用户搜索意图最相关。

技术总结
本发明属于搜索引擎技术领域,特别涉及一种基于用户行为数据提高自动补全准确率的方法以及装置,该方法包括首先通过数据埋点采集用户的历史行为数据;然后将用户行为数据和搜索内容数据分别构建基于FST树的自动补全词库;最后基于协同过滤算法,找到相似用户,在用户自动补全词库中查询出相似用户自动补全词库;根据关键词前缀在用户自身自动补全词库、相似用户自动补全词库以及搜索内容自动补全词库中匹配查询自动补全词,并按照权重进行排序,权重最高的自动补全词与用户搜索意图最相关。本发明可以充分考虑用户的搜索意图,提供更加准确的查询建议,从而提高自动补全的准确率和用户体验。率和用户体验。率和用户体验。


技术研发人员:曾伟 孟旭 郝亮 牛智鹏
受保护的技术使用者:数字郑州科技有限公司
技术研发日:2023.03.31
技术公布日:2023/7/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐