SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
SPSS-Python連携で
簡単テキストマイニング!
例:健全なSNSを確立しよう!
●   非健全な発言を抽出して対策を取らねばならない
    非健全な発言を抽出
●   非健全な発言を人手で全て調べるのは困難
●   SPSS-Pythonを用いて自動化しよう!
SPSSによるテキストマイニング
●   Text Analytics for Surveysを用いる
    –   メリット:簡単に定型処理が出来る
    –   デメリット:お金かかる
●   Pythonと連携する
    –   メリット:特定のデータや処理に特化出来る
    –   デメリット:プログラミングスキルが必要
    –   ↓Pythonで必要なコード書きました。コピペでOK
    –   http://d.hatena.ne.jp/AntiBayesian/20120418
テキストのID化
●   テキストマイニングをするためには、テキストのID
    化が必要。ID化の一例を示す(ID化手法は様々
●   元テキスト:「他人のアカウントを乗っ取る」
●   ID群[ID:単語]->1:犯罪, 2:金, 3:乗っ取り, 4:交際
●   テキストID化後:[0, 0, 1, 0]
Pythonコード例
#coding:utf-8
import sys
import MeCab #形態素解析エンジンMeCabを利用

tagger = MeCab.Tagger("-Owakati") #分かち書き
read_file = sys.argv[1]
read_dictionary = sys.argv[2]

text_list = open(read_file).read().split('n')
dictionary = open(read_dictionary).read().split('n')
print ',' + ','.join(dictionary)

def set_id(text):
     count = 0
     id = []
     for word in dictionary:
          count += 1
          id.append(str(text.count(word)))
     return text + ',' + ','.join(id)

for text in text_list:
     print set_id(text)
ID化実行例
            犯   金   セック   援   交   死   殺   ドラッ   シン   麻薬
            罪       ス     助   際       す   グ     ナー

援助交際してくれる   0 0 0         1 1 0 0          0     0        0
人募集中~
風邪気味なので風邪   0 0 0         0 0 0 0          0     0        0
薬買いに薬局へ行っ
てきた
渋谷にドラッグの密   0 0 0         0 0 0 0          1     0        0
売人がいるらしい
ふざけたこと言って   0 0 0         0 0 0 2          0     0        0
ると殺すぞ、絶対殺
す
麻薬体験ブログ公開   0 0 0         0 0 0 0          0     0        1
中!
まとめ
●   SPSSはPythonと連携できる
●   Pythonでデータ整形してSPSSに放り込むと便利
●   SPSS-Pythonならテキストマイニングも簡単!

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (8)

チームラボ忘年会
チームラボ忘年会チームラボ忘年会
チームラボ忘年会
 
神の言語による自然言語処理
神の言語による自然言語処理神の言語による自然言語処理
神の言語による自然言語処理
 
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
 
全文検索入門
全文検索入門全文検索入門
全文検索入門
 
Sakusaku svm
Sakusaku svmSakusaku svm
Sakusaku svm
 
企業における統計学入門
企業における統計学入門企業における統計学入門
企業における統計学入門
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
 

SPSSで簡単テキストマイニング

  • 2. 例:健全なSNSを確立しよう! ● 非健全な発言を抽出して対策を取らねばならない 非健全な発言を抽出 ● 非健全な発言を人手で全て調べるのは困難 ● SPSS-Pythonを用いて自動化しよう!
  • 3. SPSSによるテキストマイニング ● Text Analytics for Surveysを用いる – メリット:簡単に定型処理が出来る – デメリット:お金かかる ● Pythonと連携する – メリット:特定のデータや処理に特化出来る – デメリット:プログラミングスキルが必要 – ↓Pythonで必要なコード書きました。コピペでOK – http://d.hatena.ne.jp/AntiBayesian/20120418
  • 4. テキストのID化 ● テキストマイニングをするためには、テキストのID 化が必要。ID化の一例を示す(ID化手法は様々 ● 元テキスト:「他人のアカウントを乗っ取る」 ● ID群[ID:単語]->1:犯罪, 2:金, 3:乗っ取り, 4:交際 ● テキストID化後:[0, 0, 1, 0]
  • 5. Pythonコード例 #coding:utf-8 import sys import MeCab #形態素解析エンジンMeCabを利用 tagger = MeCab.Tagger("-Owakati") #分かち書き read_file = sys.argv[1] read_dictionary = sys.argv[2] text_list = open(read_file).read().split('n') dictionary = open(read_dictionary).read().split('n') print ',' + ','.join(dictionary) def set_id(text): count = 0 id = [] for word in dictionary: count += 1 id.append(str(text.count(word))) return text + ',' + ','.join(id) for text in text_list: print set_id(text)
  • 6. ID化実行例 犯 金 セック 援 交 死 殺 ドラッ シン 麻薬 罪 ス 助 際 す グ ナー 援助交際してくれる 0 0 0 1 1 0 0 0 0 0 人募集中~ 風邪気味なので風邪 0 0 0 0 0 0 0 0 0 0 薬買いに薬局へ行っ てきた 渋谷にドラッグの密 0 0 0 0 0 0 0 1 0 0 売人がいるらしい ふざけたこと言って 0 0 0 0 0 0 2 0 0 0 ると殺すぞ、絶対殺 す 麻薬体験ブログ公開 0 0 0 0 0 0 0 0 0 1 中!
  • 7. まとめ ● SPSSはPythonと連携できる ● Pythonでデータ整形してSPSSに放り込むと便利 ● SPSS-Pythonならテキストマイニングも簡単!