CN110852057A - 一种计算文本相似度的方法和装置 - Google Patents
一种计算文本相似度的方法和装置 Download PDFInfo
- Publication number
- CN110852057A CN110852057A CN201810840534.3A CN201810840534A CN110852057A CN 110852057 A CN110852057 A CN 110852057A CN 201810840534 A CN201810840534 A CN 201810840534A CN 110852057 A CN110852057 A CN 110852057A
- Authority
- CN
- China
- Prior art keywords
- text
- evaluated
- vector
- determining
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种算文本相似度的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:确定待评估文本的向量表示;对所述待评估文本的向量表示进行单位化处理,以得到所述待评估文本的单位向量;根据获取的对比文本的单位向量与所述待评估文本的单位向量之间的乘积,确定待评估文本与所述对比文本的相似度。该方法在计算相似度的过程中,不涉及文本模的计算,进而减少了文本向量之间计算的依赖性,同时也提升了计算速度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种计算文本相似度的方法和装置。
背景技术
随着信息传播技术的发展,文本复制或者抄袭的现象也越来越多。例如,在电商领域,商品的评论文本的内容质量可能会涉及到一些优惠政策,评论文本的内容质量越高,则对用户返回的积分越多。所以,存在复制质量高的评论的问题。针对该问题,可通过计算当前评论文本与历史评论文本的相似度,筛选出存在上述问题的文本。
对于计算文本之间的相似度,现有技术中采用的方法主要包括简单共有词、编辑距离和余弦相似性等。对于简单共有词,是通过计算两个文本共有的词的总字符数除以最长文本的字符数,来评估两个文本之间的相似度。编辑距离是指,对于两个字串之间,由一个转成另一个所需的最少编辑操作次数除以两者之间的最大长度,来衡量两个文本之间的相似度。对于余弦相似性,一般是按照词频定义两个文本的向量表示,通过计算向量的夹角余弦值,评估出两个文本之间的相似度。
在实施过程中,技术人员发现上述现有技术存在以下问题:现有技术的计算方式均是确定一个文本与另一个文本之间的相似性,对于确定一个文本与海量文本之间的相似性,需要通过循环的方法确定该文本与海量文本中每条文本的相似度。基于现有技术,实现一个文本与海量文本之间的相似性的计算速度是比较慢的。例如,通过余弦相似性计算一个文本与几十万文本之间的相似度,其过程主要包括:分别确定该文本与对比的几十万文本的向量表示,然后一一计算该文本的向量表示与几十万文本的向量表示的余弦值。并且在每次计算余弦值的过程中,都要计算出两个向量的乘积除以两个向量模的乘积,不仅导致文本向量计算之间的依赖,而且大大影响计算速度。
发明内容
有鉴于此,本发明实施例提供一种计算文本相似度的方法和装置,能够提升计算速度,并减少文本向量之间计算的依赖性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种计算文本相似度的方法。
本发明实施例的计算文本相似度的方法包括:确定待评估文本的向量表示;对所述待评估文本的向量表示进行单位化处理,以得到所述待评估文本的单位向量;根据获取的对比文本的单位向量与所述待评估文本的单位向量之间的乘积,确定待评估文本与所述对比文本的相似度。
可选地,根据获取的对比文本的单位向量与所述待评估文本的单位向量之间的乘积,确定待评估文本与所述对比文本的相似度的步骤包括:确定语料库对应的矩阵;所述语料库中包括一个以上的对比文本,所述矩阵的列向量为所述一个以上的对比文本的单位向量;计算所述待评估文本的单位向量与所述矩阵的乘积,以得到相似度集合,所述相似度集合中包括所述待评估文本与所述每个对比文件的相似度。
可选地,所述确定语料库对应的矩阵的步骤包括:按照预设的业务规则搜集对比文本,以确定语料库;确定语料库中每个对比文本的向量表示;对所述对比文本的向量表示进行单位化处理,以得到所述对比文本的单位向量;根据每个对比文本的单位向量,确定所述语料库对应的矩阵。
可选地,所述确定待评估文本的向量表示的步骤包括:对待评估文本进行预处理,所述预处理至少包括:去标点、去停用词和分词处理;基于所述预处理后的待评估文本和Word2vec,确定所述待评估文本的向量表示。
可选地,所述基于所述预处理后的待评估文本和Word2vec,确定所述待评估文本的向量表示的步骤包括:确定预处理后所述待评估文本的词语组合;根据Word2vec确定所述词语组合中每个词语的向量表示;计算所有词语的向量表示的列均值,以确定所述待评估文本的向量表示。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种计算文本相似度的装置。
本发明实施例的计算文本相似度的装置包括:确定文本向量模块,用于确定待评估文本的向量表示;确定单位向量模块,用于对所述待评估文本的向量表示进行单位化处理,以得到所述待评估文本的单位向量;确定相似度模块,用于根据获取的对比文本的单位向量与所述待评估文本的单位向量之间的乘积,确定待评估文本与所述对比文本的相似度。
可选地,所述确定相似度模块还用于,确定语料库对应的矩阵;所述语料库中包括一个以上的对比文本,所述矩阵的列向量为所述一个以上的对比文本的单位向量;以及,计算所述待评估文本的单位向量与所述矩阵的乘积,以得到待评估文本与所述语料库中每个对比文本的相似度集合,所述相似度集合中包括所述待评估文本与所述每个对比文件的相似度。
可选地,所述确定相似度模块还用于,按照预设的业务规则搜集对比文本,以确定语料库;确定语料库中每个对比文本的向量表示;对所述对比文本的向量表示进行单位化处理,以得到所述对比文本的单位向量;根据每个对比文本的单位向量,确定所述语料库对应的矩阵。
可选地,所述确定文本向量模块还用于,对待评估文本进行预处理,所述预处理至少包括:去标点、去停用词和分词处理;以及,基于所述预处理后的待评估文本和Word2vec,确定所述待评估文本的向量表示。
可选地,所述确定文本向量模块还用于,确定预处理后所述待评估文本的词语组合;根据Word2vec确定所述词语组合中每个词语的向量表示;计算所有词语的向量表示的列均值,以确定所述待评估文本的向量表示。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项的计算文本相似度的方法。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述任一项的计算文本相似度的方法。
上述发明中的一个实施例具有如下优点或有益效果:在确定待评估文本的向量表示后,对其进行单位化处理,以得到该文本的单位向量。以及获取对比文本的单位向量,通过两个单位向量之间的乘积,即可确定这两个向量之间的相似度。在该计算过程中,不涉及文本模的计算,不仅减少了文本向量之间计算的依赖性,也提升了计算速度。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的计算文本相似度的方法的主要流程的示意图;
图2是根据本发明实施例的计算评论相似度的方法的示意图;
图3是根据本发明实施例的计算文本相似度的装置的主要模块的示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的计算文本相似度的方法的主要流程的示意图,如图1所示,本发明实施例的计算文本相似度的方法主要包括:
步骤S101:确定待评估文本的向量表示。在该步骤中,对待评估文本进行预处理,预处理至少包括:去标点、去停用词和分词处理。基于预处理后的待评估文本和Word2vec,确定待评估文本的向量表示。Word2vec,是为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在Word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,Word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。对于确定词的向量,Word2vec计算速度较快,并且确定出的向量能更准确的表示其对应的词语。
其中,基于预处理后的待评估文本和Word2vec,确定待评估文本的向量表示的过程中,首先确定预处理后待评估文本的词语组合。然后根据Word2vec确定词语组合中每个词语的向量表示,并计算所有词语的向量表示的列均值,以确定待评估文本的向量表示。列均值是指所有向量表示的对应列元素的均值,例如向量{1,4,6}和{2,3,5},则列均值分别为(1+2)/2、(4+3)/2、(6+5)/2。在根据词语组合中每个词语的向量表示,确定待评估文本的向量表示时,还可根据所有词语的向量表示的列最大值。例如,向量{1,4,6}和{2,3,5},两个向量的第一列的最大值为2、第二列的最大值为4、第三列的最大值为6,则根据所有词语的向量表示的列最大值,确定出的待评估文本的向量表示为{2,4,6}。但是,通过所有词语的向量表示的列均值确定待评估文本的向量表示,能更准确的表示文本内容。
如果待评估文本为“今天天气很好”,经过预处理后,该待评估文本的词语组合为{今天,天气,很好}。通过Word2vec得到二维的词向量,其中,确定出的向量表示的维度可根据需求进行设置,假如“今天”的向量表示为{a1,a2},“天气”的向量表示为{b1,b2},“很好”的向量表示为{c1,c2}。计算所有词语的向量表示的列均值(a1+b1+c1)/3、(a2+b2+c3)/3,则“今天天气很好”文本的向量表示为{(a1+b1+c1)/3,(a2+b2+c3)/3}。
步骤S102:对待评估文本的向量表示进行单位化处理,以得到待评估文本的单位向量。例如确定出的待评估文本的向量表示为{d1,e1},则对其进行单位话处理得到单位向量:
步骤S103:根据获取的对比文本的单位向量与待评估文本的单位向量之间的乘积,确定待评估文本与对比文本的相似度。通过两个单位向量之间的乘积,即可确定这两个向量之间的相似度。在该计算过程中,不涉及文本模的计算,不仅减少了文本向量之间计算的依赖性,也提升了计算速度。
如果确定待评估文本与语料库中海量对比文本的相似度,首先确定语料库对应的矩阵,其中,语料库中包括一个以上的对比文本,矩阵的列向量为一个以上的对比文本的单位向量,即将每个对比文件的单位向量作为矩阵的列元素。例如,语料库中包括三个对比文本,这三个对比文本的单位向量分别为{a1,a2}、{b1,b2}、{c1,c2},则该语料库对应的矩阵为:
如果该语料库对应的矩阵已经计算出并存储在数据库中,则可直接在数据库中获取到该语料库对应的矩阵。如果没有存储,可通过以下过程计算出语料库对应的矩阵:按照预设的业务规则搜集对比文本,以确定语料库;确定语料库中每个对比文本的向量表示;对对比文本的向量表示进行单位化处理,以得到对比文本的单位向量;根据每个对比文本的单位向量,确定语料库对应的矩阵。
现有技术中在计算待评估文本与海量文本之间的相似度时,需要通过循环的方法确定该文本与海量文本中每条文本的相似度。具体地,分别确定该文本与对比的几十万文本的向量表示,然后一一计算该文本的向量表示与几十万文本的向量表示的余弦值。并且在每次计算余弦值的过程中,都要计算出两个向量的乘积除以两个向量模的乘积,不仅导致文本向量计算之间的依赖,而且大大影响计算速度。在本发明实施例中,确定语料库对应的矩阵之后,计算待评估文本的单位向量与矩阵的乘积,以得到相似度集合,该相似度集合中包括待评估文本与每个对比文件的相似度。与现有技术一一计算的过程不同,本发明实施例了通过一次计算即可确定出待评估文本与语料库中海量文本的相似度,进而大大提升了计算速度。
以电商平台的评论为例,进一步说明上述计算文本相似度的方法,图2是根据本发明实施例的计算评论相似度的方法的示意图。如图2所示,本发明实施例的计算评论相似度的方法包括:
步骤S201:按照预设的业务规则搜集风控评论,以确定语料库。该语料库中包括的风控评论是重复性比较高的一些历史评论,可通过设置的业务规则筛选出。其业务规则可为:历史评论数据中,重复的次数大于100次。一般筛选出的风控评论为质量比较高的评论,则其作为对比文本,可判断当前评论是否抄袭。如果确定出当前文本与风控文本的相似度大于一定阈值,则说明两者之间内容重复,该当前文本为抄袭文本。
步骤S202:确定语料库中每个风控评论的向量表示,对该风控评论的向量表示进行单位化处理,以得到风控评论的单位向量。并且,
根据每个风控评论的单位向量,确定语料库对应的矩阵。例如,
其中,T为语料库,a和b为该语料库中的风控评论。
对语料库中的风控评论进行去标点、去停用词和分词处理,并基于所述预处理后的风控评论和Word2vec,确定语料库中每个风控评论的向量表示,每个风控评论的向量表示组合成该语料库的初始矩阵W:
其中,[a11 a12 a13 ...]为风控评论a的向量表示,[b11 b12 b13 ...]为风控评论b的向量表示。
确定出的语料库的初始矩阵W,对其行向量进行单位化处理,得到语料库的转置前的矩阵F:
其中,μa为风控评论的单位向量。
对矩阵F进行转置,最终得到语料库对应的矩阵F'。
步骤S203:确定待评估评论的向量表示,对待评估评论的向量表示进行单位化处理,以得到待评估评论的单位向量。
步骤S204:计算待评估评论的单位向量与语料库矩阵的乘积,以得到相似度集合,该相似度集合中包括待评估文本与每个对比文件的相似度。如果待评估评论的单位向量为μ,通过步骤S203确定出语料对应的库矩阵为F',则μ·F'为待评估文本与每个对比文件的相似度集合。
对于本发明实施例,在高并发大流量用户评论的场景下,实时且高效计算当前评论文本与海量风控评论重复评论库中所有文本的相似度,从而做到用户利用高质量重复评论牟利的相关风险控制。若将评论文本的相似度计算用在线上环境,只要通过计算当前评论的单位向量表示,便可以一步计算出当前评论与风控评论数据集中所有文本的相似度。用60万风控评论数据集做相似度计算测试,计算平均时间70毫秒。而通过现有技术循环的方式将几十万条文本分别与当下评论进行相似度计算,通过代码分别实现了7种现有技术中相似度计算的方法,用7万条风控评论数据集做相似度计算,7种现有技术中最好测试结果计算耗时约为80秒。对于电商平台的线上服务来说,80秒的服务性能是不能忍受的。7种现有技术分别为:余弦相似性:按词频定义文本向量,通过计算向量夹角余弦评估相似度;简单共有词:计算两篇文档共有的词的总字符数除以最长文档字符数来评估他们的相似度;编辑距离:两个字串之间,由一个转成另一个所需的最少编辑操作次数除以两者之间的最大长度来衡量相似度;simhash+汉明距离:将一个文档转换成64位的字节,然后通过判断两个字节的汉明距离来衡量相似度;Jaccard相似性系数:两个文档的共同都有的词除以两个文档所有的词;欧几里得距离:两个文档所有的词(不重复)在A文档的词频作为x,在B文档的作为y进行计算两点间的距离然后可以通过1÷(1+欧几里德距离)得到相似度;曼哈顿距离:跟欧几里德距离有点像,简单来说就是d(i,j)=|x1-x2|+|y1-y2|,同理xn和yn分别代表两个文档所有的词(不重复)在A和B的词频,然后可以通过1÷(1+曼哈顿距离)得到相似度。
图3是根据本发明实施例计算文本相似度的装置的主要模块的示意图,如图3所示,本发明实施例的计算文本相似度的装置300包括确定文本向量模块301、确定单位向量模块302和确定相似度模块303。
确定文本向量模块301用于,确定待评估文本的向量表示。确定文本向量模块还用于,对待评估文本进行预处理,预处理至少包括:去标点、去停用词和分词处理;以及,基于预处理后的待评估文本和Word2vec,确定待评估文本的向量表示。确定文本向量模块还用于,确定预处理后待评估文本的词语组合;根据Word2vec确定词语组合中每个词语的向量表示;计算所有词语的向量表示的列均值,以确定待评估文本的向量表示。
确定单位向量模块302用于,对待评估文本的向量表示进行单位化处理,以得到待评估文本的单位向量。
确定相似度模块303用于,根据获取的对比文本的单位向量与待评估文本的单位向量之间的乘积,确定待评估文本与对比文本的相似度。确定相似度模块还用于,确定语料库对应的矩阵;语料库中包括一个以上的对比文本,矩阵的列向量为一个以上的对比文本的单位向量;以及,计算待评估文本的单位向量与矩阵的乘积,以得到相似度集合,相似度集合中包括待评估文本与每个对比文件的相似度。确定相似度模块还用于,按照预设的业务规则搜集对比文本,以确定语料库;确定语料库中每个对比文本的向量表示;对对比文本的向量表示进行单位化处理,以得到对比文本的单位向量;根据每个对比文本的单位向量,确定语料库对应的矩阵。
本发明实施例的计算文本相似度的装置,在确定待评估文本的向量表示后,对其进行单位化处理,以得到该文本的单位向量。以及获取对比文本的单位向量,通过两个单位向量之间的乘积,即可确定这两个向量之间的相似度。在该计算过程中,不涉及文本模的计算,不仅减少了文本向量之间计算的依赖性,也提升了计算速度。并且,针对确定待评估文本与语料库中海量对比文本的相似度的情况,与现有技术中循环计算待评估文本的向量表示与几十万文本的向量表示的余弦值不同,确定语料库对应的矩阵之后,计算待评估文本的单位向量与矩阵的乘积,通过一次计算即可确定出待评估文本与语料库中海量文本的相似度,进而大大提升了计算速度。
图4示出了可以应用本发明实施例的计算文本相似度的方法或计算文本相似度的装置的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的计算文本相似度的方法一般由服务器405执行,相应地,计算文本相似度的装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取确定文本向量模块、确定单位向量模块和确定相似度模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,确定文本向量模块还可以被描述为“确定待评估文本的向量表示的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:确定待评估文本的向量表示;对待评估文本的向量表示进行单位化处理,以得到待评估文本的单位向量;根据获取的对比文本的单位向量与待评估文本的单位向量之间的乘积,确定待评估文本与对比文本的相似度。
对于本发明实施例,在确定待评估文本的向量表示后,对其进行单位化处理,以得到该文本的单位向量。以及获取对比文本的单位向量,通过两个单位向量之间的乘积,即可确定这两个向量之间的相似度。在该计算过程中,不涉及文本模的计算,不仅减少了文本向量之间计算的依赖性,也提升了计算速度。并且,针对确定待评估文本与语料库中海量对比文本的相似度的情况,与现有技术中循环计算待评估文本的向量表示与几十万文本的向量表示的余弦值不同,确定语料库对应的矩阵之后,计算待评估文本的单位向量与矩阵的乘积,通过一次计算即可确定出待评估文本与语料库中海量文本的相似度,进而大大提升了计算速度。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种计算文本相似度的方法,其特征在于,包括:
确定待评估文本的向量表示;
对所述待评估文本的向量表示进行单位化处理,以得到所述待评估文本的单位向量;
根据获取的对比文本的单位向量与所述待评估文本的单位向量之间的乘积,确定待评估文本与所述对比文本的相似度。
2.根据权利要求1所述的方法,其特征在于,根据获取的对比文本的单位向量与所述待评估文本的单位向量之间的乘积,确定待评估文本与所述对比文本的相似度的步骤包括:
确定语料库对应的矩阵;所述语料库中包括一个以上的对比文本,所述矩阵的列向量为所述一个以上的对比文本的单位向量;
计算所述待评估文本的单位向量与所述矩阵的乘积,以得到相似度集合,所述相似度集合中包括所述待评估文本与所述每个对比文件的相似度。
3.根据权利要求2所述的方法,其特征在于,所述确定语料库对应的矩阵的步骤包括:
按照预设的业务规则搜集对比文本,以确定语料库;
确定语料库中每个对比文本的向量表示;
对所述对比文本的向量表示进行单位化处理,以得到所述对比文本的单位向量;
根据每个对比文本的单位向量,确定所述语料库对应的矩阵。
4.根据权利要求1所述的方法,其特征在于,所述确定待评估文本的向量表示的步骤包括:
对待评估文本进行预处理,所述预处理至少包括:去标点、去停用词和分词处理;
基于所述预处理后的待评估文本和Word2vec,确定所述待评估文本的向量表示。
5.根据权利要求4所述的方法,其特征在于,所述基于所述预处理后的待评估文本和Word2vec,确定所述待评估文本的向量表示的步骤包括:
确定预处理后所述待评估文本的词语组合;
根据Word2vec确定所述词语组合中每个词语的向量表示;
计算所有词语的向量表示的列均值,以确定所述待评估文本的向量表示。
6.一种计算文本相似度的装置,其特征在于,包括:
确定文本向量模块,用于确定待评估文本的向量表示;
确定单位向量模块,用于对所述待评估文本的向量表示进行单位化处理,以得到所述待评估文本的单位向量;
确定相似度模块,用于根据获取的对比文本的单位向量与所述待评估文本的单位向量之间的乘积,确定待评估文本与所述对比文本的相似度。
7.根据权利要求6所述的装置,其特征在于,所述确定相似度模块还用于,确定语料库对应的矩阵;所述语料库中包括一个以上的对比文本,所述矩阵的列向量为所述一个以上的对比文本的单位向量;以及,计算所述待评估文本的单位向量与所述矩阵的乘积,以得到相似度集合,所述相似度集合中包括所述待评估文本与所述每个对比文件的相似度。
8.根据权利要求7所述的装置,其特征在于,所述确定相似度模块还用于,按照预设的业务规则搜集对比文本,以确定语料库;确定语料库中每个对比文本的向量表示;对所述对比文本的向量表示进行单位化处理,以得到所述对比文本的单位向量;根据每个对比文本的单位向量,确定所述语料库对应的矩阵。
9.根据权利要求6所述的装置,其特征在于,所述确定文本向量模块还用于,对待评估文本进行预处理,所述预处理至少包括:去标点、去停用词和分词处理;以及,基于所述预处理后的待评估文本和Word2vec,确定所述待评估文本的向量表示。
10.根据权利要求9所述的装置,其特征在于,所述确定文本向量模块还用于,确定预处理后所述待评估文本的词语组合;根据Word2vec确定所述词语组合中每个词语的向量表示;计算所有词语的向量表示的列均值,以确定所述待评估文本的向量表示。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810840534.3A CN110852057A (zh) | 2018-07-27 | 2018-07-27 | 一种计算文本相似度的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810840534.3A CN110852057A (zh) | 2018-07-27 | 2018-07-27 | 一种计算文本相似度的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110852057A true CN110852057A (zh) | 2020-02-28 |
Family
ID=69594737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810840534.3A Pending CN110852057A (zh) | 2018-07-27 | 2018-07-27 | 一种计算文本相似度的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110852057A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738589A (zh) * | 2020-06-19 | 2020-10-02 | 国家电网有限公司大数据中心 | 基于内容推荐的大数据项目工作量评估方法、装置及设备 |
CN111832304A (zh) * | 2020-06-29 | 2020-10-27 | 上海巧房信息科技有限公司 | 楼盘名称的查重方法、装置、电子设备及存储介质 |
CN112612810A (zh) * | 2020-12-23 | 2021-04-06 | 贝壳技术有限公司 | 慢sql语句识别方法及系统 |
-
2018
- 2018-07-27 CN CN201810840534.3A patent/CN110852057A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738589A (zh) * | 2020-06-19 | 2020-10-02 | 国家电网有限公司大数据中心 | 基于内容推荐的大数据项目工作量评估方法、装置及设备 |
CN111738589B (zh) * | 2020-06-19 | 2024-02-27 | 国家电网有限公司大数据中心 | 基于内容推荐的大数据项目工作量评估方法、装置及设备 |
CN111832304A (zh) * | 2020-06-29 | 2020-10-27 | 上海巧房信息科技有限公司 | 楼盘名称的查重方法、装置、电子设备及存储介质 |
CN111832304B (zh) * | 2020-06-29 | 2024-02-27 | 上海巧房信息科技有限公司 | 楼盘名称的查重方法、装置、电子设备及存储介质 |
CN112612810A (zh) * | 2020-12-23 | 2021-04-06 | 贝壳技术有限公司 | 慢sql语句识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376234B (zh) | 一种训练摘要生成模型的方法和装置 | |
JP7301922B2 (ja) | 意味検索方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN111368551B (zh) | 一种确定事件主体的方法和装置 | |
CN114385780B (zh) | 程序接口信息推荐方法、装置、电子设备和可读介质 | |
CN110852057A (zh) | 一种计算文本相似度的方法和装置 | |
CN111368697A (zh) | 一种信息识别方法和装置 | |
CN110738056B (zh) | 用于生成信息的方法和装置 | |
CN111435406A (zh) | 一种纠正数据库语句拼写错误的方法和装置 | |
CN110807097A (zh) | 分析数据的方法和装置 | |
CN110705271B (zh) | 一种提供自然语言处理服务的系统及方法 | |
CN112926298A (zh) | 新闻内容识别方法、相关装置及计算机程序产品 | |
CN116127925B (zh) | 基于对文本进行破坏处理的文本数据增强方法及装置 | |
CN111368693A (zh) | 一种身份证信息的识别方法和装置 | |
CN113590447B (zh) | 埋点处理方法和装置 | |
CN113076254A (zh) | 一种测试用例集的生成方法和装置 | |
CN112487765A (zh) | 一种生成通知文本的方法和装置 | |
CN110929512A (zh) | 一种数据增强方法和装置 | |
CN113066479A (zh) | 一种评测模型的方法和装置 | |
CN112784596A (zh) | 一种识别敏感词的方法和装置 | |
CN110895655A (zh) | 提取文本核心短语的方法和装置 | |
CN117172220B (zh) | 文本相似信息生成方法、装置、设备和计算机可读介质 | |
CN109857838B (zh) | 用于生成信息的方法和装置 | |
CN115952854B (zh) | 文本脱敏模型的训练方法、文本脱敏方法及应用 | |
CN113779205A (zh) | 一种智能应答方法和装置 | |
CN111767391A (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 |