[[FrontPage]] **TreeTagger Wrapper for Python (2022-03) [#h8355a4a] -Python で TreeTagger を使うには以下のようにする: --TreeTagger のインストールは通常通りだが、以下の wrapper が treetagger のディレクトリを探すので、"TreeTagger" というディレクトリを作ってそこに格納するか、treetaggerwrapper.py ファイルが置かれるのと同じディレクトリにあると間違いない。 --pip でwrapper をインストール pip install treetaggerwrapper --Jupytor Notebook などで以下のコードでテスト # TreeTagger Wrapper Test import treetaggerwrapper as ttw tagger = ttw.TreeTagger(TAGLANG='en') tags = tagger.tag_text('I have a pen.') print(tags) --Output は以下のようになるはず: --Output は以下のように1単語が表層形-品詞-レンマの要素をもつPython のデータ型では、「リスト」になる: ['I\tPNP\ti', 'have\tVHB\thave', 'a\tAT0\ta', 'pen\tNN1\tpen', '.\tSENT\t.'] --ファイルをタグづけはこちら: tags = tagger.tag_file('newfile.txt') --ファイルの入出力はこれで: tagger.tag_file_to('newfile.txt', 'outfile.txt') -詳しいドキュメントはこちら --[[TreeTaggerWrapper DOC>https://treetaggerwrapper.readthedocs.io/_/downloads/en/latest/pdf/]] **TreeTagger の連続実行 [#e5e2dcd3] ***Mac OS X [#n264b15e] デフォルトではTreeTagger は1ファイルのみしか処理できないので、シェルスクリプトで連続実行できるようにする for fn in *.txt; do ./cmd/tree-tagger-english ${fn} > ${fn}.pos; done これは Mac OS X 上でのシェルスクリプトの例。ディレクトリ構造および TreeTagger のコマンドが Windows とは異なるかもしれない。 同一ディレクトリ内のすべての *.txt ファイルを、TreeTagger にかけて、*.pos という拡張子のファイルに変換するコマンド。 ***Windows [#hd6c49b5] 以下のバッチ・ファイルをディレクトリ名だけ変更して bin の下に置いて実行 rem TreeTagger (Windows version) を複数ファイルに連続実行させるバッチ・ファイル @echo off for %%f in (C:\Users\tono\Tools\TreeTagger\bin\*.txt) do tag-english %%f > %%f.pos.txt 現在,自分が使っているバッチファイルは以下の通り: @echo off for %%A in (%1) do tag-english %%A > %%A.tag md tagged move %%A.tag tagged > nul -%1 は引数なので,ここにファイル名を *.txt のように指定する。 -tag-englishがどこでも動くように,環境変数でPATHを切っておくこと -同一ディレクトリに tagged というフォルダを作り,そこに移動するというのが3行名以下のコマンド