Ceci est le 10ème article du Calendrier de l'Avent Protoout Studio!
Après être entré dans le studio proto-out, j'ai commencé à produire avec Qiita. (Bien qu'il y en ait encore peu)
Donc cette fois, en reflet de ce que j'ai écrit jusqu'ici, Je voudrais visualiser ce que je produis avec Word Cloud of Python.
WordCloud sélectionne les mots qui apparaissent fréquemment dans les phrases et les illustre dans une taille en fonction de la fréquence d'apparition des mots. Il existe une bibliothèque pour Python, je vais donc me référer au code ici également. http://amueller.github.io/word_cloud/index.html
Afin de le visualiser dans Word Cloud, je vais gratter mon Qiita et collecter des phrases (matériaux). En utilisant mes articles précédents
Tout d'abord, collectez et visualisez les informations de balise de l'article.
scraping.py
import urllib.request
from bs4 import BeautifulSoup
url = "https://qiita.com/sksk_go"
res = urllib.request.urlopen(url)
soup = BeautifulSoup(res, 'html.parser')
#Réécrire pour l'acquisition de balises
name = soup.find_all("a",class_="u-link-unstyled TagList__label")
ret = []
for t in name:
ret.append(t.text)
print(ret)
Exprimons le texte collecté dans Word Cloud.
Je vais me référer à cet article. [Python] J'ai essayé de visualiser la nuit du chemin de fer galactique avec WordCloud!
wordcloud.py
import MeCab
from wordcloud import WordCloud
data = open("data.txt","rb").read()
text = data.decode('utf-8')
mecab = MeCab.Tagger("-ochasen")
node = mecab.parseToNode(text)
data_text = []
while node:
word = node.surface
hinnsi = node.feature.split(",")[0]
if hinnsi in ["verbe","adverbe","adjectif","nom"]:
data_text.append(word)
else:
print("|{0}|La partie du mot est{1}Alors n'ajoute pas".format(node.surface,node.feature.split(",")[0]))
print("-"*35)
node = node.next
text = ' '.join(data_text)
#Mots exclus
stop_words = [ u'Teru', u'Est', u'Devenir', u'Être', u'Faire', u'y a-t-il', u'chose', u'cette', u'M.', u'fais le', \
u'Donnez-moi', u'faire', u'Donnez-moi', u'alors', u'Laisser', u'fait', u'pense', \
u'Il', u'ici', u'Chan', u'Kun', u'', u'main',u'À',u'À',u'Est',u'de', u'Mais', u'Quand', u'Ta', u'Shi', u'alors', \
u'Absent', u'Aussi', u'Nana', u'je', u'Ou', u'Alors', u'Yo', u'']
wordcloud = WordCloud(font_path='/System/Library/Fonts/Hiragino Mincho ProN.ttc',width=480, height=300,background_color='white',stopwords=set(stop_words))
#Générez un nuage de mots à partir de texte.
wordcloud.generate(text)
#Enregistrer dans un fichier.
wordcloud.to_file('wordcloud.png')
La quantité d'articles est petite, donc c'est effrayant ... Sentir qu'il y a beaucoup de composants Python. Cela inclut également l'IoT, que j'ai beaucoup appris.
Comme il ne s'agissait que d'une balise plus tôt, je vais prendre le texte de mon article Qiita et le visualiser avec Word Cloud.
Il y a des mots étranges dedans, mais je peux comprendre ce que je veux dire. Après tout, il existe de nombreux composants tels que Python et l'apprentissage automatique. Mon intérêt est plutôt fort. Vous pouvez voir la tendance.
J'ai essayé d'utiliser Word Cloud avec Qiita comme sujet, mais il semble plus intéressant de le prendre à partir de phrases ordinaires telles que Twitter et les blogs. Il semble intéressant d'essayer avec des paroles, des romans et de telles phrases.
C'est aki_suga! impatient de!
Recommended Posts