机器学习,从字符串中提取信息

假设我正在开发一个小型的Chrome扩展程序(因此我的大部分代码都是用JavaScript写的)。假设我有一组字符串,例如:

艺术家 – 歌曲名称

艺术家, 歌曲名称

歌曲名称 – 艺术家

无关信息 – 歌曲名称 – 艺术家

等等。

我只需要从字符串中提取歌曲名称,然而,我无法预料字符串可能出现的所有形式。

所以我的问题是提取这些信息的最佳方法是什么?是机器学习吗?如果是的话,代码可以用JavaScript编写吗,还是应该使用API?或者除了机器学习之外还有其他解决方案吗?

附注

我知道这个问题并不完全符合本网站可提问问题的指导方针,我知道这个问题有点开放和模糊,但我实在想不出其他地方可以问,所以

提前谢谢你。


回答:

可能有效的解决方案草图:

  • 为所有可能的分隔字符(逗号、连字符等)制作正则表达式
  • 使用这个正则表达式将你的字符串分成几部分
  • 对于只有一部分的字符串,假设这是标题
  • 对于两部分的字符串,假设较长的部分是标题,较短的部分是艺术家
  • 制作艺术家和标题的列表(或者使用你的全局数据库以获得更好的结果)
  • 检查你的标题中是否有与某个艺术家相同的情况 – 这可能是错误的
  • 对于三部分或更多部分的字符串,根据你的列表识别艺术家
  • 对于剩余的部分,假设索引较低的部分(更靠近字符串开头)是标题
  • 最终,你可以通过Google API搜索,如果标记为标题的部分返回的结果比其他部分多

当然,这不会理想地工作,但我假设你并不期望它完美无缺。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注