Twitter 从小文本内容(如tweets)生成标记

Twitter 从小文本内容(如tweets)生成标记,twitter,nlp,text-extraction,nltk,text-analysis,Twitter,Nlp,Text Extraction,Nltk,Text Analysis,我之前已经问过一个问题,但我没有意识到我有很大的限制:我正在处理小文本集,比如用户推文,以生成标记(关键字) 而且,人们接受的建议(逐点互信息算法)似乎是为了处理更大的文档 有了这个约束(处理一小部分文本),如何生成标记 关于多词标记的两阶段方法 您可以将所有tweet汇集到一个较大的文档中,然后从整个tweet集合中提取n最有趣的搭配。然后,您可以返回并用其中出现的搭配标记每条tweet。使用这种方法,n将是为整个数据集生成的多字标记总数 对于第一阶段,可以使用发布的NLTK代码。第二阶段只需

我之前已经问过一个问题,但我没有意识到我有很大的限制:我正在处理小文本集,比如用户推文,以生成标记(关键字)

而且,人们接受的建议(逐点互信息算法)似乎是为了处理更大的文档

有了这个约束(处理一小部分文本),如何生成标记


关于多词标记的两阶段方法

您可以将所有tweet汇集到一个较大的文档中,然后从整个tweet集合中提取n最有趣的搭配。然后,您可以返回并用其中出现的搭配标记每条tweet。使用这种方法,n将是为整个数据集生成的多字标记总数

对于第一阶段,可以使用发布的NLTK代码。第二阶段只需在所有tweet上进行一个简单的for循环即可完成。然而,如果速度是一个问题,你可以使用它快速找到包含每个搭配的tweet

单字标签的推特级别PMI

正如所建议的,对于单个单词标签,您可以计算每个单词和tweet本身的大小,即

PMI(term, tweet) = log [ P(term, tweet) / (P(term)*P(tweet)) 
同样,这将大致告诉您,与在更大的集合中遇到该术语相比,您在特定文档中遇到该术语的惊讶程度要小得多(或多)。然后,您可以在tweet上添加一些术语,这些术语具有tweet中最高的
PMI

推文的一般更改

使用tweet标记时,您可能希望进行的一些更改包括:

  • 如果某个单词或搭配出现在一定数量或百分比的其他tweet中,则仅将其用作tweet的标记。否则,PMI将倾向于在tweet上标记出现在一条tweet中但在其他任何地方都看不到的奇怪术语,例如拼写错误和键盘噪音,如#@$#@$%

  • 根据每条tweet的长度缩放使用的标记数。您可能能够为更长的tweet提取2或3个有趣的标记。但是,对于较短的两个单词的tweet,您可能不希望使用每个单词和搭配来标记它。考虑到tweet的长度,对于要提取多少标签,可能需要尝试不同的截止值


我之前使用过一种方法,用于小文本内容,如SMSE,我只会重复同一行两次。令人惊讶的是,对于这样的内容,一个名词很可能是主题,这一点很好。我的意思是,你不需要重复它就可以成为主题。

换句话说,你想将推特分类为X个类别?这也可以工作,还可以从中提取关键词。非常感谢你的精彩回答,它真的帮助了我!在上面的回答中,我的问题是让我们假设,如果术语在每个tweet中只出现一次,并且没有转发,那么p(术语,tweet)=1p(tweet)=1,并且测量值将简单地成为日志(1/p(术语))?你好,安迪。