pythonによるテキストマイニングことはじめ スパムフィルタリングpart.2【プログラムあり】

python活用 python

前回のpart.1に引き続き、テキストマイニングの活用としてpythonを用いてスパムフィルタリングを行ってみます。

前回は、畳み込みニューラルネットワークを用いて分類モデルを定義し、スパムか否かを判断するモデルを構築し確認してみました。

今回part.2では、SVM(support vector machine:SVM)を用いてみます。

データは、part.1と同じ【SMS Spam Collection Dataset】を使用します。このデータは、メール文章とその文章が迷惑メールか否かを示す情報の組で構成されています。

機械学習できる形に加工します。各文章をtfidfにより重み付けを行いベクトル表現に変換します。

tf-idfは、文書中に含まれる単語の重要度を評価する手法の1つであり、主に情報検索やトピック分析などの分野で用いられている。(wikipediaより抜粋)

これでデータの準備ができました。

続いて、SVMのモデル定義をしていきます。

これでSVMモデルの定義が完了しました。

さっそく、モデルの評価をしてみます。

テストデータの先頭10個のデータを学習したモデルで予測した結果を見ると、一応すべて正解しているみたいです。また、モデルの評価結果も中々良さげ?ですね。

最後に、テキストマイニングの分野においても、昨今ではpython等の優れた環境がすでに提供されていますので、企業、個人のビジネスに活用してみましょう。

タイトルとURLをコピーしました