我正在写一个核心数据应用程序的小问题。我有两个不同的模型,上下文和永久性商店。一个是我的应用数据,另一个是与我相关的信息的网站。匹配核心数据存储中的近似字符串
大多数情况下,我只将一条记录从我的应用匹配到另一条记录。但有时候,我必须回退到模糊字符串匹配来链接两条记录。 我试图匹配歌曲标题。我的地方标题就可以了(由)"The French Idealist is in your pensée"
和远程歌名可能是"01 - 10 - French idealist in in you're pensee, The (dub remix, feat. DJ Objective-C)"
我搜索栈溢出,谷歌,可可的文档,我不能找到如何做一个模糊匹配任何明确的答案在这些情况下。我的字符串可以从任何东西开始,有一堆特殊字符,通常以随机或被忽略的字符结尾。
正则表达式不会做,也不NSPredicates,探测法不能很好地与外国地名的工作,也许莱文斯坦是不够的(或会吗?)。
我正在寻找在一组大约有十几个潜在的比赛冠军,但我哈瓦做这个手术了不少。 100%的准确性不是目标。
我正在考虑删除被忽略的单词,提取关键字(在本例中为“法语,理想主义,pensée”),连接它们,然后使用Levenshtein距离(歌名中的单词应该是相同的顺序)。
在我的特殊情况下,它会工作吗?关于这个问题的行业标准是什么?(我不能成为世界上唯一想要匹配稍微不同的歌曲名称的人)Core Data,Cocoa或Objective-C能帮助我吗?
非常感谢。
嗯,我第一次尝试过这种变化,当我解析真实世界的数据时,它并不完美。大多数情况下,问题不在于音调或情况,而在于细微的拼写差异(如“后街女孩”与“后街女孩”)。这个解决方案也很大程度上取决于上一步的标记化,这对于域名“可能出现在歌曲标题中的单词” – damdamdam 2009-05-21 05:46:38