Фахрул Энди Сетьяван и Дви Октавиана Путери
Versi Indonesia =› начать
Облако слов (также известное как текстовое облако или облако тегов) — это метод визуального отображения текстовых данных. Этот график популярен при анализе текста, потому что его легко понять. Используя облако слов, можно отобразить обзор частотности слов в привлекательной, но информативной форме. Чем чаще используется слово, тем больше размер слова будет отображаться в облаке слов.
На этот раз мы создадим облако слов из комментариев к видео на YouTube, используя язык программирования python. Необходимо подготовить Jupyter Notebook и ссылку на видео на YouTube, которое активно комментируется.
Шаги
- Во-первых, мы должны установить необходимые библиотеки.
! pip install datakund-scraper ! pip install youtube-comment-scraper-python ! pip install wordcloud
2. Импортируйте библиотеки, чтобы иметь возможность запускать программу.
from youtube_comment_scraper_python import * import pandas as pd import numpy as np import re import nltk import matplotlib.pyplot as plt %matplotlib inline
3. Введите ссылку YouTube, которую вы хотите использовать.
youtube.open(“https://www.youtube.com/watch?v=Ki55VfgocGs&t=38s") #youtube link used youtube.keypress(“pagedown”) #to scroll the page directly load the comments
4. После этого необходим поиск данных комментария, чем больше, тем больше времени.
data = [] halsausskrng=youtube.get_page_source() halakhissaus=’’ while(True): if(halakhissaus==halsausskrng): break halakhissaus=halsausskrng respon=youtube.video_comments() for c in respon[‘body’]: data.append(c) youtube.scroll() halsausskrng=youtube.get_page_source()
5. Распечатайте, чтобы отобразить результаты данных.
print(“Data : “, len(data)) data[:10]
6. Группировка результатов комментариев данных, лайков, времени, пользовательских ссылок, пользователей и экспорт результатов в форму csv (данные csv автоматически сохраняются в том же каталоге, что и файл).
df = pd.DataFrame(data) # conver list to dataframe df = df.replace(‘\n’,’ ‘, regex=True) # clean data df = df[[‘Comment’, ‘Likes’, ‘Time’,’UserLink’,’user’]].drop_duplicates(keep=”first”) # drop duplicate rows df.to_csv(‘data.csv’,index=False) # export data to csv df.head()
Результаты данных
7. Получите данные комментария.
label = df[‘Comment’] label.head()
8. Фильтрация ненужных слов, таких как специальные слова, только 1 буква, двойной пробел и т. д.
processed_features = [] for sentence in range(0, len(label)): # Remove all the special characters processed_feature = re.sub(r’\W’, ‘ ‘, str(label.iloc[sentence])) # remove all single characters processed_feature= re.sub(r’\s+[a-zA-Z]\s+’, ‘ ‘, processed_feature) # Remove single characters from the start processed_feature = re.sub(r’^[a-zA-Z]\s+’, ‘’, processed_feature) # Substituting multiple spaces with single space processed_feature = re.sub(r’\s+’, ‘ ‘, processed_feature, flags=re.I) # Removing prefixed ‘b’ processed_feature = re.sub(r’^b\s+’, ‘’, processed_feature) # Converting to Lowercase processed_feature = processed_feature.lower() processed_features.append(processed_feature)
9. Загрузите ntlk для функций токенизатора и стоп-слов.
import nltk nltk.download(‘punkt’) # Sentence Tokenizer nltk.download(‘stopwords’) # Stopword
10. После этого сделайте стоп-слово для индонезийского языка. Язык можно изменить по желанию.
from nltk.corpus import stopwords stop=nltk.corpus.stopwords.words(‘indonesia’) label = label.apply(lambda x: “ “.join(x for x in x.split() if x not in stop)) label.head()
11. Уберите знаки препинания.
label = label.str.replace(‘[^\w\s]’,’’, regex=True) label.head()
12. Создание wordcloud из данных, которые были обработаны ранее, есть несколько шаблонов для настройки макета, но больше похоже на результаты, потому что это просто и легко.
from wordcloud import WordCloud, STOPWORDS import matplotlib.pyplot as plt word_string=” “.join(label.str.lower()) wordcloud = WordCloud(stopwords=STOPWORDS, background_color=’white’, ).generate(word_string) plt.figure(figsize=(50,25)) plt.imshow(wordcloud) plt.axis(‘off’) plt.show()
Спасибо
Instagram: @andyksetyawan
Facebook: Andyk Setyawan
Авторы: Фахрул Энди Сетьяван и Дви Октавиана Путери