栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Python的wordcloud库时,为什么不将停用词排除在词云之外?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Python的wordcloud库时,为什么不将停用词排除在词云之外?

Wordcloud的默认设置是

collocations=True
,因此两个相邻单词的常用短语都包含在云中-
对于您的问题,重要的是,搭配使用时,停用词的去除方式有所不同,例如“谢谢”是有效的搭配,并且可能即使默认单词中的“
you”也会出现在生成的云中。仅包含停用词的 并置会被 删除。

听起来不合理的理由是,如果在构建搭配列表之前删除停用词,则例如“非常感谢”将提供“非常感谢”作为搭配,我当然不希望这样。

因此,为了使您的停用词按预期运行,即云中完全没有停用词出现,可以这样使用

collocations=False

my_wordcloud = WordCloud(    stopwords=my_stopwords,    background_color='white',     collocations=False,     max_words=10).generate(all_tweets_as_one_string)

更新:

  • 如果并置为False,则停用词都将全部小写,以便在删除时将其与小写文本进行比较-因此无需添加’The’等。
  • 如果搭配词为True(默认),而停用词是小写的,则在寻找所有停用词搭配以将其删除时,源文本不是小写的,因此
    The
    删除时文本中的鸡蛋也不会
    the
    被删除-这就是@Balaji Ambresh的原因代码有效,您将看到云中没有上限。不确定,这可能是Wordcloud中的缺陷。但是,
    The
    在停用词中添加例如不会影响这一点,因为停用词总是小写,无论并置为True / False

这在源代码中都是可见的:-)

例如,使用默认值,

collocations=True
我得到:

随着

collocations=False
我得到:

码:

from wordcloud import WordCloudfrom matplotlib import pyplot as plttext = "The bear sat with the cat. They were good friends. " +         "My friend is a bit bear like. He's lovely. The bear, the cat, the dog and me were all sat " +         "there enjoying the view. You should have seen it. The view was absolutely lovely. " +  "It was such a lovely day. The bear was loving it too."cloud = WordCloud(collocations=False,        background_color='white',        max_words=10).generate(text)plt.imshow(cloud, interpolation='bilinear')plt.axis('off')plt.show()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647359.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号