CN107085568B - 一种文本相似度判别方法及装置 - Google Patents

一种文本相似度判别方法及装置 Download PDF

Info

Publication number
CN107085568B
CN107085568B CN201710198054.7A CN201710198054A CN107085568B CN 107085568 B CN107085568 B CN 107085568B CN 201710198054 A CN201710198054 A CN 201710198054A CN 107085568 B CN107085568 B CN 107085568B
Authority
CN
China
Prior art keywords
text
sentences
sentence
detected
similarity
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.)
Active
Application number
CN201710198054.7A
Other languages
English (en)
Other versions
CN107085568A (zh
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 CN201710198054.7A priority Critical patent/CN107085568B/zh
Publication of CN107085568A publication Critical patent/CN107085568A/zh
Application granted granted Critical
Publication of CN107085568B publication Critical patent/CN107085568B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文本相似度判别方法及装置,方法包括:获取待测文本;解析待测文本,提取至少部分待测文本的句子;在预先建立的全量数据库中查询至少部分待测文本的句子;根据查询结果生成待测文本与第一文本的相似度。本申请的全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系,全量数据库中的每个句子对应唯一的第一文本名称。由于保证了全量数据库中存储的句子与第一文本的一一对应关系,在全量数据库中查询句子时,可以得到唯一的匹配结果。本发明的全量数据库中已剔除了同时对应一个以上第一文本的句子,从而提高了句子的命中率和查找目标第一文本的速度。

Description

一种文本相似度判别方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种文本相似度判别方法及装置。
背景技术
目前,对于文本相似度判别主要采用基于hash的相似度计算方法,该方法是一种基于概率的高维度数据的维度削减的方法,主要用于大规模数据的压缩与实时或者快速的计算场景下,基于hash方法的相似度计算经常用于高维度大数据量的情况下,将利用原始信息不可存储与计算的问题转化为映射空间的可存储计算问题,在海量文本重复性判断方面,近似文本查询方面有比较多的应用,例如***的网页去重,*** news的协同过滤等都是采用hash方法进行近似相似度的计算,比较常见的应用场景包括Near-duplicatedetection、Image similarity identification、nearest neighbor search,常用的一些方法包括I-match,Shingling、Locality-Sensitive Hashing族等方法。
但是,本发明的发明人发现:现有技术中在大量文本重复性判断方面,至少存在以下问题:对分词分句后的结果误判率高、效率低,比如两部原著小说都有“说时迟那时快”一句,使用包含“说时迟那时快”的小说章节去判断章节相似度时,容易导致误判,且工作量大,判断效率低。
发明内容
有鉴于此,本发明提供了一种文本相似度判别方法,包括:
获取待测文本;
解析所述待测文本,提取至少部分待测文本的句子;
在预先建立的全量数据库中查询所述至少部分待测文本的句子;所述全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系;其中,全量数据库中的每个句子对应唯一的第一文本名称;
根据查询结果生成待测文本与第一文本的相似度。
进一步地,在所述预先建立的全量数据库中查询所述至少部分待测文本的句子之前还包括向全量数据库写入数据的步骤;所述向全量数据库写入数据包括:
获取至少一个第一文本;
解析所述第一文本,提取所述第一文本中的句子;
在全量数据库中查询所述第一文本中的句子;
若找到,则从所述全量数据库中删除该句子的相关记录;
若未找到,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库。
进一步地,所述解析所述第一文本,提取所述第一文本中的句子之后,还包括:
判断所述第一文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
进一步地,所述解析所述待测文本,提取至少部分待测文本的句子之后,还包括:
判断所述至少部分待测文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
进一步地,所述根据查询结果生成待测文本与第一文本的相似度,包括:
获取查找到的句子及所述查找到的句子对应的第一文本的名称;
根据查找到的句子中与每个第一文本的名称对应的句子的数目生成每个第一文本的第一匹配计数;
生成第一句子总数,所述第一总数为所述至少部分待测文本的句子总数;
根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度。
进一步地,所述解析所述待测文本,提取至少部分待测文本的句子,包括:
解析所述待测文本,获取所述待测文本的句子;
从所述待测文本的句子中提取预定比例的句子;
所述根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度之后,还包括:
判断所述相似度是否大于预设的阈值;
若否,则从所述待测文本的句子中剩余的句子中提取至少部分句子,返回在预先建立的全量数据库中查询所述至少部分句子的步骤。
进一步地,所述向全量数据库写入数据的步骤之后,还包括:向每个第一文本的单本数据库写入数据的步骤;所述向每个第一文本的单本数据库写入数据包括:
将全量数据库的句子对应存储到所述句子对应的第一文本的单本数据库。
进一步地,所述解析所述待测文本,提取至少部分待测文本的句子包括:
解析所述待测文本,提取第一预定部分待测文本的句子和第二预定部分待测文本的句子;
所述在预先建立的全量数据库中查询所述至少部分待测文本的句子包括:
在所述全量数据库中查询所述第一预定部分待测文本的句子,获取查找到的句子对应的第一文本的名称;
所述在预先建立的全量数据库中查询所述至少部分待测文本的句子之后,还包括:
根据获取的第一文本的名称分别在对应的单本数据库中查询所述第二预定部分待测文本的句子;
所述根据查询结果生成待测文本与第一文本的相似度,包括:
根据第二预定部分待测文本的句子总数生成第二句子总数;
获取每个第一文本的单本数据库中查找到的句子的数目,根据所述数目生成每个第一文本的第二匹配计数;
根据每个第一文本的第二匹配计数与第二句子总数生成待测文本与每个第一文本的相似度。
另一方面,本发明提供了一种文本相似度判别装置,包括:
待测文本获取模块,用于获取待测文本;
待测文本句子提取模块,用于解析所述待测文本,提取至少部分待测文本的句子;
查询模块,用于在预先建立的全量数据库中查询所述至少部分待测文本的句子;所述全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系;其中,全量数据库中的每个句子对应唯一的第一文本名称;
相似度判别模块,用于根据查询结果生成待测文本与第一文本的相似度。
进一步地,还包括全量数据库数据加载模块,所述全量数据库数据加载模块包括:
第一文本获取单元,用于获取至少一个第一文本;
第一文本句子提取单元,用于解析所述第一文本,提取所述第一文本中的句子;
第一查询单元,用于在全量数据库中查询所述第一文本中的句子;
删除单元,用于在全量数据库中查找到所述第一文本中的句子时,从所述全量数据库中删除该句子的相关记录;
存储单元,用于在全量数据库中未查找到所述第一文本中的句子时,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库。
进一步地,所述装置还包括:
长度判断单元,用于判断所述第一文本的句子的长度是否小于预设的长度;
句子删除单元,用于在第一文本的句子的长度小于预设的长度时,删除所述句子。
进一步地,所述装置还包括:
待测句子长度判断模块,用于判断所述至少部分待测文本的句子的长度是否小于预设的长度;
待测句子删除模块,用于在至少部分待测文本的句子的长度小于预设的长度时,则删除所述句子。
进一步地,所述相似度判别模块包括:
第一获取单元,用于获取查找到的句子及所述查找到的句子对应的第一文本的名称;
第一匹配计数生成单元,用于根据查找到的句子中与每个第一文本的名称对应的句子的数目生成每个第一文本的第一匹配计数;
第一句子总数生成单元,用于生成第一句子总数,所述第一总数为所述至少部分待测文本的句子总数;
第一相似度生成单元,用于根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度。
进一步地,所述待测文本句子提取模块包括:
第二获取单元,用于解析所述待测文本,获取所述待测文本的句子;
第一提取单元,用于从所述待测文本的句子中提取预定比例的句子;
所述装置还包括:
相似度判断模块,用于判断所述相似度是否大于预设的阈值;
所述待测文本句子提取模块还包括:第二提取单元,用于从所述待测文本的句子中剩余的句子中提取至少部分句子。
进一步地,所述装置还包括单本数据库数据加载模块,用于将全量数据库的句子对应存储到所述句子对应的第一文本的单本数据库。
进一步地,所述待测文本句子提取模块包括:
第三提取单元,用于解析所述待测文本,提取第一预定部分待测文本的句子和第二预定部分待测文本的句子;
所述查询模块包括:
第二查询单元,用于在所述全量数据库中查询所述第一预定部分待测文本的句子,获取查找到的句子对应的第一文本的名称;
所述装置还包括:
单本查询模块,用于根据获取的第一文本的名称分别在对应的单本数据库中查询所述第二预定部分待测文本的句子;
所述相似度判别模块包括:
第二句子总数生成单元,用于根据第二预定部分待测文本的句子总数生成第二句子总数;
第二匹配计数生成单元,用于获取每个第一文本的单本数据库中查找到的句子的数目,根据所述数目生成每个第一文本的第二匹配计数;
第二相似度生成单元,用于根据每个第一文本的第二匹配计数与第二句子总数生成待测文本与每个第一文本的相似度。
本发明还提供了一种服务器,包含上述装置。
综上,本发明提供了一种文本相似度判别方法及装置,首先获取待测文本,解析所述待测文本,提取至少部分待测文本的句子;在预先建立的全量数据库中查询所述至少部分待测文本的句子;根据查询结果生成待测文本与第一文本的相似度。本申请的全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系,全量数据库中的每个句子对应唯一的第一文本名称。由于保证了全量数据库中存储的句子与第一文本的一一对应关系,在全量数据库中查询句子时,可以得到唯一的匹配结果。也就是说,本发明的全量数据库中已剔除了同时对应一个以上第一文本的句子,从而提高了句子的命中率和查找目标第一文本的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的文本相似度判别方法的流程图;
图2是本发明实施例提供的向全量数据库写入数据的流程图;
图3是本发明实施例提供的方法中步骤S203-S205的流程图;
图4是本发明实施例提供的查询结果生成待测文本与第一文本的相似度的流程图;
图5是本发明实施例提供的另一种文本相似度判别方法的流程图;
图6是本发明实施例提供的文本相似度判别装置的结构图;
图7是本发明实施例提供的另一种文本相似度判别装置的结构图;
图8是本发明实施例提供的相似度判别模块的结构图;
图9是本发明实施例提供的待测文本句子提取模块的结构图;
图10是本发明实施例提供的文本相似度判别装置的又一结构图;
图11是本发明实施例提供的文本相似度判别装置的再一结构图;
图12是本发明实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本发明提供了一种文本相似度判别方法,如图1所示,所述方法至少包括以下步骤:
S101,获取待测文本。
文本,是指书面语言的表现形式,从文学角度说,通常是具有完整、***含义(Message)的一个句子或多个句子的组合。一个文本可以是一个句子(Sentence)、一个段落(Paragraph)或者一个篇章(Discourse)。广义“文本”:任何由书写所固定下来的任何话语。狭义“文本”:由语言文字组成的文学实体,代指“作品”,相对于作者、世界构成一个独立、自足的***。
文本主要用于记载和储存文字信息,而不是图像、声音和格式化数据。常见的文本文档的扩展名有:.txt、.doc.、.docx、.wps等。
本申请中的待测文本可以包含一个或多个句子、段落、篇章。例如,文本可以是一部小说或小说的一个章节。
待测文本可以通过手动或自动获取要测试的文本的索引信息,例如名称、作者;将索引信息保存到预设的待测文本数据库;根据所述索引信息到指定网站搜索获取待测文本,保存到待测文本数据库。
需要说明的是,本申请所述的文本包括待测文本和第一文本,所述待测文本和第一文本可以是一个独立的文本文件,也可以包含若干个文本文件。举例来说,待测文本可以是一部小说,该小说可以以一个.txt文件的形式存储,也可以拆分为多个.txt文件。
S102,解析所述待测文本,提取至少部分待测文本的句子。
具体地,解析所述待测文本,提取至少部分待测文本的句子可以包括:
根据预设的标点符号对待测文本进行分句。预设的标点符号为用于标识句子的标点符号,例如:逗号、句号、分号、感叹号、问号、省略号、破折号、冒号、引号。
首先,在待测文本中查找预设的所述标点符号;若找到,则根据两个相邻的标点符号生成一个句子。
生成句子后,提取至少部分待测文本的句子;即,提取部分或全部待测文本的句子。
当待测文本包含多个子文件时,所述至少部分待测文本可以为待测文本的一个或多个子文件。
作为一种可选的实施例,步骤S102之后,还可以包括:
判断所述待测文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
也就是说,本申请通过筛选去掉了待测文本中小于预设长度的句子,只留下较长的句子。考虑到较短的句子往往容易在多个文本中出现,例如“说时迟那时快”经常出现在多个小说中。因此,短句子不能作为单个文本的特有句子,在重复性判定的过程中,这些句子不能作为判别依据。本申请预先删除了短句子,能够提高相似度判断的效率,并能提高目标原著查找的准确性。
在具体的操作中,可以预先设置配置项,用于存储预设的长度。预设的长度可以通过改变配置项动态改变,进一步增强了本发明方法的灵活性。
本发明的发明人经过实验发现:长度不小于10个字符的句子具有较低的重复性,预设的长度可以为10个字符。
S103,在预先建立的全量数据库中查询所述至少部分待测文本的句子;所述全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系;其中,全量数据库中的每个句子对应唯一的第一文本名称。
所述全量数据库中存储有一个或多个第一文本的句子,每个句子与该句子对应的第一文本名称具有唯一的映射关系。
本申请中的第一文本是指导入到全量数据库中的文本,在具体的应用场景中,第一文本可以是原著文本、授权文本等,凡是作为判别依据的文本都可称为第一文本。第一文本中文本的概念与步骤S101中文本的概念相同。本申请中的第一文本可以包含一个或多个句子、段落、篇章。例如,第一文本可以是一部小说或小说的一个章节。
数据库以数据表的形式存储数据,数据表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行,这样的一列或多列称为数据表的主键,通过它可强制约束数据表的实体完整性。本申请的全量数据库中以句子为主键存储句子和句子对应的第一文本名称的映射关系。
所述全量数据库中的每个句子都仅对应一个第一文本名称,也就是说,在全量数据库中存储的句子都是其所属的第一文本特有的,其他第一文本不包含该句子。一个第一文本可以对应多个句子,但一个句子只对应一个第一文本。由于保证了全量数据库中存储的句子与第一文本的一一对应关系,在全量数据库中查询句子时,可以得到唯一的匹配结果。也就是说,本发明的全量数据库中已剔除了同时对应一个以上第一文本的句子,从而提高了句子的命中率和查找目标第一文本的速度。
在一个可选的实施例中,在所述预先建立的全量数据库中查询所述至少部分待测文本的句子之前还包括向全量数据库写入数据的步骤;向全量数据库写入数据的过程即为构建全量数据库的过程,首先,建立一个空的全量数据库,其次,向所述全量数据库中写入数据;图2为向全量数据库写入数据的方法,如图2所示,所述向全量数据库写入数据包括:
S201,获取至少一个第一文本。
S202,解析所述第一文本,提取所述第一文本中的句子。
S203,在全量数据库中查询所述第一文本中的句子。若找到,则执行步骤S204,若未找到,则执行步骤S205。
S204,则从全量数据库中删除该句子的相关记录。
其中,所述句子的相关记录包括句子和句子对应的第一文本名称。
S205,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库。
也就是说,向全量数据库写入数据时,可以预先定义一个空的全量数据库,在向全量数据库中写入数据时,每个句子都要先在全量数据库中查询,若查不到,则说明该句子目前还没有出现在第一文本中,将句子写入全量数据库;若查到,说明这个句子已经存在于第一文本中,不能作为单个第一文本的特有的句子,不能作为后续查找的依据,从全量数据库中删除该句子。
需要说明的是,全量数据库建立好之后,还可以不断地写入数据,每次写入数据的步骤可参照步骤S201-S205。
在一种可选的实施例中,步骤S205还可以包括:判断所述句子对应的第一文本名称是否与全量数据库中句子对应的第一文本名称相同,若相同,则不删除该句子的相关记录;若不同,则从全量数据库中删除该句子的相关记录。这样可以避免同一个第一文本中特有但有引用关系的句子被删除。
在具体的操作过程中,如图3所示,步骤S203-S205可以包括:
2001,顺序获取所述第一文本中的一个句子。
2002,根据所述句子生成全量数据库的一条数据记录;所述数据记录包括所述句子和与所述句子对应的第一文本名称。
2003,判断所述第一文本中的句子是否获取完毕;若未完毕,则执行步骤2004,若完毕,则结束。
2004,继续获取第一文本中的下一个句子。
2005,查询全量数据库中是否存在包含所述句子的数据记录。若存在,则执行步骤2006,若不存在,则执行步骤2007。
2006,删除包含所述句子的数据记录。
2007,根据所述句子生成全量数据库的另一条数据记录。
返回判断所述第一文本中的句子是否获取完毕的步骤。
作为一种可选的实施例,S202,解析所述第一文本,提取所述第一文本中的句子之后,还包括:
判断所述第一文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
也就是说,本申请通过筛选去掉了第一文本中小于预设长度的句子,只留下较长的句子。考虑到较短的句子往往容易在多个文本中出现,例如“说时迟那时快”经常出现在多个小说中。因此,短句子不能作为单个文本的特有句子,在重复性判定的过程中,这些句子不能作为判别依据。本申请预先删除了短句子,能够提高相似度判断的效率,并能提高目标原著查找的准确性。
在具体的操作中,可以预先设置配置项,用于存储预设的长度。预设的长度可以通过改变配置项动态改变,进一步增强了本发明方法的灵活性。
本发明的发明人经过实验发现:长度不小于10个字符的句子具有较低的重复性,预设的长度可以为10个字符。
在本申请的步骤S103中,在预先建立的全量数据库中查询所述至少部分待测文本的句子,包括:在预先建立的全量数据库中逐个查询所述至少部分待测文本的句子,生成查询结果,所述查询结果包括查找到的句子及所述查找到的句子对应的第一文本的名称。
S104,根据查询结果生成待测文本与第一文本的相似度。
所述查询结果包括了查找到的句子及所述查找到的句子对应的第一文本的名称。根据查找到的句子数量和对应的第一文本名称可以评估出待测文本与第一文本的相似度。
在一个可选的实施方式中,如图4所示,根据查询结果生成待测文本与第一文本的相似度包括:
S401,获取查找到的句子及所述查找到的句子对应的第一文本的名称。
S402,根据查找到的句子中与每个第一文本的名称对应的句子的数目生成每个第一文本的第一匹配计数。
S403,生成第一句子总数,所述第一总数为所述至少部分待测文本的句子总数。
所述至少部分待测文本的句子总数是指选取的部分待测文本或全部待测文本中的句子总数。在选取部分待测文本中的句子进行测试时,第一句子总数为该部分待测文本中的句子总数。
S404,根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度。
其中,在步骤S404中,根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度,可以是:每个第一文本的第一匹配计数除以第一句子总数得到的结果。
当然,相似度的计算还可以是其他方式,本领域技术人员可以对相似度的计算方法进行修改,本申请不做具体限定。
由于全量数据库中存储有至少一个第一文本,待测文本中的句子可能与多个第一文本匹配,当匹配计数太小时,计算相似度消耗大量的时间,占用内存,因此,作为可选的实施例,本申请在步骤S402中获取每个第一文本的第一匹配计数后,还包括以下步骤:
将所述第一匹配计数与预设的第一计数阈值比较,若小于所述第一计数阈值,则忽略所述第一匹配计数。
其中,预设的第一计数阈值与第一句子总数相关,即,根据所述第一句子总数与预设的第一计数比例生成第一计数阈值。
举例来说,若第一句子总数为100句,预设第一计数比例为5%,第一计数阈值为第一句子总数乘以第一计数比例,即,第一计数阈值为5。第一匹配计数小于5句时忽略该第一匹配计数。
另外,作为可选的实施例,在S404中,存在多个第一文本的第一匹配计数时,步骤S404可以包括以下步骤:
判断待测文本与第一文本的相似度是否大于预设的相似度阈值,若是,则输出待测文本与该第一文本的相似度,不再计算待测文本与其他第一文本的相似度。
举例来说,若待测文本与某个第一文本的相似度大于例如80%时,直接输出待测文本与该第一文本的相似度,不再计算待测文本与其他第一文本的相似度。
作为一种可选的实施例,步骤S102中所述解析所述待测文本,获取至少部分待测文本的句子,包括:
解析所述待测文本,获取所述待测文本的句子;
从所述待测文本的句子中提取预定比例的句子。
其中,预定比例对应相似度计算结果的置信度,例如,若置信度为80%,则只需要从所述待测文本的句子中提取80%的句子来测试即可。本发明不需要将待测文本的所有句子都进行测试,只需要测试预定比例的句子即可,从而减小了运算量和服务器的内存占用,提高相似度的计算效率。
相应地,步骤S304根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度之后,还包括:
判断所述相似度是否大于预设的阈值;
若否,则从所述待测文本的句子中剩余的句子中提取至少部分句子,返回在预先建立的全量数据库中查询所述至少部分句子的步骤。
若是,则输出所述相似度。
具体地,由于步骤S102中仅从所述待测文本的句子中提取预定比例的句子,根据所述句子在步骤S103-S104得到待测文本与第一文本的相似度后;还需要判断所述相似度是否大于预设的阈值;若是,则说明该置信度下得到的相似度结果已经满足需要,输出所述相似度;若否,则从所述待测文本的句子中剩余的句子中提取至少部分句子,返回步骤S103,继续步骤S103-S104。根据剩余句子计算出的相似度步骤S304生成的相似度生成待测文本与第一文本的综合相似度。本发明提供设定提取待测文本的句子时的预定比例和相似度的阈值,能够在满足相似度计算要求的同时,减少实际测试的句子数量,提高相似度的判别效率。
生成待测文本与第一文本的相似度后,可以根据相似度生成xls报表+统计汇总的邮件,自动或手动将邮件发送到指定收件人做进一步的发函、法务处理。
综上,本发明实施例提供了一种文本相似度判别方法,首先获取待测文本,解析所述待测文本,提取至少部分待测文本的句子;在预先建立的全量数据库中查询所述至少部分待测文本的句子;根据查询结果生成待测文本与第一文本的相似度。本申请的全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系,全量数据库中的每个句子对应唯一的第一文本名称。由于保证了全量数据库中存储的句子与第一文本的一一对应关系,在全量数据库中查询句子时,可以得到唯一的匹配结果。也就是说,本发明的全量数据库中已剔除了同时对应一个以上第一文本的句子,从而提高了句子的命中率和查找目标第一文本的速度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
如图5所示,本发明提供了另外一种文本相似度判别方法,包括:
S501,向全量数据库写入数据;所述全量数据库用于存储至少一个第一文本的句子与第一文本名称的映射关系;其中,全量数据库中的每个句子对应唯一的第一文本名称。
所述向全量数据库写入数据包括:
获取至少一个第一文本;
解析所述第一文本,提取所述第一文本中的句子;
在全量数据库中查询所述第一文本中的句子;
若找到,则从所述全量数据库中删除该句子的相关记录;
若未找到,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库。
S502,向每个第一文本的单本数据库写入数据。
所述向每个第一文本的单本数据库写入数据包括:将全量数据库的句子对应存储到所述句子对应的第一文本的单本数据库。
具体地,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库时,实现了向全量数据库写入数据。在将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库后,根据所述句子与所述句子对应的第一文本的名称的映射关系,将所述句子对应存储到所述句子对应的第一文本的单本数据库。
其中,每个第一文本的单本数据库为:在获取第一文本后,根据每个第一文本的名称为每个第一文本建立一个单本数据库,在向所述单本数据库写入数据前,所述单本数据库为空。
在向全量数据库写入数据时,每向全量数据库存储一个句子时,同步将该句子存储到所述句子对应的第一文本的单本数据库,从而实现向每个第一文本的单本数据库写入数据。
由于单本数据库仅存储一个第一文本的句子,因此,较之于存储了海量数据的全量数据库,单本数据库的存储量明显缩小。
每个第一文本在全量数据库中存储的句子与在单本数据库中存储的句子相同,都是具有唯一匹配特性的句子。单本数据库与全量数据库的区别在于:单本数据库中以句子为主键,不需要存储句子与第一文本名称的对应关系。直观地说:全量数据库中的数据表至少包括两列:一列存储句子,一列存储句子对应的第一文本名称;单本数据库中的数据表至少包括一列:句子。
S503,获取待测文本。
其中,步骤S503与S101类似,不再赘述。
S504,解析所述待测文本,提取第一预定部分待测文本的句子和第二预定部分待测文本的句子。
在所述步骤S502中,解析所述待测文本,分别获取第一预定部分待测文本和第二预定部分待测文本,比如,第一预定部分待测文本和第二预定部分待测文本可以是待测文本的几个章节、几个段落或几个句子。第二预定部分待测文本可以包含第一预定部分待测文本,也可以不包含第一预定部分待测文本。从每部分待测文本中提取句子的过程与步骤S102类似,不再赘述。
作为一种可选的实施例,步骤S504之后,还可以包括:
判断所述第一预定部分待测文本的句子的长度和第二预定部分待测文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
S505,在所述全量数据库中查询所述第一预定部分待测文本的句子,获取查找到的句子对应的第一文本的名称。
在具体的,所述步骤S505中能够获取到第一文本名称集合。获取第一文本名称集合后
S506,根据第二预定部分待测文本的句子总数生成第二句子总数。
S507,根据获取的第一文本的名称分别在对应的单本数据库中查询所述第二预定部分待测文本的句子。
S508,获取每个第一文本的单本数据库中查找到的句子的数目,根据所述数目生成每个第一文本的第二匹配计数。
S509,根据每个第一文本的第二匹配计数与第二句子总数生成待测文本与每个第一文本的相似度。
其中,根据每个第一文本的第二匹配计数与第二句子总数生成待测文本与每个第一文本的相似度可以是:将每个第一文本的第二匹配计数除以第二句子总数得到待测文本与每个第一文本的相似度。
由于在向全量数据库写入数据时,向每个第一文本的单本数据库中写入数据,在对待测文本进行测试时,只需要向将第一预定部分待测文本在全量数据库中查询,获取第一文本名称集合;然后将第二预定部分有目的、有针对性地在相应的第一文本的单本数据库中进行查询,由于单本数据库的容量要远小于全量数据库的容量,在单本数据库中查询的效率明显高于在全量数据库查询的效率,从而显著提高了相似度的判别效率,节约了***资源,占用更小的内存。
为了更有效地阐述本发明的方法,下面以一个具体的应用场景进行阐述:在该场景中,第一文本为授权文本,或者称为原著文本,一般为授权的文学作品或其他作品;待测文本为需要检测的文本,比如说网站上发布的小说等文学作品。
首先向全量数据库写入数据,写入数据时,先获取所有授权文本,授权文本可以来自自营数据内容网站,该网站用于发布授权小说;然后对授权文本分词分句,获取授权文本的句子,然后对授权文本的句子筛选,删除小于预定长度的句子,只保留较长的关键句。在获取到授权文本后,为每个授权文本建立一个单本数据库,此时的单本数据库为空。
将每个关键句在全量数据库中查询,若未找到,则将该句子加入到全量数据库,加入时,存储句子和句子对应的授权文本名称;若找到,则删除全量数据库中的句子和句子对应的授权文本名称;同时,将句子加入到对应的授权文本的单本数据库中。
全量数据库和单本数据库中数据写入完成后,可以进行相似度判别。
判别前,先获取待测文本,可以设置专门的管理平台管理要检测的文本及该文本的索引信息,索引信息包括文本名称、作者。所述管理平台还用于获取根据索引信息到目标网站获取待测文本。
若待测文本为Y小说,首先获取Y小说,将Y小说的一个章节作为第一预定部分待测文本,提取该章节的句子;将Y小说整体作为第二预定部分待测文本,提取Y小说的所有句子。当然,也可以提取Y小说其他部分作为第二预定部分。
在全量数据库中查询Y小说一个章节的句子,获取到Y句子对应比如A、B、C三本授权小说。
将Y小说所有句子分别在A、B、C三本小说的单本数据库中查询,获取到在A的单本数据库中查找到80句,B的单本数据库查找到10句,C的单本数据库中查找到5句。
若Y小说的句子总数为100句,则Y小说与A的相似度为80除以100,即80%,与B的相似度为10%,与C的相似度为5%。
本发明实施例中,通过全量数据库写入数据和每个第一文本的单本数据库写入数据,获取待测文本,解析所述待测文本,提取第一预定部分待测文本的句子和第二预定部分待测文本的句子;在所述全量数据库中查询所述第一预定部分待测文本的句子,获取查找到的句子对应的第一文本的名称;根据第二预定部分待测文本的句子总数生成第二句子总数;获取每个第一文本的单本数据库中查找到的句子的数目,根据所述数目生成每个第一文本的第二匹配计数;根据每个第一文本的第二匹配计数与第二句子总数生成待测文本与每个第一文本的相似度。由于全量数据库中的每个句子对应唯一的第一文本名称;提高了待测文本与第一文本相似度的判别效率。由于在向全量数据库写入数据时,向每个第一文本的单本数据库中写入数据,在对待测文本进行测试时,只需要向将第一预定部分待测文本在全量数据库中查询,获取第一文本名称集合;然后将第二预定部分待测文本有目的、有针对性地在相应的第一文本的单本数据库中进行查询,由于单本数据库的容量要远小于全量数据库的容量,在单本数据库中查询的效率明显高于在全量数据库查询的效率,从而显著提高了相似度的判别效率,节约了***资源,占用更小的内存。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述文本相似度判别方法的装置,图6是根据本发明实施例的文本相似度判别装置的示意图,如图6所示,所述装置包括:
待测文本获取模块10,用于获取待测文本。
待测文本句子提取模块20,用于解析所述待测文本,提取至少部分待测文本的句子。
查询模块30,用于在预先建立的全量数据库中查询所述至少部分待测文本的句子;所述全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系;其中,全量数据库中的每个句子对应唯一的第一文本名称。
相似度判别模块40,用于根据查询结果生成待测文本与第一文本的相似度。
作为一种可选的实施例,如图7所示,所述装置还包括全量数据库数据加载模块50,所述全量数据库数据加载模块50包括:
第一文本获取单元510,用于获取至少一个第一文本。
第一文本句子提取单元520,用于解析所述第一文本,提取所述第一文本中的句子。
第一查询单元530,用于在全量数据库中查询所述第一文本中的句子。
删除单元540,用于在全量数据库中查找到所述第一文本中的句子时,从所述全量数据库中删除该句子的相关记录;
存储单元550,用于在全量数据库中未查找到所述第一文本中的句子时,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库。
作为一种可选的实施例,所述装置还包括:
长度判断单元,用于判断所述第一文本的句子的长度是否小于预设的长度;
句子删除单元,用于在第一文本的句子的长度小于预设的长度时,删除所述句子。
作为一种可选的实施例,所述装置还包括:
待测句子长度判断模块,用于判断所述至少部分待测文本的句子的长度是否小于预设的长度;
待测句子删除模块,用于在至少部分待测文本的句子的长度小于预设的长度时,则删除所述句子。
作为一种可选的实施例,如图8所示,所述相似度判别模块40包括:
第一获取单元410,用于获取查找到的句子及所述查找到的句子对应的第一文本的名称。
第一匹配计数生成单元420,用于根据查找到的句子中与每个第一文本的名称对应的句子的数目生成每个第一文本的第一匹配计数。
第一句子总数生成单元430,用于生成第一句子总数,所述第一总数为所述至少部分待测文本的句子总数。
第一相似度生成单元440,用于根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度。
作为一种可选的实施例,如图9所示,所述待测文本句子提取模块20包括:
第二获取单元210,用于解析所述待测文本,获取所述待测文本的句子;
第一提取单元220,用于从所述待测文本的句子中提取预定比例的句子;
所述装置还包括:
相似度判断模块60,用于判断所述相似度是否大于预设的阈值;
所述待测文本句子提取模块20还包括第二提取单元230,用于从所述待测文本的句子中剩余的句子中提取至少部分句子。
作为一种可选的实施例,如图10所示,所述装置还包括单本数据库数据加载模块70,用于将全量数据库的句子对应存储到所述句子对应的第一文本的单本数据库。
作为一种可选的实施例,如图11所示,所述待测文本句子提取模块20包括:第三提取单元240,用于解析所述待测文本,提取第一预定部分待测文本的句子和第二预定部分待测文本的句子。
所述查询模块30包括:
第二查询单元310,用于在所述全量数据库中查询所述第一预定部分待测文本的句子,获取查找到的句子对应的第一文本的名称。
所述装置还包括:
单本查询模块80,用于根据获取的第一文本的名称分别在对应的单本数据库中查询所述第二预定部分待测文本的句子。
所述相似度判别模块40包括:
第二句子总数生成单元450,用于根据第二预定部分待测文本的句子总数生成第二句子总数。
第二匹配计数生成单元460,用于获取每个第一文本的单本数据库中查找到的句子的数目,根据所述数目生成每个第一文本的第二匹配计数。
第二相似度生成单元470,用于根据每个第一文本的第二匹配计数与第二句子总数生成待测文本与每个第一文本的相似度。
综上,本发明实施例提供了一种文本相似度判别装置,该装置通过获取待测文本,解析所述待测文本,提取至少部分待测文本的句子,在预先建立的全量数据库中查询所述至少部分待测文本的句子,根据查询结果生成待测文本与第一文本的相似度。本申请的全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系,全量数据库中的每个句子对应唯一的第一文本名称。由于保证了全量数据库中存储的句子与第一文本的一一对应关系,在全量数据库中查询句子时,可以得到唯一的匹配结果。也就是说,本发明的全量数据库中已剔除了同时对应一个以上第一文本的句子,从而提高了句子的命中率和查找目标第一文本的速度。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一种短文本分类方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取待测文本;
解析所述待测文本,提取至少部分待测文本的句子;
在预先建立的全量数据库中查询所述至少部分待测文本的句子;所述全量数据库中存储有至少一个第一文本的句子与第一文本名称的映射关系;其中,全量数据库中的每个句子对应唯一的第一文本名称;
根据查询结果生成待测文本与第一文本的相似度。
可选的,所述存储介质被设置为存储用于执行以下步骤的程序代码:
获取至少一个第一文本;
解析所述第一文本,提取所述第一文本中的句子;
在全量数据库中查询所述第一文本中的句子;
若找到,则从所述全量数据库中删除该句子的相关记录;
若未找到,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库。
可选的,所述存储介质被设置为存储用于执行以下步骤的程序代码:
判断所述第一文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
可选的,所述存储介质被设置为存储用于执行以下步骤的程序代码:
判断所述至少部分待测文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
可选的,所述存储介质被设置为存储用于执行以下步骤的程序代码:
获取查找到的句子及所述查找到的句子对应的第一文本的名称;
根据查找到的句子中与每个第一文本的名称对应的句子的数目生成每个第一文本的第一匹配计数;
生成第一句子总数,所述第一总数为所述至少部分待测文本的句子总数;
根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度。
可选的,所述存储介质被设置为存储用于执行以下步骤的程序代码:
解析所述待测文本,获取所述待测文本的句子;
从所述待测文本的句子中提取预定比例的句子;
所述根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度之后,还包括:
判断所述相似度是否大于预设的阈值;
若否,则从所述待测文本的句子中剩余的句子中提取至少部分句子,返回在预先建立的全量数据库中查询所述至少部分句子的步骤。
可选的,所述存储介质被设置为存储用于执行以下步骤的程序代码:
将全量数据库的句子对应存储到所述句子对应的第一文本的单本数据库。
可选的,所述存储介质被设置为存储用于执行以下步骤的程序代码:
解析所述待测文本,提取第一预定部分待测文本的句子和第二预定部分待测文本的句子;
在所述全量数据库中查询所述第一预定部分待测文本的句子,获取查找到的句子对应的第一文本的名称;
根据获取的第一文本的名称分别在对应的单本数据库中查询所述第二预定部分待测文本的句子;
根据第二预定部分待测文本的句子总数生成第二句子总数;
获取每个第一文本的单本数据库中查找到的句子的数目,根据所述数目生成每个第一文本的第二匹配计数;
根据每个第一文本的第二匹配计数与第二句子总数生成待测文本与每个第一文本的相似度。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
实施例5
本发明的实施例还提供一种服务器,所述服务器包含实施例3中的文本相似度判别装置。其中,当服务器为集群架构时,所述服务器可以包括通讯服务器、一个或多个数据库服务器、相似度判别服务器。
通讯服务器用于提供一个或多个数据库服务器、相似度判别服务器之间的数据通讯服务。在另外的实施方式中,一个或多个数据库服务器、相似度判别服务器之间也可以通过内网自由通讯。
数据库服务器包括全量数据库服务器,还可以包括单本数据库服务器。
全量数据库服务器用于存储第一文本中的句子和第一文本名称。
单本数据库服务器用于存储单个第一文本的句子。
相似度判别服务器用于获取待测文本,解析所述待测文本,提取至少部分待测文本的句子;在预先建立的全量数据库中查询所述至少部分待测文本的句子;根据查询结果生成待测文本与第一文本的相似度。
上述各个服务器之间可通过通信网络建立通信连接。该网络可以是无线网络,也可以是有线网络。
请参考图12,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的文本相似度判别方法。具体来讲:
所述服务器1200包括中央处理单元(CPU)1201、包括随机存取存储器(RAM)1202和只读存储器(ROM)1203的***存储器1204,以及连接***存储器1204和中央处理单元1201的***总线1205。所述服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)1206,和用于存储操作***1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
所述基本输入/输出***1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中所述显示器1208和输入设备1209都通过连接到***总线1205的输入输出控制器1210连接到中央处理单元1201。所述基本输入/输出***1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1207通过连接到***总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。所述大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器1204和大容量存储设备1207可以统称为存储器。
根据本发明的各种实施例,所述服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在所述***总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述服务器的方法的指令。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端的处理器执行以完成上述方法实施例中的各个步骤,或者上述指令由服务器的处理器执行以完成上述方法实施例中后台服务器侧的各个步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种文本相似度判别方法,其特征在于,包括:
获取待测文本;
解析所述待测文本,提取至少部分待测文本的句子;
在预先建立的全量数据库中查询所述至少部分待测文本的句子;所述全量数据库中以句子为主键存储有至少一个第一文本的句子与第一文本名称的映射关系;其中,全量数据库中的每个句子对应唯一的第一文本名称;并且,所述全量数据库的数据表至少包括两列:一列存储句子,一列存储句子对应的第一文本名称;
根据查询结果生成待测文本与第一文本的相似度;
其中,所述全量数据库通过下述方法写入数据:
获取至少一个第一文本;
解析所述第一文本,提取所述第一文本中的句子;
在全量数据库中查询所述第一文本中的句子;
若找到,则从所述全量数据库中删除该句子的相关记录;
若未找到,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库。
2.根据权利要求1所述的文本相似度判别方法,其特征在于,所述解析所述第一文本,提取所述第一文本中的句子之后,还包括:
判断所述第一文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
3.根据权利要求1所述的文本相似度判别方法,其特征在于,所述解析所述待测文本,提取至少部分待测文本的句子之后,还包括:
判断所述至少部分待测文本的句子的长度是否小于预设的长度;
若是,则删除所述句子。
4.根据权利要求1所述的文本相似度判别方法,其特征在于,所述根据查询结果生成待测文本与第一文本的相似度,包括:
获取查找到的句子及所述查找到的句子对应的第一文本的名称;
根据查找到的句子中与每个第一文本的名称对应的句子的数目生成每个第一文本的第一匹配计数;
生成第一句子总数,所述第一句子总数为所述至少部分待测文本的句子总数;
根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度。
5.根据权利要求4所述的文本相似度判别方法,其特征在于,所述解析所述待测文本,提取至少部分待测文本的句子,包括:
解析所述待测文本,获取所述待测文本的句子;
从所述待测文本的句子中提取预定比例的句子;
所述根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度之后,还包括:
判断所述相似度是否大于预设的阈值;
若否,则从所述待测文本的句子中剩余的句子中提取至少部分句子,返回在预先建立的全量数据库中查询所述至少部分句子的步骤。
6.根据权利要求1所述的文本相似度判别方法,其特征在于,在向所述全量数据库写入数据之后,还包括:向每个第一文本的单本数据库写入数据的步骤;所述向每个第一文本的单本数据库写入数据包括:
将全量数据库的句子对应存储到所述句子对应的第一文本的单本数据库。
7.根据权利要求6所述的文本相似度判别方法,其特征在于,
所述解析所述待测文本,提取至少部分待测文本的句子包括:
解析所述待测文本,提取第一预定部分待测文本的句子和第二预定部分待测文本的句子;
所述在预先建立的全量数据库中查询所述至少部分待测文本的句子包括:
在所述全量数据库中查询所述第一预定部分待测文本的句子,获取查找到的句子对应的第一文本的名称;
所述在预先建立的全量数据库中查询所述至少部分待测文本的句子之后,还包括:
根据获取的第一文本的名称分别在对应的单本数据库中查询所述第二预定部分待测文本的句子;
所述根据查询结果生成待测文本与第一文本的相似度,包括:
根据第二预定部分待测文本的句子总数生成第二句子总数;
获取每个第一文本的单本数据库中查找到的句子的数目,根据所述数目生成每个第一文本的第二匹配计数;
根据每个第一文本的第二匹配计数与第二句子总数生成待测文本与每个第一文本的相似度。
8.一种文本相似度判别装置,其特征在于,包括:
待测文本获取模块,用于获取待测文本;
待测文本句子提取模块,用于解析所述待测文本,提取至少部分待测文本的句子;
查询模块,用于在预先建立的全量数据库中查询所述至少部分待测文本的句子;所述全量数据库中以句子为主键存储有至少一个第一文本的句子与第一文本名称的映射关系;其中,全量数据库中的每个句子对应唯一的第一文本名称;并且,所述全量数据库的数据表至少包括两列:一列存储句子,一列存储句子对应的第一文本名称;
相似度判别模块,用于根据查询结果生成待测文本与第一文本的相似度;
全量数据库数据加载模块,用于向全量数据库写入数据,所述全量数据库数据加载模块包括:
第一文本获取单元,用于获取至少一个第一文本;
第一文本句子提取单元,用于解析所述第一文本,提取所述第一文本中的句子;
第一查询单元,用于在全量数据库中查询所述第一文本中的句子;
删除单元,用于在全量数据库中查找到所述第一文本中的句子时,从所述全量数据库中删除该句子的相关记录;
存储单元,用于在全量数据库中未查找到所述第一文本中的句子时,将所述句子与所述句子对应的第一文本的名称的映射关系存入所述全量数据库。
9.根据权利要求8所述的文本相似度判别装置,其特征在于,还包括:
长度判断单元,用于判断所述第一文本的句子的长度是否小于预设的长度;
句子删除单元,用于在第一文本的句子的长度小于预设的长度时,删除所述句子。
10.根据权利要求8所述的文本相似度判别装置,其特征在于,还包括:
待测句子长度判断模块,用于判断所述至少部分待测文本的句子的长度是否小于预设的长度;
待测句子删除模块,用于在至少部分待测文本的句子的长度小于预设的长度时,则删除所述句子。
11.根据权利要求8所述的文本相似度判别装置,其特征在于,所述相似度判别模块包括:
第一获取单元,用于获取查找到的句子及所述查找到的句子对应的第一文本的名称;
第一匹配计数生成单元,用于根据查找到的句子中与每个第一文本的名称对应的句子的数目生成每个第一文本的第一匹配计数;
第一句子总数生成单元,用于生成第一句子总数,所述第一句子总数为所述至少部分待测文本的句子总数;
第一相似度生成单元,用于根据每个第一文本的第一匹配计数与所述第一句子总数生成待测文本与每个第一文本的相似度。
12.根据权利要求8所述的文本相似度判别装置,其特征在于,所述待测文本句子提取模块包括:
第二获取单元,用于解析所述待测文本,获取所述待测文本的句子;
第一提取单元,用于从所述待测文本的句子中提取预定比例的句子;
所述装置还包括:
相似度判断模块,用于判断所述相似度是否大于预设的阈值;
所述待测文本句子提取模块还包括:第二提取单元,用于从所述待测文本的句子中剩余的句子中提取至少部分句子。
13.根据权利要求12所述的文本相似度判别装置,其特征在于,还包括单本数据库数据加载模块,用于将全量数据库的句子对应存储到所述句子对应的第一文本的单本数据库。
CN201710198054.7A 2017-03-29 2017-03-29 一种文本相似度判别方法及装置 Active CN107085568B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710198054.7A CN107085568B (zh) 2017-03-29 2017-03-29 一种文本相似度判别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710198054.7A CN107085568B (zh) 2017-03-29 2017-03-29 一种文本相似度判别方法及装置

