Python:wordcloud,重复单词

时间:2017-05-13 14:10:01

标签: python word-cloud

在词云中,我有重复的词语,我不明白为什么它们不在一起,然后显示为一个词。

from wordcloud import WordCloud
word_string = 'oh oh oh oh oh oh verse wrote book stand title book would life superman thats make feel count privilege love ideal honored know feel see everyday things things say rock baby truth rock love rock rock everything need rock baby rock wanna kiss ya feel ya please ya right wanna touch ya love ya baby night reward ya things rock love rock love rock oh oh oh verse try count ways make smile id run fingers run timeless things talk sugar keeps going make wanna keep lovin strong make wanna try best give want need give whole heart little piece minimum talking everything single wish talking every dream rock baby truth rock love rock rock everything need rock baby rock wanna kiss ya feel ya please ya right wanna touch ya love ya baby night reward ya things rock love rock wanna rock bridge theres options dont want theyre worth time cause oh thank like us fine rock sand smile cry joy pain truth lies matter know count oh oh oh oh oh oh rock baby truth rock love rock rock everything need rock baby rock wanna kiss ya feel ya please ya right wanna touch ya love ya baby night reward ya things rock love rock love rock oh oh oh oh oh oh wanna kiss ya feel ya please ya right wanna touch ya love ya baby night reward ya things rock love rock wanna rock party people people party popping sitting around see looking looking see look started lets hook little one one come give stuff let freshin ruff lets go lets hook start wont stop baby baby dont stop come give stuff lets go black culture black culture black culture black culture party people people party popping sitting around see looking looking see look started lets hook come one give stuff let freshin little one one ruff lets go lets hook start wont stop baby baby dont stop come give stuff lets go black culture black culture black culture black culture lets hook come give stuff let freshin little one one ruff lets go lets hook start wont stop baby baby dont stop come give stuff lets go lets hook come give stuff let freshin little one one ruff lets go lets hook start wont stop baby baby dont stop come give stuff lets go black culture black culture black culture black culture black culture black culture black culture black culture'
wordcloud = WordCloud(background_color="white",
                          width=1200, height=1000,
                          stopwords=STOPWORDS
                         ).generate(word_string)
plt.imshow(wordcloud)

当你看到像爱,哦,摇滚,黑色,文化这样的词语时,会出现好几次,似乎它们并不算在一起。我做错了什么?

enter image description here

2 个答案:

答案 0 :(得分:15)

这是一个名为'搭配'在word_cloud项目中。您可以通过设置collocations = False将其关闭,如下所示:

    wordcloud = WordCloud(collocations=False).generate(word_string)

这将删除经常在文本中组合在一起的单词。它会摆脱你可能不喜欢的一些东西,例如,"哦哦"它会消除你可能喜欢的其他一些东西,例如,"黑人文化"

答案 1 :(得分:4)

如果你看wordcloud.words_,你会看到频率表包含一些双字短语,如'oh oh','hook start','let go','let hook'。

你需要深入研究.process_text()背后的代码,看看它为什么会这样做。

作为解决方法,您可以自己拆分word_string来构建字频表,然后使用.generate_from_frequencies()创建图像。