【发布时间】:2021-10-14 12:26:30
【问题描述】:
简介
你好。我目前正在构建一个 Web 应用程序,它接收一首随机歌曲并将其放入 spotify 播放列表中。 (用户无法选择自己想要的歌曲)
所以我使用spotify api 搜索输入并获得结果列表。
问题
由于spotify 返回的结果并不总是最好的,我想遍历结果并找到最匹配的结果。您将如何获得最佳结果?
我的尝试
我尝试的第一件事是将字符串与fuzzywuzzy 库进行匹配。
这看起来像这样:
song_ratio = ratio(real_song_name,result_song_name)
这很好,而且帮助很大,但是只有标点符号不同的歌曲怎么办?
所以我所做的是删除标点符号:
song_name = song_name.translate(str.maketrans('', '', punctuation))
我还想避免卡拉 OK、重制版或现场版等,例如:
Stay with Me Till Dawn - Live in the UK, 1982 / 2010 Remaster from Judie Tzuke
仅按此名称进行过滤是没有意义的,因为它们的形状不同。
另一个问题: 搜索“简摩根与游吟诗人”中的歌曲“Fascination”
我得到的是:
Best found song: Its Been A Long Long Time to 22 % match<br>
Best found artist: Jane Morgan 54 %
如果我只是查询“Jane Morgan”中的歌曲“Fascination”,我会得到:
Best found song: Fascination 100 % <br>
Best found artist: Jane Morgan 100 %
问题
有什么好的方法可以解决这个问题?是否可以训练 neural network 将我的字符串处理成正确的格式,然后找到最佳匹配?
【问题讨论】:
-
如果用户要输入歌曲和艺术家,你可以只显示一个结果列表,让他们选择选择哪一个
-
@Peter 谢谢你的评论。我在问题中描述它的方式并不完全是我的应用程序的工作方式。我尽量不让它变得更复杂。长话短说,用户无法选择他们想要的歌曲。我将编辑我的问题。
-
我对这些东西不太了解,但我认为你最好的选择是依靠他们的搜索,因为他们会支付数百万美元来开发你想要做的事情.他们的可能并非在所有情况下都有效,但我认为您的也不会(例如,如果您解决一个问题,它可能会导致另一个问题)。
标签: python neural-network spotify