Publications (2)

Publication Number Publication Date
CN107085568A CN107085568A (zh) 2017-08-22
CN107085568B true CN107085568B (zh) 2022-11-22

Family

ID=59615108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710198054.7A Active CN107085568B (zh) 2017-03-29 2017-03-29 一种文本相似度判别方法及装置

Country Status (1)

Country Link
CN (1) CN107085568B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460455B (zh) * 2018-10-25 2020-04-28 第四范式(北京)技术有限公司 一种文本检测方法及装置
CN109885688B (zh) * 2019-03-05 2021-05-28 湖北亿咖通科技有限公司 文本分类方法、装置、计算机可读存储介质和电子设备
CN110147429B (zh) * 2019-04-15 2023-08-15 平安科技(深圳)有限公司 文本比较方法、装置、计算机设备和存储介质
CN112527621A (zh) * 2019-09-17 2021-03-19 中移动信息技术有限公司 测试路径构建方法、装置、设备及存储介质
CN110750615B (zh) * 2019-09-30 2020-07-24 贝壳找房(北京)科技有限公司 文本重复性判定方法和装置、电子设备和存储介质
CN111259113B (zh) * 2020-01-15 2023-09-19 腾讯科技(深圳)有限公司 文本匹配方法、装置、计算机可读存储介质和计算机设备

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1490744A (zh) * 2002-09-19 2004-04-21 检索确认句的方法和***
CN101071418A (zh) * 2007-03-29 2007-11-14 腾讯科技(深圳)有限公司 聊天方法与***
CN101315622A (zh) * 2007-05-30 2008-12-03 香港中文大学 检测文件相似度的***及方法
CN101369279A (zh) * 2008-09-19 2009-02-18 江苏大学 一种基于计算机检索***的学术论文相似度的检测方法
US7734627B1 (en) * 2003-06-17 2010-06-08 Google Inc. Document similarity detection
CN102789452A (zh) * 2011-05-16 2012-11-21 株式会社日立制作所 类似内容提取方法
CN103207864A (zh) * 2012-01-13 2013-07-17 北京中文在线数字出版股份有限公司 一种网络小说内容近似度比对方法
CN103294671A (zh) * 2012-02-22 2013-09-11 腾讯科技(深圳)有限公司 文档的检测方法及***
CN104239285A (zh) * 2013-06-06 2014-12-24 腾讯科技(深圳)有限公司 文章新章节的检测方法及装置
CN104572720A (zh) * 2013-10-21 2015-04-29 腾讯科技(深圳)有限公司 一种网页信息排重的方法、装置及计算机可读存储介质
CN104699785A (zh) * 2015-03-10 2015-06-10 中国石油大学(华东) 一种论文相似度检测方法
CN105224518A (zh) * 2014-06-17 2016-01-06 腾讯科技(深圳)有限公司 文本相似度的计算方法及***、相似文本的查找方法及***
CN105302779A (zh) * 2015-10-23 2016-02-03 北京慧点科技有限公司 一种文本相似度比对方法及装置
CN105760380A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 数据库查询方法、装置及***
CN106021223A (zh) * 2016-05-09 2016-10-12 Tcl集团股份有限公司 一种句子相似度的计算方法及***
CN106095735A (zh) * 2016-06-06 2016-11-09 北京中加国道科技有限责任公司 一种基于深度神经网络检测学术文献抄袭的方法
CN106156279A (zh) * 2016-06-24 2016-11-23 深圳前海征信中心股份有限公司 基于经纬度及文本比对的地址相似度识别方法及***
CN106227897A (zh) * 2016-08-31 2016-12-14 青海民族大学 一种基于藏文句子级别的藏文论文复制检测方法及***
CN106446109A (zh) * 2016-09-14 2017-02-22 科大讯飞股份有限公司 语音文件摘要的获取方法和装置
CN106446148A (zh) * 2016-09-21 2017-02-22 中国运载火箭技术研究院 一种基于聚类的文本查重方法

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1490744A (zh) * 2002-09-19 2004-04-21 检索确认句的方法和***
US7734627B1 (en) * 2003-06-17 2010-06-08 Google Inc. Document similarity detection
CN101071418A (zh) * 2007-03-29 2007-11-14 腾讯科技(深圳)有限公司 聊天方法与***
CN101315622A (zh) * 2007-05-30 2008-12-03 香港中文大学 检测文件相似度的***及方法
CN101369279A (zh) * 2008-09-19 2009-02-18 江苏大学 一种基于计算机检索***的学术论文相似度的检测方法
CN102789452A (zh) * 2011-05-16 2012-11-21 株式会社日立制作所 类似内容提取方法
CN103207864A (zh) * 2012-01-13 2013-07-17 北京中文在线数字出版股份有限公司 一种网络小说内容近似度比对方法
CN103294671A (zh) * 2012-02-22 2013-09-11 腾讯科技(深圳)有限公司 文档的检测方法及***
CN104239285A (zh) * 2013-06-06 2014-12-24 腾讯科技(深圳)有限公司 文章新章节的检测方法及装置
CN104572720A (zh) * 2013-10-21 2015-04-29 腾讯科技(深圳)有限公司 一种网页信息排重的方法、装置及计算机可读存储介质
CN105224518A (zh) * 2014-06-17 2016-01-06 腾讯科技(深圳)有限公司 文本相似度的计算方法及***、相似文本的查找方法及***
CN105760380A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 数据库查询方法、装置及***
CN104699785A (zh) * 2015-03-10 2015-06-10 中国石油大学(华东) 一种论文相似度检测方法
CN105302779A (zh) * 2015-10-23 2016-02-03 北京慧点科技有限公司 一种文本相似度比对方法及装置
CN106021223A (zh) * 2016-05-09 2016-10-12 Tcl集团股份有限公司 一种句子相似度的计算方法及***
CN106095735A (zh) * 2016-06-06 2016-11-09 北京中加国道科技有限责任公司 一种基于深度神经网络检测学术文献抄袭的方法
CN106156279A (zh) * 2016-06-24 2016-11-23 深圳前海征信中心股份有限公司 基于经纬度及文本比对的地址相似度识别方法及***
CN106227897A (zh) * 2016-08-31 2016-12-14 青海民族大学 一种基于藏文句子级别的藏文论文复制检测方法及***
CN106446109A (zh) * 2016-09-14 2017-02-22 科大讯飞股份有限公司 语音文件摘要的获取方法和装置
CN106446148A (zh) * 2016-09-21 2017-02-22 中国运载火箭技术研究院 一种基于聚类的文本查重方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种句子级别的中文文本复制检测方法;卢小康等;《杭州电子科技大学学报》;20091215;第29卷(第6期);45-48 *
基于语言模型和特征分类的抄袭判定;李惠; 刘颖;《计算机工程》;20130515;第39卷(第5期);230-234 *
学术文献抄袭检测研究进展;王晓笛等;《图书情报工作》;20130420;第57卷(第8期);141-148 *
改进的TF-IDF算法在作品抄袭判定中的应用——以《梦里花落知多少》和《圈里圈外》为例;吉志薇;《文教资料》;20150206;120-124 *

