CN110321466A - 一种基于语义分析的证券资讯查重方法及系统 - Google Patents
一种基于语义分析的证券资讯查重方法及系统 Download PDFInfo
- Publication number
- CN110321466A CN110321466A CN201910520287.3A CN201910520287A CN110321466A CN 110321466 A CN110321466 A CN 110321466A CN 201910520287 A CN201910520287 A CN 201910520287A CN 110321466 A CN110321466 A CN 110321466A
- Authority
- CN
- China
- Prior art keywords
- information
- gram
- sentence
- crawler
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Operations Research (AREA)
- Life Sciences & Earth Sciences (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于语义分析的证券资讯查重方法及系统,所述方法包括:从撰写资讯的业务系统中实时采集最新的待检测资讯数据;采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块;分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。本发明提出simhash算法和最大文本片段算法,与爬虫系统有机结合,在不需建立文本库的前提下解决证券行业资讯原创检测的问题,并提高查重精确度和效率。
Description
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种基于语义分析的证券资讯查重方法及系统。
背景技术
随着互联网技术的不断发展,网络上的信息越来越庞大。微博、公众号以及新闻媒体等内容源,每时每刻都在更新大量的信息。而另一端,很多文字工作者每天负责产生大量的文章。对于证券公司而言,大量的投资顾问和行业研究员专门为广大投资者提供选股建议、买卖时机、热点分析等服务。投资顾问在为投资者提供投资建议的同时,必须遵守法律法规,为投资者提供恰当的建议。但是,如果投资顾问所撰写的资讯有抄袭现象,该服务过程会因为服务不当而引起内容版权问题或监管层的关注。
为了解决证券公司投资顾问和研究员撰写资讯的原创性问题,自然语言处理领域的文本查重算法就派上了用场。文本查重也称为copy detection,海量文本查重最开始主要来自google和百度等这一类科技公司,他们主要用来对搜索引擎的网页去重和过滤。现有的文本查重算法主要分为两类:基于指纹的算法和字符串匹配算法。
然而,在对现有技术的研究中,本发明的发明人发现,现有的查重算法具有以下缺点:一方面,必须预先建立文本库,类似知网的论文库或百度搜索引擎的网页库,而建立文本库的过程需要耗费大量的资源;另一方面,现有的查重算法主要计算文本与文本之间整体相似度,难以定位到具体某个句子是否抄袭。而对于证券公司投顾和行业研究员撰写的资讯,不仅精炼且每句话都很关键,因此对查重的要求非常高。针对证券行业的资讯,如何在资源消耗最小的情况下实现资讯查重,是当前亟待解决的问题。
发明内容
本发明要解决的技术问题在于,本发明提供的一种基于语义分析的证券资讯查重方法,能够精准高效地进行证券资讯查重检测。
为解决上述问题,本发明的一个实施例提供的一种基于语义分析的证券资讯查重方法,适用于在计算设备中执行,至少包括如下步骤:
从撰写资讯的业务系统中实时采集最新的待检测资讯数据;
采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块;
分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;
采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。
进一步地,所述基于语义分析的证券资讯查重方法,还包括:
根据所述语义相似度计算结果,在判断所述待检测资讯数据通过查重检测后,通过资讯发布平台将资讯推送至目标客户端。
进一步地,所述待检测资讯数据包括作者信息、投顾证书编号、资讯点评对象、资讯点评依据信息以及资讯点评正文信息。
进一步地,所述邻域检索,具体为:
对所述待检测资讯数据中的每个句子取n-gram集合作为句子的特征,并对每个n-gram进行哈希编码,得到对应的64位二进制串;
对所述64位二进制串中的“1”进行保留,“0”取“-1”,乘以权重后进行累加;
对上述得到的累加值,正值记为“1”,负值记为“0”,得到每个句子的哈希码;其中,哈希码的相似度表示为海明距离;
根据句子之间的海明距离进行邻域搜索,得到与所述待检测数据有相关性的爬虫文本候选集。
进一步地,所述语义相似度计算,具体为:
对所述待检测资讯数据中的句子A进行gram切分,其中,最大gram片段就是A本身;基于满足一定的容错率在最终爬虫数据中的句子B对比是否有重复的片段;若有,则提取该gram片段;
在提取gram片段后对gram长度减1,即对句子A切分成len(A)-1的片段,再次对比所述句子B中是否有重复的片段,若有,则提取对应的gram片段;
循环执行上一步,直至所述gram长度<=3;
将所有提取出的gram片段按长度从大到小排序,并给予预设的衰减率,计算得到句子A和句子B的相似度,得到语义相似度计算结果。
本发明的一个实施例还提供了一种基于语义分析的证券资讯查重系统,包括:
资讯采集模块,用于从撰写资讯的业务系统中实时采集最新的待检测资讯数据;
中控模块,用于采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块后提交到爬虫系统模块;从爬虫系统模块中获取所述资讯分块的爬虫数据,并将所述待检测资讯数据和爬虫数据提交至语义引擎计算模块,以使语义引擎计算模块完成语义相似度的计算;
爬虫系统模块,用于分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;
语义引擎计算模块,用于采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。
进一步地,所述基于语义分析的证券资讯查重系统,还包括:
资讯发布模块,用于根据所述语义相似度计算结果,在判断所述待检测资讯数据通过查重检测后,通过资讯发布平台将资讯推送至目标客户端。
进一步地,所述待检测资讯数据包括作者信息、投顾证书编号、资讯点评对象、资讯点评依据信息以及资讯点评正文信息。
进一步地,所述邻域检索,具体为:
对所述待检测资讯数据中的每个句子取n-gram集合作为句子的特征,并对每个n-gram进行哈希编码,得到对应的64位二进制串;
对所述64位二进制串中的“1”进行保留,“0”取“-1”,乘以权重后进行累加;
对上述得到的累加值,正值记为“1”,负值记为“0”,得到每个句子的哈希码;其中,哈希码的相似度表示为海明距离;
根据句子之间的海明距离进行邻域搜索,得到与所述待检测数据有相关性的爬虫文本候选集。
进一步地,所述语义相似度计算,具体为:
对所述待检测资讯数据中的句子A进行gram切分,其中,最大gram片段就是A本身;基于满足一定的容错率在最终爬虫数据中的句子B对比是否有重复的片段;若有,则提取该gram片段;
在提取gram片段后对gram长度减1,即对句子A切分成len(A)-1的片段,再次对比所述句子B中是否有重复的片段,若有,则提取对应的gram片段;
循环执行上一步,直至所述gram长度<=3;
将所有提取出的gram片段按长度从大到小排序,并给予预设的衰减率,计算得到句子A和句子B的相似度,得到语义相似度计算结果。
实施本发明实施例,具有如下有益效果:
本发明的实施例提供的一种基于语义分析的证券资讯查重方法及系统,所述方法包括:从撰写资讯的业务系统中实时采集最新的待检测资讯数据;采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块;分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。本发明提出simhash算法和最大文本片段算法,通过与爬虫系统有机结合,在不需建立文本库的前提下解决证券行业资讯原创检测的问题,并提高查重精确度和效率。
附图说明
图1是本发明的第一实施例提供的基于语义分析的证券资讯查重方法的流程示意图;
图2是本发明的第一实施例提供的相似度计算结果的示意图;
图3是本发明的第二实施例提供的基于语义分析的证券资讯查重系统的结构示意图;
图4是本发明的第二实施例提供的中控模块的工作流程图;
图5是本发明的第二实施例提供的爬虫系统模块的工作原理图;
图6是本发明的第二实施例提供的语义引擎计算模块的工作原理图;
图7是本发明的第二实施例提供的一种基于语义分析的证券资讯查重系统的实施方法的流程示意图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先介绍本发明可以提供的应用场景,如对证券资讯进行查重检测。
现有的查重检测方法一般是计算文本与文本之间的整体相似度,难以定位到具体某个句子是否抄袭,不适用于证券行业的资讯;并且需要预先建立文本库,造成成本过高的问题。
本发明第一实施例:
请参阅图1-2。
如图1所示,本发明实施例提供的一种基于语义分析的证券资讯查重方法,适用于在计算设备中执行,至少包括如下步骤:
S101、从撰写资讯的业务系统中实时采集最新的待检测资讯数据;
具体的,对于步骤S101,主要从多个业务系统实时采集最新的资讯到查重系统,在本实施例中主要通过Kafka从业务系统采集投顾撰写的最新资讯,并存储到Oracle、Mysql等关系型数据库。
S102、采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块;
具体的,对于步骤S102,将接收的资讯切分成一个个的片段。这么做的目的是为了好利用片段作为关键字去爬取搜索的结果,以便获得相关的网页文本。
需要说明的是,和现有查重检测方法不同的是,本实施例中这一步的切分会主要以句子为标准,由于证券资讯的特殊性,资讯中每个句子要求精炼的同时也非常关键,因此检测查重必须精准到每个句子。切分完成后,将结果提交到爬虫系统,等待接收爬虫的结果,然后将信息打包上传到语义引擎模块负责完成计算。
S103、分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;
具体的,对于步骤S103,主要从中控模块中获取资讯分块,并将每一个分块通过爬虫并行去互联网爬虫关联文本,通过一定的网页分块和网页信息结构化提取方法,将数据清洗拼装得到最终的爬虫文本,对资讯进行分块后再爬虫关联文本,能够提高检索的精确度。其中,策略采用队列先进先出的方式,以保障先来的资讯优先处理。
S104、采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。
具体的,对于步骤S104,主要计算投资顾问撰写的资讯与爬虫爬取的互联网文本的语义相似度。本实施例中主要采取simhash+原创基于最大文本片段(max-gram)的算法。
为了加快计算速度,本实施例首先会经过一个邻域检索模块,得到投顾撰写的资讯及其有相关性的爬虫文本候选集,常见的邻域检索算法有:KDTree、LSH、Simhash。不过LSH虽然速度快,但效果无法保证。KDTree算法又过于依赖语义词向量的质量,而且Kdtree算法还存在跨超平面检索的性能问题。Simhash算法则既能具有稳定性(哈希编码不需要预训练的数据),并且速度快,因此最终选择simhash作为邻域检索算法。
在经过邻域检索后,计算投资顾问撰写的资讯与爬虫爬取的互联网文本的语义相似度。目前已知度量相似度的算法,如:杰卡德系数法、余弦法、词向量匹配法、编辑距离法,但是这几种算法在证券资讯的场景表现平平。因此本发明实施例提供了一种原创的基于max-gram的文本相似度算法。该算法的主要思想为:先将句子A切分成最大的gram片段,最大的gram片段就是A本身,然后基于满足一定容错率去文本B中寻找是否相似的片段,允许一定的误差,比如一定的编辑距离。如果找到了,再从A中剔除这个片段。然后继续将A切分成下一个gram片段。
最后得到相似的gram片段列表,然后将列表中的gram片段按从大到小的顺序排序,给予一定的衰减率0.9。最后计算得到句子A和句子B的相似度。而这种算法最后测试精度远高于以上4中算法,能够有效提高检测查重的精度和效率。
如图2所示,最终语义引擎的相似度计算结果出来后,会给出一个总的相似度及相似的互联网依据。基于这个相似度的值去判定该文档的抄袭率。
在优选的实施例中,所述基于语义分析的证券资讯查重方法,还包括:
S105、根据所述语义相似度计算结果,在判断所述待检测资讯数据通过查重检测后,通过资讯发布平台将资讯推送至目标客户端。
具体的,只有通过所述基于语义分析的证券资讯查重方法的证券资讯,才能进行发布至目标客户端,以保证其原创性。
在优选的实施例中,所述待检测资讯数据包括作者信息、投顾证书编号、资讯点评对象、资讯点评依据信息以及资讯点评正文信息。
在优选的实施例中,所述邻域检索,具体为:
对所述待检测资讯数据中的每个句子取n-gram集合作为句子的特征,并对每个n-gram进行哈希编码,得到对应的64位二进制串;
对所述64位二进制串中的“1”进行保留,“0”取“-1”,乘以权重后进行累加;
对上述得到的累加值,正值记为“1”,负值记为“0”,得到每个句子的哈希码;其中,哈希码的相似度表示为海明距离;
根据句子之间的海明距离进行邻域搜索,得到与所述待检测数据有相关性的爬虫文本候选集。
具体的,对于邻域检索,本发明实施例采取了simhash作为邻域检索算法。hash是对目标的一种哈希编码,simhash作为一种局部敏感哈希算法,具有如下特性:保留目标的相似性。换句话说就是,如果A和B的相似度比较高,那么对应的哈希编码的相似度也会对应比较高。而在simhash中,哈希编码的相似度用海明距离表示。具体编码步骤如下:
对每个句子取n-gra集合作为句子的特征,并对每个n-gram进行哈希编码,得到64位的二进制串;
对于每个n-gram的哈希码,1保留,0取-1,乘以权重(默认都是1)进行累加;
最后得到的累加值,正为1负为0,记得到句子的哈希码;
根据句子之间的海明距离进行邻域搜索。
在优选的实施例中,所述语义相似度计算,具体为:
对所述待检测资讯数据中的句子A进行gram切分,其中,最大gram片段就是A本身;基于满足一定的容错率在最终爬虫数据中的句子B对比是否有重复的片段;若有,则提取该gram片段;
在提取gram片段后对gram长度减1,即对句子A切分成len(A)-1的片段,再次对比所述句子B中是否有重复的片段,若有,则提取对应的gram片段;
循环执行上一步,直至所述gram长度<=3;
将所有提取出的gram片段按长度从大到小排序,并给予预设的衰减率,计算得到句子A和句子B的相似度,得到语义相似度计算结果。
具体的,对于语义相似度计算,本发明实施例提供了一种原创的基于max-gram的文本相似度算法,下面举例说明该算法在具体实施例中的应用流程:
步骤1:A句子和B句子比较,用B来衡量A的抄袭程度应该是,对A进行gram切分,从最大gram也就是A本身开始比较,看下B中有没有一样的重复片段。如果有则取出来。
步骤2:gram长度减1,也就是对A切分成len(A)-1的片段,比如“今天去那吃饭”,切分成[”今天去那吃”,“天去那吃饭”]再次对比B中有没有重复的片段,再提取出来。
步骤3:循环执行步骤2,直到gram长度<=3。
步骤4:针对找到的相同gram片段,按最大长度排序,然后依次衰减0.9。
需要说明的是,对于排序后的gram片段,还要进一步进行衰减;假设句子A为“今天去哪吃饭比较划算?”,句子B为”今天去哪吃饭会比较划算?”,句子C为“今天去哪吃饭比较划算啊?”;则A-->B=[“今天去哪吃饭”,”比较划算”],A-->C=[“今天去哪吃饭比较划算”];很明显A和C的相似度更高,虽然重复的gram片段长度是一样的,都包含了A的全部文字,所以必须对gram数量做衰减,以体现这种差异性。所以A-->B:(6+4*0.9)/10=0.96,A--C:(10)/10=1.0。由此可见,对gram片段进行衰减能够提高相似度计算的精度。
除此之外,在对gram匹配时,还给予一定的容错度。如上述的A和B之所以没有匹配到A的本身,是因为在计算gram匹配时发现B中并没有A,所以在直到减少gram时,才发现有“今天去哪吃饭”这个gram。但是其实从我们的直观角度,A和B就是一样的,只是在B中多了一个无关紧要的“会”字。所以改进如下,在对gram在B中的重复查找时,并不一定要完全一致,而是给定一定的容错,使得即使有微小的差异,也定义为一致。这样改进后,效果会由A-->B=[“今天去哪吃饭”,”比较划算”]变成A-->B=[“今天去哪吃饭比较划算”]即认为A和B就是一致的。相似度计算结果会变成1.0。因此设定一定的容错度能够提高相似度计算时的精准度。
本实施例提供的一种基于语义分析的证券资讯查重方法,所述方法包括:从撰写资讯的业务系统中实时采集最新的待检测资讯数据;采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块;分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。本发明提出基于simhash算法和最大文本片段算法的查重检测方法,通过与爬虫系统有机结合,在不需建立文本库的前提下解决证券行业资讯原创检测的问题,能自动检测出资讯中抄袭的句子以及抄袭的原文,节省了大量的人力成本和机器成本,并提高查重的精确度和效率。
本发明第二实施例:
请参阅图3-7。
如图3所示,本发明另一实施例还提供了一种基于语义分析的证券资讯查重系统,包括:
资讯采集模块100,用于从撰写资讯的业务系统中实时采集最新的待检测资讯数据;
具体的,对于资讯采集模块100,主要从多个业务系统实时采集最新待检测的资讯到查重系统,包括作者信息、投顾证书编号、资讯点评对象、资讯点评依据、资讯点评正文等信息。在本实施例中主要通过Kafka从业务系统采集投顾撰写的最新资讯,并存储到Oracle、Mysql等关系型数据库。
中控模块200,用于采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块后提交到爬虫系统模块;从爬虫系统模块中获取所述资讯分块的爬虫数据,并将所述待检测资讯数据和爬虫数据提交至语义引擎计算模块,以使语义引擎计算模块完成语义相似度的计算;
具体的,如图4所示,对于中控模块200,接收输入资讯,启用文本切分算法对输入资讯进行分块,然后将每一个分块提交到爬虫系统模块300。从爬虫系统模块300获取资讯分块的爬虫结果,把资讯内容和爬虫结果提交给语义引擎甲酸模块400,供语义引擎完成语义算法的计算。
需要说明的是,和现有查重检测方法不同的是,本实施例中这一步的切分会主要以句子为标准,由于证券资讯的特殊性,资讯中每个句子要求精炼的同时也非常关键,因此检测查重必须精准到每个句子。切分完成后,将结果提交到爬虫系统,等待接收爬虫的结果,然后将信息打包上传到语义引擎模块负责完成计算。
爬虫系统模块300,用于分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;
具体的,对于爬虫系统模块300,如图5所示,主要从中控模块200中获取资讯分块,并将每一个分块通过爬虫并行去互联网爬虫关联文本,通过一定的网页分块和网页信息结构化提取方法,将数据清洗拼装得到最终的爬虫文本,对资讯进行分块后再爬虫关联文本,能够提高检索的精确度。其中,策略采用队列先进先出的方式,以保障先来的资讯优先处理。
语义引擎计算模块400,用于采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。
具体的,对于语义引擎计算模块400,如图6所示,该模块主要完成基于语义分析的查重算法实现,计算投资顾问撰写的资讯与爬虫文本的语义相似度,并给出查重的结果。
为了加快计算速度,本实施例首先会经过一个邻域检索模块,得到投顾撰写的资讯及其有相关性的爬虫文本候选集,常见的邻域检索算法有:KDTree、LSH、Simhash。不过LSH虽然速度快,但效果无法保证。KDTree算法又过于依赖语义词向量的质量,而且Kdtree算法还存在跨超平面检索的性能问题。Simhash算法则既能具有稳定性(哈希编码不需要预训练的数据),并且速度快,因此最终选择simhash作为邻域检索算法。
在经过领域检索后,计算投资顾问撰写的资讯与爬虫爬取的互联网文本的语义相似度。目前已知度量相似度的算法,如:杰卡德系数法、余弦法、词向量匹配法、编辑距离法,但是这几种算法在证券资讯的场景表现平平。因此本发明实施例提供了一种原创的基于max-gram的文本相似度算法。该算法的主要思想为:先将句子A切分成最大的gram片段,最大的gram片段就是A本身,然后基于满足一定容错率去文本B中寻找是否相似的片段,允许一定的误差,比如一定的编辑距离。如果找到了,再从A中剔除这个片段。然后继续将A切分成下一个gram片段。
最后得到相似的gram片段列表,然后将列表中的gram片段按从大到小的顺序排序,给予一定的衰减率0.9。最后计算得到句子A和句子B的相似度。而这种算法最后测试精度远高于以上4种算法,能够有效提高检测查重的精度和效率。
最终语义引擎的相似度计算结果出来后,会给出一个总的相似度及相似的互联网依据。基于这个相似度的值去判定该文档的抄袭率。
在优选的实施例中,所述基于语义分析的证券资讯查重系统,还包括:
资讯发布模块500,用于根据所述语义相似度计算结果,在判断所述待检测资讯数据通过查重检测后,通过资讯发布平台将资讯推送至目标客户端。
具体的,对于资讯发布模块500,该模块将通过语义查重算法检测的资讯进行发布至目标客户端。发布通过本查重系统检测的资讯文本,保证其原创性。
在优选的实施例中,所述待检测资讯数据包括作者信息、投顾证书编号、资讯点评对象、资讯点评依据信息以及资讯点评正文信息。
在优选的实施例中,所述邻域检索,具体为:
对所述待检测资讯数据中的每个句子取n-gram集合作为句子的特征,并对每个n-gram进行哈希编码,得到对应的64位二进制串;
对所述64位二进制串中的“1”进行保留,“0”取“-1”,乘以权重后进行累加;
对上述得到的累加值,正值记为“1”,负值记为“0”,得到每个句子的哈希码;其中,哈希码的相似度表示为海明距离;
根据句子之间的海明距离进行邻域搜索,得到与所述待检测数据有相关性的爬虫文本候选集。
具体的,对于邻域检索,本发明实施例采取了simhash作为邻域检索算法。hash是对目标的一种哈希编码,simhash作为一种局部敏感哈希算法,具有如下特性:保留目标的相似性。换句话说就是,如果A和B的相似度比较高,那么对应的哈希编码的相似度也会对应比较高。而在simhash中,哈希编码的相似度用海明距离表示。具体编码步骤如下:
对每个句子取n-gram集合作为句子的特征,并对每个n-gram进行哈希编码,得到64位的二进制串;
对于每个n-gram的哈希码,1保留,0取-1,乘以权重(默认都是1)进行累加;
最后得到的累加值,正为1负为0,记得到句子的哈希码;
根据句子之间的海明距离进行邻域搜素。
如图7所示,本发明实施例还提供了一种基于语义分析的证券资讯查重系统的实施方法。资讯采集模块100从多个业务系统实时采集最新的资讯到查重系统,中控模块200将接收的资讯切分成一个个的片段,利用片段作为关键字去爬取搜索的结果,获得相关的网页文本。这一步的切分会主要以句子为标准。切分完成后,将结果提交到爬虫系统模块300,等待接收爬虫的结果,然后将信息打包上传到语义引擎计算模块400负责完成计算,最终相似度计算结果出来后,会给出一个总的相似度及相似的互联网依据。基于这个相似度的值去判定该文档的抄袭率;资讯发布模块500将通过本文查重检测的原创资讯通过微信推送平台、手机短信等方式推送给目标客户。
在优选的实施例中,所述语义相似度计算,具体为:
对所述待检测资讯数据中的句子A进行gram切分,其中,最大gram片段就是A本身;基于满足一定的容错率在最终爬虫数据中的句子B对比是否有重复的片段;若有,则提取该gram片段;
在提取gram片段后对gram长度减1,即对句子A切分成len(A)-1的片段,再次对比所述句子B中是否有重复的片段,若有,则提取对应的gram片段;
循环执行上一步,直至所述gram长度<=3;
将所有提取出的gram片段按长度从大到小排序,并给予预设的衰减率,计算得到句子A和句子B的相似度,得到语义相似度计算结果。
具体的,对于语义相似度计算,本发明实施例提供了一种原创的基于max-gram的文本相似度算法,下面举例说明该算法在具体实施例中的应用流程:
步骤1:A句子和B句子比较,用B来衡量A的抄袭程度应该是,对A进行gram切分,从最大gram也就是A本身开始比较,看下B中有没有一样的重复片段。如果有则取出来。
步骤2:gram长度减1,也就是对A切分成len(A)-1的片段,比如“今天去那吃饭”,切分成[”今天去那吃”,“天去那吃饭”]再次对比B中有没有重复的片段,再提取出来。
步骤3:循环执行步骤2,直到gram长度<=3。
步骤4:针对找到的相同gram片段,按最大长度排序,然后依次衰减0.9。
需要说明的是,对于排序后的gram片段,还要进一步进行衰减;假设句子A为“今天去哪吃饭比较划算?”,句子B为”今天去哪吃饭会比较划算?”,句子C为“今天去哪吃饭比较划算啊?”;则A-->B=[“今天去哪吃饭”,”比较划算”],A-->C=[“今天去哪吃饭比较划算”];很明显A和C的相似度更高,虽然重复的gram片段长度是一样的,都包含了A的全部文字,所以必须对gram数量做衰减,以体现这种差异性。所以A-->B:(6+4*0.9)/10=0.96,A--C:(10)/10=1.0。由此可见,对gram片段进行衰减能够提高相似度计算的精度。
除此之外,在对gram片段匹配时,还给予一定的容错度。如上述的A和B之所以没有匹配到A的本身,是因为在计算gram匹配时发现B中并没有A,所以在直到减少gram时,才发现有“今天去哪吃饭”这个gram。但是其实从我们的直观角度,A和B就是一样的,只是在B中多了一个无关紧要的“会”字。所以改进如下,在对gram在B中的重复查找时,并不一定要完全一致,而是给定一定的容错,使得即使有微小的差异,也定义为一致。这样改进后,效果会由A-->B=[“今天去哪吃饭”,”比较划算”]变成A-->B=[“今天去哪吃饭比较划算”]即认为A和B就是一致的。相似度计算结果会变成1.0。因此设定一定的容错度能够提高相似度计算时的精准度。
本实施例提供的一种基于语义分析的证券资讯查重系统,包括:资讯采集模块,用于从撰写资讯的业务系统中实时采集最新的待检测资讯数据;中控模块,用于采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块后提交到爬虫系统模块;从爬虫系统模块中获取所述资讯分块的爬虫数据,并将所述待检测资讯数据和爬虫数据提交至语义引擎计算模块,以使语义引擎计算模块完成语义相似度的计算;爬虫系统模块,用于分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;语义引擎计算模块,用于采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。本发明提出基于simhash算法和最大文本片段算法的查重检测方法,通过与爬虫系统有机结合,在不需建立文本库的前提下解决证券行业资讯原创检测的问题,能自动检测出资讯中抄袭的句子以及抄袭的原文,节省了大量的人力成本和机器成本,并提高查重的精确度和效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改进和变形也视为本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ReaD-Only Memory,ROM)或随机存储记忆体(RanDom AccessMemory,RAM)等。
Claims (10)
1.一种基于语义分析的证券资讯查重方法,适用于在计算设备中执行,其特征在于,至少包括如下步骤:
从撰写资讯的业务系统中实时采集最新的待检测资讯数据;
采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块;
分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;
采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。
2.根据权利要求1所述的基于语义分析的证券资讯查重方法,其特征在于,还包括:
根据所述语义相似度计算结果,在判断所述待检测资讯数据通过查重检测后,通过资讯发布平台将资讯推送至目标客户端。
3.根据权利要求1所述的基于语义分析的证券资讯查重方法,其特征在于,所述待检测资讯数据包括作者信息、投顾证书编号、资讯点评对象、资讯点评依据信息以及资讯点评正文信息。
4.根据权利要求1所述的基于语义分析的证券资讯查重方法,其特征在于,所述邻域检索,具体为:
对所述待检测资讯数据中的每个句子取n-gram集合作为句子的特征,并对每个n-gram进行哈希编码,得到对应的64位二进制串;
对所述64位二进制串中的“1”进行保留,“0”取“-1”,乘以权重后进行累加;
对上述得到的累加值,正值记为“1”,负值记为“0”,得到每个句子的哈希码;其中,哈希码的相似度表示为海明距离;
根据句子之间的海明距离进行邻域搜索,得到与所述待检测数据有相关性的爬虫文本候选集。
5.根据权利要求1所述的基于语义分析的证券资讯查重方法,其特征在于,所述语义相似度计算,具体为:
对所述待检测资讯数据中的句子A进行gram切分,其中,最大gram片段就是A本身;基于满足一定的容错率在最终爬虫数据中的句子B对比是否有重复的片段;若有,则提取该gram片段;
在提取gram片段后对gram长度减1,即对句子A切分成len(A)-1的片段,再次对比所述句子B中是否有重复的片段,若有,则提取对应的gram片段;
循环执行上一步,直至所述gram长度<=3;
将所有提取出的gram片段按长度从大到小排序,并给予预设的衰减率,计算得到句子A和句子B的相似度,得到语义相似度计算结果。
6.一种基于语义分析的证券资讯查重系统,其特征在于,包括:
资讯采集模块,用于从撰写资讯的业务系统中实时采集最新的待检测资讯数据;
中控模块,用于采用文本切分算法对所述待检测资讯数据进行分块处理,得到若干个资讯分块后提交到爬虫系统模块;从爬虫系统模块中获取所述资讯分块的爬虫数据,并将所述待检测资讯数据和爬虫数据提交至语义引擎计算模块,以使语义引擎计算模块完成语义相似度的计算;
爬虫系统模块,用于分别对每个所述资讯分块进行爬虫处理,得到对应的关联文本后采用网页分块方法和网页信息结构化提取方法进行清洗拼装,得到最终爬虫数据;
语义引擎计算模块,用于采用simhash邻域算法和最大文本片段算法对所述待检测资讯数据和所述最终爬虫数据依次进行邻域检索和语义相似度计算,最终得到语义相似度计算结果。
7.根据权利要求6所述的基于语义分析的证券资讯查重系统,其特征在于,还包括:
资讯发布模块,用于根据所述语义相似度计算结果,在判断所述待检测资讯数据通过查重检测后,通过资讯发布平台将资讯推送至目标客户端。
8.根据权利要求6所述的基于语义分析的证券资讯查重系统,其特征在于,所述待检测资讯数据包括作者信息、投顾证书编号、资讯点评对象、资讯点评依据信息以及资讯点评正文信息。
9.根据权利要求6所述的基于语义分析的证券资讯查重系统,其特征在于,所述邻域检索,具体为:
对所述待检测资讯数据中的每个句子取n-gram集合作为句子的特征,并对每个n-gram进行哈希编码,得到对应的64位二进制串;
对所述64位二进制串中的“1”进行保留,“0”取“-1”,乘以权重后进行累加;
对上述得到的累加值,正值记为“1”,负值记为“0”,得到每个句子的哈希码;其中,哈希码的相似度表示为海明距离;
根据句子之间的海明距离进行邻域搜索,得到与所述待检测数据有相关性的爬虫文本候选集。
10.根据权利要求6所述的基于语义分析的证券资讯查重系统,其特征在于,所述语义相似度计算,具体为:
对所述待检测资讯数据中的句子A进行gram切分,其中,最大gram片段就是A本身;基于满足一定的容错率在最终爬虫数据中的句子B对比是否有重复的片段;若有,则提取该gram片段;
在提取gram片段后对gram长度减1,即对句子A切分成len(A)-1的片段,再次对比所述句子B中是否有重复的片段,若有,则提取对应的gram片段;
循环执行上一步,直至所述gram长度<=3;
将所有提取出的gram片段按长度从大到小排序,并给予预设的衰减率,计算得到句子A和句子B的相似度,得到语义相似度计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910520287.3A CN110321466B (zh) | 2019-06-14 | 2019-06-14 | 一种基于语义分析的证券资讯查重方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910520287.3A CN110321466B (zh) | 2019-06-14 | 2019-06-14 | 一种基于语义分析的证券资讯查重方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321466A true CN110321466A (zh) | 2019-10-11 |
CN110321466B CN110321466B (zh) | 2023-09-15 |
Family
ID=68119762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910520287.3A Active CN110321466B (zh) | 2019-06-14 | 2019-06-14 | 一种基于语义分析的证券资讯查重方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321466B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738020A (zh) * | 2019-10-25 | 2020-01-31 | 重庆誉存大数据科技有限公司 | 一种基于spark的批量方法 |
CN111259218A (zh) * | 2020-01-09 | 2020-06-09 | 中国搜索信息科技股份有限公司 | 一种原创新闻信息识别方法 |
CN111428180A (zh) * | 2020-03-20 | 2020-07-17 | 名创优品(横琴)企业管理有限公司 | 一种网页去重方法、装置和设备 |
CN111552864A (zh) * | 2020-03-20 | 2020-08-18 | 上海恒生聚源数据服务有限公司 | 一种资讯去重的方法、系统、存储介质及电子设备 |
CN112182337A (zh) * | 2020-10-14 | 2021-01-05 | 数库(上海)科技有限公司 | 从海量短新闻中识别相似新闻的方法及相关设备 |
CN112463782A (zh) * | 2020-12-03 | 2021-03-09 | 北京三维天地科技股份有限公司 | 一种基于优化的编辑距离的数据清洗方法及系统 |
CN113326687A (zh) * | 2021-05-19 | 2021-08-31 | 多益网络有限公司 | 一种简历查重方法、简历查重系统 |
CN113553839A (zh) * | 2020-04-26 | 2021-10-26 | 北京中科闻歌科技股份有限公司 | 一种文本原创识别方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491116A (zh) * | 2012-06-12 | 2014-01-01 | 深圳市世纪光速信息技术有限公司 | 正文相关的结构化数据的处理方法及装置 |
CN104679728A (zh) * | 2015-02-06 | 2015-06-03 | 中国农业大学 | 一种文本相似度检测方法 |
CN105279272A (zh) * | 2015-10-30 | 2016-01-27 | 南京未来网络产业创新有限公司 | 一种基于分布式网络爬虫的内容聚合方法 |
CN106055614A (zh) * | 2016-05-26 | 2016-10-26 | 天津海量信息技术股份有限公司 | 基于多个语义摘要的内容相似性分析方法 |
CN107729392A (zh) * | 2017-09-19 | 2018-02-23 | 广州市妇女儿童医疗中心 | 文本结构化方法、装置、系统和非易失性存储介质 |
CN108197163A (zh) * | 2017-12-14 | 2018-06-22 | 上海银江智慧智能化技术有限公司 | 一种基于裁判文书的结构化处理方法 |
-
2019
- 2019-06-14 CN CN201910520287.3A patent/CN110321466B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491116A (zh) * | 2012-06-12 | 2014-01-01 | 深圳市世纪光速信息技术有限公司 | 正文相关的结构化数据的处理方法及装置 |
CN104679728A (zh) * | 2015-02-06 | 2015-06-03 | 中国农业大学 | 一种文本相似度检测方法 |
CN105279272A (zh) * | 2015-10-30 | 2016-01-27 | 南京未来网络产业创新有限公司 | 一种基于分布式网络爬虫的内容聚合方法 |
CN106055614A (zh) * | 2016-05-26 | 2016-10-26 | 天津海量信息技术股份有限公司 | 基于多个语义摘要的内容相似性分析方法 |
CN107729392A (zh) * | 2017-09-19 | 2018-02-23 | 广州市妇女儿童医疗中心 | 文本结构化方法、装置、系统和非易失性存储介质 |
CN108197163A (zh) * | 2017-12-14 | 2018-06-22 | 上海银江智慧智能化技术有限公司 | 一种基于裁判文书的结构化处理方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738020A (zh) * | 2019-10-25 | 2020-01-31 | 重庆誉存大数据科技有限公司 | 一种基于spark的批量方法 |
CN111259218A (zh) * | 2020-01-09 | 2020-06-09 | 中国搜索信息科技股份有限公司 | 一种原创新闻信息识别方法 |
CN111259218B (zh) * | 2020-01-09 | 2020-10-27 | 中国搜索信息科技股份有限公司 | 一种原创新闻信息识别方法 |
CN111428180A (zh) * | 2020-03-20 | 2020-07-17 | 名创优品(横琴)企业管理有限公司 | 一种网页去重方法、装置和设备 |
CN111552864A (zh) * | 2020-03-20 | 2020-08-18 | 上海恒生聚源数据服务有限公司 | 一种资讯去重的方法、系统、存储介质及电子设备 |
CN111552864B (zh) * | 2020-03-20 | 2023-09-12 | 上海恒生聚源数据服务有限公司 | 一种资讯去重的方法、系统、存储介质及电子设备 |
CN111428180B (zh) * | 2020-03-20 | 2022-02-08 | 创优数字科技(广东)有限公司 | 一种网页去重方法、装置和设备 |
CN113553839A (zh) * | 2020-04-26 | 2021-10-26 | 北京中科闻歌科技股份有限公司 | 一种文本原创识别方法、装置、电子设备及存储介质 |
CN112182337B (zh) * | 2020-10-14 | 2021-10-22 | 数库(上海)科技有限公司 | 从海量短新闻中识别相似新闻的方法及相关设备 |
CN112182337A (zh) * | 2020-10-14 | 2021-01-05 | 数库(上海)科技有限公司 | 从海量短新闻中识别相似新闻的方法及相关设备 |
CN112463782A (zh) * | 2020-12-03 | 2021-03-09 | 北京三维天地科技股份有限公司 | 一种基于优化的编辑距离的数据清洗方法及系统 |
CN112463782B (zh) * | 2020-12-03 | 2022-03-18 | 北京三维天地科技股份有限公司 | 一种基于优化的编辑距离的数据清洗方法及系统 |
CN113326687A (zh) * | 2021-05-19 | 2021-08-31 | 多益网络有限公司 | 一种简历查重方法、简历查重系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110321466B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321466A (zh) | 一种基于语义分析的证券资讯查重方法及系统 | |
Mitra et al. | An automatic approach to identify word sense changes in text media across timescales | |
CN103514183B (zh) | 基于交互式文档聚类的信息检索方法及系统 | |
CN103699625B (zh) | 基于关键词进行检索的方法及装置 | |
CN110909164A (zh) | 一种基于卷积神经网络的文本增强语义分类方法及系统 | |
KR101508260B1 (ko) | 문서 특징을 반영하는 요약문 생성 장치 및 방법 | |
CN106844341B (zh) | 基于人工智能的新闻摘要提取方法及装置 | |
CN110309446A (zh) | 文本内容快速去重方法、装置、计算机设备及存储介质 | |
CN111444330A (zh) | 提取短文本关键词的方法、装置、设备及存储介质 | |
EP2577521A2 (en) | Detection of junk in search result ranking | |
CN111767716A (zh) | 企业多级行业信息的确定方法、装置及计算机设备 | |
CN111291177A (zh) | 一种信息处理方法、装置和计算机存储介质 | |
CN110309234A (zh) | 一种基于知识图谱的客户持仓预警方法、装置及存储介质 | |
CN111222028B (zh) | 一种数据智能爬取方法 | |
Singh et al. | Writing Style Change Detection on Multi-Author Documents. | |
CN107527289B (zh) | 一种投资组合行业配置方法、装置、服务器和存储介质 | |
CN107908649B (zh) | 一种文本分类的控制方法 | |
CN111639250B (zh) | 企业描述信息获取方法、装置、电子设备及存储介质 | |
CN110705285B (zh) | 一种政务文本主题词库构建方法、装置、服务器及可读存储介质 | |
Soloshenko et al. | Establishing semantic similarity of the cluster documents and extracting key entities in the problem of the semantic analysis of news texts | |
CN112579781A (zh) | 文本归类方法、装置、电子设备及介质 | |
CN116719997A (zh) | 政策信息推送方法、装置及电子设备 | |
CN116366312A (zh) | 一种Web攻击检测方法、装置及存储介质 | |
Konagala et al. | Fake news detection using deep learning: supervised fake news detection analysis in social media with semantic similarity method | |
WO2016203231A1 (en) | A method and system for processing data using an augmented natural language processing engine |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |