2014-12-27 69 views
0

我想创建一个使用D3 js和斯坦福NLP的词云。 词云将概念中的单词分组。 像这样:使用斯坦福NLP库的词云

enter image description here

每个云是一个“概念”和内部气泡“子概念”在概念。

For exampleif concept is "World Economic Issues" 
The Words under it would be - Oil Price, China Economy, Euro Zone Crisis, Japan debt crisis 

我已经使用了词性标注器和情感分析,但不知道如何创建词云。

斯坦福德自然语言处理库中是否有一些库可以从文本概念化词汇中进行概念化? 请让我知道。

在此先感谢

回答

1

的回答你的问题在很大程度上取决于你想要什么样的类别来表示。下面给出了几个例子。虽然,注意到,在所有这些情况下,你要吵类别:

  • 主题建模(见http://nlp.stanford.edu/software/tmt/tmt-0.4/)。在大量的文本上运行此操作会为您提供固定数量的“主题”,其中包含与其相关的单词。这些是以某种模糊的方式涉及相同概念的单词,可能与您所描述的最接近。在vanilla案例中,最终会得到固定数量类别的单词集合 - 但是,类别本身没有标签。如果您想事先修复类别,请参阅标签LDA(请参阅页面底部)。 (https://code.google.com/p/word2vec/http://nlp.stanford.edu/projects/glove/)。这些将为您提供每个单词的载体。现在,您可以计算您的主题标签中包含最接近余弦相似度的词(http://en.wikipedia.org/wiki/Cosine_similarity#Definition)。这会给你与原词有关的词语;从形式上讲,它会给你的单词倾向于在与原始单词相似的句子中出现。

  • 斯坦福大学NLP工具(http://nlp.stanford.edu/software/corenlp.shtml)。这是一组标准的NLP工具,您可以根据这些工具进行群集。一般而言,这些将会是非常具体的解释。例如,词性标注器会将名词聚合在一起,并且动词聚合在一起等。情绪分析器将聚集正面情绪词汇和负面词汇。指定的实体标记器将人群聚集在一起,并组织在一起等。

  • 词频。这些词云通常是使用词频创建的。如果您的每个主题都有一堆文档,则可以统计每个单词在主题中出现的次数,并将其用作可视化文件。如果最后有很多常用词,您可以尝试通过词性标记进行过滤,或者尝试使用tf-idf(http://en.wikipedia.org/wiki/Tf%E2%80%93idf)值或类似的值。

希望这有助于!

+0

太棒了!感谢你的想法@Gabor Angeli – Ram 2014-12-29 22:29:59