Also Published As

Publication number Publication date
CN107085568A (zh) 2017-08-22

Similar Documents

Publication Publication Date Title
CN107085568B (zh) 一种文本相似度判别方法及装置
CN108874928B (zh) 简历数据信息解析处理方法、装置、设备及存储介质
CN108932294B (zh) 基于索引的简历数据处理方法、装置、设备及存储介质
CN110275965B (zh) 假新闻检测方法、电子装置及计算机可读存储介质
CN110888990A (zh) 文本推荐方法、装置、设备及介质
CN111460131A (zh) 公文摘要提取方法、装置、设备及计算机可读存储介质
US9772991B2 (en) Text extraction
CN110019640B (zh) 涉密文件检查方法及装置
US9754023B2 (en) Stochastic document clustering using rare features
US20150206101A1 (en) System for determining infringement of copyright based on the text reference point and method thereof
CN110389941B (zh) 数据库校验方法、装置、设备及存储介质
KR101607468B1 (ko) 콘텐츠에 대한 키워드 태깅 방법 및 시스템
US20180089335A1 (en) Indication of search result
CN111737443B (zh) 答案文本的处理方法和装置、关键文本的确定方法
CN113642327A (zh) 一种标准知识库的构建方法及装置
KR101565367B1 (ko) 숫자정규화를 이용한 문서 표절률 산출 방법
CN113177407A (zh) 数据字典的构建方法、装置、计算机设备及存储介质
CN117216239A (zh) 文本去重方法、装置、计算机设备及存储介质
CN116226681B (zh) 一种文本相似性判定方法、装置、计算机设备和存储介质
CN104240107A (zh) 社群数据筛选***及其方法
US8195686B2 (en) Search method and search program
CN114610808A (zh) 数据存储方法、装置、电子设备及介质
CN114610955A (zh) 一种智能检索方法、装置、电子设备及存储介质
CN114220113A (zh) 一种论文质量检测方法、装置和设备
WO2021051600A1 (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
GR01 Patent grant
GR01 Patent grant