CN109446301A - 一种相似文章的查找方法及装置 - Google Patents
一种相似文章的查找方法及装置 Download PDFInfo
- Publication number
- CN109446301A CN109446301A CN201811086026.7A CN201811086026A CN109446301A CN 109446301 A CN109446301 A CN 109446301A CN 201811086026 A CN201811086026 A CN 201811086026A CN 109446301 A CN109446301 A CN 109446301A
- Authority
- CN
- China
- Prior art keywords
- article
- information
- keyword
- elasticsearch
- stored
- 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
Links
Abstract
本发明实施例提供了一种相似文章的查找方法及装置。其中,所述方法包括:接收针对目标文章的相似文章的查找请求,所述查找请求包括:所述目标文章对应的文章标识ID;利用所述查找请求,在ElasticSearch存储的文章信息中查询所述文章ID对应文章的关键字;在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,作为待推荐文章ID;在mysql数据库中查询所述待推荐文章ID对应的文章,作为所述目标文章的相似文章;其中,所述mysql数据库中包括:预先存储的文章信息。应用本发明实施例提供的方案,可以有效地解决在现有文章数据中,找出与用户搜索文章相似文章的问题。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种相似文章的查找方法及装置。
背景技术
随着计算机技术的发展,个性化阅读推荐系统应运而生,该个性化阅读推荐系统是建立在海量数据挖掘基础上的一种高级智能平台,它能够向用户提供个性化的信息服务。该个性化阅读推荐系统的一种推荐方式为:根据用户阅读文章的数目、阅读文章的平均阅读时长以及互动数(例如,评论数、赞同数等)等来衡量该用户对所阅读的文章内容是否感兴趣,进而为用户推荐与其感兴趣的文章相似的一类文章。
该个性化阅读推荐系统在实现为用户推荐与其感兴趣的文章相似的一类文章的过程中,需要在现有的文章数据中找出与用户感兴趣的文章所相似的文章。目前,针对相似文章的查找方法,大多是基于文章标题进行查找的,但是,在实际应用中,每天都有大量的新闻文章等的产生,人们会通过互联网对读取到的文章进行转发等。然而,在实际转发过程中,可能会对文章的标题进行更改,以便更好的吸引读者的注意,或简单的增加一些相对性的见解,方便读者理解等。因此,实际应用中受各种因素的影响,相似文章不只是简单的标题匹配,还需要一些其他特征来提高文章相似的覆盖率,以便更好的查找到用户感兴趣的文章所相似的文章。
由此可见,如何有效地在现有文章数据中,找出与用户搜索文章相似的文章,是目前本领域技术人员亟需解决的技术问题。
发明内容
本发明实施例的目的在于提供一种相似文章的查找方法及装置,以有效地解决在现有文章数据中,找出与用户搜索文章相似文章的问题。具体技术方案如下:
第一方面,本发明实施例提供了一种相似文章的查找方法,所述方法包括:
接收针对目标文章的相似文章的查找请求,所述查找请求包括:所述目标文章对应的文章标识ID;
利用所述查找请求,在ElasticSearch存储的文章信息中查询所述文章ID对应文章的关键字;
在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,作为待推荐文章ID;
在mysql数据库中查询所述待推荐文章ID对应的文章,作为所述目标文章的相似文章;其中,所述mysql数据库中包括:预先存储的文章信息。
可选的,在ElasticSearch中存储文章信息的步骤,包括:
通过文章发布接口,获取互联网中发布的文章;
调用jieba接口,对获取的所述互联网中发布的文章对应的内容提取关键字;
将所提取的关键字与所述互联网中发布的文章所对应的文章ID,存储在所述ElasticSearch中。
可选的,所述在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,作为待推荐文章ID的步骤,包括:
在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,并获取所查询到的第一文章ID与所述关键字的匹配度;
按照所述匹配度从大到小的顺序对所述第一文章ID进行排序,筛选出预设数目个第一文章ID,作为待推荐的文章ID。
可选的,在mysql数据库中预先存储文章信息的步骤,包括:
通过文章发布接口,将互联网中发布的文章对应的文章信息,存储在所述mysql数据库中。
可选的,所述mysql数据库中预先存储的文章信息包括:互联网中发布的文章对应的文章ID、内容、标题和发布时间。
第二方面,本发明实施例还提供了一种相似文章的查找装置,所述装置包括:
接收请求模块,用于接收针对目标文章的相似文章的查找请求,所述查找请求包括:所述目标文章对应的文章标识ID;
第一查询模块,用于利用所述查找请求,在ElasticSearch存储的文章信息中查询所述文章ID对应文章的关键字;
第二查询模块,用于在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,作为待推荐文章ID;
第三查询模块,用于在mysql数据库中查询所述待推荐文章ID对应的文章,作为所述目标文章的相似文章;其中,所述mysql数据库中包括:预先存储的文章信息。
可选的,所述装置还包括:第一信息存储模块;
所述第一信息存储模块包括:
获取子模块,用于通过文章发布接口,获取互联网中发布的文章;
提取子模块,用于调用jieba接口,对获取的所述互联网中发布的文章对应的内容提取关键字;
存储子模块,用于将所提取的关键字与所述互联网中发布的文章所对应的文章ID,存储在所述ElasticSearch中。
可选的,所述第二查询模块,包括:
查询子模块,用于在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,并获取所查询到的第一文章ID与所述关键字的匹配度;
筛选子模块,用于按照所述匹配度从大到小的顺序对所述第一文章ID进行排序,筛选出预设数目个第一文章ID,作为待推荐的文章ID。
可选的,所述装置还包括:第二信息存储模块;
所述第二信息存储模块,用于通过文章发布接口,将互联网中发布的文章对应的文章信息,存储在所述mysql数据库中。
可选的,所述mysql数据库中预先存储的文章信息包括:互联网中发布的文章对应的文章ID、内容、标题和发布时间。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的一种相似文章的查找方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的一种相似文章的查找方法。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的一种相似文章的查找方法。
本发明实施例提供的一种相似文章的查找方法及装置,接收针对目标文章的相似文章的查找请求,查找请求包括:目标文章对应的文章标识ID;利用查找请求,在ElasticSearch存储的文章信息中查询文章ID对应文章的关键字;在ElasticSearch存储的文章信息中查询关键字对应的第一文章ID,作为待推荐文章ID;在mysql数据库中查询待推荐文章ID对应的文章,作为目标文章的相似文章;其中,mysql数据库中包括:预先存储的文章信息。
本发明实施例中,在获取需要查找相似文章的目标文章对应的文章ID之后,根据该文章ID在ElasticSearch中查找该文章ID对应的关键字,再根据所查找到的关键字,进一步在ElasticSearch中查找关键字对应的第一文章ID,作为待推荐文章ID,最后,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章。这样基于第一文章ID,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章,避免了针对文章标题更改等现象,导致查找到的相似文章覆盖率小的问题,也可以有效地解决在现有文章数据中,找出与用户搜索文章相似文章的问题。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种相似文章的查找方法流程图;
图2为本发明实施例提供的一种文章信息存储实施方式流程图;
图3为本发明实施例提供的一种文章查询实施方式流程图;
图4为本发明实施例提供的一种相似文章的查找装置结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决实际应用中受各种因素的影响,相似文章不只是简单的标题匹配,还需要一些其他特征来提高文章相似的覆盖率,以便更好的查找到用户感兴趣的文章所相似文章的问题。本发明实施例提供了一种相似文章的查找方法,以有效地解决在现有文章数据中,找出与用户搜索文章相似文章的问题。
本发明实施例提供的一种相似文章的查找方法,该方法包括:
接收针对目标文章的相似文章的查找请求,查找请求包括:目标文章对应的文章标识ID;
利用查找请求,在ElasticSearch存储的文章信息中查询文章ID对应文章的关键字;
在ElasticSearch存储的文章信息中查询关键字对应的第一文章ID,作为待推荐文章ID;
在mysql数据库中查询待推荐文章ID对应的文章,作为目标文章的相似文章;其中,mysql数据库中包括:预先存储的文章信息。
由此可见,本发明实施例中,在获取需要查找相似文章的目标文章对应的文章ID之后,根据该文章ID在ElasticSearch中查找该文章ID对应的关键字,再根据所查找到的关键字,进一步在ElasticSearch中查找关键字对应的第一文章ID,作为待推荐文章ID,最后,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章。这样基于第一文章ID,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章,避免了针对文章标题更改等现象,导致查找到的相似文章覆盖率小的问题,也可以有效地解决在现有文章数据中,找出与用户搜索文章相似文章的问题。
下面首先对本发明实施例所提供的一种相似文章的查找方法进行介绍。
为了清楚起见,首先,对本发明实施例中涉及到的设备进行简单介绍:
ElasticSearch是一个基于Lucene(全文搜索引擎)的搜索服务器。ElasticSearch提供了一个分布式多用户能力的全文搜索引擎。Elasticsearch是当前流行的企业级搜索引擎,设计用于云计算中,能够实时搜索,并且稳定,可靠,快速,安装使用方便。
mysql是最流行的关系型数据库管理系统之一,在WEB(World Wide Web,万维网)应用方面,mysql是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件。mysql是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。mysql使用的SQL(Structured Query Language,结构化查询语言)是用于访问数据库的最常用标准化语言。
jieba(结巴)是Python的中文分词组件,可以对一段中文进行分词和关键词的提取。Python是一种面向对象的解释型计算机程序设计语言,Python的jieba软件包可以提供对文章内容的提取关键字的功能接口。
如图1所示,图1为本发明实施例提供的一种相似文章的查找方法流程图,该方法可以包括:
S101,接收针对目标文章的相似文章的查找请求,查找请求包括:目标文章对应的文章标识ID。
本发明实施例中,可以通过一个查找服务器控制针对目标文章的相似文章的整个查找过程。在实际应用中,用户可能需要针对目标文章的相似文章进行查找,比如,用户需要查找与自己感兴趣的目标文章一个类型的文章,或是需要了解目标文章的转发量等时,就需要针对目标文章的相似文章进行查找。这种情况下,用户可以向相应的查找服务器发送针对目标文章的相似文章的查找请求,该查找请求中可以包括目标文章对应的文章标识ID,当查找服务器接收到该包括目标文章对应的文章ID的查找请求时,执行步骤S102。
其中,目标文章可以是待进行相似文章查找的任意一篇文章。相似文章可以是与用户搜索文章(即目标文章)在内容或主题等方面相似的任意一篇文章。目标文章对应的文章ID,可以包括但不限于:目标文章对应文章的下载链接、下载地址等。
S102,利用查找请求,在ElasticSearch存储的文章信息中查询文章ID对应文章的关键字。
在接收到针对目标文章的相似文章的查找请求之后,利用该查找请求中所包括的目标文章对应的文章ID,在ElasticSearch存储的文章信息中查询文章ID对应文章的关键字。其中,ElasticSearch中所存储的文章信息包括:互联网中发布的文章对应的文章ID,以及这些互联网中发布的文章对应的关键字,并且这些互联网中发布的文章对应的文章ID与关键字相关联,以便在需要针对目标文章的相似文章查询时,根据目标文章对应的文章ID,查询该目标文章对应的文章ID所对应存储的关键字。具体的查询到的关键字的个数本发明在此不作限制。该关键字可以是,能够最大程度概括互联网中发布的文章的内容信息。
S103,在ElasticSearch存储的文章信息中查询关键字对应的第一文章ID,作为待推荐文章ID。
利用查找请求中所包括的目标文章对应的文章ID,在ElasticSearch存储的文章信息中查询文章ID对应文章的关键字之后,进一步的在ElasticSearch存储的文章信息中,查询所查询到的文章ID对应文章的关键字所对应的第一文章ID,将查询到的第一文章ID,作为待推荐文章ID。具体的,根据关键字查询到的第一文章ID的个数,本发明在此不作限制。
示例性地,可以使用预先编辑的一段代码来实现在ElasticSearch存储的文章信息中查询关键字对应的第一文章ID的过程,该预先编辑的一段代码可以为:
在ElasticSearch中使用文章ID查询的语句为:
curl-XPOST http://10.1.3.17:9200/video/article/_search?pretty-d′
{′sort′:{′createdtime′:{′order′:′desc′}},′query′:{′bool′:{′should′:[{′match′:{′contid′:25774562}}]}}}′
其中,curl-XPOST http://10.1.3.17:9200/video/article/_search?pretty-d′为查询命令语句,可以将该语句放到查找服务器中进行查询;{′sort′:{′createdtime′:{′order′:′desc′}},′query′:{′bool′:{′should′:[{′match′:{′contid′:25774562}}]}}}′为具体的查询命令语句。
具体的,可以使用RESTful API通过端口9200和Elasticsearch进行通信,也可以用web客户端访问Elasticsearch,甚至可以使用curl命令来和Elasticsearch进行交互。一个Elasticsearch请求和HTTP请求一样由若干相同的部件组成:比如:curl-X<VERB>′<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>′-d′<BODY>′,其中,被<>标记的部件:VERB表示适当的HTTP方法或谓词:“GET”、“POST”、“PUT”、“HEAD”或者“DELETE”;PROTOCOL表示http或者https(如果在Elasticsearch前面有一个https代理时);HOST表示Elasticsearch集群中任意节点的主机名,或者用localhost代表本地机器上的节点;PORT表示运行Elasticsearch HTTP服务的端口号,默认是9200;PATH表示API的终端路径(例如_count将返回集群中文档数量),可能包含多个组件;QUERY_STRING表示任意可选的查询字符串参数(例如:?pretty将格式化地输出JSON返回值,使其更容易阅读);BODY表示一个JSON格式的请求体。
实际应用中,一个Elasticsearch集群可以包含多个索引,相应的每个索引可以包含多个类型。这些不同的类型存储着多个文档,每个文档又有多个属性。其中,索引包括:_index、_type和_id元数据,路径/video/article/包含了两部分的信息:video表示索引名称,article表示类型名称。使用JSON构造请求体,并使用match查询,match_all可以简单的匹配所有文档。具体的,match查询是可用的标准查询,multi_match查询可以在多个字段上执行相同的match查询,range查询可以找出那些落在指定区间内的数字或者时间。为了构建类似的高级查询,可以使用bool查询来实现相关需求,该查询接收的参数有:must表示文档必须匹配这些条件才能被包含进来;must_not表示文档必须不匹配这些条件才能被包含进来;should表示如果满足这些语句中的任意语句,将增加_score,否则,无任何影响,主要用于修正每个文档的相关性得分;filter表示必须匹配,但它以不评分、过滤模式来进行。
ElasticSearch中的搜索语句为:
其中,curl-XPOST http://10.1.3.17:9200/video/article/_search?pretty-d′为搜索命令语句,可以将该语句放到查找服务器中进行搜索。具体相关含义可参见上文描述,本发明在此不作赘述。
S104,在mysql数据库中查询待推荐文章ID对应的文章,作为目标文章的相似文章;其中,mysql数据库中包括:预先存储的文章信息。
利用查找请求中所包括的目标文章对应的文章ID,在ElasticSearch存储的文章信息中查询文章ID对应文章的关键字之后,进一步在ElasticSearch存储的文章信息中查询关键字对应的第一文章ID,将查询到的关键字对应的第一文章ID作为待推荐文章ID,进而在mysql数据库中查询待推荐文章ID对应的文章,作为目标文章的相似文章。
可选地,在mysql数据库中预先存储文章信息的步骤,可以包括:
通过文章发布接口,将互联网中发布的文章对应的文章信息,存储在mysql数据库中。
通过文章发布接口,可以先获取互联网中发布的文章对应的文章信息,然后,将互联网中发布的文章对应的文章信息,存储在mysql数据库中。具体的,通过文章发布接口,将互联网中发布的文章对应的文章信息,存储在mysql数据库中的实现过程,可参见现有技术的实现,此处不再赘述。
其中,mysql数据库中预先存储有互联网中发布的文章对应的文章信息,该文章信息中可以包含互联网中发布的文章对应的文章ID、文章内容、文章标题和文章的发布时间,以便在mysql数据库中可以查询到待推荐文章ID对应的文章,进一步将查询到的待推荐文章ID对应的文章作为目标文章的相似文章。
示例性地,通过文章发布接口,将互联网中发布的文章对应的文章信息存储在mysql数据库中,其中所存储的文章信息表的结构可以如下表1所示:
表1 mysql数据库中存储的文章信息表的结构
其中,Field字段表示列,Type字段表示类型,Null字段表示没有值时设置为空值,key字段表示是否为关键字(或索引),Default字段表示初始值。例如,ContId表示文章ID,CatId表示栏目ID,Title表示标题,SubTitle表示副标题,TitleState表示标题状态,Color表示标题颜色,Summary表示摘要、Tags表示收录到哪个标签、Source表示文中来源、Sourceurl表示文中来源路径、Author表示作者、Auditing表示是否审核、Url表示文章地址、Thumb表示略缩图、PostUserId表示转发或推送人ID、PostUser表示转发或推送人名称、ModifiedUserId表示修改人员ID、ModifiedUser表示修改人员名称、AuditingUserId表示审核人ID、AuditingUser表示审核人名称、CreatedTime表示文章生成时间、ModifiedTime表示最近修改时间、TplId表示调用的模板ID、View表示文章浏览量、IsForward表示是否推荐、Model表示所属代码模块等等。
本发明实施例提供的一种相似文章的查找方法,在获取需要查找相似文章的目标文章对应的文章ID之后,根据该文章ID在ElasticSearch中查找该文章ID对应的关键字,再根据所查找到的关键字,进一步在ElasticSearch中查找关键字对应的第一文章ID,作为待推荐文章ID,最后,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章。这样基于第一文章ID,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章,避免了针对文章标题更改等现象,导致查找到的相似文章覆盖率小的问题,也可以有效地解决在现有文章数据中,找出与用户搜索文章相似文章的问题。
在图1所示实施例的基础上,如图2所示,图2为本发明实施例提供的一种文章信息存储实施方式流程图,该实施方式可以包括:
S201,通过文章发布接口,获取互联网中发布的文章。
本发明实施例中,可以预先通过文章发布接口,获取互联网中所发布的文章。该文章发布接口可以是ElasticSearch搜索服务器的一个功能接口,具体的,可参见现有ElasticSearch搜索服务器的详细介绍。具体的,通过文章发布接口,获取互联网中发布的文章的实现过程,可参见现有技术的实现,此处不再赘述。
S202,调用jieba接口,对获取的互联网中发布的文章对应的内容提取关键字。
在通过文章发布接口,获取互联网中发布的文章之后,调用jieba接口,针对所获取的互联网中发布的文章对应的内容提取关键字。
示例性地,调用jieba接口,针对所获取的互联网中发布的文章对应的内容提取关键字可以使用预先编辑的代码来实现,具体的,该代码可以为:
import jieba.analyse
jieba.analyse.extract_tags(sentence,topK=20,withWeight=False,allowPOS=())
其中,import jieba.analyse为导入jieba库,是调用jieba提取关键字方法的命令语句,jieba.analyse.extract_tags(sentence,topK=20,withWeight=False,allowPOS=())为具体的提取关键字命令语句,该命令语句中,sentence为待提取的文本,topK为返回几个TF/IDF权重最大的关键词,默认值为20,withWeight为是否一并返回关键词权重值,默认值为False,allowPOS仅包括指定词性的词,默认值为空,即不筛选。
S203,将所提取的关键字与互联网中发布的文章所对应的文章ID,存储在ElasticSearch中。
在提取到互联网中发布的文章对应的关键字之后,将所提取的关键字与互联网中发布的文章所对应的文章ID,一起存储在ElasticSearch中。
示例性地,在ElasticSearch中创建的存储文章的文档结构命令语句可以如下所示,该命令语句与mysql数据库中存储的文章信息表中的字段相对应:
具体的,Elastic数据管理的顶层单位叫做Index(索引),它是单个数据库的同义词。每个Index(即数据库)的名字必须是小写。在Index里面单条的记录称为Document(文档),许多条Document构成了一个Index。
在上述文档结构命令语句中,首先新建一个名称为video的Index,里面有一个名称为article的Type(类型)。article有8个字段,具体包括:catid为″long″类型、content为"text"类型、contid为"long″类型、createdtime为"long"类型、thumb为"text"类型、thumb2为"text"类型、title为"text"类型、url为"text"类型。
其中,content字段是中文的,而且类型都是text(文本),所以需要指定中文分词器,不能使用默认的英文分词器。Elastic的分词器称为analyzer,然后,对每个字段指定分词器。
本发明实施例中,通过文章发布接口,获取互联网中发布的文章,然后,调用jieba接口,对获取的互联网中发布的文章对应的内容提取关键字,再将所提取的关键字与互联网中发布的文章所对应的文章ID,一起存储在ElasticSearch中,以便在需要进行目标文章的相似文章查找时,可以直接根据目标文章对应的文章ID在ElasticSearch存储的文章信息中查询文章ID对应文章的关键字,以及所查询到的关键字对应的第一文章ID。
在图1所示实施例的基础上,如图3所示,图3为本发明实施例提供的一种文章查询实施方式流程图,该实施方式可以包括:
S301,在ElasticSearch存储的文章信息中查询关键字对应的第一文章ID,并获取所查询到的第一文章ID与关键字的匹配度。
本发明实施例中,利用查找请求中所包括的目标文章对应的文章ID,在ElasticSearch存储的文章信息中查询文章ID对应文章的关键字之后,进一步在ElasticSearch存储的文章信息中查询所查询到的关键字对应的第一文章ID。在查询到第一文章ID之后,进一步的可以获取该查询到的第一文章ID与关键字之间的匹配度。
具体的,获取该查询到的第一文章ID与关键字之间的匹配度的一种实现方式可以为:获取第一文章ID对应的文章中的关键字的个数N,进一步获取第一文章ID对应的文章中的关键字与查询关键字相同的个数M,将M/N作为查询到的第一文章ID与关键字之间的匹配度。当然,本申请只是以上述实现方式进行说明,实际应用中查询到的第一文章ID与关键字之间的匹配度的衡量方式并不仅限于此。
S302,按照匹配度从大到小的顺序对第一文章ID进行排序,筛选出预设数目个第一文章ID,作为待推荐的文章ID。
在获取到所查询到的第一文章ID与关键字的匹配度之后,按照匹配度从大到小的顺序对第一文章ID进行排序,可以筛选出预设数目个第一文章ID,作为待推荐的文章ID。具体的,可以筛选出排序靠前的预设数目个第一文章ID,也可以筛选出中间预设数目个第一文章ID,本发明在此不作限制。其中,预设数目的个数,本领域技术人员可根据实际需求进行设置,本发明在此不作限制。
本发明实施例中,针对在ElasticSearch存储的文章信息中查询到的关键字对应的第一文章ID,获取所查询到的第一文章ID与关键字的匹配度,然后,根据匹配度对第一文章ID进行排序,进而筛选出预设数目个第一文章ID作为待推荐的文章ID,可以筛选出与用户查询的目标文章对应的文章标识ID更为匹配的待推荐的文章ID,以便于用户更快速的在待推荐的文章ID中找到目标文章的相似文章。
相应于上述方法实施例,本发明实施例提供了一种相似文章的查找装置,如图4所示,图4为本发明实施例提供的一种相似文章的查找装置结构示意图,所述装置可以包括:
接收请求模块401,用于接收针对目标文章的相似文章的查找请求,所述查找请求包括:所述目标文章对应的文章标识ID;
第一查询模块402,用于利用所述查找请求,在ElasticSearch存储的文章信息中查询所述文章ID对应文章的关键字;
第二查询模块403,用于在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,作为待推荐文章ID;
第三查询模块404,用于在mysql数据库中查询所述待推荐文章ID对应的文章,作为所述目标文章的相似文章;其中,所述mysql数据库中包括:预先存储的文章信息。
本发明实施例提供的一种相似文章的查找装置,在获取需要查找相似文章的目标文章对应的文章ID之后,根据该文章ID在ElasticSearch中查找该文章ID对应的关键字,再根据所查找到的关键字,进一步在ElasticSearch中查找关键字对应的第一文章ID,作为待推荐文章ID,最后,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章。这样基于第一文章ID,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章,避免了针对文章标题更改等现象,导致查找到的相似文章覆盖率小的问题,也可以有效地解决在现有文章数据中,找出与用户搜索文章相似文章的问题。
需要说明的是,本发明实施例的装置是与图1所示的一种相似文章的查找方法对应的装置,图1所示的一种相似文章的查找方法的所有实施例均适用于该装置,且均能达到相同的有益效果。
可选的,所述装置还包括:第一信息存储模块;
所述第一信息存储模块包括:
获取子模块,用于通过文章发布接口,获取互联网中发布的文章;
提取子模块,用于调用jieba接口,对获取的所述互联网中发布的文章对应的内容提取关键字;
存储子模块,用于将所提取的关键字与所述互联网中发布的文章所对应的文章ID,存储在所述ElasticSearch中。
可选的,所述第二查询模块,包括:
查询子模块,用于在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,并获取所查询到的第一文章ID与所述关键字的匹配度;
筛选子模块,用于按照所述匹配度从大到小的顺序对所述第一文章ID进行排序,筛选出预设数目个第一文章ID,作为待推荐的文章ID。
可选的,所述装置还包括:第二信息存储模块;
所述第二信息存储模块,用于通过文章发布接口,将互联网中发布的文章对应的文章信息,存储在所述mysql数据库中。
可选的,所述mysql数据库中预先存储的文章信息包括:互联网中发布的文章对应的文章ID、内容、标题和发布时间。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例所提供的方法。
本发明实施例提供的一种电子设备,在获取需要查找相似文章的目标文章对应的文章ID之后,根据该文章ID在ElasticSearch中查找该文章ID对应的关键字,再根据所查找到的关键字,进一步在ElasticSearch中查找关键字对应的第一文章ID,作为待推荐文章ID,最后,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章。这样基于第一文章ID,在mysql数据库中预先存储的文章信息中查询待推荐文章ID对应的文章,将其作为目标文章的相似文章,避免了针对文章标题更改等现象,导致查找到的相似文章覆盖率小的问题,也可以有效地解决在现有文章数据中,找出与用户搜索文章相似文章的问题。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种相似文章的查找方法,以获取相同的技术效果。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种相似文章的查找方法,以获取相同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种相似文章的查找方法,其特征在于,包括:
接收针对目标文章的相似文章的查找请求,所述查找请求包括:所述目标文章对应的文章标识ID;
利用所述查找请求,在ElasticSearch存储的文章信息中查询所述文章ID对应文章的关键字;
在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,作为待推荐文章ID;
在mysql数据库中查询所述待推荐文章ID对应的文章,作为所述目标文章的相似文章;其中,所述mysql数据库中包括:预先存储的文章信息。
2.根据权利要求1所述的方法,其特征在于,在ElasticSearch中存储文章信息的步骤,包括:
通过文章发布接口,获取互联网中发布的文章;
调用jieba接口,对获取的所述互联网中发布的文章对应的内容提取关键字;
将所提取的关键字与所述互联网中发布的文章所对应的文章ID,存储在所述ElasticSearch中。
3.根据权利要求1所述的方法,其特征在于,所述在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,作为待推荐文章ID的步骤,包括:
在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,并获取所查询到的第一文章ID与所述关键字的匹配度;
按照所述匹配度从大到小的顺序对所述第一文章ID进行排序,筛选出预设数目个第一文章ID,作为待推荐的文章ID。
4.根据权利要求1所述的方法,其特征在于,在mysql数据库中预先存储文章信息的步骤,包括:
通过文章发布接口,将互联网中发布的文章对应的文章信息,存储在所述mysql数据库中。
5.根据权利要求4所述的方法,其特征在于,所述mysql数据库中预先存储的文章信息包括:互联网中发布的文章对应的文章ID、内容、标题和发布时间。
6.一种相似文章的查找装置,其特征在于,包括:
接收请求模块,用于接收针对目标文章的相似文章的查找请求,所述查找请求包括:所述目标文章对应的文章标识ID;
第一查询模块,用于利用所述查找请求,在ElasticSearch存储的文章信息中查询所述文章ID对应文章的关键字;
第二查询模块,用于在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,作为待推荐文章ID;
第三查询模块,用于在mysql数据库中查询所述待推荐文章ID对应的文章,作为所述目标文章的相似文章;其中,所述mysql数据库中包括:预先存储的文章信息。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:第一信息存储模块;
所述第一信息存储模块包括:
获取子模块,用于通过文章发布接口,获取互联网中发布的文章;
提取子模块,用于调用jieba接口,对获取的所述互联网中发布的文章对应的内容提取关键字;
存储子模块,用于将所提取的关键字与所述互联网中发布的文章所对应的文章ID,存储在所述ElasticSearch中。
8.根据权利要求6所述的装置,其特征在于,所述第二查询模块,包括:
查询子模块,用于在ElasticSearch存储的文章信息中查询所述关键字对应的第一文章ID,并获取所查询到的第一文章ID与所述关键字的匹配度;
筛选子模块,用于按照所述匹配度从大到小的顺序对所述第一文章ID进行排序,筛选出预设数目个第一文章ID,作为待推荐的文章ID。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:第二信息存储模块;
所述第二信息存储模块,用于通过文章发布接口,将互联网中发布的文章对应的文章信息,存储在所述mysql数据库中。
10.根据权利要求9所述的装置,其特征在于,所述mysql数据库中预先存储的文章信息包括:互联网中发布的文章对应的文章ID、内容、标题和发布时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811086026.7A CN109446301A (zh) | 2018-09-18 | 2018-09-18 | 一种相似文章的查找方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811086026.7A CN109446301A (zh) | 2018-09-18 | 2018-09-18 | 一种相似文章的查找方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109446301A true CN109446301A (zh) | 2019-03-08 |
Family
ID=65532828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811086026.7A Pending CN109446301A (zh) | 2018-09-18 | 2018-09-18 | 一种相似文章的查找方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446301A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069903A (zh) * | 2019-04-28 | 2019-07-30 | 腾讯科技(上海)有限公司 | 一种确定查阅文本数据的用户的方法及装置 |
CN111381191A (zh) * | 2020-05-29 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种对文本进行同义修改、确定文本创作者的方法 |
CN111858901A (zh) * | 2019-04-30 | 2020-10-30 | 北京智慧星光信息技术有限公司 | 一种基于语义相似的文本推荐方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154875A1 (en) * | 2006-12-21 | 2008-06-26 | Thomas Morscher | Taxonomy-Based Object Classification |
CN102567534A (zh) * | 2011-12-31 | 2012-07-11 | 凤凰在线(北京)信息技术有限公司 | 互动产品用户生成内容拦截系统及其拦截方法 |
US20160034565A1 (en) * | 2014-07-29 | 2016-02-04 | International Business Machines Corporation | Managing credibility for a question answering system |
CN107203532A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 索引系统的构建方法、搜索的实现方法及装置 |
CN107609106A (zh) * | 2017-09-12 | 2018-01-19 | 马上消费金融股份有限公司 | 一种相似文章查找方法、装置、设备及存储介质 |
-
2018
- 2018-09-18 CN CN201811086026.7A patent/CN109446301A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154875A1 (en) * | 2006-12-21 | 2008-06-26 | Thomas Morscher | Taxonomy-Based Object Classification |
CN102567534A (zh) * | 2011-12-31 | 2012-07-11 | 凤凰在线(北京)信息技术有限公司 | 互动产品用户生成内容拦截系统及其拦截方法 |
US20160034565A1 (en) * | 2014-07-29 | 2016-02-04 | International Business Machines Corporation | Managing credibility for a question answering system |
CN107203532A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 索引系统的构建方法、搜索的实现方法及装置 |
CN107609106A (zh) * | 2017-09-12 | 2018-01-19 | 马上消费金融股份有限公司 | 一种相似文章查找方法、装置、设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069903A (zh) * | 2019-04-28 | 2019-07-30 | 腾讯科技(上海)有限公司 | 一种确定查阅文本数据的用户的方法及装置 |
CN110069903B (zh) * | 2019-04-28 | 2023-03-21 | 腾讯科技(上海)有限公司 | 一种确定查阅文本数据的用户的方法及装置 |
CN111858901A (zh) * | 2019-04-30 | 2020-10-30 | 北京智慧星光信息技术有限公司 | 一种基于语义相似的文本推荐方法及系统 |
CN111381191A (zh) * | 2020-05-29 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种对文本进行同义修改、确定文本创作者的方法 |
CN111381191B (zh) * | 2020-05-29 | 2020-09-01 | 支付宝(杭州)信息技术有限公司 | 一种对文本进行同义修改、确定文本创作者的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672283B2 (en) | Structured and social data aggregator | |
US9430553B2 (en) | Application representation for application editions | |
US10180967B2 (en) | Performing application searches | |
US7739221B2 (en) | Visual and multi-dimensional search | |
EP2321745B1 (en) | Providing posts to discussion threads in response to a search query | |
US7917514B2 (en) | Visual and multi-dimensional search | |
US9165085B2 (en) | System and method for publishing aggregated content on mobile devices | |
US20160034514A1 (en) | Providing search results based on an identified user interest and relevance matching | |
US20130262467A1 (en) | Method and apparatus for providing token-based classification of device information | |
US8078645B2 (en) | Operations on multi-level nested data structure | |
US8688702B1 (en) | Techniques for using dynamic data sources with static search mechanisms | |
US10713291B2 (en) | Electronic document generation using data from disparate sources | |
KR100930617B1 (ko) | 다중 개체 중심적 통합 검색 시스템 및 방법 | |
US9864768B2 (en) | Surfacing actions from social data | |
KR20100094021A (ko) | 이동통신 단말기와 아이피 기반 정보 단말기를 이용한 맞춤, 지능형 심볼, 아이콘 인터넷 정보 검색시스템 | |
JP2011154668A (ja) | ウェブページの主意,およびユーザの嗜好を適切に把握して,最善の情報をリアルタイムに推奨する方法 | |
US8527518B2 (en) | Inverted indexes with multiple language support | |
US20140059419A1 (en) | Method and system of searching composite web page elements and annotations presented by an annotating proxy server | |
CN109446301A (zh) | 一种相似文章的查找方法及装置 | |
KR101853388B1 (ko) | 소외 광고용 소셜 컨텍스트 | |
US20170270195A1 (en) | Providing token-based classification of device information | |
US20130124509A1 (en) | Publish-subscribe based methods and apparatuses for associating data files | |
US11841909B2 (en) | Text analytics views for web site sources | |
Lee et al. | ScalableWeb News Adaptation To Mobile Devices Using Visual Block Segmentation for Ubiquitous Media Services | |
Chilimo | Next-generation catalogues: how are the academic libraries in Kenya faring? |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190308 |