【发布时间】:2013-10-06 09:27:01
【问题描述】:
我需要想出一种方法来对最相关的数据进行排序并向用户显示。我们的数据由从社交媒体中提取的多个 n-gram 组成。我们称这些为“主题”。
我面临的问题是数据包含很多重复。虽然每个字符串都不是另一个字符串的直接副本,但它们是子集。对于用户而言,此信息似乎是重复的。以下是一些示例数据:
{
"count": 1.0,
"topic": "lazy people"
},
{
"count": 1.0,
"topic": "lazy people taking"
},
{
"count": 1.0,
"topic": "lazy people taking away food stamps"
}
一个极端情况是可以从其他短语中提取短语“lazy people”。例如,“懒人快乐”。使用最小的公分母(在这种情况下是“懒惰的人”)似乎不是一个好主意,因为最终用户不会看到不同的上下文(“拿走食品券”和“很开心”)。
另一方面,取最长的 N-Gram 可能信息太多。在我上面给出的例子中,这似乎是合乎逻辑的。但是,这可能并不总是成立。
我的总体目标是以信息丰富且排名靠前的方式呈现这些数据。
有没有现有的解决方案和相应的算法来解决这类问题?
注意:最初我的问题非常含糊不清。事实上,这导致我一起改变了这个问题,因为我真正需要的是关于我的最终结果应该是什么的指导。
注意 2:如果我误用了任何术语,或者应该修改此问题的标题,以便其他人搜索此类问题的答案,请告诉我。
【问题讨论】:
-
您到底想完成什么?有几种方法可以减少 n-gram 的空间,具体取决于您的需求。
-
我正在尝试显示所有 N-Gram 的排序列表而不显示冲突。一个简单的例子是,如果这是我拥有的所有数据,那么“The World”和“The World is Good”将显示为数量相等,即使显示“The World is Good”只是有用。另一个极端情况是我的数据库中的其他对象可能包含“世界”作为 2 克,但“世界还活着”作为 4 克。这有帮助吗?
-
@JimMischel,我已经完全修改了我的问题。我不确定最终结果应该是什么——只是“这是我拥有的数据类型”和“这是我用数据实现的有点通用的目标”。总体而言,我认为我需要有人帮助我了解如何最好地将此类信息转换为呈现给用户。
标签: algorithm nlp aggregate deduplication