【问题标题】:How to calculate trends from text messages如何从短信中计算趋势
【发布时间】:2012-02-18 07:01:15
【问题描述】:

我正在开发一个匈牙利 Twitter 客户端,我想实现一个趋势系统。所以我有一个数据库,里面有代表推文创建日期的文本和日期(unix 时间戳)。

那么我怎样才能创建某种 php 脚本来为我提供大约 10 个“热门话题”呢?我什至不知道如何着手解决这个问题。

【问题讨论】:

  • 这不是一件容易的事 - 你需要从阅读Data Mining的基础开始
  • 是的,我知道它应该如何工作,我只是不知道如何用 php 或任何其他语言处理它:S
  • 一种方法是计算主题标签并显示日期之间的前 10 个。

标签: php


【解决方案1】:

您需要设计一种能够告诉您趋势的算法。

为此,您首先需要定义趋势是什么,例如在 twitter 提要中使用的术语或人名。或者甚至考虑是否某些推文已被转发,以及多久/在哪个时期。

因此,您需要分析每个提要,提取您正在寻找的信息,然后将其与时间信息相结合,以说明趋势,例如与其他时期相比,在某个时期或多或少地使用。

可以使用正则表达式解析 twitter 消息。

然后可以将关键字保存到充当索引的数据库中。

然后,您可以使用 SQL 等数据语言从标准化数据中获取有关趋势的信息。

您通常从简单的脚本开始来测试您的算法。

由于您的问题中未定义您正在寻找什么样的趋势,因此只能对问题进行一般性回答。但是一些提示:

  • 只获得一次推文,缓存它们(看起来你已经有了这个)。
  • 您拥有的数据越多,您就越能更好地测试您的算法/系统,因此请先获取数据。
  • 定义可应用于缓存数据的流程,例如解析、规范化以及使用哪个数据库后端。
  • 允许您的系统拥有多个趋势算法,以便您可以相互测试它们。
  • 了解您的语言/域中的停用词(搜索引擎是另一个需要过滤掉不重要的文本信息的相关主题)。

【讨论】:

  • 问题在于,在趋势中不仅有一个词/标签/提及,而是更多的词,甚至可能是一个句子,例如。 “澳大利亚国庆日快乐”,“第 25 页,共 366 页”
  • 那是关于解析推文的。然后你需要把单词之间的关系。如所写,将大量数据放入缓存中,以便您可以调整解析过程,直到它符合您的意愿。您收集的数据越多,您就越能了解单词之间的关系。并且可能您想阅读一些有关您想要支持的语言的文本分析的书籍。与一些语言学家交谈,他们对这些事情进行研究。
猜你喜欢
  • 1970-01-01
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 2019-08-11
  • 1970-01-01
  • 2012-02-26
  • 2020-01-16
  • 1970-01-01
相关资源
最近更新 更多