【问题标题】:Algorithm to find song by song name and artist name, match closest string通过歌曲名称和艺术家名称查找歌曲的算法,匹配最接近的字符串
【发布时间】:2019-06-23 17:28:20
【问题描述】:

我正在使用 spotify 的 API 在具有多个歌曲名称的文本区域中查找歌曲 - 艺术家姓名,挑战在于可以以多种格式输入信息, 示例:

Pink Floyd - shine on you crazy diamond
shine on you crazy diamond - pink Floyd
pink Floyd : shine on you crazy diamond
Pink Floyd - shine on you crazy diamond (HQ) (lyrics)

(等等)

由于一首歌曲在 spotify 中可能不可用,我想根据用户的选择以 2 种方式实现它:完全匹配,如果字符串的某个百分比找到匹配则匹配。

关于如何实现这个或可以帮助实现它的算法的任何建议? 谢谢。

【问题讨论】:

    标签: java search


    【解决方案1】:

    我建议您查看Levenshtein distance。它通过计算两个字符串之间的编辑距离来比较两个字符串,即将第一个字符串转换为第二个字符串(反之亦然)所需的最小编辑次数(插入、删除或替换字符)。这是一种非常基本且常用的方法,但是还有多种其他方法可用于编辑周围的距离,可能适合您的应用程序的需求。其中一些在上面引用的文章中也有提及。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 2012-09-09
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多