Как исправить проблему с визуализацией текста? - PullRequest
0 голосов
/ 20 января 2019

Мне нужно визуализировать частоты слов в моем тексте, но я не могу настроить график рассеяния и график распределения частот n-грамм.

Я уже пробовал много кодов из Интернета, но у меня всегда есть проблемы со счетчиком слов в Коде

вот мой код:

from urllib import request
from collections import Counter
from nltk import word_tokenize
import matplotlib.pyplot as plt
from yellowbrick.text import DispersionPlot
from wordcloud import WordCloud
import numpy as np

URL = 'http://www.gutenberg.org/cache/epub/24681/pg24681.txt'

RESPONSE = request.urlopen(URL)
RAW = RESPONSE.read().decode('utf8')

for char in '-.,\n;:?=)(/&%$§"!)12345678':
   RAW = RAW.replace(char, ' ')

type(RAW)
print('\n')
len(RAW)

TOKENS = word_tokenize(RAW)

print(type(TOKENS))
X = print(len(TOKENS))
print(TOKENS[:X])

print('\n')

C = Counter(TOKENS)
print(C.most_common(100))

Мой первый вопрос: не могли бы вы показать мне, как я могу получить из этого точечный график, показывающий просто частоту слов в тексте. То же самое с графиком распределения частоты n-грамм. это должно только визуализировать частоты слов. Внешний вид самой визуализации не важен. Сюжет не должен нигде сохраняться. После выполнения кода, сюжет должен сразу появиться. Как ошибка, она всегда показывает мне что-то связанное с этой частью кода:

C = Counter(TOKENS)
print(C.most_common(100))

И у меня второй вопрос: если я создаю такую ​​гистограмму, стоп-слова не работают, почему? Означает, что вывод показывает прежде всего "the", "of", "a" и так далее. Вот код:

vocab_labels, vocab_values = zip(*Counter(C).items())

sorted_values = sorted(vocab_values)[::-1]
sorted_labels = [x for (y,x) in 
sorted(zip(vocab_values,vocab_labels))][::-1]
indexes = np.arange(len(sorted_labels[:10]))
width = 1

plt.bar(indexes, sorted_values[:10]) 
plt.xticks(indexes + width * 0.1, sorted_labels[:10])
plt.show()

Спасибо за помощь, если у вас есть какие-либо вопросы, сообщите мне. Я перепробовал уже много вещей. Они не очень хорошо сработали.

Спасибо за помощь

Ожидаемыми результатами должны быть рабочий код для графика рассеяния и графика распределения частоты n-грамм, а также рабочие стоп-слова для гистограммы, графика рассеяния и графика распределения частоты n-грамма.

...