https://github.com/spring-raining/line_intern_task
Repository for LINE internship task
https://github.com/spring-raining/line_intern_task
Last synced: about 1 year ago
JSON representation
Repository for LINE internship task
- Host: GitHub
- URL: https://github.com/spring-raining/line_intern_task
- Owner: spring-raining
- Created: 2016-06-18T20:01:00.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-06-20T06:11:55.000Z (about 10 years ago)
- Last Synced: 2025-04-01T20:32:40.940Z (about 1 year ago)
- Language: JavaScript
- Size: 343 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LINE_intern_task
LINEインターンシップ課題プログラム
## task2/
課題2回答用プログラム・データ
このプログラムはTwitter APIを利用してツイートをクロールし,NEologdに含まれる単語のセットを収集します.
収集したツイートは,そのツイートの発言者が男性か女性のどちらであるかを人力で入力することで,
ツイートに関連したNEologdの各単語に対してその単語がどれだけ「男性らしい」「女性らしい」かのメタ情報を付与します.
収集したメタ情報のデータは `task2/dump.tsv` にあります.
### 実行方法
プログラムの実行にはjava,sbt(scala),redisが必要です.
環境構築後,プログラムがNEologdの単語を取り出すために `mecab-user-dict-seed.csv` ファイルを用意します.
これは `./init.sh` を実行することで自動的に `neologd-seed/` ディレクトリに保存されます.
次にプログラムがTwitter APIにアクセスするために https://apps.twitter.com/ でアプリケーションを作成します.
作成が完了したら,各トークンを環境変数に設定します.
```
$ export twitter4j.oauth.consumerKey=*********************
$ export twitter4j.oauth.consumerSecret=******************************************
$ export twitter4j.oauth.accessToken=**************************************************
$ export twitter4j.oauth.accessTokenSecret=******************************************
```
その後 `task2`ディレクトリに行き `sbt run` を実行すると,コンパイル後プログラムが起動します.
プログラムは,開始後入力するコマンドにより動作が変わります.
- `init` : NEologdの単語情報をデータベースに保存する.
- `crawl` : Twitterから標本となるツイート・単語を取得する.
- `supervise` : データベースからツイートを取り出し,男性と女性どちらのツイートかを入力させる.
- `export` : 各単語の情報を `dump.tsv` に出力する.
実際にデータを収集する際は,初回に `init` を行った後 `crawl` で標本ツイートを収集し,
ツイートがたまった時点で `supervise` でデータを与えるという流れになります.
ただし, `supervise` については課題3にてより簡単に行えるシステムを作成しました.
### dump.tsv 詳細
dump.tsv には各行3カラムのデータがあり,それぞれ
- 単語
- 単語の男女メタ情報 (1に近いほど男性寄り,0に近いほど女性寄り)
- 単語出現回数
の情報が書かれています.
## task3/
課題3回答用プログラム
課題3では,課題2で収集したデータを用いて,あるTwitterユーザーのスクリーンネームを与えて
そのユーザーが男性か女性かを判定するWebサービスを作成しました.
また,課題2の `supervise` が行えるページも用意しました.
作成したWebサービスは,現在 http://line-intern.harusamex.com/ で稼働しています.
### 実行方法
サーバーの起動にはNode.js,redis(課題2で生成されたデータベース)が必要です.
環境構築後, `task3` ディレクトリに行き `./node_modules/.bin/webpack` を実行して
クライアント用のJavaScriptファイルを生成します.
また,課題2と同様にTwitter API用のトークンを生成します.
トークンは以下のように環境変数に設定します.
```
$ export TWITTER_CONSUMER_KEY=*********************
$ export TWITTER_CONSUMER_SECRET=******************************************
```
設定後 `node main.js` を実行することでサーバーが起動し, http://localhost:3000/ にてアクセスできるようになります.