【问题标题】:Detecting music title inside string检测字符串中的音乐标题
【发布时间】:2022-01-01 03:35:58
【问题描述】:

我目前正在用 python 编写自己的语音助手,使用 nltk 进行预处理,使用 pytorch 处理数据。经过大量小时搜索任何方法后,我找不到从其他语音文本中提取歌曲标题的方法。 所以我想要实现的是例如从“Linkin Park 的 Play numb”中过滤“Numb”。这是否可以通过 NLP 或仅使用神经网络以及如何实现?

【问题讨论】:

  • 你能提供一个你已经尝试过的最小例子吗?
  • @PirateNinjas 基本上我只是尝试了一个简单的前馈神经网络。我的输入层有 20 个输入,它们对应于带有一些填充的文本。作为输出,我使用了歌曲标题的索引(所以开始索引和结束索引)。但是在训练之后,我得到的值

标签: python nlp pytorch voice assistant


【解决方案1】:

这可能是一个一般很难解决的问题。作为第一步,您可以尝试施加一些额外的假设:

  1. 传递给“歌曲名称提取器”的文本完全是从语音翻译而来的
  2. 用户将按照设置的格式来请求歌曲

如果您做出这些假设,则可以使用正则表达式解决问题,如下所示:

import re

# your input text
song_request = "Play numb by Linkin Park"

# search the input text for a matching substring
song_search = re.search("(?<=Play ).*(?= by)", song_request)

# if you get a match, extract the song title
if song_search:
    song_title = song_search.group()
else:
    song_title = ""  # just in case your assumption doesn't hold

【讨论】:

  • 好吧,有一个固定的模式是可能的,但由于助手是德语,所以可能的句型不止一种。一般来说,我宁愿不使用静态模式。我对构建神经网络没有任何问题,但我目前的测试看起来并不乐观
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多