TreeTaggerの環境構築からPythonで動かすまで

#はじめに
日本語を形態素解析して情報を取るときはMeCabとかJumanppとかあるのですが，英語の品詞解析の結果が欲しくてggったらTreeTaggerというツールがあるそうなので導入からPythonで動かすまでのメモを残します．
TreeTaggerは英語以外にも解析できる言語の種類が豊富そうなので，他の言語の解析結果が欲しい人も使えると思います．


# TreeTaggerのインストール
[TreeTaggerの公式](http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/)通りにやれば躓かないと思います．

1. 自分の環境に沿ったtagger packageをダウンロードする．もしLinuxのkernel versionに問題がある人は古いバージョンをダウンロードしてtree-tagger-linux-3.2.1.tar.gzと名前に置き換える．

2. 同じディレクトリにtagging scriptsをダウンロードする．

3. インストールスクリプトのinstall-tagger.shをダウンロードする．

4. 自分の処理したい言語のparameter filesをダウンロードする．

5. コンソールを開いて，インストールスクリプトを走らせる．: `sh install-tagger.sh`

6. 動作確認する．: `echo 'Hello world!' | cmd/tree-tagger-english` or `echo 'Das ist ein Test.' | cmd/tagger-chunker-german`


# TreeTaggerWrapperのインストール
[TreeTaggerのラッパー](http://treetaggerwrapper.readthedocs.io/en/latest/)のインストールです．
pipで一発です．

`pip install treetaggerwrapper`

動くか確認します．

```py3:treetaggerwrapper.py
import treetaggerwrapper as ttw

def main():
    tagger = ttw.TreeTagger(TAGLANG='en')
    tags = tagger.TagText('I have a pen.')
    print(tags)

if __name__ == '__main__':
    main()

```

出力はこんな感じになると思います．

```console
$python3 treetaggerwrapper.py
I       PP      I
have    VHP     have
a       DT      a
pen     NN      pen
.       SENT    .
```

単語ごとに「表層形」「品詞」「原型」が出力されます．
これでTreeTaggerをPythonで動かす環境の構築は完了です．


#おまけ
[品詞タグのガイドライン](http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/Penn-Treebank-Tagset.pdf)があったのですが[日本語に翻訳](http://computer-technology.hateblo.jp/entry/20150824/p1)してくれている人がいました．
すぐ使いたかったので大変参考になりました．ありがたや．

この記事にも同じものを載せておきます．

| 品詞タグ | タグの説明 | 例 |
|:-:|:-:|:-:|
| CC | 等位接続詞 | and, but, or |
| CD | 基数 | 1, three |
| DT | 限定詞 | the |
| EX | 存在文のthere | There is |
| FW | 外国語 | d'œuvre |
| IN | 前置詞または従位接続詞 | in, of, like, after, whether |
| IN/that | 補文素 | that |
| JJ | 形容詞 | green |
| JJR | 形容詞の比較級 | greener |
| JJS | 形容詞の最上級 | greenest |
| LS | リスト項目のマーカー | (1) |
| MD | 法助動詞 | could, will |
| NN | 名詞の単数形または不可算名詞 | table |
| NNS | 名詞の複数形 | tables |
| NP | 固有名詞の単数名 | John |
| NPS | 固有名詞の複数形 | Vikings |
| PDT | 前限定詞 | both the boys |
| POS | 所有格語尾 | friend's |
| PP | 人称代名詞 | I, he, it |
| PP$ | 所有代名詞 | my, his |
| RB | 副詞 | however, usually, here, not |
| RBR | 副詞の比較級 | better |
| RBS | 副詞の最上級 | best |
| RP | 不変化詞(句動詞を構成する前置詞) | give up |
| SENT | 文末の句読点記号 | ?, !, . |
| SYM | 記号 | @, +, *, ^, = |
| TO | to | to go, to him |
| UH | 間投詞 | uhhuhhuhh |
| VB | be動詞の原形 | be |
| VBD | be動詞の過去形 | was, were |
| VBG | be動詞の動名詞または現在分詞 | being |
| VBN | be動詞の過去分詞 | been |
| VBZ | be動詞の三人称単数形現在 | is |
| VBP | be動詞の三人称単数形以外の現在 | am, are |
| VD | do動詞の原形 | do |
| VDD | do動詞の過去形 | did |
| VDG | do動詞の動名詞または現在分詞 | doing |
| VDN | do動詞の過去分詞 | done |
| VDZ | do動詞の三人称単数形現在 | does |
| VDP | do動詞の三人称単数形以外の現在 | do |
| VH | have動詞の原形 | have |
| VHD | have動詞の過去形 | had |
| VHG | have動詞の動名詞または現在分詞 | having |
| VHN | have動詞の過去分詞 | had |
| VHZ | have動詞の三人称単数形現在 | has |
| VHP | have動詞の三人称単数形以外の現在 | have |
| VV | 動詞の原形 | take |
| VVD | 動詞の過去形 | took |
| VVG | 動詞の動名詞または現在分詞 | taking |
| VVN | 動詞の過去分詞 | taken |
| VVP | 動詞の三人称単数形現在 | take |
| VVZ | 動詞の三人称単数形以外の現在 | takes |
| WDT | Wh限定詞 | which |
| WP | Wh代名詞 | who, what |
| WP$ | 所有関係代名詞 | whose |
| WRB | Wh副詞 | where, when |
| : | 一般結合記号 | ;, -, -- |
| $ | 通貨記号 | $, £ |