#python #nlp #nltk #wordpress-gutenberg #word-cloud
Вопрос:
Я использую python для обработки естественного языка. Я решаю загрузить образцы книг Гутенберга, а затем хочу создать wordCloud. Однако параметр в предложении wordCloud кажется неправильным. Что я должен там напечатать?
import nltk nltk.download('gutenberg') nltk.corpus.gutenberg.fileids() sense0 = nltk.corpus.gutenberg.words('austen-sense.txt') sense = nltk.Text(nltk.corpus.gutenberg.words('austen-sense.txt')) print(sense)
Тогда здесь полный бардак… Я знаю, что wordCloud нуждается во вводе в текстовом формате, поэтому я использую другой файл .txt в качестве источника данных… Но это все равно неправильно.
from wordcloud import WordCloud import numpy as np # WordCloud needs an input in text format: text = 'senseText.txt' data = np.genfromtxt(text) # data = np.loadtxt(text, delimiter=',', skiprows=1, dtype=str) # Create and generate a word cloud image: wordcloud = WordCloud().generate(data) # Display the generated image: plt.imshow(wordcloud, interpolation='bilinear') # bilinear interpolation is a way to spread the words out without them bumping into one another plt.axis("off") plt.show()
И это показывает сообщение об ошибке:
ValueError Traceback (most recent call last) lt;ipython-input-35-bf27d06ca511gt; in lt;modulegt; 4 # WordCloud needs an input in text format: 5 text = 'senseText.txt' ----gt; 6 data = np.genfromtxt(text) 7 # data = np.loadtxt(text, delimiter=',', skiprows=1, dtype=str) 8 /opt/conda/lib/python3.7/site-packages/numpy/lib/npyio.py in genfromtxt(fname, dtype, comments, delimiter, skip_header, skip_footer, converters, missing_values, filling_values, usecols, names, excludelist, deletechars, replace_space, autostrip, case_sensitive, defaultfmt, unpack, usemask, loose, invalid_raise, max_rows, encoding) 2101 # Raise an exception ? 2102 if invalid_raise: -gt; 2103 raise ValueError(errmsg) 2104 # Issue a warning ? 2105 else: ValueError: Some errors were detected ! Line #3 (got 14 columns instead of 11) Line #4 (got 14 columns instead of 11) Line #5 (got 14 columns instead of 11) Line #6 (got 12 columns instead of 11) Line #8 (got 14 columns instead of 11) Line #9 (got 3 columns instead of 11) Line #11 (got 4 columns instead of 11) Line #13 (got 3 columns instead of 11) Line #15 (got 5 columns instead of 11) Line #16 (got 6 columns instead of 11) Line #18 (got 2 columns instead of 11) Line #20 (got 4 columns instead of 11) Line #22 (got 15 columns instead of 11) ...
Означает ли это, что изначально он располагался в 11 столбцах в первой строке, а затем, поскольку в разных строках есть разные слова, он терпит неудачу?
Как нарисовать слово Облако?