Twitter趋势主题:结合不同的拼写

问题描述 投票:6回答:7

Twitter的趋势主题通常不仅仅包含一个词。但对于组合术语,通常有不同的拼写方式,例如:

“混血王子”/“混血王子”

要查找提及趋势主题的所有更新,您需要所有拼写方式。 Twitter这样做:

Twitter's Trending Topics Admin

您在左侧有主题名称,在右侧有不同的拼写方式。你认为这是手动还是自动完成的?是否可以自动执行此操作?如果是的话:怎么样?

我希望你能帮助我。提前致谢!

twitter tags spelling
7个回答
2
投票

“anderstornvig”提到了Levenshtein /编辑距离,这是一个好主意但不太合适,因为某些排列比其他排列更重要。问题似乎是,当我们确定哪些差异是“重要的”而哪些差异是“微不足道的”时,我们会使用大量特定领域的知识。例如,我们知道“混血王子”中的连字符非常重要,但“Firefox 3”中的数字非常重要。

因此,您可以考虑自定义像Levenshtein这样的简单指标。添加参数,您可以自定义哪些差异很重要,哪些类型不重要。

特别是,Levenshtein计算将一个字符串转换为另一个字符串所需的“编辑”(即插入,删除和替换)的数量。实际上,它对每个编辑加权相同。您可以编写一个实现,对不同的编辑进行加权。例如,将“ - ”改为“”应该具有非常低的权重(表示不重要)。当数字单独时,将“3”改为“2”应该具有非常高的权重(表示高重要性)。

通过参数化计算,您可以创建一个不断改进算法的途径。构建初始配置并在某些测试数据上运行它。找到度量标准较弱的地方 - 例如,它合并了您认为应该分开的两个术语 - 并修改参数化直到您满意为止。

这样,您就可以使用特定于域的知识来训练算法。


1
投票

最有可能的是,他们有一些自动系统可能会提出合并的候选人,然后人类最终选择将它们结合起来。可能会有一些它们自动组合。

  • 你建议删除空格和其他标点是一个很好的建议。最有可能的是,它们只会自动组合仅在标点符号或空白区域上有所不同的内容。
  • 多元与单数:寻找这些差异很容易实现自动化,并且可能会产生组合的候选者。
  • 常见的拼写错误 - 有常见拼写错误的数据库。他们甚至可能依赖Google API来提供拼写建议(我认为他们会公开)。
  • Soundex(或类似的)是一个很好的发现拼写错误,但它需要首先通过上述两个过滤器(删除空格,标点符号和复数),然后很可能需要一个人来打电话,如果他们是相同的。但是,如果您可以使用相同或类似的soundex呈现显示聚类的图形表示,那么您将真正使该部分变得容易。您可以在群集开始出现和趋势时自动发送通知(他们实际上只关心趋势主题,因此即使组合的群集不是趋势,他们也可以等待检查它。)

你真正需要一个人进入的地方是有共同的绰号。像迈克尔杰克逊,MJ,迈克尔等,或MacDonalds,McD,Micky-D等等。然后用技术你有Visual Studio,VS2008,VS等等或StackOverflow,SO等等。然后是C#,C-Sharp, C#.NET都是一样的,但C和C ++是不同的。

所以它需要是一个组合。它可能依赖于已知变体和基于先前分析或其他来源的组合的数据库,但该数据库将由编辑定期维护。


1
投票

假设趋势主题是通过计算生成的,那么在Twitter上执行它的确切算法将难以猜测。它很可能是高度机密和专利(对于专利算法可能听起来很可怕)。

虽然我认为他们使用某种自然语言算法,但我觉得这是合情合理的。根据具体情况,它们通常很难以计算方式执行,并且只会在某种程度上执行您想要的操作。

关于这个主题的一个明显有用的阅读来自wiki:

祝好运。


0
投票

我记得当MJ去世时,Twitter手动回去并修正主题以指向他死亡的推文。这些天要求计算机自动做这样的事情会有很多,尽管它可以松散地完成。

© www.soinside.com 2019 - 2024. All rights reserved.