什么正则表达式(或其他技术)将帮助计算或"最佳猜测" 艺术家在一个相当不可预测的完整歌曲标题;
例如,Dr Dre从以下歌曲标题中找到(来自youtube的例子):
Xxplosive - Dr. Dre
Dr Dre - Xxplosive
Dr Dre- Xxplosive (lyrics)
Dr. Dre - 05 - The Chronic - Nuthin' But AG Thang
Run Code Online (Sandbox Code Playgroud)
我的目标是找到最有可能的2或3个匹配,我打算发送到现有的API,这应该确定正确的艺术家.
使用一些像这样的正则表达式将歌曲标题分开/\s*-\s*,这会将" Dr Dre - Xxplosive"转换成如下数组:{ Dr Dre,Xxplosive}.
然后Dr. Dre使用以下任一方法将搜索字词与拆分细分相匹配:
O(log(n))可能最适合您)O(1)可能非常适合,误报的中等潜力)O(1)可能很合适,误报的可能性很高)如果您的曲目列表很大,请使用BKTree.
换句话说,使用模糊/近似字符串匹配或语音字符串匹配.
Protip:使用相对于搜索词长度的levenshtein限制(字符串越长,限制越高).
| 归档时间: |
|
| 查看次数: |
967 次 |
| 最近记录: |