web-dev-qa-db-ja.com

Python:単語の雲、繰り返し単語

ワードクラウドには反復的な単語があり、それらが一緒にカウントされず、1つの単語として表示される理由がわかりません。

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

10
Alina

_wordcloud.words__を見ると、頻度表に「oh oh」、「hook start」、「lets go」、「lets hook」などの2語句が含まれていることがわかります。

.process_text()の背後にあるコードを調べて、なぜこれが行われるのかを正確に確認する必要があります。

回避策として、_Word_string_を自分で分割してWord頻度テーブルを作成し、.generate_from_frequencies()を使用して画像を作成できます。

5
Hugh Bothwell

これは、Word_cloudプロジェクトの「コロケーション」と呼ばれる機能です。次のようにcollocations = Falseを設定することでオフにできます。

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

これにより、テキスト内で頻繁にグループ化されている単語が削除されます。それはあなたがおそらく好きではないいくつかのものを取り除くでしょう、例えば、「おおお」、そしてそれはあなたが好きかもしれない他のもの、例えば「ブラックカルチャー」を取り除くでしょう

23
craigching