我正在尝试将数据集中的冗余分组以进行某些分析。我的主要分析工具是他们的头衔。
我可能会有“蓝鸟”,“大蓝鸟”,“棕色狗”,“红狗”等等。
在这种情况下,我想将“蓝鸟”和“大蓝鸟”组合在一起,但不应将其他元素分组。
我知道字符串度量标准,但一般来说,它们对短语而不是单个字或嘈杂的字符串有多有效,哪个是这个问题的有效解决方案?
答案 0 :(得分:0)
你可以使用人们通常在程序中放置数组的相同逻辑,修复变量(在这种情况下是一个我们将使用第一个单词的字符串)并将其与你拥有的字符串进行比较,总是寻找一个平等的词,如果它是相等的,你应该放在一个单独的矢量或特定的顺序。
然而,这样做会花费很多时间,也许不是最好的方法,因为它会逐字逐句逐句逐字逐句。否则,将字符串与大组中第一个单词的首字母分开似乎很有帮助。这样,您可以花更少的时间搜索重复的单词,从而优化内存的使用。
我从卡内基梅隆大学发现这篇论文,看起来很有意思,它谈到这个问题,你应该好好看看: String Metric答案 1 :(得分:0)
字符串指标并不关心您的单词是否包含空格。因此,短语大多只是字符串而不是单词(在这方面),因此如果您执行模糊搜索,字符串指标也可以正常工作(尽管您可能希望单独搜索每个单词)。
虽然您似乎在寻找完全匹配,但我建议您根据标题的串联构建后缀树。然后,如果您有多个匹配项,则可以在每个标题和构建标题组中搜索该树。但是,您需要决定使用
等组合做什么按照棕色/红色狗的例子,你不会想要组织大蓝鸟"与#34;小蓝鸟",但"蓝鸟"将与这两个组合。