【发布时间】:2010-11-08 18:51:13
【问题描述】:
我知道这不是一个直截了当的问题,所以如果您需要我提供有关其范围的更多信息,请告诉我。有一堆问题几乎解决了相同的问题(它们在这里链接),但从来没有完全相同的问题具有相同的范围和目标 - 至少据我所知。
上下文:
- 我有一个带有 ID3 标签的 MP3 文件 艺术家姓名和歌曲名称。
- 我有两张表 Artists 和 Songs
- ID3 标签可能略有偏差(例如 Mikaell Jacksonne)
- 我正在使用 ASP.NET + C# 和 MSSQL 数据库
我需要将 MP3 与数据库同步。含义:
- 用户启动脚本
- 脚本浏览所有 MP3
- 剧本说“'Mikaell Jacksonne' 'Michael Jackson' YES/NO”
- 用户选择,我们重新开始
系统可以找到的示例:
在数据库中...
SONGS = {"This is a great song title", "This is a song title"}
ARTISTS = {"Michael Jackson"}
输出...
"This is a grt song title" did you mean "This is a great song title" ?
"This is song title" did you mean "This is a song title" ?
"This si a song title" did you mean "This is a song title" ?
"This si song a title" did you mean "This is a song title" ?
"Jackson, Michael" did you mean "Michael Jackson" ?
"JacksonMichael" did you mean "Michael Jackson" ?
"Michael Jacksno" did you mean "Michael Jackson" ?
等等
我从/how-do-you-implement-a-did-you-mean 中阅读了一些文档,这并不是我所需要的,因为我不想检查整个字典。我也不能真正使用网络服务,因为它很大程度上取决于我数据库中已有的内容。如果可能的话,我还想避免与distances 和其他complicated things 打交道。
我可以使用google api(或类似的东西)来执行此操作,这意味着脚本将尝试拼写检查并使用数据库对其进行测试,但我觉得可能有更好的解决方案,因为我的数据库最终可能会对奇怪的歌曲和艺术家非常具体,使拼写检查毫无用处。
我也可以尝试使用Soundex for c# 解释on this post 的内容。
使用常规拼写检查器不起作用,因为我不会使用单词,而是使用名称和“标题”。
所以我的问题是:有没有一种相对简单的方法来做到这一点,如果有,它是什么?
我们将不胜感激。
谢谢!
【问题讨论】:
-
您正在寻找一个复杂问题的简单答案。鉴于您列出的限制,我怀疑您会找到答案。
-
我也怀疑,但谁知道...
标签: nlp spell-checking