2019年1月10日TwitterFacebookはてブGoogle+PocketLINEFeedlyフィード今回はクレジットカード比較サイトのトップページに出現する単語の出現数を調査してみたいと思います。今回の作業にあたっては、ざっくりと以下のような技術要素が登場します。実際にpythonでやる場合の手順を整理すると以下のような流れになります。単語の原型に変換リストに変換する。助詞などの不要な単語を除外(ストップワードの除外)カウント実行また、今回の記事ではふれませんが、今回用いた処理を前処理として、トピックモデルによる解析を最終目標としています。最終的には単語を集計することになりますが、集計はpythonのリスト形式で集計します。pythonでリストの数を数える関数が用意されています。'c']print(list)#7print(list.count('a'))#4※参考:https://note.nkmk.me/python-collections-counter/この例からわかるように、単語数を数えるためには、listのように、出現する単語をリストとして作成して上げればよいということがわかります。ソースコードはこちらの記事をベースに作成しています。見習いデータサイエンティストの隠れ家SNSがコミュニケーションのインフラになりつつあることで、世の中は言葉で溢れています。この膨大な言葉...www.dskomei.comここでは以下の部分を実装します。2.形態素解析により単語に分解-文から不要な文字を削除-文を単語ごとに分割-単語を正規化し、必要な単語のみを取得-単語の原型に変換3.リストに変換する。file.writelines(changed_words)ストップワードはこちらがよく使われているようですが、あまりにも貧相で、使いものにはなりませんでした。Slothlib上記の実装でも利用していますが、現実的に取得する品詞を名詞のみに絞ることで対応しました。※dict型を定義してgetメソッドで数える。print(word)集計方法1はコメントアウトしていますが、集計方法2の代わりにこちらを使用しても動きます。集計処理も、count()を利用した方法でも動きます。集計結果いい感じに集計が出来ました。いえ、ノイズも目につきます。“0.0%”など意味のない文字もあります。”カード”と”クレジットカード”も同じ意味ですが、どう扱うかは検討が必要です。今回の解析はこれで区切りをつけたいと思います。その他の形態素解析パッケージ今回はJanomeというパッケージを使いましたが、有名所ではMeCabがあります。janomeとMeCabを比較した記事もあります。note.nkmk.meJanomeはPythonの形態素解析エンジン。日本語のテキストを形態素ごとに分割して品詞を判定した...note.nkmk.meこちらの記事によるとMeCab:本格的な形態素解析におすすめJanome:簡単に実装、短い文章や簡易的な解析におすすめ的なことが書いてあります。MeCabはNeologdという単語解析の辞書の拡張が利用できます。NEologd(mecab-ipadic-NEologd)こちらは最新の単語が週に2回更新され優れものですが、容量はかなり食います。5GByteこのあたりの形態素解析は長くなるので、別の記事で詳しく解説したいと思います。参考サイトCounterの使い方が紹介されている。note.nkmk.mePythonでリストやタプルの全要素の個数は組み込み関数len()、各要素の個数(要素ごとの出現回数...note.nkmk.me形態素解析のやり方が紹介されている。見習いデータサイエンティストの隠れ家SNSがコミュニケーションのインフラになりつつあることで、世の中は言葉で溢れています。Qiita**自然言語処理に前処理は不可欠です。MOREpythonのリスト内包表現プロフィール運営者:IkeSei元システムエンジニア。自らクレジットカード比較メディアを立ち上げ、サイト制作から、コンテンツ作成、SEO施策、WEB解析をこなす。対応言語は、VHDL、ABAP、PHP、Python現在は機械学習を用いたWEB解析に取り組み中。