数理コンサルタントの備忘録

あなたの悩みを数理で解決する

twitterから言語解析

twitterの情報からコーパスを作って形態素解析で単語と動詞集めてWord Cloud

作成してみる

 

まずは

tweepyライブラリ読み込み

import tweepy

 ツイートの検索

 tweetset = tweepy.Cursor(api.search, q=query, count=100,
result_type="mixed", include_entities=True, lang=lang).items() #queryを含むtweetを検索

詳しいコードは以下に載せる予定なのでどうぞ!

NPsanshine/word_cloud · GitHub

 

ただし,

CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXX'
CONSUMER_SECRET =  'XXXXXXXXXXXXXXXXXXX'

Twitter developers (.https://apps.twitter.com/)から取得してください.

 

そして標準入力で

input total number of tweets://検索する総ツイート数
input your query://検索したい言葉

を記入してください.

Linux コマンド集

ps [オプション]

オプション

a すべてのプロセスを表示します。
f 階層表示します。
H スレッドをプロセスのように表示します。
j BSDのジョブ制御フォーマットを表示します。
l BSDの長いフォーマットを表示します。
m プロセスの後ろにスレッドも表示します。
p プロセスID プロセスIDを指定します。
r 実行中のプロセスのみ表示します。
s シグナルフォーマットで表示します。
T この端末の全てのプロセスを表示します。
u ユーザーフォーマットで表示します。
v 仮想メモリフォーマットで表示します。
x 制御端末のないプロセスも表示します。

プロセスの状態コード(STAT)

d

コード 状態
D 割り込み不可能なスリープ状態
R 実行中または実行可能状態
S 割り込み可能なスリープ状態
T トレースされているために停止中の状態
X 死んだ状態
Z ゾンビプロセス

 

kill [オプション] [シグナル] プロセスID

less

:e [file] 新規にファイルを読み出す。ファイル名を指定しない場合は,現在のファイルを再度読み出す
:n 次のファイルを閲覧する
:p 前のファイルを閲覧する
:x 先頭のファイルを閲覧する
/pattern 現在位置からファイルの末尾方向へpatternを検索し,移動する
?pattern 現在位置からファイルの先頭方向へpatternを検索し,移動する
b, ESC-v 前の画面へ戻る。コマンドを入力する前に数字を入力すると,指定した画面数ずつ戻る
d 半画面進む。コマンドを入力する前に数字を入力すると,指定した半画面数ずつ進む
e, j 1行進める。コマンドを入力する前に数字を入力すると,指定した行数ずつ進む
f, SPACE 次の画面へ進む。コマンドを入力する前に数字を入力すると,指定した画面数ずつ進む
g, < ファイルの先頭へ移動する
G, > ファイルの末尾に移動する
h, H lessの操作ヘルプを表示する
n 検索を再度行う
N 前回の検索を逆方向に行う
r 画面を再度書き換える
u 半画面戻る。コマンドを入力する前に数字を入力すると,指定した半画面数ずつ戻る
q, Q 終了する
y, k 1行戻る。コマンドを入力する前に数字を入力すると,指定した行数ずつ戻る

 lv:lessの拡張. 文字コードを自動で変換して表示する.

mount:外部記憶装置をファイルシステムに組み込むこと.

 

 

エラー集

 

 

 + expected str, bytes or os.PathLike object, not _io.TextIOWrapper

☓:input = open(sys.argv[1],"r")

◯:input = argv[1]

 

SCIP導入

cd scipoptsuite-4.0.0

make GMP=false

make install GMP=false INSTALLDIR=/usr/local/

python3

☓:raw_input

◯:input

 

☓:import twpy.py

◯:mport twpy

 

tweepy

API:

自己のソフトウェアを一部公開して、他のソフトウェアと機能を共有できるようにしたものです。ソフトウェアの一部をWEB上に公開することによって、誰でも外部から利用することができるようになります。それによって、自分のソフトウェアに他のソフトウェアの機能を埋め込むことができるようになるので、アプリケーション同士で連携することが可能になるのです。

OAuthでは、下記3つのプレイヤーが鍵になってくる。

サービスプロバイダー

GoogleTwitterなどに代表されるサービスプロバイダーは、OAuthにおいて最も重要な役割を担っている。エンドポイントの提供、各種トークンやベリファイアの発行を行う。


コンシューマ

サービスプロバイダーが提供するAPIを利用してユーザーのデータを扱うアプリケーション。


ユーザー

アプリケーション利用者であり、サービスプロバイダーに会員登録をしている。

MeCab + python + wordcloud で言語処理

MeCab::Tagger というクラスのインスタンスを生成し, parse (もしくは parseToString) というメソッドを呼ぶことで, 解析結果が文字列として取得できます. MeCab::Tagger のコンストラクタの引数は, 基本的に mecab の実行形式に与えるパラメータと同一で, それらを文字列として与えます.

write() argument must be str, not None

↑これに苦しむ...

どうやら出力ファイルが空になっていたらしい...

最後は上手くいった.

 

 

 

 

改行コード

スクリプトファイルに実行権を与えてもコケたのでそのメモ.

 

sakuraエディタを使うと,
CRLF : ↵
CR  : ←
LF  : ↓

 

invalid character in identifier でハマる...
OSErrorでもハマったが, fontのパスを見れば上手くいった.