类似于Twitter趋势的关键字/短语趋势搜索算法

类似于Twitter趋势的关键字/短语趋势搜索算法,twitter,nlp,Twitter,Nlp,想要一些关于建立一个工具的想法,该工具可以扫描文本句子(用英语书写)并根据文本中出现的单词或短语的最多次数建立关键字排名 这与twitter趋势非常相似,twitter检测并报告tweets中的前10个单词 我已经确定了算法中的高级步骤,如下所示 扫描文本并删除所有常用词(如“the”、“is”、“are”、“what”、“at”等) 将剩余的单词添加到hashmap。如果单词已经在映射中,则增加其计数 要获得前10个单词,请遍历hashmap并找出前10个计数 第2步和第3步很简单,但我不知道

想要一些关于建立一个工具的想法,该工具可以扫描文本句子(用英语书写)并根据文本中出现的单词或短语的最多次数建立关键字排名

这与twitter趋势非常相似,twitter检测并报告tweets中的前10个单词

我已经确定了算法中的高级步骤,如下所示

  • 扫描文本并删除所有常用词(如“the”、“is”、“are”、“what”、“at”等)
  • 将剩余的单词添加到hashmap。如果单词已经在映射中,则增加其计数
  • 要获得前10个单词,请遍历hashmap并找出前10个计数
  • 第2步和第3步很简单,但我不知道在第1步中如何检测文本中的重要单词,并将它们与常用单词(介词、连词等)分离

    此外,如果我想跟踪短语,可以采用什么方法? 例如,如果我有一条短信说“这蜂蜜很好” 我可能想跟踪“蜂蜜”和“好”,但我也可能想跟踪短语“非常好”或“蜂蜜非常好”

    如有任何建议,将不胜感激


    提前感谢

    实际上,您的第一步与第三步非常相似,因为您可能首先要建立一个英语中最常用单词的绝对数据库。这样的列表在互联网上很容易找到(Wikipedia甚至有一篇文章引用了)。你可以将这些单词存储在hashmap中,在扫描文本内容时,只需忽略常用标记即可

    如果你不信任维基百科和已经存在的常用词列表,你可以建立自己的数据库。为此,只需扫描数千条推文(越多越好),并制作自己的频率图

    你正面临一个类似n克的问题


    不要重新发明轮子。您似乎想做的事情已经做了数千次,只需使用现有的lib或代码片段(查看维基百科页面的外部链接部分。)

    我建议您使用。您可以使用NLP工具提供的工具,如或

    • 蜂蜜很好不是一个短语。这是一个条款非常好是一个短语
    • 在信息检索系统中,这些常用词被称为
    查看图书馆。它的代码执行第一、第二和第三项:

    1删除常用词可以使用停止词或词干分析器来完成

    2,3使用FreqDist可以获取最常用的单词

    其次,您可以使用斯坦福NLP的工具来跟踪文本