2 日前に Syntaxnet を使い始めましたが、出力 (ascii ツリーまたは conll ) を解析しやすい形式 (つまり、Json、XML、Python グラフ) で使用/エクスポートする方法を知りたいと思っています。
ご協力いただきありがとうございます !
ascii ツリーに移動する前に (demo.sh に従っていると思います)、入力はタグ付けと解析を通過します。コマンド パイプラインの最後のステップを削除します。
変更した demo.sh ファイルは次のようになります:-
PARSER_EVAL=bazel-bin/syntaxnet/parser_eval
MODEL_DIR=syntaxnet/models/parsey_mcparseface
[[ "$1" == "--conll" ]] && INPUT_FORMAT=stdin-conll || INPUT_FORMAT=stdin
$PARSER_EVAL \
--input=$INPUT_FORMAT \
--output=stdout-conll \
--hidden_layer_sizes=64 \
--arg_prefix=brain_tagger \
--graph_builder=structured \
--task_context=$MODEL_DIR/context.pbtxt \
--model_path=$MODEL_DIR/tagger-params \
--slim_model \
--batch_size=1024 \
--alsologtostderr \
| \
$PARSER_EVAL \
--input=stdin-conll \
--output=stdout-conll \
--hidden_layer_sizes=512,512 \
--arg_prefix=brain_parser \
--graph_builder=structured \
--task_context=$MODEL_DIR/context.pbtxt \
--model_path=$MODEL_DIR/parser-params \
--slim_model \
--batch_size=1024 \
--alsologtostderr \
その後、実行できます:-
$ echo 'Bob brought the pizza to Alice.' | syntaxnet/demo.sh 1>sample.txt 2>dev/null
結果は sample.txt に保存され、次のようになります:-
1 Bob _ NOUN NNP _ 2 nsubj _ _
2 brought _ VERB VBD _ 0 ROOT _ _
3 the _ DET DT _ 4 det _ _
4 pizza _ NOUN NN _ 2 dobj _ _
5 to _ ADP IN _ 2 prep _ _
6 Alice _ NOUN NNP _ 5 pobj _ _
7 . _ . . _ 2 punct _ _
ここから、\n でデータを分割することにより、各単語の頭、品詞、およびノードの種類に関する情報を簡単に取得できます。
アスキーツリー自体は、上記を使用して構築されます。
出力品詞の凡例を探してここに来ました。削除された回答で共有されました。他のユーザーには表示されない可能性があります。
品詞の略語は、これまでのところ、私の文章のPenn 品詞タグと一致しているようです。ページがダウンまたは変更された場合に備えて、ここでそのテーブルを引用します。
- CCコーディネートコンジャンクション
- CD基数
- DT決定者
- EX 実存あり
- FW 外国語
- IN 前置詞または従属接続詞
- JJ 形容詞
- JJR 形容詞、比較級
- JJS 形容詞、最上級
- LS リスト項目マーカー
- MDモーダル
- NN 名詞、単数または質量
- NNS 名詞、複数形
- NNP 固有名詞、単数形
- NNPS 固有名詞、複数形
- PDT 事前決定者
- POS 所有エンディング
- PRP人称代名詞
- PRP$ 所有代名詞
- RB副詞
- RBR 副詞、比較級
- RBS副詞、最上級
- RP粒子
- SYM シンボル
- に に
- UHインタージェクション
- VB 動詞、原形
- VBD 動詞、過去形
- VBG 動詞、動名詞または現在分詞
- VBN 動詞、過去分詞
- VBP 動詞、非三人称単数現在
- VBZ 動詞、三人称単数現在
- WDT Wh 決定因子
- WP Wh-代名詞
- WP$ 所有 Wh 代名詞
- WRB Wh-副詞