CN115114425A - 文本推送方法、装置、电子设备及计算机可读存储介质 - Google Patents

文本推送方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN115114425A
CN115114425A CN202110291635.1A CN202110291635A CN115114425A CN 115114425 A CN115114425 A CN 115114425A CN 202110291635 A CN202110291635 A CN 202110291635A CN 115114425 A CN115114425 A CN 115114425A
Authority
CN
China
Prior art keywords
text
category
pushed
vector
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110291635.1A
Other languages
English (en)
Inventor
石磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110291635.1A priority Critical patent/CN115114425A/zh
Publication of CN115114425A publication Critical patent/CN115114425A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种文本推送方法、装置、电子设备及计算机可读存储介质,涉及语言处理技术领域。该方法通过将入库的历史推送文本划分为多个类别,确定出与待推送文本匹配的目标类别,然后基于目标类别从特定用户信息集合中确定出目标用户信息集合,将待推送文本推送至目标用户信息集合对应的用户终端,其中,用户信息集合是基于历史推送文本对应的用户交互记录确定的。通过将文章本身的内容特征与历史推送文本对应的用户后验反馈数据相结合,确定出与待推送文本匹配的目标类别下的活跃用户,提升文本推送的准确性。

Description

文本推送方法、装置、电子设备及计算机可读存储介质
技术领域
本申请涉及语言处理技术领域,具体而言,本申请涉及一种文本推送方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网技术的发展,人们获取信息的途径发生了巨大改变,从纸质媒介逐渐发展至各式各样的移动终端,如今,通过电子屏就能了解全球新闻,获取用户感兴趣的知识。
随着信息获取途径愈加便捷,在巨大的信息量中如何筛选出与用户需求相适应的信息是各大信息平台一直在探究的问题。目前,通常是将文章的内容特征与用户特征进行匹配,达到针对性推送的目的。
然而,仅仅将待推送文章与用户特征进行简单匹配,难以实现精准推送,往往准确率不高。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是推送准确率不高的技术缺陷。
第一方面,提供了一种文本推送的方法,该方法包括:
从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本匹配的目标类别;
基于至少一个类别中每个类别对应的历史推送文本,确定至少一个类别中每个类别对应的用户交互记录;
基于至少一个类别中每个类别对应的用户交互记录,确定至少一个类别中每个类别对应的用户信息集合;
基于目标类别从特定用户信息集合中确定出目标用户信息集合;其中,特定用户信息集合包括至少一个类别中每个类别对应的用户信息集合;
将待推送文本推送至目标用户信息集合对应的用户终端。
在第一方面的可选实施例中,从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本相关联的目标类别之前,还包括:
获取与至少一个历史推送文本中每个历史推送文本的文本向量;
对至少一个历史推送文本的所有文本向量进行聚类,得到与至少一个历史推送文本对应的至少一个类别。
在第一方面的可选实施例中,获取与至少一个历史推送文本中每个历史推送文本的文本向量确定与至少一个历史推送文本的文本向量,包括:
针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出第一预定数量个第一关键词;
基于第一预定数量个第一关键词,生成历史推送文本对应的文本向量。
在第一方面的可选实施例中,针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出第一预定数量个第一关键词,包括:
针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出至少一个候选关键词;
基于至少一个候选关键词,构建历史推送文本对应的候选关键词图;
基于候选关键词图计算至少一个候选关键词中每个候选关键词的对应的权重;
根据每个候选关键词的对应的权重从至少一个候选关键词中确定出第一预定数量个第一关键词。
在第一方面的可选实施例中,从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本相关联的目标类别,包括:
基于至少一个类别中每个类别对应的历史推送文本的文本向量,确定至少一个类别中每个类别对应的类别向量;
从待推送文本中确定出第二二预定数量个第二二关键词;
基于第二二预定数量个第二二关键词,生成待推送文本的文本向量;
将待推送文本的文本向量和至少一个类别中每个类别对应的类别向量进行匹配,将与待推送文本的文本向量匹配的类别向量所对应的类别确定为与待推送文本匹配的目标类别。
在第一方面的可选实施例中,将待推送文本的文本向量和至少一个类别中每个类别对应的类别向量进行匹配,将与待推送文本的文本向量匹配的类别向量所对应的类别确定为与待推送文本匹配的目标类别,包括:
分别计算待推送文本的文本向量和至少一个类别中每个类别对应的类别向量之间的相似度;
基于相似度,从至少一个类别中每个类别对应的类别向量中,确定出与待推送文本的文本向量匹配的目标类别向量,将目标类别向量所对应的类别确定为与待推送文本匹配的目标类别。
在第一方面的可选实施例中,基于至少一个类别中每个类别对应的用户交互记录,确定每个类别对应的用户信息集合,包括:
基于至少一个类别中每个类别对应的用户交互记录,确定每个类别对应的活跃用户,活跃用户为每个类别对应的多个用户中,交互行为符合预设交互条件的用户;
基于每个类别对应的活跃用户的用户信息,生成每个类别对应的用户信息集合。
第二方面,提供了一种文本推送的装置,该装置包括:
确定模块,用于从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本相关联的目标类别;基于至少一个类别中每个类别对应的历史推送文本,确定每个类别对应的用户交互记录;基于至少一个类别中每个类别对应的用户交互记录,确定每个类别对应的用户信息集合;
选择模块,用于基于目标类别从特定用户信息集合中确定出目标用户信息集合;其中,特定用户信息集合包括至少一个类别中每个类别对应的用户信息集合;
推送模块,用于将待推送文本推送至目标用户信息集合对应的用户终端。
在第二方面的可选实施例中,还包括获取模块,具体用于:
获取与至少一个历史推送文本中每个历史推送文本的文本向量;
对至少一个历史推送文本的所有文本向量进行聚类,得到与至少一个历史推送文本对应的至少一个类别。
在第二方面的可选实施例中,获取模块在获取与至少一个历史推送文本中每个历史推送文本的文本向量确定与至少一个历史推送文本的文本向量时,具体用于:
针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出第一预定数量个第一关键词;
基于第一预定数量个第一关键词,生成历史推送文本对应的文本向量。
在第二方面的可选实施例中,确定模块在针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出第一预定数量个第一关键词时,具体用于:
针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出至少一个候选关键词;
基于至少一个候选关键词,构建历史推送文本对应的候选关键词图;
基于候选关键词图计算至少一个候选关键词中每个候选关键词的对应的权重;
根据每个候选关键词的对应的权重从至少一个候选关键词中确定出第一预定数量个第一关键词。
在第二方面的可选实施例中,确定模块在从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本匹配的目标类别时,具体用于:
基于至少一个类别中每个类别对应的历史推送文本的文本向量,确定至少一个类别中每个类别对应的类别向量;
从待推送文本中确定出第二预定数量个第二关键词;
基于第二预定数量个第二关键词,生成待推送文本的文本向量;
将待推送文本的文本向量和至少一个类别中每个类别对应的类别向量进行匹配,将与待推送文本的文本向量匹配的类别向量所对应的类别确定为与待推送文本匹配的目标类别。
在第二方面的可选实施例中,确定模块在将待推送文本的文本向量和至少一个类别中每个类别对应的类别向量进行匹配,将与待推送文本的文本向量匹配的类别向量所对应的类别确定为与待推送文本匹配的目标类别时,具体用于:
分别计算待推送文本的文本向量和至少一个类别中每个类别对应的类别向量之间的相似度;
基于相似度,从至少一个类别中每个类别对应的类别向量中,确定出与待推送文本的文本向量匹配的目标类别向量,将目标类别向量所对应的类别确定为与待推送文本匹配的目标类别。
在第二方面的可选实施例中,确定模块在基于至少一个类别中每个类别对应的用户交互记录,确定至少一个类别中每个类别对应的用户信息集合时,具体用于:
基于至少一个类别中每个类别对应的用户交互记录,确定每个类别对应的活跃用户,活跃用户为每个类别对应的多个用户中,交互行为符合预设交互条件的用户;
基于每个类别对应的活跃用户的用户信息,生成每个类别对应的用户信息集合。
第三方面,提供了一种电子设备,该电子设备包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例的文本推送方法。
第四方面,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述任一实施例的文本推送方法。
上述的文本推送方法,通过将入库的历史推送文本聚类生成多个类别,确定出与待推送文本匹配的目标类别,然后基于目标类别从用户信息集合中确定出目标用户信息集合,将待推送文本推送至目标用户信息集合对应的用户,其中,用户信息集合是基于历史推送文本对应的用户交互记录确定的。通过将文章本身的内容特征与历史推送文本对应的用户后验反馈数据相结合,确定待推送文本对应类别下的活跃用户,达到提升文本推送准确性的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种文本推送方法的流程示意图;
图2为本申请实施例提供的一种文本推送方法的流程示意图;
图3为本申请实施例提供的一种文本推送方法中的提取第一关键词示意图;
图4为本申请实施例提供的一种文本推送方法中的获取文本向量的流程示意图;
图5为本申请实施例提供的一种文本推送方法中的获取表示向量的流程示意图;
图6为本申请实施例提供的一种文本推送方法中的确定目标类别的流程示意图;
图7为本申请实施例提供的一种文本推送方法的流程示意图;
图8为本申请实施例提供的一种文本推送方法的流程示意图;
图9为本申请实施例提供的一种文本推送装置的结构示意图;
图10为本申请实施例提供的一种文本推送的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
信息技术(Information Technology,IT)是主要用于管理和处理信息所采用的各种技术的总称,计算机和互联网普及以来,人们日益普遍地使用计算机来生产、处理、交换和传播各种形式的信息。
随着获取信息的途径愈加便捷,人们获取的信息量也成倍增长,如何从海量的信息中,使计算机更加智能化地给人们推送信息是各大信息平台一直探究的问题。
目前,在考虑如何对用户进行文章推送时,通常是对待推送文章进行内容特征提取,对用户信息进行用户特征提取,然后将内容特征和用户特征进行匹配,将待推送文章推送给匹配度高的用户。虽然利用了待推送文章和用户群体的自身特征,但是仅仅将待推送文章与用户特征进行简单匹配,难以满足用户复杂的信息获取需求,使推送准确率不高,用户满意度下降。
本申请提供的文本推送方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供的文本推送的方法,该方法可以应用于服务器,也可以应用于终端。
本技术领域技术人员可以理解,这里所使用的“终端”可以是手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、MID(Mobile Internet Device,移动互联网设备)等;“服务器”可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请实施例中提供了一种文本推送的方法,如图1所示,该方法包括:
步骤S101,从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本相关联的目标类别。
在本申请实施例中,历史推送文本可以指历史入库的文本,具体的,可以是已经被推送的文本,也可以是还未进行推送但直接入库的文本,库中的文本可以通过不同的途径被用户获取。
待推送文本可以指将要推送给用户的文本。具体的,可以将实时上传的还未入库的文本设置为待推送文本,也可以从库中历史推送文本中指定出待推送文本,待推送文本还可以是基于历史推送数据确定出的热门推送文本,历史推送数据可以是该文本推送后得到的用户互动记录,可以将用户交互记录达到预设热门条件的历史推送文本作为热门推送文本,将热门推送文本再次设置为待推送文本,进行多次推送。其中,预设热门条件可以是指与历史推送文本相关联的用户交互记录总次数达到次数阈值,例如可以将用户交互记录总次数达到一千次的历史推送文本设为热门推送文本,并且可以将热门推送文本再次设置为待推送文本,进行多次推送。
其中,库可以是预设的,也可以是由接收平台或用户上传的文本构成,库内的文本都可以作为待推送文本被推送。
在本申请实施例中,可以将历史推送文本分为至少一个类别,分类依据可以是文本标题,也可以是文本内容,还可以是文本涉及的领域等,在本申请中不作限制;也可以通过聚类来讲历史推送文本分为至少一个类别,用聚类生成类别时,可以不关心每一类别具体的含义,只基于历史推送文本之间的相似度进行聚类,所以通常不需要使用训练数据进行学习,提高了类别生成的效率。
具体的,获取历史推送文本对应的至少一个类别时,可以利用训练好的具有分类功能的神经网络模型,也可以通过聚类(Cluster)来获取至少一个类别。
在本申请实施例中,将历史推送文本分成至少一个类别后,可以从这些类别中确定出与待推送文本相关联的目标类别。其中,相关联可以是指待推送文本与至少一个类别有对应关系,具体的,对应关系可以是指主题相同、领域相同、关键词特征相同等。
待推送文本对应的目标类别可以是一个,也可以是多个。具体的,当待推送文本对应的目标类别为多个时,可以提高推送操作的准确度和用户覆盖数量,实现更加精准地给更多用户提供文本推送服务。
步骤S102,基于至少一个类别中每个类别对应的历史推送文本,确定至少一个类别中每个类别对应的用户交互记录;基于至少一个类别中每个类别对应的用户交互记录,确定至少一个类别中每个类别对应的用户信息集合;
在本申请实施例中,用户信息集合是指包含多个用户相关信息的集合,相关信息可以指用户的身份标识号、IP地址(Internet Protocol Address,互联网协议地址)互动记录等,用于确定待推送文本对应的目标用户以及将待推送文本推送至目标用户。
用户信息集合可以基于至少一个历史推送文本对应的用户交互记录确定,每个历史推送文本都可以获取对应的用户交互记录,用户交互记录可以是任意用户与历史推送文本的交互数据。其中,交互数据可以包括用户对该历史推送文本点赞、评论、收藏和转发等操作的数据。
历史推送文本可以对应于多个类别,即每个类别有对应的至少一个历史推送文本,其中,每个类别对应的历史推送文本可以有重合的部分,也可以没有重合的部分。当每个类别对应于不同的多个历史推送文本时,可以根据每个类别中历史推送文本对应的用户交互记录,确定每个类别对应的活跃用户,将活跃用户的用户相关信息设置为该类别对应的用户信息集合。
步骤S103,基于目标类别从特定用户信息集合中确定出目标用户信息集合;其中,特定用户信息集合包括至少一个类别中每个类别对应的用户信息集合;
在本申请实施例中,可以将历史推送文本分成多个类别,每个类别有对应的用户信息集合,而特定用户信息集合可以包括每个类别对应的用户信息集合。
可以通过先从至少一个类别中确定出与待推送文本相关联的目标类别,可以将目标类别对应的用户信息集合设置为目标用户信息集合。
步骤S104,将待推送文本推送至目标用户信息集合对应的用户终端。
在本申请实施例中,目标用户信息集合可以包含目标用户的相关信息,便于系统将待推送文本推送至目标用户的用户终端,目标用户可以基于交互记录从海量用户群体中筛选而出,以实现对粘性较大的用户优先进行文本推送。
在本申请实施例中的文本推送方法,通过将入库的历史推送文本根据多个类别进行分类,确定出与待推送文本匹配的目标类别,然后基于目标类别从用户信息集合中确定出目标用户信息集合,将待推送文本推送至目标用户信息集合对应的用户,其中,用户信息集合是基于历史推送文本对应的用户交互记录确定的。通过将文章本身的内容特征与历史推送文本对应的用户后验反馈数据相结合,确定待推送文本对应类别下的活跃用户,达到提升文本推送准确性的目的。
在本申请实施例中,如图2所示,从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本相关联的目标类别之前,还可以包括如下步骤:
步骤S201,获取与至少一个历史推送文本中每个历史推送文本对应的文本向量。
在本申请实施例中,可以将每个历史推送文本转化为对应的文本向量,转化方法可以是如下两种:
(1)非深度学习的手工特征工程方法,对文本进行特征提取,然后根据人工设置一些转换规则,将文本转换为向量;
(2)基于深度学习的文本数据表征方法,即专门训练一个深度学习模型,对应的输入是自然语言文本,而输出是一个表示该文本的向量。
步骤S202,对至少一个历史推送文本的所有文本向量进行聚类,得到与至少一个历史推送文本对应的至少一个类别。
在本申请实施例中,可以基于历史推送文本对应的文本向量聚类生成至少一个类别。
文本聚类(Text clustering)可以依据聚类假设:同类的文档相似度较大,而不同类的文档相似度较小,是一种无监督的机器学习方法,聚类由于不需要训练过程,以及不需要预先对文档手工标注类别,因此具有一定的灵活性和较高的自动化处理能力。
其中,聚类可以理解为按照预设的特定标准(如距离准则)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大,即聚类后同一类的数据尽可能聚集到一起,不同数据尽量分离。
在本申请实施例中,当历史推送文本的数量较多时,可以得到对应的多个文本向量,通过对多个文本向量进行聚类,生成至少一个类别,可以理解为将历史推送文本根据它们之间的相似度分成多个组。
不同的聚类算法有不同的优劣和不同的适用条件,大致可以分为以下几类:
(1)基于层次的方法(Hierarchical methods),层次聚类主要有两种类型:合并的层次聚类和分裂的层次聚类。前者是一种自底向上的层次聚类算法,从最底层开始,每一次通过合并最相似的聚类来形成上一层次中的聚类,整个当全部数据点都合并到一个聚类的时候停止或者达到某个终止条件而结束,大部分层次聚类都是采用这种方法处理。后者是采用自顶向下的方法,从一个包含全部数据点的聚类开始,然后把根节点分裂为一些子聚类,每个子聚类再递归地继续往下分裂,直到出现只包含一个数据点的单节点聚类出现,即每个聚类中仅包含一个数据点。
(2)基于划分的方法(Partition-based methods),其原理简单来说就是,假设有一堆散点需要聚类,想要的聚类效果为“类内的点都足够近,类间的点都足够远”,则可以先确定这堆散点最后聚成几类,然后挑选几个点作为初始中心点,再然后依据预先定好的启发式算法(heuristic algorithms)给数据点做迭代重置(iterative relocation),直到最后到达“类内的点都足够近,类间的点都足够远”的目标效果。也正是根据所谓的“启发式算法”,形成了k均值聚类算法(k-means clustering algorithm)及各类在k-means算法(即k均值聚类算法)基础上进行优化所得的其他变体算法。
(3)基于密度的方法(Density-based methods),k均值聚类算法解决不了不规则形状的聚类时,则可以用基于密度的方法来系统解决这个问题。该方法同时也对噪声数据的处理比较好。其原理可以简单理解为画圈,其中,要预先定义两个参数,一个是圈的最大半径,一个是一个圈里最少应容纳几个点。当邻近区域的密度(对象或数据点的数目)超过某个阈值时,就继续聚类,最后在一个圈里的,就是一个类。具体的,DBSCAN(Density-BasedSpatial Clustering of Applications with Noise)算法是此类算法中的典型。
(4)基于网络的方法(Grid-based methods),这类方法的原理就是将数据空间划分为网格单元,将数据对象集映射到网格单元中,并计算每个单元的密度。根据预设的阈值判断每个网格单元是否为高密度单元,由邻近的稠密单元组形成“类”,通常基于密度的算法使用。
(5)基于模型的方法(model-based methods),基于模型的方法给每一个聚类假定一个模型,然后确定一个能很好地满足这个模型的数据集。这一类方法主要是指基于概率模型的方法和基于神经网络模型的方法,以基于概率模型的方法居多。这里的概率模型主要指概率生成模型(generative Model),同一“类”的数据属于同一种概率分布,即假设数据是根据潜在的概率分布生成的,常用的模型有高斯混合模型(GMM,Gaussian MixtureModels)。另一方面,基于神经网络模型的方法有SOM(Self Organized Maps),一个非监督学习的神经网络。
在本申请实施例中,可以选择k-means算法(即k均值聚类算法)来对历史推送文本对应的文本向量进行聚类,原理可以理解为根据文本向量之间的距离大小,将文本向量划分为预设数量的簇(类别),让簇内的点尽量紧密地连在一起,而让簇间的距离尽量地大。
在一个示例中,簇(类别)可以设为500,通过k-means算法将大量的历史推送文本对应的文本向量聚类成500个簇,即根据文本向量与历史推送文本的对应关系,将历史推送文本划分成了500个簇。
在本申请实施例中,确定与至少一个历史推送文本对应的文本向量,可以包括如下步骤:
(1)针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出第一预定数量个第一关键词。
在本申请实施例中,可以对每一个历史推送文本都进行关键词提取,获取每个历史推送文本对应的第一关键词;可以对历史推送文本进行筛选,只对满足预设条件的历史推送文本进行关键词提取,例如,只对含有用户互动记录的历史推送文本进行提取操作,在此基础上还可以进一步限制用户互动记录要在一定时间范围内,通过先对历史推送文本进行筛选,再提取关键词,可以提高关键词提取效率。
其中,每个历史推送文本进行关键词提取时,可以分别提取第一预定数量个的第一关键词,也可以对于不同互动级别的历史推送文本提取不同个数的第一关键词。具体的,互动级别可以由历史推送文本对应的用户互动记录确定,当用户互动记录较多,则互动级别较高,可以对该历史推送文本提取更多个数的第一关键词,可以更加充分地体现出该历史推送文本的特征,以便于进一步根据文本特征来确定用户群体的喜好,更加准确地进行后续推送。
在本申请实施例中,可以是通过机器学习的两种方法提取关键词,包括监督学习和无监督学习。其中,监督学习提取方法是通过分类的方式进行,通过打标签,训练分类器,从而实现关键字提取,一般需要大批量的标注数据,人工成本较高。而无监督学习的方法无须标注数据,无监督关键词提取算法可以包括:
TF-IDF算法(term frequency-inverse document frequency,词频逆文本频率指数),用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度,字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降;
TextRank(文本排序)算法,一种用于文本的基于图的排序算法,通过把文本分割成若干组成单元(句子),获取多个候选关键词,基于候选关键词构建节点连接图,用节点之间的相似度作为边的权重,通过循环迭代计算候选关键词的权重,最后抽取排名高的候选关键词组合成文本的关键词;
主题模型算法,例如LDA(Latent Dirichlet Allocation,潜在狄利克雷分配)文档主题生成模型,一种非监督机器学习技术,采用词袋(bag of words)的方法,将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。
在本申请实施例中,针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出第一预定数量个第一关键词,可以包括如下步骤:
针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出至少一个候选关键词;
基于至少一个候选关键词,构建历史推送文本对应的候选关键词图;
基于候选关键词图计算至少一个候选关键词中每个候选关键词的对应的权重;
根据每个候选关键词的对应的权重从至少一个候选关键词中确定出第一预定数量个第一关键词。
具体的,可以通过TextRank算法从历史推送文本中提取出第一预定数量个第一关键词,其中,第一预定数量可以根据需求制定,也可以根据多次实验结果确定,第一预定数量代表了在TextRank算法中选取权重排名前预设位数的词作为第一关键词。在一个示例中,可以通过TextRank算法从历史推送文本中提取出5个的第一关键词,即选取权重排名前五位的词作为第一关键词。
通过TextRank算法进行关键词提取的流程如下:
①对文本按照完整句子进行分割;
②对于分割后得到的每个句子进行分词和词性标注处理,并对每个句子包含的词进行过滤,得到多个候选关键词;
③基于多个候选关键词,确定节点集,节点集由多个候选关键词组成,然后采用共现关系(co-occurrence)构造任意两个节点之间的边,两个节点之间的边仅当它们对应的词汇在长度为K的窗口中共现,K表示窗口大小,即最多共现K个单词;
④迭代传播各个节点的权重,直至收敛;
⑤对各个节点的权重进行倒序排序,即将权重由大到小进行排序,选出最重要的预设数量的关键词。
具体的,确定第一关键词的过程,可以如图3所示,基于TextRank算法得到了某篇历史推送文本中提取出的多个词以及对应的权重,可以选择权重由大到小排序后,排名在前五名的词作为该历史推送文本的第一关键词,即关键词提取结果为“餐饮、地域、价格、菜单、火锅”。
在一个示例中,可以通过“结巴”(jieba)中文分词组件自带的关键词提取技术来实现从历史推送文本中提取出预设个数的第一关键词。其中,jieba分词是一个由python实现的中文分词组件,支持简、繁体中文,还可以加入自定义词典以提高分词的准确率。
(2)基于第一预定数量个第一关键词,生成历史推送文本对应的文本向量。
在本申请实施例中,可以对历史推送文本对应的至少一个第一关键词进行向量化,使每个第一关键词得到一个对应的词向量,若词向量有多个,则可以进一步对词向量进行融合,融合可以指将多个词向量的特征结合,例如将多个词向量依次累加后进行归一化,生成历史推送文本对应的文本向量,用于表示该历史推送文本的特征。
在本申请实施例中,可以通过word2vec来实现将历史推送文本转化为文本向量。其中,Word2vec是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需要猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。可以基于词与向量的对应关系,确定出历史推送文本对应的文本向量。
在本申请实施例中,如图4所示,可以先用预设文本库中的大量历史推送文本对word2vec模型进行预训练,得到词向量集合,该词向量集合包含了词与词向量的映射关系,可以用于将词转化为对应的词向量。可以从文本库中历史推送文本中提取第一关键词,提取操作对象可以是库中的每一个历史推送文本,也可是只对满足预设条件的历史推送文本进行关键词处理。然后可以基于第一关键词在word2vec词向量集合中找到对应的词向量,若有多个第一关键词,则可以得到多个词向量,可以将词向量依次累加,再进行归一化处理,得到该历史推送文本对应的文本向量。例如,如图3所示,假设有历史推送文本X1、X2和X3,从他们中分别提取出关键词“n1~n5”、“m1~m5”和“p1~p5”,将“n1~n5”、“m1~m5”和“p1~p5”分别进行向量累加和归一化后,得到向量Y1、Y2和Y3,分别为历史推送文本X1、X2和X3对应的文本向量。
在一个示例中,可以先用文本库中的一百万篇历史推送文本对word2vec模型进行预训练,得到一份两百万容量的word2vec词向量集合,词向量的维度可以设置为100维。可以将单独某篇历史推送文本进行关键词提取,得到第一关键词后,基于词向量集合将第一关键词转化为对应的词向量,每个词向量也为100维,再将得到的词向量依次累加并归一化,形成一个100维的文本向量,表示该历史推送文本的特征。
在本申请实施例中,从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本匹配的目标类别,可以包括如下步骤:
(1)基于至少一个类别中每个类别对应的历史推送文本的文本向量,确定至少一个类别中每个类别对应的类别向量
在本申请实施例中,可以将历史推送文本分成至少一个类别,即可以确定出每个类别下对应的历史推送文本。然后可以获取每个历史推送文本对应的第一关键词,也可以对历史推送文本进行筛选,只对满足预设条件的历史推送文本进行关键词提取。对应的,基于关键词的提取条件,可以获取每个历史推送文本对应的文本向量,也可以只获取满足预设条件的历史推送文本对应的文本向量,例如,只获取含有用户互动记录的历史推送文本对应的文本向量,在此基础上还可以进一步限制用户互动记录要在一定时间范围内,筛选条件可以根据平台需求来设置。
每个类别可以对应于多个历史推送文本,每个历史推送文本可以有对应的文本向量,则可以确定出每个类别对应的多个文本向量,可以基于每个类别对应的文本向量计算出每个类别对应的类别向量。具体的,可以将每个类别对应的多个文本向量累加后再归一化,得到类别向量。
(2)从待推送文本中确定出第二预定数量个第二关键词,基于第二预定数量个第二关键词生成待推送文本对应的文本向量。
在本申请实施例中,从待推送文本中确定出第二预定数量个第二关键词的方法可以是通过机器学习,其中,机器学习包括监督学习和无监督学习。监督学习提取方法是通过分类的方式进行,通过打标签,训练分类器,从而实现关键字提取,一般需要大批量的标注数据,人工成本较高,而无监督学习的方法无须标注数据。具体的,无监督关键词提取算法可以包括:TF-IDF算法、TextRank算法以及主题模型算法。其中,主题模型算法可以包括LDA文档主题生成模型。
在本申请实施例中,从历史推送文本中提取第一关键词以及从待推送文本中提取第二关键词时,可以分别选择不同的关键词提取算法。例如,用TextRank算法从历史推送文本中提取第一关键词;用LDA模型从待推送文本中提取第二关键词。
可以将第二关键词进行向量化,得到对应的词向量,然后将词向量融合后再归一化,得到待推送文本对应的表示向量。
在本申请实施例中,可以基于word2vec模型将第二关键词映射成对应的词向量,再基于词向量生成待推送文本对应的表示向量。具体的,当有多个第二关键词时,可以得到多个对应的词向量,将多个词向量依次累加后再进行归一化,得到待推送文本对应的表示向量。
在一个示例中,获取待推送文本对应的表示向量流程可以如图5所示,可以先基于TextRank算法从待推送文本中提取5个第二关键词,得到的第二关键词为“kw1”、“kw2”、“kw3”、“kw4”和“kw5”,可以利用word2vec模型将第二关键词映射成对应的词向量,得到词向量“Y1”、“Y2”、“Y3”、“Y4”和“Y5”,将“Y1”、“Y2”、“Y3”、“Y4”和“Y5”依次累加后进行归一化,得到表示向量,用于表示待推送文本的特征。
(3)基于表示向量和类别向量从至少一个类别中确定出与待推送文本相关联的目标类别。
在本申请实施例中,文本向量可以作为表示待推送文本特征的表示向量,而类别向量可以用于表示类别的特征,可以通过将表示向量和类别向量进行对比,来衡量待推送文本与哪个类别关联度更高,可以将关联度最高的类别确定为与待推送文本相关联的目标类别。
目标类别的数目还可以为多个,例如将关联性最高的前两个类别设置为目标类别,其具体数目可以根据需求来确定。
其中,确定与待推送文本相关联的目标类别,可以用于确定出待推送文本相关联的用户群体,提高推送的准确率。
在一个示例中,如图6所示,可以获取待推送文本对应的表示向量,分别获取500个类别对应的类别向量。然后分别计算表示向量和每个类别向量之间的相似度,确定出相似度最高的两个类别向量,假设相似度最高的两个类别向量为“类别向量1”和“类别向量2”,与之对应的是“类别1”和“类别2”,即可以将“类别1”和“类别2”设置为目标类别。
在本申请实施例中,基于目标类别从用户信息集合中确定出目标用户信息集合之前,还可以包括如下步骤:
(1)基于每个类别对应的历史推送文本确定每个类别对应的用户交互记录。
在本申请实施例中,可以确定出每个类别对应的历史推送文本,分别统计每个类别下历史推送文本对应的用户交互数据,得到该类别的用户交互记录,用户交互记录可以包括所有与该类别下的历史推送文本进行过交互的用户的用户信息和用户交互数据。
其中,用户交互数据可以包括用户与历史推送文本之间的显性交互,例如点赞、评论、收藏和转发等操作,也可以包括用户与历史推送文本之间的隐性交互,例如页面停留时间、阅读次数等。
(2)从用户交互记录中提取用户信息集合。
在本申请实施例中,用户交互记录可以包括所有与该类别下的历史推送文本进行过交互的用户的用户信息和用户交互数据,可以从用户交互记录中确定出与该类别中的历史推送文本交互操作较多的活跃用户,活跃用户可能对该类别的文本感兴趣,可以将待推送文本推送至活跃用户,提高推送的准确性,增加用户与待推送文本进行交互的几率。
其中,可以基于活跃用户的用户信息和用户交互数据生成用户信息集合,便于后续给活跃用户推送待推送文本。
在本申请实施例中,用户交互记录中提取用户信息集合,可以包括:基于用户交互记录确定每一类别对应的多个用户中交互行为符合预设交互条件的活跃用户;基于活跃用户对应的用户信息生成用户信息集合。
在本申请实施例中,可以从用户交互记录中确定出与该类别中的历史推送文本交互操作较多的活跃用户,具体的,可以设置预设交互条件来对每一类别对应的多个用户进行筛选。
其中,预设交互条件可以是指用户对应的显性交互次数达到次数阈值,例如将点赞、转发、评论的总次数达到五十次的用户设为活跃用户。预设交互条件还可以是指用户的交互次数排名满足预设名次,将每个用户对应的交互次数由多至少进行排名后,选取排名中小于预设名次的用户作为活跃用户,例如,可以选择交互次数排名中,位于前五十位的用户作为活跃用户;预设交互条件还可以对隐性交互做出限制,例如基于用户对应于该类别的阅读时间、在线时间等确定出活跃用户,也可以结合多种交互条件进行设置,例如可以将预设交互条件设置为既要满足点赞或者评论次数达到次数阈值,同时还要阅读时间达到时间阈值,以此精准地找出类别对应的活跃用户。
可以基于活跃用户的用户信息和用户交互数据生成用户信息集合,便于后续给活跃用户推送待推送文本。
具体的,可以基于用户信息集合中的用户交互数据对活跃用户再次进行划分,例如划分为第一推送等级、第二推送等级和第三推送等级。推送等级代表了推送优先级,可以根据不同需求分次对不同推送优先级的用户进行文本推送。例如,可以对每个类别对应的活跃用户进行交互次数统计,交互行为可以包括点赞、评论、转发和收藏等,可以将交互次数较多的用户的推送等级设置为第一推送等级,交互次数中等的用户的推送等级设置为第二推送等级,交互次数较少的用户的推送等级设置为第三推送等级。具体推送流程中,可以先将待推送文本先推送至活跃用户中为第一推送等级的用户,获取用户的反馈信息,若第一推送等级的用户对该待推送文本进行的交互次数较少,可以根据需求减少推送力度,甚至可以停止推送,达到对待推送文本进行筛选的效果,提高文本推送效率和准确性。
在一个实施例中,可以统计每个类别对应的活跃用户对应的交互次数,并将交互次数从多至少排序,交互行为可以包括点赞、评论、转发和收藏等。可以将该类别对应的所有活跃用户中交互次数排名位于前100名的用户的推送等级设置为第一推送等级;将该类别对应的所有活跃用户中交互次数排名位于第101名至第300名的用户的推送等级设置为第二推送等级;将该类别对应的所有活跃用户中交互次数排名位于第301名及301名以后的用户的推送等级设置为第三推送等级。具体推送流程中,可以先将待推送文本先推送至活跃用户中推送等级为第一推送等级的用户,获取用户的针对该推送文本的反馈信息,若第一推送等级的用户对该待推送文本进行的交互次数少于预设次数阈值,例如可以将预设次数阈值设置为第一推送等级的用户数乘以百分之六十,则减小推送力度,将该待推送文本推送至第二推送等级的用户后不再推送给第三推送等级的用户。还可以设置最低次数阈值,例如将最低次数阈值设置为第一推送等级的用户数乘以百分之二十,若第一推送等级的用户对该待推送文本进行的交互次数少于最低次数阈值,则停止针对该待推送文本的推送操作,以节省资源。
在本申请实施例中,基于表示向量和类别向量从至少一个类别中确定出与待推送文本相关联的目标类别,可以包括如下步骤:分别计算表示向量和至少一个类别向量之间的相似度,基于相似度从至少一个类别中确定出目标类别。
其中,可以分别计算待推送文本的表示向量和每个类别的类别向量之间的相似度。相似度可以是指余弦相似度,原理为两个向量的夹角越接近于0,其余弦值越接近于1,表明两个向量越相似,进而表明该待推送文本与哪个类别关联性更高。
具体的,可以设置相似度阈值,将相似度大于相似度阈值的类别设置为目标类别;也可以基于相似度对至少一个类别进行排序,从多个类别中选取与待推送文本相似度最高的类别或者相似度较高的多个类别作为目标类别,目标类别的个数可以基于实际应用场合确定,目标类别对应的活跃用户即是该篇待推送文本的将要进行推送的对象。
在一个示例中,如图7所示,分别计算待推送文本对应的表示向量与每个类别向量之间的余弦相似度,得到相似度最高的“类别向量1”和“类别向量2”,进一步确定出“类别1”和“类别2”。可以基于每个类别对应的用户交互记录中确定出与该类别中的历史推送文本交互操作较多的活跃用户,得到“类别1”对应的“活跃用户群A”,“类别2”对应的“活跃用户群B”,可以将待推送文本推送至“活跃用户群A”和“活跃用户群B”中的用户,提高推送的准确性,增加用户与待推送文本进行交互的几率。
在本申请实施例中,在确定目标类别的流程中,可以对历史推送文本进行倒排索引。倒排索引(Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射,可以理解为把文件ID对应到关键词的映射转换为关键词到文件ID的映射。
为了更清楚阐释本申请的文本推送方法,以下将结合具体示例对文本推送方法进行进一步说明。
在一个实施例中,本申请提供文本推送方法,如图8,包括如下步骤:
步骤S801,从至少一个历史推送文本中确定出至少一个第一关键词,例如,可以确定出每个历史推送文本对应的5个第一关键词;
步骤S802,将至少一个第一关键词进行向量化后再融合,生成历史推送文本对应的文本向量,每个历史推送文本都可以获取对应的文本向量;
步骤S803,对文本向量进行聚类得到与历史推送文本对应的至少一个类别,例如,可以将历史推送文本划分为500个类别;
步骤S804,基于文本向量分别计算出每个类别对应的类别向量;
步骤S805,基于每个类别对应的历史推送文本确定每个类别对应的用户交互记录;
步骤S806,基于用户交互记录确定每一类别对应的多个用户中,交互行为符合预设交互条件的活跃用户;其中,预设交互条件可以是指用户对应的交互次数达到次数阈值,例如将点赞、转发、评论的总次数达到五十次的用户设为活跃用户;
步骤S807,从待推送文本中确定出预设个数的第二关键词,基于第二关键词生成待推送文本对应的表示向量,例如,可以使用jieba分词工具中自带的关键词提取功能来完成提取操作;
步骤S808,分别计算表示向量和至少一个类别向量之间的相似度,基于相似度从至少一个类别中确定出目标类别;
步骤S809,将待推送文本推送至目标类别对应的活跃用户的用户终端。
在一个示例中,预先存在一个文本库,每日有海量的文章入库,可以设置库内的文章为历史推送文本。
可以将文本库中的一百万篇历史推送文本作为训练样本,预训练好一个word2vec词向量集合,其中,词向量的维度可以设置为100维。
对每篇历史推送文本进行关键词提取,得到五个第一关键词,将五个第一关键词在word2vec词向量集合中寻找对应的词向量,将五个第一关键词转化为五个词向量,每个词向量的维度为100维,将每个词向量依次累加后进行归一化,达到融合特征的目的,得到的向量为该篇历史推送文本的文本向量。
基于文本库内每篇历史推送文本对应的文本向量,利用K-means聚类算法聚类生成500个类别,例如:[cluster_class1,cluster_class2,…,cluster_class500]。可以对聚类对象进行限制,例如只对近一年内入库的历史推送文本进行聚类。
可以确定出每个类别对应的历史推送文本,每个历史推送文本有对应的文本向量,将每个类别对应的多个文本向量进行累加和归一化,得到类别向量,用来概括该类别的特征。
同时,对每个类别下的历史推送文本进行基于用户的数据统计,分别统计文章后验数据中的点赞、评论、收藏等用户交互操作,生成每个聚类类别对应的活跃用户(user1,user2,user3,…,userN)。
其中,可以将交互操作满足预设交互条件的用户设为每个类别对应的活跃用户。预设交互条件可以是指用户对应的交互次数达到次数阈值,例如将点赞、转发、评论、收藏的总次数达到五十次的用户设为活跃用户。预设交互条件还可以是指用户的交互次数排名满足预设名次,将每个用户对应的交互次数由多至少进行排名后,选取排名中名次小于预设名次的用户作为活跃用户,例如,可以选择交互次数排名中,位于前五十位的用户作为活跃用户;预设交互条件还可以对交互时间做出限制,例如基于用户对应于该类别的阅读时间、在线时间等确定出活跃用户,也可以结合多种条件进行设置,例如可以将筛选条件设置为既要满足点赞或者评论次数达到次数阈值,同时还要满足阅读时间达到时间阈值,以此精准地找出类别对应的活跃用户。
可以将某一篇实时入库的文章设置为待推送文本,通过jieba分词工具中自带的关键词提取功能来对待推送文本进行关键词提取,可以提取出五个第二关键词,用同样的方法将第二关键词转化为词向量,得到待推送文本对应的表示向量。
将待推送文本对应的表示向量分别与500个类别向量计算余弦相似度,可以取相似度最高的两个类别作为目标类别,两个目标类别对应的活跃用户即是该待推送文本的推送对象,可以将待推送文本推送至活跃用户。通过历史推送文本对应的后验数据(用户交互数据),以及利用相似度来进行文本与类别匹配的文本推送策略,提高了文本推送的准确性。
在本申请实施例中的文本推送方法,通过将入库的历史推送文本根据多个类别进行分类,确定出与待推送文本匹配的目标类别,然后基于目标类别从用户信息集合中确定出目标用户信息集合,将待推送文本推送至目标用户信息集合对应的用户,其中,用户信息集合是基于历史推送文本对应的用户交互记录确定的。通过将文章本身的内容特征与历史推送文本对应的用户后验反馈数据相结合,确定待推送文本对应类别下的活跃用户,达到提升文本推送准确性的目的。
本申请实施例提供了一种文本推送装置,如图9所示,该文本推送装置900可以包括:确定模块9001、选择模块9002以及推送模块9003,其中,
确定模块9001,用于从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本相关联的目标类别;基于至少一个类别中每个类别对应的历史推送文本,确定每个类别对应的用户交互记录;基于至少一个类别中每个类别对应的用户交互记录,确定每个类别对应的用户信息集合;
选择模块9002,用于基于目标类别从特定用户信息集合中确定出目标用户信息集合;其中,特定用户信息集合包括至少一个类别中每个类别对应的用户信息集合;
推送模块9003,用于将待推送文本推送至目标用户信息集合对应的用户终端。
上述的文本推送装置,通过将入库的历史推送文本根据多个类别进行分类,确定出与待推送文本匹配的目标类别,然后基于目标类别从用户信息集合中确定出目标用户信息集合,将待推送文本推送至目标用户信息集合对应的用户,其中,用户信息集合是基于历史推送文本对应的用户交互记录确定的。通过将文章本身的内容特征与历史推送文本对应的用户后验反馈数据相结合,确定待推送文本对应类别下的活跃用户,达到提升文本推送准确性的目的。
本申请实施例中,在确定模块9001之前,还包括获取模块,具体用于:
获取与至少一个历史推送文本中每个历史推送文本的文本向量;
对至少一个历史推送文本的所有文本向量进行聚类,得到与至少一个历史推送文本对应的至少一个类别。
本申请实施例中,获取模块在获取与至少一个历史推送文本中每个历史推送文本的文本向量确定与至少一个历史推送文本的文本向量时,具体用于:
针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出第一预定数量个第一关键词;
基于第一预定数量个第一关键词,生成历史推送文本对应的文本向量。
本申请实施例中,确定模块9001在针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出第一预定数量个第一关键词时,具体用于:
针对至少一个历史推送文本中的每个历史推送文本,从历史推送文本中确定出至少一个候选关键词;
基于至少一个候选关键词,构建历史推送文本对应的候选关键词图;
基于候选关键词图计算至少一个候选关键词中每个候选关键词的对应的权重;
根据每个候选关键词的对应的权重从至少一个候选关键词中确定出第一预定数量个第一关键词。
本申请实施例中,确定模块9001在从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本匹配的目标类别时,具体用于:
基于至少一个类别中每个类别对应的历史推送文本的文本向量,确定至少一个类别中每个类别对应的类别向量;
从待推送文本中确定出第二预定数量个第二关键词;
基于第二预定数量个第二关键词,生成待推送文本的文本向量;
将待推送文本的文本向量和至少一个类别中每个类别对应的类别向量进行匹配,将与待推送文本的文本向量匹配的类别向量所对应的类别确定为与待推送文本匹配的目标类别。
本申请实施例中,确定模块9001在将待推送文本的文本向量和至少一个类别中每个类别对应的类别向量进行匹配,将与待推送文本的文本向量匹配的类别向量所对应的类别确定为与待推送文本匹配的目标类别时,具体用于:
分别计算待推送文本的文本向量和至少一个类别中每个类别对应的类别向量之间的相似度;
基于相似度,从至少一个类别中每个类别对应的类别向量中,确定出与待推送文本的文本向量匹配的目标类别向量,将目标类别向量所对应的类别确定为与待推送文本匹配的目标类别。
本申请实施例中,确定模块9001在基于至少一个类别中每个类别对应的用户交互记录,确定至少一个类别中每个类别对应的用户信息集合时,具体用于:
基于至少一个类别中每个类别对应的用户交互记录,确定每个类别对应的活跃用户,活跃用户为每个类别对应的多个用户中,交互行为符合预设交互条件的用户;
基于每个类别对应的活跃用户的用户信息,生成每个类别对应的用户信息集合。
本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:提升文本推送准确性。
在一个可选实施例中提供了一种电子设备,如图10所示,图10所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于诸如移动电话、笔记本电脑、PAD等等移动终端以及诸如数字TV、台式计算机等等固定终端。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,通过历史推送文本对应的后验数据(用户交互数据),以及利用相似度来进行文本与类别匹配的文本推送策略,提高了文本推送的准确性。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种文本推送方法,其特征在于,包括:
从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本匹配的目标类别;
基于所述至少一个类别中每个类别对应的所述历史推送文本,确定所述至少一个类别中每个类别对应的用户交互记录;
基于所述至少一个类别中每个类别对应的用户交互记录,确定所述至少一个类别中每个类别对应的用户信息集合;
基于所述目标类别从特定用户信息集合中确定出目标用户信息集合;其中,所述特定用户信息集合包括所述至少一个类别中每个类别对应的所述用户信息集合;
将所述待推送文本推送至所述目标用户信息集合对应的用户终端。
2.根据权利要求1所述的文本推送方法,其特征在于,所述从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本相关联的目标类别之前,还包括:
获取与所述至少一个历史推送文本中每个历史推送文本的文本向量;
对所述至少一个历史推送文本的所有文本向量进行聚类,得到与所述至少一个历史推送文本对应的所述至少一个类别。
3.根据权利要求2所述的文本推送方法,其特征在于,所述获取与所述至少一个历史推送文本中每个历史推送文本的文本向量确定与所述至少一个历史推送文本的文本向量,包括:
针对所述至少一个历史推送文本中的每个历史推送文本,从所述历史推送文本中确定出第一预定数量个第一关键词;
基于所述第一预定数量个第一关键词,生成所述历史推送文本对应的文本向量。
4.根据权利要求3所述的文本推送方法,其特征在于,所述针对所述至少一个历史推送文本中的每个历史推送文本,从所述历史推送文本中确定出第一预定数量个第一关键词,包括:
针对所述至少一个历史推送文本中的每个历史推送文本,从所述历史推送文本中确定出至少一个候选关键词;
基于所述至少一个候选关键词,构建所述历史推送文本对应的候选关键词图;
基于所述候选关键词图计算所述至少一个候选关键词中每个所述候选关键词的对应的权重;
根据每个所述候选关键词的对应的权重从所述至少一个候选关键词中确定出第一预定数量个第一关键词。
5.根据权利要求2-4任一项所述的文本推送方法,其特征在于,所述从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本匹配的目标类别,包括:
基于所述至少一个类别中每个类别对应的历史推送文本的文本向量,确定所述至少一个类别中每个类别对应的类别向量;
从所述待推送文本中确定出第二预定数量个第二关键词;
基于所述第二预定数量个第二关键词,生成所述待推送文本的文本向量;
将所述待推送文本的文本向量和所述至少一个类别中每个类别对应的类别向量进行匹配,将与所述待推送文本的文本向量匹配的类别向量所对应的类别确定为与所述待推送文本匹配的目标类别。
6.根据权利要求5所述的文本推送方法,其特征在于,所述将所述待推送文本的文本向量和所述至少一个类别中每个类别对应的类别向量进行匹配,将与所述待推送文本的文本向量匹配的类别向量所对应的类别确定为与所述待推送文本匹配的目标类别,包括:
分别计算所述待推送文本的文本向量和所述至少一个类别中每个类别对应的类别向量之间的相似度;
基于所述相似度,从所述至少一个类别中每个类别对应的类别向量中,确定出与所述待推送文本的文本向量匹配的目标类别向量,将所述目标类别向量所对应的类别确定为与所述待推送文本匹配的所述目标类别。
7.根据权利要求1所述的文本推送方法,其特征在于,所述基于所述至少一个类别中每个类别对应的用户交互记录,确定所述每个类别对应的用户信息集合,包括:
基于所述至少一个类别中每个类别对应的用户交互记录,确定每个类别对应的活跃用户,所述活跃用户为每个类别对应的多个用户中,交互行为符合预设交互条件的用户;
基于每个类别对应的活跃用户的用户信息,生成每个类别对应的用户信息集合。
8.一种文本推送装置,其特征在于,包括:
确定模块,用于从至少一个历史推送文本对应的至少一个类别中,确定出与待推送文本相关联的目标类别;基于所述至少一个类别中每个类别对应的所述历史推送文本,确定所述每个类别对应的用户交互记录;基于所述至少一个类别中每个类别对应的用户交互记录,确定所述每个类别对应的用户信息集合;
选择模块,用于基于所述目标类别从特定用户信息集合中确定出目标用户信息集合;其中,所述特定用户信息集合包括所述至少一个类别中每个类别对应的所述用户信息集合;
推送模块,用于将所述待推送文本推送至所述目标用户信息集合对应的用户终端。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述的文本推送方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-7任一项所述的文本推送方法。
CN202110291635.1A 2021-03-18 2021-03-18 文本推送方法、装置、电子设备及计算机可读存储介质 Pending CN115114425A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110291635.1A CN115114425A (zh) 2021-03-18 2021-03-18 文本推送方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110291635.1A CN115114425A (zh) 2021-03-18 2021-03-18 文本推送方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115114425A true CN115114425A (zh) 2022-09-27

Family

ID=83322945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110291635.1A Pending CN115114425A (zh) 2021-03-18 2021-03-18 文本推送方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115114425A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383372A (zh) * 2023-04-14 2023-07-04 信域科技(沈阳)有限公司 基于人工智能的数据分析方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383372A (zh) * 2023-04-14 2023-07-04 信域科技(沈阳)有限公司 基于人工智能的数据分析方法及系统
CN116383372B (zh) * 2023-04-14 2023-11-24 北京创益互联科技有限公司 基于人工智能的数据分析方法及系统

Similar Documents

Publication Publication Date Title
US11227118B2 (en) Methods, devices, and systems for constructing intelligent knowledge base
CN106649818B (zh) 应用搜索意图的识别方法、装置、应用搜索方法和服务器
RU2628436C1 (ru) Классификация текстов на естественном языке на основе семантических признаков
CN110209808B (zh) 一种基于文本信息的事件生成方法以及相关装置
CN111488426A (zh) 一种查询意图确定方法、装置及处理设备
US9875301B2 (en) Learning multimedia semantics from large-scale unstructured data
Selvalakshmi et al. Intelligent ontology based semantic information retrieval using feature selection and classification
US20130060769A1 (en) System and method for identifying social media interactions
US20220075948A1 (en) Knowledge graph fusion
WO2013151546A1 (en) Contextually propagating semantic knowledge over large datasets
CN110569496A (zh) 实体链接方法、装置及存储介质
CN111539197A (zh) 文本匹配方法和装置以及计算机系统和可读存储介质
Basha et al. A roadmap towards implementing parallel aspect level sentiment analysis
Tenenboim et al. Ontology-based classification of news in an electronic newspaper
Yang et al. A topic model for co-occurring normal documents and short texts
CN113761868A (zh) 文本处理方法、装置、电子设备及可读存储介质
Wei et al. Online education recommendation model based on user behavior data analysis
CN111488453A (zh) 资源分级方法、装置、设备及存储介质
CN107665442B (zh) 获取目标用户的方法及装置
CN111460808B (zh) 同义文本识别及内容推荐方法、装置及电子设备
CN115114425A (zh) 文本推送方法、装置、电子设备及计算机可读存储介质
Dutta et al. Data Analytics for Social Microblogging Platforms
Huang et al. A time-aware hybrid approach for intelligent recommendation systems for individual and group users
CN111753199B (zh) 用户画像构建方法及设备、电子设备和介质
CN113254800A (zh) 信息推荐方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination