見出し画像

テキスト分析の大通り#11: ナイーブベイズテキスト分類用の横持ち連結

前回SQLでのナイーブベイズ利用について整理しました。また次回以降はPython Scikit-learnを使って同じことをしようと思いますが、その前にScikit-Learn用のデータを今回は作ります。入力として一つの文書が半角スペースで区切られた1列に入れる必要があります。英語の半角スペース区切りの文書なら、ワンチャンそのまま利用できるデータの形式です。一方でSQLでは単語ごとに分解し、縦持ちしており、その中で不要語を削除したり、矯正したりしてきました。これはこれで扱いやすいのですが、ことそれが特定のライブラリ、アルゴリズムが求めるデータの形式でない場合は、求める形に変形する必要があります。

実施した処理としては、以下の通りとなります。もっとうまいやり方があるのかもしれませんがとりあえずこれで。

まずSQLのナイーブベイズでも使ったデータ、縦持ちの分解済み、不要語の除去や、矯正を行ったデータをダウンロードします。そして単語部分をリストにしてあげて、その文字列内にあるカギかっこやカンマを取り除いてあげます。SQLでダウンロードする際のorder by句に気を付ける必要があります。順番が変だとそのまま連結されてしまうので注意が必要です。そして元のデータから落としてしまっていたカテゴリー列を再度結合させ、明日また作業できるよう一旦データベースに保管しています。また横の単一列にしたときに出来上がった文字列の長さを確認し、それが入るようにテーブルの文字長を調整しています。

以上、たいした面白みはない内容ですが、横持ち連結の処理でした。

(TeradataやPython、およびPythonライブラリのインストールや環境構築、辞書登録、参考にしたページ等は以下にまとめています)

///

#analytics #ナイーブベイズ #text #nlp #データ #分析 #teradata #sql

いいなと思ったら応援しよう!