CN107688661B - 歌词相似度计算方法、终端设备及计算机可读存储介质 - Google Patents
歌词相似度计算方法、终端设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107688661B CN107688661B CN201710804745.7A CN201710804745A CN107688661B CN 107688661 B CN107688661 B CN 107688661B CN 201710804745 A CN201710804745 A CN 201710804745A CN 107688661 B CN107688661 B CN 107688661B
- Authority
- CN
- China
- Prior art keywords
- text
- lyric
- similarity
- words
- length
- 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
Links
Images
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本发明公开了一种歌词相似度计算方法,包括:从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本;获取第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取第一歌词文本和第二歌词文本的第一重合字数;根据第一重合字数及第一连续相同字数计算相似度。本发明还公开了一种终端设备及计算机可读存储介质。本发明能够根据第一重合字数及第一连续相同字数准确的计算得到歌词文本之间的相似度,进而在计算歌词文本的相似度时,除了重合字数外,还采用连续相同字数,能够避免遗漏歌词开头或结尾相似,从而整句歌词也相似的句子,提高了查找相似歌词的全面性及准确性。
Description
技术领域
本发明涉及文本处理技术领域,尤其涉及一种歌词相似度计算方法、终端设备及计算机可读存储介质。
背景技术
歌词文本的相似程度是利用文本信息来提取歌曲高潮时通常会用到的特征之一,歌词文本的相似程度的精确性会大大影响高潮提取的精确程度。
现有技术中一般是直接比较歌词的重合字数,再除以歌词的句长,得到两句歌词的相似程度。这样得到的相似度虽然精确,但是也遗漏了很多歌词开头或结尾相似,从而整句歌词也相似的句子,导致查找相似歌词并不全面。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种歌词相似度计算方法、终端设备及计算机可读存储介质,旨在解决现有技术中查找相似歌词不全面的技术问题。
为实现上述目的,本发明提供一种歌词相似度计算方法,所述歌词相似度计算方法包括以下步骤:
从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本;
获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数;
根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度。
优选地,所述根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度的步骤包括:
获取所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度;
将所述第一文本长度与所述第二文本长度之间较小的长度值设置为文本长度;
根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度。
优选地,所述根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度的步骤包括:
对所述第一重合字数及第一连续相同字数进行加权求和,获得求和值;
根据所述求和值及所述文本长度计算所述相似度。
优选地,所述根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度的步骤包括:
将所述第一歌词文本和第二歌词文本分别进行倒序,获取倒序后的第一歌词文本和倒序后的第二歌词文本从头开始的第二连续相同字数,并获取所述倒序后的第一歌词文本和倒序后的第二歌词文本的第二重合字数;
根据所述第一重合字数、第二重合字数、第一连续相同字数和第二连续相同字数计算所述相似度。
优选地,所述根据所述第一重合字数、第二重合字数、第一连续相同字数和第二连续相同字数计算所述相似度的步骤包括:
根据所述第一重合字数、第一连续相同字数和第二连续相同字数计算第一相似度;
根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度;
将所述第一相似度和第二相似度中的较大值作为所述相似度。
优选地,所述根据所述第一重合字数、第一连续相同字数和第二连续相同字数计算第一相似度的步骤包括:
对所述第一重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第一求和值,
A=m*d1+c1+(n+v)*d2;
根据所述第一求和值及所述文本长度通过下式计算所述第一相似度,
r1=A/len,
其中,所述文本长度为所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度之间较小的长度值;
所述根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度的步骤包括:
对所述第二重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第二求和值,
B=n*d2+c2+(m+v)*d1;
根据所述第二求和值及所述文本长度通过下式计算所述第二相似度,
r2=B/len;
其中,A为所述第一求和值,B为所述第二求和值,c1为第一重合字数,c2为第二重合字数,d1为第一连续相同字数,d2为第二连续相同字数,r1为所述第一相似度,r2为所述第二相似度,len为所述文本长度,m为正向加权系数,n为倒向加权系数,v为常数。
优选地,所述将所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度之间较小的长度值设置为文本长度的步骤之前,还包括:
判断所述第一文本长度和所述第二文本长度是否相同;
在所述第一文本长度和第二文本长度相同时,将所述常数v设置为0;
在所述第一文本长度和第二文本长度不相同时,将所述常数v设置为1。
优选地,所述从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本的步骤之后,所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤之前,所述歌词相似度计算方法还包括:
在所述第一歌词文本中不包括所述第二歌词文本、且所述第二歌词文本中不包括所述第一歌词文本时,确定所述第一歌词文本和第二歌词文本之间是否存在相同文字,若存在相同文字,则执行所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的歌词相似度计算程序,所述歌词相似度计算程序配置为实现所述的歌词相似度计算方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有歌词相似度计算程序,所述歌词相似度计算程序被处理器执行时实现所述的歌词相似度计算方法的步骤。
本发明通过从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本,接着获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数,而后根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度,能够根据第一重合字数及第一连续相同字数准确的计算得到歌词文本之间的相似度,进而在计算歌词文本的相似度时,除了重合字数外,还采用第一歌词文本和第二歌词文本从头开始的连续相同字数,能够避免遗漏歌词开头或结尾相似,从而整句歌词也相似的句子,提高了查找相似歌词的全面性及准确性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;
图2为本发明歌词相似度计算方法第一实施例的流程示意图;
图3为本发明歌词相似度计算方法第二实施例中的根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度的步骤的细化流程示意图;
图4为本发明歌词相似度计算方法第三实施例中的根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度的步骤的细化流程示意图;
图5为本发明歌词相似度计算方法第四实施例中的根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度的步骤的细化流程示意图;
图6为本发明歌词相似度计算方法第五实施例中的根据所述第一重合字数、第二重合字数、第一连续相同字数和第二连续相同字数计算所述相似度的步骤的细化流程示意图;
图7为本发明歌词相似度计算方法第六实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备的结构示意图。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可理解的是,所述终端设备可以为PC机、笔记本电脑、平板电脑或服务器等具有计算功能的设备,本实施例对此不加以限制。
本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及歌词相似度计算程序。
在图1所示的终端设备中,网络接口1004主要用于与外部网络进行数据通信;用户接口1003主要用于接收用户的输入指令;所述终端设备通过处理器1001调用存储器1005中存储的歌词相似度计算程序,并执行以下操作:
从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本;
获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数;
根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度。
进一步地,处理器1001可以调用存储器1005中存储的歌词相似度计算程序,还执行以下操作:
获取所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度;
将所述第一文本长度与所述第二文本长度之间较小的长度值设置为文本长度;
根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度。
进一步地,处理器1001可以调用存储器1005中存储的歌词相似度计算程序,还执行以下操作:
对所述第一重合字数及第一连续相同字数进行加权求和,获得求和值;
根据所述求和值及所述文本长度计算所述相似度。
进一步地,处理器1001可以调用存储器1005中存储的歌词相似度计算程序,还执行以下操作:
将所述第一歌词文本和第二歌词文本分别进行倒序,获取倒序后的第一歌词文本和倒序后的第二歌词文本从头开始的第二连续相同字数,并获取所述倒序后的第一歌词文本和倒序后的第二歌词文本的第二重合字数;
根据所述第一重合字数、第二重合字数、第一连续相同字数和第二连续相同字数计算所述相似度。
进一步地,处理器1001可以调用存储器1005中存储的歌词相似度计算程序,还执行以下操作:
根据所述第一重合字数、第一连续相同字数和第二连续相同字数计算第一相似度;
根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度;
将所述第一相似度和第二相似度中的较大值作为所述相似度。
进一步地,处理器1001可以调用存储器1005中存储的歌词相似度计算程序,还执行以下操作:
将所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度之间较小的长度值设置为文本长度;
对所述第一重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第一求和值,
A=m*d1+c1+(n+v)*d2;
根据所述第一求和值及所述文本长度通过下式计算所述第一相似度,
r1=A/len,
其中,所述文本长度为所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度之间较小的长度值;
所述根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度的步骤包括:
对所述第二重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第二求和值,
B=n*d2+c2+(m+v)*d1;
根据所述第二求和值及所述文本长度通过下式计算所述第二相似度,
r2=B/len;
其中,A为所述第一求和值,B为所述第二求和值,c1为第一重合字数,c2为第二重合字数,d1为第一连续相同字数,d2为第二连续相同字数,r1为所述第一相似度,r2为所述第二相似度,len为所述文本长度,m为正向加权系数,n为倒向加权系数,v为常数。
进一步地,处理器1001可以调用存储器1005中存储的歌词相似度计算程序,还执行以下操作:
判断所述第一文本长度和所述第二文本长度是否相同;
在所述第一文本长度和第二文本长度相同时,将所述常数v设置为0;
在所述第一文本长度和第二文本长度不相同时,将所述常数v设置为1。
进一步地,处理器1001可以调用存储器1005中存储的歌词相似度计算程序,还执行以下操作:
在所述第一歌词文本中不包括所述第二歌词文本、且所述第二歌词文本中不包括所述第一歌词文本时,确定所述第一歌词文本和第二歌词文本之间是否存在相同文字,若存在相同文字,则执行所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤。
基于上述硬件结构,提出本发明歌词相似度计算方法实施例。
参照图2,图2为本发明歌词相似度计算方法第一实施例的流程示意图。
在第一实施例中,所述歌词相似度计算方法包括以下步骤:
步骤S10,从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本;
可理解的是,歌曲在音乐播放器中进行播放时,为了能够对歌词进行展示,通常会带有LRC歌词文件,所述目标歌词文件可理解为需要计算相似度的LRC歌词文件。
需要说明的是,可随机从目标歌词文件中选取两句歌词文本,也可通过类似于遍历的方式进行选取,例如:对所述目标歌词文件进行遍历,将遍历到的一句歌词文本作为第一歌词文本,再从所述目标歌词文件中选取另一歌词文本作为第二歌词文本,当然,还可通过其他方式进行选取,本实施例对此不加以限制。
步骤S20,获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数;
可理解的是,从头开始为从第一歌词文本的第一个字开始,故而,第一连续相同字数即为第一歌词文本和第二歌词文本从第一个字开始的连续相同字数,假设第一歌词文本为“XXXYYZZZ”,第二歌词文本为“XXYYXXZZZ”,此时,第一连续相同字数为2。
需要说明的是,第一重合字数即为所述第一歌词文本和第二歌词文本位置及文字均相同的字数,继续假设所述第一歌词文本为“XXXYYZZZ”,第二歌词文本为“XXYYXXZZZ”,此时,第一歌词文本和第二歌词文本的前两位均为X,第四位均为Y,第七位和第八位均为Z,因此,第一重合字数为5。
步骤S30,根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度。
在本实施例中,在获取到第一重合字数及第一连续相同字数时,根据第一重合字数及第一连续相同字数计算相似度,具体地,可根据第一重合字数及第一连续相同字数以及第一歌词文本的文本长度和第二歌词文本的文本长度计算相似度。
本实施例提出的歌词相似度计算方法,通过从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本,接着获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数,而后根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度,能够根据第一重合字数及第一连续相同字数准确的计算得到歌词文本之间的相似度,进而在计算歌词文本的相似度时,除了重合字数外,还采用第一歌词文本和第二歌词文本从头开始的连续相同字数,能够避免遗漏歌词开头或结尾相似,从而整句歌词也相似的句子,提高了查找相似歌词的全面性及准确性。
基于第一实施例提出本发明歌词相似度计算方法第二实施例,参照图3,在本实施例中,步骤S30包括:
步骤S31,获取所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度;
在本实施例中,在得到第一歌词文本及第二歌词文本时,可计算获得第一歌词文本的文本长度及第二歌词文本的文本长度,其中,文本长度可以为歌词文本的字数。
步骤S32,将所述第一文本长度与所述第二文本长度之间较小的长度值设置为文本长度;
在本实施例中,通过对获取到的第一文本长度与所述第二文本长度进行比较操作,以得到第一文本长度与所述第二文本长度之间较小的长度值,并将得到的长度值作为文本长度。
步骤S33,根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度。
在本实施例中,在获取到文本长度时,可根据第一重合字数及第一连续相同字数以及文本长度和计算第一歌词文本和第二歌词文本之间的相似度。
具体地,该相似度可以通过第一重合字数与第一连续相同字数之和除以文本长度得到,当然,也可以根据需要在求和时对第一重合字数及/或第一连续相同字数进行加权计算,以提高相似度计算的准确性。
本实施例提出的歌词相似度计算方法,通过获取所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度,接着将所述第一文本长度与所述第二文本长度之间较小的长度值设置为文本长度,而后根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度,能够根据第一重合字数、第一连续相同字数及文本长度准确的计算得到歌词文本之间的相似度,提高了相似度的准确性,进一步提高了查找相似歌词的全面性及准确性。
基于第二实施例提出本发明歌词相似度计算方法第三实施例,参照图4,在本实施例中,步骤S33包括:
步骤S331,对所述第一重合字数及第一连续相同字数进行加权求和,获得求和值;
步骤S332,根据所述求和值及所述文本长度计算所述相似度
在本实施例中,求和值为对第一重合字数乘以加权系数后与第一连续相同字数之和,具体地,相似度通过下式计算,
r=(m*d1+c1)/len,
其中,r为相似度,len为文本长度,A为所述第一求和值,m为正向加权系数,d1为第一连续相同字数,c1为第一重合字数。正向加权系数m可以根据需求或实验数据进行合理设置。
本实施例提出的歌词相似度计算方法,通过对所述第一重合字数及第一连续相同字数进行加权求和,获得求和值,根据所述求和值及所述文本长度计算所述相似度,进而能够提高相似度计算的准确性及效率,进一步提高了查找相似歌词的全面性及准确性。
基于第一实施例提出本发明歌词相似度计算方法第四实施例,参照图5,在本实施例中,步骤S30包括:
步骤S34,将所述第一歌词文本和第二歌词文本分别进行倒序,获取倒序后的第一歌词文本和倒序后的第二歌词文本从头开始的第二连续相同字数,并获取所述倒序后的第一歌词文本和倒序后的第二歌词文本的第二重合字数;
可理解的是,所述倒序即为将歌词文本的次序进行倒置,继续假设所述第一歌词文本为“XXXYYZZZ”,第二歌词文本为“XXYYXXZZZ”,倒序后的第一歌词文本为“ZZZYYXXX”,倒序后的第二歌词文本为“ZZZXXYYXX”,相应地,所述第二连续相同字数为3。
此时,倒序后的第一歌词文本和倒序后的第二歌词文本的前三位均为C,第八位均为A,因此,第二重合字数为4。
步骤S35,根据所述第一重合字数、第二重合字数、第一连续相同字数和第二连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度。
本实施例中,在计算歌词文本相似度时,除了重合字数外,还采用第一歌词文本和第二歌词文本从头开始的第一连续相同字数、以及倒序后的第一歌词文本和倒序后的第二歌词文本从头开始的第二连续相同字数,能够避免遗漏歌词开头或结尾相似,从而整句歌词也相似的句子,提高了查找相似歌词的全面性。
本实施例提出的歌词相似度计算方法,通过将所述第一歌词文本和第二歌词文本分别进行倒序,获取倒序后的第一歌词文本和倒序后的第二歌词文本从头开始的第二连续相同字数,并获取所述倒序后的第一歌词文本和倒序后的第二歌词文本的第二重合字数,接着根据所述第一重合字数、第二重合字数、第一连续相同字数和第二连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度,在计算歌词文本相似度时,除了重合字数外,还采用第一歌词文本和第二歌词文本从头开始的第一连续相同字数、以及倒序后的第一歌词文本和倒序后的第二歌词文本从头开始的第二连续相同字数,能够避免遗漏歌词开头或结尾相似,从而整句歌词也相似的句子,进一步提高了查找相似歌词的全面性。
基于第四实施例提出本发明歌词相似度计算方法第五实施例,在本实施例中,如图6所示,步骤S35包括:
步骤S351,根据所述第一重合字数、第一连续相同字数和第二连续相同字数计算第一相似度;
可理解的是,在获得所述第一重合字数、第一连续相同字数和第二连续相同字数后,可计算所述第一歌词文本和第二歌词文本正向(即未进行倒序的方向)的相似度,并将计算的相似度作为所述第一相似度。
步骤S352,根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度;
可理解的是,在获得所述第二重合字数、第一连续相同字数和第二连续相同字数后,可计算所述第一歌词文本和第二歌词文本倒向(即进行倒序后的方向)的相似度,并将计算的相似度作为所述第二相似度。
步骤S353,将所述第一相似度和第二相似度中的较大值作为所述第一歌词文本和第二歌词文本之间的相似度。
需要说明的是,对于正向的相似度和倒向的相似度通常会不同,为保证所述第一歌词文本和第二歌词文本之间的相似度更加准确,本实施例中,可将所述第一相似度和第二相似度中的较大值作为所述第一歌词文本和第二歌词文本之间的相似度。
为便于计算所述第一相似度及第二相似度,本实施例中,可对所述第一重合字数、第一连续相同字数和第二连续相同字数进行加权求和,获得第一求和值;根据所述第一求和值及文本长度计算所述第一相似度,其中,所述文本长度为所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度之间较小的长度值;
相应地,可对所述第二重合字数、第一连续相同字数和第二连续相同字数进行加权求和,获得第二求和值;根据所述第二求和值及所述文本长度计算所述第二相似度。
可理解的是,所述文本长度可设置为所述第一歌词文本的文本长度和第二歌词文本的文本长度中的较小值,当然,也可设置为所述第一歌词文本的文本长度和第二歌词文本的文本长度中的较大值,本实施例对此不加以限制。
为便于计算所述第一相似度及第二相似度,本实施例中,可根据所述第一求和值及文本长度通过下式计算所述第一相似度,
r1=A/len;
相应地,可根据所述第二求和值及所述文本长度通过下式计算所述第二相似度,
r2=B/len;
其中,r1为所述第一相似度,len为所述文本长度,A为所述第一求和值,r2为所述第二相似度,B为所述第二求和值。
为便于计算所述第一求和值及第二求和值,本实施例中,可对所述第一重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第一求和值,
A=m*d1+c1+(n+v)*d2;
相应地,对所述第二重合字数、第一连续相同字数和第二连续相同字数进行加权求和,获得第二求和值,
B=n*d2+c2+(m+v)*d1;
其中,m为正向加权系数,d1为第一连续相同字数,c1为第一重合字数,c2为第二重合字数,n为倒向加权系数,d2为第二连续相同字数,v为常数。
可理解的是,所述正向加权系数m和倒向加权系数n可根据需要进行设置,通常情况下,所述正向加权系数m和倒向加权系数n均会设置为大于0且小于1的数值,当然,也可设置为小于1且大于0的数值,本实施例对此不加以限制。
通常情况下,根据统计,对于第一歌词文本和第二歌词文本而言,开头相似的概率比结尾相似的概率更大,为进一步提高准确率,本实施例中,所述正向加权系数m大于所述倒向加权系数n。
可理解的是,根据统计,由于长度不同,可能会存在另一部分连续相同字数的存在,但这部分连续相同字数是被第一重合字数排除在外的,为使该部分字数能够反映到相似度中,为进一步提高准确率,本实施例中,可在步骤S401之前,先判断所述第一歌词文本的文本长度和第二歌词文本的文本长度是否相同;在所述第一歌词文本的文本长度和第二歌词文本的文本长度相同时,将所述常数v设置为0;在所述第一歌词文本的文本长度和第二歌词文本的文本长度不相同时,将所述常数v设置为1。
基于上述实施例,提出本发明歌词相似度计算方法第六实施例,参照图7,在本实施例中,在步骤S10之后,步骤S20之前,该歌词相似度计算方法还包括:
在本实施例中,第一歌词文本包括第二歌词文本,是指第一歌词文本中包括第二歌词文中的全部文字,并且上述文字在第一歌词文本中的顺序与第二歌词文中的文字顺序相同;第二歌词文本包括第一歌词文本,是指第二歌词文本中包括第一歌词文中的全部文字,并且上述文字在第二歌词文本中的顺序与第一歌词文中的文字顺序相同。
步骤S50,在所述第一歌词文本中不包括所述第二歌词文本、且所述第二歌词文本中不包括所述第一歌词文本时,确定所述第一歌词文本和第二歌词文本之间是否存在相同文字,若存在相同文字,则执行所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤。
在本实施例中,在第一歌词文本包括所述第二歌词文本、或者所述第二歌词文本包括所述第一歌词文本时,则第一歌词文本和第二歌词文本完全相似,如果假设相似程度范围为0到1,0代表完全不相似,1代表完全相似,也就是说此时第一歌词文本和第二歌词文本的相似程度为1,因此无需计算第一歌词文本和第二歌词文本之间的相似度。在所述第一歌词文本中不包括所述第二歌词文本、且所述第二歌词文本中不包括所述第一歌词文本时,则进一步确定所述第一歌词文本和第二歌词文本之间是否存在相同文字,若第一歌词文本和第二歌词文本不存在相同文字,即第一歌词文本和第二歌词文本没有任何一个字相同,此时,可认为第一歌词文本和第二歌词文本的相似程度为0;若存在相同文字,则第一歌词文本和第二歌词文本之间的相似度在(0~1)的范围内,此才需要执行步骤S20,即执行所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤,以得到第一歌词文本和第二歌词文本之间的相似度。
本实施例提出的歌词相似度计算方法,通过确定所述第一歌词文本是否包括所述第二歌词文本、或者所述第二歌词文本是否包括所述第一歌词文本;接着在所述第一歌词文本中不包括所述第二歌词文本、且所述第二歌词文本中不包括所述第一歌词文本时,确定所述第一歌词文本和第二歌词文本之间是否存在相同文字,若存在相同文字,则执行所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤,限定了相似度计算的条件,提高了相似度计算的准确性,进一步提高了查找相似歌词的全面性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有歌词相似度计算程序,所述歌词相似度计算程序被处理器执行时实现如下操作:
从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本;
获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数;
根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度。
进一步地,所述歌词相似度计算程序被处理器执行时还实现如下操作:
获取所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度;
将所述第一文本长度与所述第二文本长度之间较小的长度值设置为文本长度;
根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度。
进一步地,所述歌词相似度计算程序被处理器执行时还实现如下操作:
对所述第一重合字数及第一连续相同字数进行加权求和,获得求和值;
根据所述求和值及所述文本长度计算所述相似度。
进一步地,所述歌词相似度计算程序被处理器执行时还实现如下操作:
将所述第一歌词文本和第二歌词文本分别进行倒序,获取倒序后的第一歌词文本和倒序后的第二歌词文本从头开始的第二连续相同字数,并获取所述倒序后的第一歌词文本和倒序后的第二歌词文本的第二重合字数;
根据所述第一重合字数、第二重合字数、第一连续相同字数和第二连续相同字数计算所述相似度。
进一步地,所述歌词相似度计算程序被处理器执行时还实现如下操作:
根据所述第一重合字数、第一连续相同字数和第二连续相同字数计算第一相似度;
根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度;
将所述第一相似度和第二相似度中的较大值作为所述相似度。
进一步地,所述歌词相似度计算程序被处理器执行时还实现如下操作:
对所述第一重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第一求和值,
A=m*d1+c1+(n+v)*d2;
根据所述第一求和值及文本长度通过下式计算所述第一相似度,
r1=A/len,
其中,所述文本长度为所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度之间较小的长度值;
所述根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度的步骤包括:
对所述第二重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第二求和值,
B=n*d2+c2+(m+v)*d1;
根据所述第二求和值及所述文本长度通过下式计算所述第二相似度,
r2=B/len;
其中,A为所述第一求和值,B为所述第二求和值,c1为第一重合字数,c2为第二重合字数,d1为第一连续相同字数,d2为第二连续相同字数,r1为所述第一相似度,r2为所述第二相似度,len为所述文本长度,m为正向加权系数,n为倒向加权系数,v为常数。
进一步地,所述歌词相似度计算程序被处理器执行时还实现如下操作:
判断所述第一文本长度和所述第二文本长度是否相同;
在所述第一文本长度和第二文本长度相同时,将所述常数v设置为0;
在所述第一文本长度和第二文本长度不相同时,将所述常数v设置为1。
进一步地,所述歌词相似度计算程序被处理器执行时还实现如下操作:
在所述第一歌词文本中不包括所述第二歌词文本、且所述第二歌词文本中不包括所述第一歌词文本时,确定所述第一歌词文本和第二歌词文本之间是否存在相同文字,若存在相同文字,则执行所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,终端设备,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种歌词相似度计算方法,其特征在于,所述歌词相似度计算方法包括以下步骤:
从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本;
获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数;
根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度;
其中,所述根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度的步骤包括:
将所述第一歌词文本和第二歌词文本分别进行倒序,获取倒序后的第一歌词文本和倒序后的第二歌词文本从头开始的第二连续相同字数,并获取所述倒序后的第一歌词文本和倒序后的第二歌词文本的第二重合字数;
根据所述第一重合字数、第一连续相同字数和第二连续相同字数计算第一相似度;
根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度;
将所述第一相似度和第二相似度中的较大值作为所述相似度。
2.如权利要求1所述歌词相似度计算方法,其特征在于,所述根据所述第一重合字数及所述第一连续相同字数计算所述第一歌词文本和第二歌词文本之间的相似度的步骤包括:
获取所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度;
将所述第一文本长度与所述第二文本长度之间较小的长度值设置为文本长度;
根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度。
3.如权利要求2所述歌词相似度计算方法,其特征在于,所述根据所述文本长度、所述第一重合字数及所述第一连续相同字数计算所述相似度的步骤包括:
对所述第一重合字数及第一连续相同字数进行加权求和,获得求和值;
根据所述求和值及所述文本长度计算所述相似度。
4.如权利要求1所述歌词相似度计算方法,其特征在于,所述根据所述第一重合字数、第一连续相同字数和第二连续相同字数计算第一相似度的步骤包括:
对所述第一重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第一求和值,
A=m*d1+c1+(n+v)*d2;
根据所述第一求和值及文本长度通过下式计算所述第一相似度,
r1=A/len,
其中,所述文本长度为所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度之间较小的长度值;
所述根据所述第二重合字数、第一连续相同字数和第二连续相同字数计算第二相似度的步骤包括:
对所述第二重合字数、第一连续相同字数和第二连续相同字数通过下式进行加权求和,获得第二求和值,
B=n*d2+c2+(m+v)*d1;
根据所述第二求和值及所述文本长度通过下式计算所述第二相似度,
r2=B/len;
其中,A为所述第一求和值,B为所述第二求和值,c1为第一重合字数,c2为第二重合字数,d1为第一连续相同字数,d2为第二连续相同字数,r1为所述第一相似度,r2为所述第二相似度,len为所述文本长度,m为正向加权系数,n为倒向加权系数,v为常数。
5.如权利要求4所述歌词相似度计算方法,其特征在于,所述将所述第一歌词文本的第一文本长度及所述第二歌词文本的第二文本长度之间较小的长度值设置为文本长度的步骤之前,还包括:
判断所述第一文本长度和所述第二文本长度是否相同;
在所述第一文本长度和第二文本长度相同时,将所述常数v设置为0;
在所述第一文本长度和第二文本长度不相同时,将所述常数v设置为1。
6.如权利要求1~5中任一项所述歌词相似度计算方法,其特征在于,所述从目标歌词文件中选取两句歌词文本,并将选取的两句歌词文本分别作为第一歌词文本和第二歌词文本的步骤之后,所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤之前,所述歌词相似度计算方法还包括:
在所述第一歌词文本中不包括所述第二歌词文本、且所述第二歌词文本中不包括所述第一歌词文本时,确定所述第一歌词文本和第二歌词文本之间是否存在相同文字,若存在相同文字,则执行所述获取所述第一歌词文本和第二歌词文本从头开始的第一连续相同字数,并获取所述第一歌词文本和第二歌词文本的第一重合字数的步骤。
7.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的歌词相似度计算程序,所述歌词相似度计算程序配置为实现如权利要求1至6中任一项所述的歌词相似度计算方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有歌词相似度计算程序,所述歌词相似度计算程序被处理器执行时实现如权利要求1至6中任一项所述的歌词相似度计算方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710711029 | 2017-08-17 | ||
CN2017107110294 | 2017-08-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107688661A CN107688661A (zh) | 2018-02-13 |
CN107688661B true CN107688661B (zh) | 2021-03-05 |
Family
ID=61156186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710804745.7A Active CN107688661B (zh) | 2017-08-17 | 2017-09-07 | 歌词相似度计算方法、终端设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688661B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125100A (zh) * | 2019-12-12 | 2020-05-08 | 东软集团股份有限公司 | 数据存储方法、装置、存储介质及电子设备 |
CN113836886A (zh) * | 2021-08-18 | 2021-12-24 | 北京清博智能科技有限公司 | 一种新闻标题相似度识别方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011215899A (ja) * | 2010-03-31 | 2011-10-27 | Kddi Corp | 類似文書検索装置 |
CN102880648A (zh) * | 2012-08-24 | 2013-01-16 | 北京百度网讯科技有限公司 | 一种对歌曲进行分析的方法及装置 |
CN106484678A (zh) * | 2016-10-13 | 2017-03-08 | 北京智能管家科技有限公司 | 一种短文本相似度计算方法及装置 |
-
2017
- 2017-09-07 CN CN201710804745.7A patent/CN107688661B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011215899A (ja) * | 2010-03-31 | 2011-10-27 | Kddi Corp | 類似文書検索装置 |
CN102880648A (zh) * | 2012-08-24 | 2013-01-16 | 北京百度网讯科技有限公司 | 一种对歌曲进行分析的方法及装置 |
CN106484678A (zh) * | 2016-10-13 | 2017-03-08 | 北京智能管家科技有限公司 | 一种短文本相似度计算方法及装置 |
Non-Patent Citations (1)
Title |
---|
字符串相似度三种算法介绍;羊大葱;《博客园https://www.cnblogs.com/lishanyang/p/6016737.html》;20161031;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107688661A (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947919B (zh) | 用于生成文本匹配模型的方法和装置 | |
CN107230475B (zh) | 一种语音关键词识别方法、装置、终端及服务器 | |
US20200117675A1 (en) | Obtaining of Recommendation Information | |
US9002758B2 (en) | Ranking for inductive synthesis of string transformations | |
US10846332B2 (en) | Playlist list determining method and device, electronic apparatus, and storage medium | |
CN109657213B (zh) | 文本相似度检测方法、装置和电子设备 | |
US9317590B2 (en) | Search method, search device and storage medium | |
US20100083103A1 (en) | Phrase Generation Using Part(s) Of A Suggested Phrase | |
CN108597517B (zh) | 标点符号添加方法、装置、计算机设备和存储介质 | |
CN110598791A (zh) | 地址相似度评价方法、装置、设备及介质 | |
CN107688661B (zh) | 歌词相似度计算方法、终端设备及计算机可读存储介质 | |
CN110808065A (zh) | 副歌检测方法、装置、电子设备及存储介质 | |
CN111198936B (zh) | 一种语音搜索方法、装置、电子设备及存储介质 | |
JP2018518764A (ja) | オブジェクト検索方法、装置およびサーバ | |
CN107967112B (zh) | 解码用于图形键盘的不准确手势 | |
CN110209780B (zh) | 一种问题模板生成方法、装置、服务器及存储介质 | |
CN113220854A (zh) | 机器阅读理解的智能对话方法及装置 | |
CN110517656B (zh) | 歌词节奏生成方法、设备、存储介质及装置 | |
CN109857366B (zh) | 基于外存的插入排序方法、系统、设备及存储介质 | |
CN112148135A (zh) | 输入法处理方法、装置和电子设备 | |
CN110909097B (zh) | 多边形电子围栏生成方法、装置、计算机设备和存储介质 | |
KR20080026899A (ko) | 검색 대상과 연관된 단어를 추천하는 방법 및 상기 방법을수행하는 시스템 | |
CN112541069A (zh) | 一种结合关键词的文本匹配方法、系统、终端及存储介质 | |
CN113641785A (zh) | 基于多维度的科技资源相似词检索方法及电子设备 | |
CN104796478A (zh) | 一种资源推荐方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510000 Guangzhou City, Guangzhou, Guangdong, Whampoa Avenue, No. 315, self - made 1-17 Applicant after: Guangzhou KuGou Networks Co., Ltd. Address before: 510000 Guangzhou City, Guangzhou, Guangdong Province, Tianhe District Ke Yun Road, No. 16 self compiled 2 rooms (the residence limit for this residence) Applicant before: Guangzhou KuGou Networks Co., Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |