Pythonsugi【コード公開】【Python】テキストマイニングしてみた〜形態素解析〜ツイートシェアはてブ送るPocketTweet汎用性の広いPythonを0から習得するためのフロー及び実際にPythonで開発を行い開発案件を獲得するまでの筋道について解説しているチュートリアル資料とコーディングの参考となる実際にPythonを使って作ったツールのソースコードを無料で配布していますので、こちらも併せてご覧ください。初心者・入門者でも30日間で学習できるおすすめPython学習方法おすすめのプログラミングスクールの比較・特徴をまとめた記事を執筆しております。形態素解析についてこの記事を読み進める前に、よりテキストマイニングの内容を理解したい方は、下記のURLにてチェックしてみてください。【Python】テキストマイニングとは〜分析の重要性〜形態素解析とは、自然言語の文章を意味を持つ最小の単位である「形態素」に分割し、品詞を判別する作業となります。形態素解析は機械翻訳やかな漢字変換、テキストマイニングなど、かくいう私も企業が持っているビッグデータを文書レベルで分析し、企業の今後の経営における方向性を探し出す業務や、人工知能に利用する学習データ作成で利用しています。英語で形態素解析を行うのは、それほど難しくはありません。形態素ごとに単語を分かち書きするのが普通だからです。分かち書きとは、文章において単語ごとに区切ることです。日本語で形態素解析を行うのは、それなりの工夫が必要となります。代表的な手法としては文法による方法と確率的言語モデルを用いる方法の二種類があります。最近では、後者の確率的言語モデルを利用した形態素解析が多く、精度も高くなってきています。いずれにしても、品詞辞書や文法辞書を用いて辞書に照らし合わせながら形態素解析を行います。代表的な形態素解析のライブラリ世の中には、すでに多くの形態素解析のライブラリが数多く存在し、それらはオープンソースで配布されています。多くのライブラリはPythonから利用できるようになっています。そのため、それらのライブラリを利用することで、自身で辞書を準備したり、形態素解析のアルゴリズムを実装する手間を省くことができます。ここでは2つのライブラリを紹介します。形態素解析という言葉を身近に感じている方にはあまりにも有名な定番なツールがあります。利用実績としても非常に多く定番ライブラリとして思い浮かべるツールが「MeCab」と呼ばれるツールです。Fields)を用いたパラメータ推定による形態素解析エンジンです。判別精度に加えて、実行速度が速いことも特徴です。本当に知名度が高く、様々なシーンで利用されています。Pythonでは、「MeCab」をインストールして、その後pipコマンドを利用してPython用のライブラリをインストールする必要があります。次に、Python自身で記述された形態素解析エンジンの「Janome」についてです。このライブラリの特徴としては、Pythonのみで記述されているため、MeCabなどの外部エンジンをインストールする必要がないという点があります。pipコマンドを利用すれば一発でインストールが完了します。形態素解析に利用する辞書一式もインストールアーカイブに含まれています。辞書は、MeCabと同じものを利用していますので、同等の結果を得ることができます。Python自身で記述されているため、形態素解析にかかる時間は、MeCabの10倍ほど遅いと言われています。そのため、速度が必要な場合はMeCab、利用の手軽さを優先するならばJanomeを選択すると良いかもしれません。今回は、出現頻度の分析で利用するライブラリは、この「Janome」を利用して行ってみました。上記では、形態素解析についてとライブラリについて紹介しました。今回は、出現頻度の分析を「Janome」ライブラリを利用してプログラムを作成していきます。・必要なライブラリをインポートする・任意のデータを読み込み、形態素解析を行う・テキストを名詞だけカウントし、出現頻度を分析する利用したデータは、text_1.txtとしてファイルを保存しています。以下がファイル内のテキストデータになります。Tokenizer()1では、python解析器「Janome」をインポートします。2では、変数txtにて形態素解析用オブジェクトの生成を行います。print(j)print("\n")3では、任意のテキストデータを読み込みます。4にて、読み込んだテキストデータを単語ごとに形態素解析します。15では、テキストを一行ごとに処理しています。forループにて形態素解析を行った行ごとに品詞の”名詞”をif文内でカウントします。end="")8では、よく使われる単語を表示するため、forループにて処理を行っています。実際に出力結果をみて頂けると分かりやすいと思います。上記に記載したプログラムを実行した出力結果をここに表示しておくので、参考にしてみてください。ここまでで今回の形態素解析についてのプログラムは完了です。今後もテキストマイニングの学習を続けていく場合は、テキストデータに関する情報を理解する力やビッグデータをいかに活用していくかを考えなければなりません。必要となるのがデータを利用して何にテキストマイニングが有効になるのか、実例をもとに根拠を持って取り組まなければならないです。いったプログラミング言語pythonによるデータアナリストの知見や経験を取り込んだ学習教材として良書が以下の本になるので、合わせて検討して頂ければと幸いです。独学・未経験から始める人も少なくないので、プログラミング学習の継続や学習を続けたスキルアップにはそれなりのハードルが設けられています。プログラミング学習においても、学習者によってはすでに学習対象とするプログラミング言語や狙っている分野が存在するかもしれません。そのため、費用を抑えて効率的にピンポイント学習で取り組みたいと考える人も少なくありません。プログラミング学習において目的を持って取り組むことは大切ですが、『何を作ればいいかわからない。』といったスタートの切り方で悩む人もいると思います。いったプログラミング学習の指標となる取り組み方について詳細に記載したまとめ記事がありますので、そちらも参照して頂けると幸いです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。【コード公開】【Python】テキストマイニングしてみた〜モデル作成〜【コード公開】【Pythonでの機械学習】ブログアクセス数データの近似モデルを構築RECOMMENDこちらの記事も人気です。2019.12.15Pythonでエクセルを自動化[Mac編]ABOUTこの記事をかいた人sugi大学卒業後、IT企業に就職を果たす。システム開発・人工知能に触れながら大手企業と業務をこなす。2年半後脱サラし、現在フリーランス活動中。2019年2月から起業する予定。自社サービス及び製品を開発し、売り上げを立てている。