Как удалить слова из моего облака слов? (Питон 3)

import pandas as pd
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import wordcloud
from wordcloud import WordCloud,STOPWORDS

# Read the whole text.
remarks = open(r'C:\Users\marmar\Documents\Remarks.txt').read()

#Create words over an image
mask = np.array(Image.open(r'C:\users\marmar\Documents\cloud.png'))

#set the stopwords list
stopwords= set(STOPWORDS)

#append new words to the stopwords list
new_words =open(r'C:\Users\marmar\comments.txt').read()
new_stopwords=stopwords.union(new_words)

#generate the word cloud with parameters
wc = WordCloud(background_color="white", 
               max_words=2000, 
               mask=mask,
               min_font_size =12, 
               max_font_size=20, 
               relative_scaling = 0.5, 
               stopwords=new_stopwords,
               normalize_plurals= True)
wc.generate(remarks)
plt.figure(figsize=(25,25))
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")

#Show the wordcloud
plt.show()

По сути, я использую Python 3 (Jupyter Notebook) для создания облака слов с реальным изображением облака. Пакеты WordCloud на самом деле имеют свою собственную функцию стоп-слов. Однако я хочу включить в список стоп-слов некоторые слова, которые я не хочу видеть в своем облаке. Я попытался включить некоторые слова в этот текстовый файл, но я вижу слова в своем облаке. Например, текстовый файл выглядит так: клиент, клиент CSR, удовлетворен, товар выполнен.

Как мне добавить больше слов в список. Я пытался добавить, добавить обе эти функции, и они не будут работать.

Заранее спасибо.


person marmar    schedule 11.12.2017    source источник
comment
Я попробовал stopwords.add('Комментарий CSR') и ​​все еще мог видеть в облаке!   -  person marmar    schedule 12.12.2017
comment
В вашем вызове конструктора WordCloud похоже, что вы передаете stopwords=stopwords. Разве вы не хотели бы использовать stopwords=new_stopwords?   -  person RagingRoosevelt    schedule 12.12.2017
comment
Кроме того, убедитесь, что вы токенизировали свой файл, чтобы он был разбит по словам. Вы можете использовать что-то вроде open(...).read().split().   -  person RagingRoosevelt    schedule 12.12.2017
comment
Эй, знаешь что, хороший улов, но я все еще мог видеть слово в облаке! я не понимаю...   -  person marmar    schedule 12.12.2017
comment
Добавлен новый ответ   -  person RagingRoosevelt    schedule 12.12.2017
comment
Да, знаете что, он просто не хочет меняться. то есть я вижу слова, все еще в облаке. :(   -  person marmar    schedule 12.12.2017


Ответы (1)


Ах ха! Это потому, что у меня были запятые, разделяющие мои слова в моем текстовом файле.

Для тех, кто создает облако слов, просто введите слова, разделив их пробелом. Нет необходимости в знаках препинания. @RagingRoosevelt был прав при использовании функции «разделить».

person marmar    schedule 11.12.2017