Microsoftのデータサイエンス初心者向けコースをやってみるDay1チャレンジ:テキストマイニング
はじめに
GAFAM(Google, Amazon, Facebook, Apple, Microsoft)のMは何と言ってもMicrosoft。
ビルゲイツ氏の時代はOSのイメージが強かったが、サティアナデラ氏がCEOの現在は、クラウドでイケイケの会社となっており、超ハイスキルの人財を多数抱え、世界最先端で人工知能・データサイエンス・機械学習を学べるコースを無償で提供している。そこで、Microsoftの寛大さに感謝しつつ、Pythonを使いながら、データサイエンスを勉強してみる。
対象読者
Pythonとデータサイエンスに興味があって、英語が苦手な人(英語が得意な人は、参考文献を直接解いてください。
ロードマップ
Day1
この記事では、Day1のチャレンジを翻訳しながらやってみる。
Day1ゴール
データサイエンスに関するWikipediaの記事からキーワード集計や可視化を行い、
気づき・洞察を得る。
Wikipediaからデータサイエンス記事を取得する。
import requests
url = 'https://en.wikipedia.org/wiki/Data_science'
ds_text = requests.get(url).content.decode('utf-8')
print(ds_text[:2000])
データ変換(HTMLから平文のテキストへ)
HTMLParserクラスでHTMLタグ内のテキストが取得できるが、子クラスのMyHTMLParserではscriptタグと、styleタグは読み飛ばす処理を入れている。
from html.parser import HTMLParser
class MyHTMLParser(HTMLParser):
script = False
res = ""
def handle_starttag(self, tag, attrs):
if tag.lower() in ["script","style"]:
self.script = True
def handle_endtag(self, tag):
if tag.lower() in ["script","style"]:
self.script = False
def handle_data(self, data):
if str.strip(data)=="" or self.script:
return
self.res += ' '+data.replace('[ edit ]','')
parser = MyHTMLParser()
parser.feed(ds_text)
ds_text = parser.res
print(ds_text[:2000])
高速頻度集計にnlp-rakeモジュールを使う。
import sys
!{sys.executable} -m pip install nlp_rake
頻度集計
5文字以上で、3回以上出現した2つの複合語までの単語を取得。
import nlp_rake
extractor = nlp_rake.Rake(max_words=2,min_freq=3,min_chars=5)
res = extractor.apply(ds_text)
print(res[:5])
[('machine learning', 4.0), ('big data', 4.0), ('data scientist', 4.0), ('21st century', 4.0), ('data science', 3.9107142857142856)]
matplotlibで可視化
import matplotlib.pyplot as plt
def plot(pair_list):
k,v = zip(*pair_list)
plt.bar(range(len(k)),v)
plt.xticks(range(len(k)),k,rotation='vertical')
plt.show()
plot(res)
WordCloud(ワードクラウド)で可視化
!{sys.executable} -m pip install wordcloud
from wordcloud import WordCloud
import matplotlib.pyplot as plt
wc = WordCloud(background_color='white',width=800,height=600)
plt.figure(figsize=(15,7))
plt.imshow(wc.generate_from_frequencies({ k:v for k,v in res }))
おしゃれなワードクラウドの出来上がり。さあ召し上がれ。
著者のTWITTERアカウント
ホームページ(pytorch/python/nlp)
参考文献
Author And Source
この問題について(Microsoftのデータサイエンス初心者向けコースをやってみるDay1チャレンジ:テキストマイニング), 我々は、より多くの情報をここで見つけました https://qiita.com/keiji_dl/items/6f36815f159c2d4bf740著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .