本記事は、サムザップ Advent Calendar 2019 #1 の12/13の記事です。
##はじめに
株式会社サムザップで戦国炎舞を担当しておりますnakamuraです。
以前から機械学習に興味がありましたので学びながら掲題のようなことを試してみました。
ゲーム運営は機能実装だけでなくお問い合わせ対応や調査もエンジニアの仕事の一つです。
1次対応で間違えてしまうとヒート案件化してしまうケースもありますので問い合わせを頂いた時点で適切に判別、振り分けが出来れば、よりよい対応ができるのではないかと考えました。
##処理の流れ
##使用したツール
-Phyton
-Jupyter Notebook(分析環境)
-scikit-learn(機械学習)
-MeCab(形態素解析)
形態素解析コード例
import MeCab
tagger = MeCab.Tagger()
#形態素解析
word_s = tagger.parse(text)
words = []
for line in word_s.split("\n"):
# 省略
機械学習コード例
from sklearn.naive_bayes import GaussianNB
#省略
#学習用とテスト用に分割
x_train, x_test, y_train, y_test = train_test_split(data)
# 学習
model = GaussianNB()
model.fit(x_train, y_train)
# テスト
y_pred = model.predict(x_test)
acc = accuracy_score(y_test, y_pred)
##結果
上記で機械学習させたモデルをもとに実際のCSデータ2000件程の判定を行ってみましたが精度は50%程度という結果になりました。
実業務で使うにはいまいちな結果ですが文字列の正規化やより多くの単語の新規登録をし形態素解析精度をあげることで判定の精度も上がりそうなので引き続き取り組んでいきたいと思います。
##参考
すぐに使える! 業務で実践できる! Pythonによる AI・機械学習・深層学習アプリのつくり方
明日は、@shoichi1023 さんの記事です。