taketea2018 が 2026年02月22日11時25分42秒 に編集
コメント無し
本文の変更
# ** データサイエンス入門 **
# データサイエンス入門
AIプログラミングで学ぶデータサイエンス ## 第4回 ワードクラウドを表示する  ワードクラウドとは、文章やデータ内で多く使われている言葉ほど大きく表示する自然言語処理技術NLP(Natural Language Processing)の一つです。ニュースサイトなどで多く見かけるようになりました。 文章をアップロードするとワードクラウドに加工してくれるwebサイトもありますが、原理を理解してプログラミングにより制作できるようになると様々な応用が可能になります。 前回はワードクラウドの予備知識と事前準備を行いました。文章を分かち書きから形態素解析できたでしょうか。今回は形態素解析結果よりワードクラウドを表示するプログラムを考えます。
### 〇動画は下記URLよりご視聴ください。
## 〇動画は下記URLよりご視聴ください。
データサイエンス入門 第4回 https://youtu.be/JkHzPz9YhZw
### 〇PDF解説書です。
## 〇スライド形式pdf解説書です。
データサイエンス入門 第4回 ワードクラウド https://drive.google.com/file/d/1poX0yEPazixo0KEFF3GLjJ0TCF-zO-kk/view?usp=drive_link
### 〇ワードクラウド表示用サンプル文章です。
## 〇ワードクラウド表示用サンプル文章です。
kakou_aipy_hajimeni.txt https://drive.google.com/file/d/1UbHhCbpGoLCRcePoJsBUnraodT3zsw1r/view?usp=drive_link
### 〇サンプルプログラム
## 〇サンプルプログラム
GoogleColaboratoryにアップロードすればすぐに動作を確認できます。実行結果のサンプル付きです。
``` # -*- coding: utf-8 -*- #!/usr/bin/python3 import MeCab from wordcloud import WordCloud import matplotlib.pyplot as plt import codecs import numpy as np from PIL import Image from google.colab import drive drive.mount('/content/drive') filename = "/content/drive/MyDrive/data_science/kakou_aipy_hajimeni.txt" jtext=open(filename,"r",encoding="utf-8").read() #print("jtext:",jtext) chasen=MeCab.Tagger("Ochasen") keitaiso=chasen.parse(jtext) #print("jtext:",jtext) #print("keitaiso:",keitaiso) meisi = [] meisi_count=0 for gyou in keitaiso.split("\n"): #1行ごとに\nで分ける #print("gyou:",gyou) temp = gyou.split("\t")[0] #\tで区切られた0番目 #print("temp:",temp) if temp == "EOS":#文末なら終わり break else: temp2 = gyou.split("\t")[1].split(",")[0]#\tで区切った1番目の0番目 スマホ\t名詞,普通名詞・・・名詞を取り出す #print("temp2:",temp2) if temp2 == "名詞": #名詞だけ取り出す meisi.append(temp) meisi_count +=1 print("meisi:",meisi) temp =','. join(meisi) print("temp:",temp) keyword = temp.replace(',',' ') print("keyword:",keyword) stwords=["temp","BLACK","okeru","flag"] w_mask = np.array(Image.open('/content/drive/MyDrive/data_science/aip_black.png')) wordcloud = WordCloud(font_path = '/usr/share/fonts/truetype/fonts-japanese-mincho.ttf', background_color="white", stopwords=stwords, mask=w_mask, width=1600,height=1200).generate(keyword) plt.figure(figsize=(15,12)) plt.imshow(wordcloud) plt.axis("off") plt.savefig("word_cloud.png") ```
第4回_表示する_wordcloud.ipynb https://drive.google.com/file/d/15OQS-3FWmKQBYSKaqdZD-SrFEyuD4AvJ/view?usp=drive_link
### 〇補足
## 〇補足
公開している動画とPDFは電波新聞社刊行電子工作マガジンに連載された同題名の内容をGoogle NotebookLMにてまとめています