从句子中提取艺术家和歌曲标题的技巧
Techniques to extract artist and song title from a sentence?
就上下文而言,我想做的是制作一个小型网络应用程序,你可以在其中粘贴Reddit讨论线程,并将线程中引用的歌曲名称转换为Spotify播放列表。
我正在想办法从一些自然语言中提取艺术家/歌曲的名字,格式为"artist - song name
"或"songname by artist
"。
例如,假设我有以下字符串:
The Funeral by the Band of Horses is my favorite song.
you should check out the Acoustic version of Foo Fighters - Everlong.
Eminem- Stan. Not a fan of rap but I like this song.
结果输出为:
["The Funeral", "the Band of Horses"],
["Foo Fighters", "Everlong"],
["Eminem", "Stan"]
由于没有API调用,无法知道什么是艺术家,什么是歌曲,因此不需要以任何特定方式存储,我只需要将艺术家和歌曲名称分解为不同的数组部分。
这是否可以在没有任何分隔符的情况下指示歌曲名称的结尾?
以下是我迄今为止所拥有的。。。(半伪代码):
delimiters = [" - ", "-", " by ",];
strings = [
"The Funeral by the Band of Horses is my favorite song.",
"you should check out the Acoustic version of Foo Fighters - Everlong.",
"Eminem- Stan. Not a fan of rap but I like this song."
];
// loop over each string
for (var i=0; i<strings.length; i++ ) {
// loop through each delimiter possibility
for (var d=0; d<delimiters.length; d++) {
if ( strings[i].indexOf(delimiters[d]) > -1 ) {
// we have a delimiter match
// now figure out how to get the stuff on either side...
}
}
}
有一个有趣的文本解析库:Knwl.js。Knwl..js似乎没有用于解析艺术家或歌曲的插件,但它似乎应该很容易实现。请参阅:插件开发
如果你使用的是自然语言,你如何将Band/Artistname与同一单词的其他提及区分开来。
造句有无数种方法,你必须抓住所有可能的方法。
另一种方法是根据存储艺术家和乐队名称的数据库,按单词和多单词检查字符串。
否则,你肯定会漏掉文本中的一些名字。
相关文章:
- CSS-如何定位内容数据标题
- 我如何找到一个句子中的所有空格并替换忽略它们
- 在PHP中使用javascript更改页面标题'if'
- Brightcove获取/显示HTML中的当前视频标题和描述
- React组件-设置页面标题
- jQuery动态更改标题
- HighCharts长标题文本在某些元素上重叠
- 将行添加到具有固定标题的HTML表中
- CKEditor v4:自制插件中对话框的动态标题
- 如何在自动完成时设置属性标题
- 使用jQuery检查提交时添加到句子中的单词
- 单元格的工具提示或标题不显示超过2000个字符
- 如何从相应的控制器动态更新标题和描述
- 将超链接添加到“;标题“;标记文本
- 如何使用javascript标记句子
- 网络语音API-再次讲话(重置句子)
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 标题大小写一个句子 - 哪个解决方案更好,为什么
- 从句子中提取艺术家和歌曲标题的技巧
- 我如何使用简单的子字符串函数在javascript标题大小写句子