12

两天前我开始使用 Syntaxnet,我想知道如何以易于解析的格式(即:Json、XML、python 图)使用/导出输出(ascii 树或 conll)。

谢谢你的帮助 !

4

3 回答 3

9

在进入 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 拆分数据轻松获取有关每个单词的头部、词性和节点类型的信息

ascii 树本身是使用上面构建的。

于 2016-06-24T11:38:26.223 回答
5

我来这里是为了寻找输出词性的图例。它是在一个已删除的答案中共享的——其他用户可能看不到。

到目前为止,我的句子的词性缩写似乎与Penn 词性标签相匹配。如果页面关闭或更改,请在此处引用该表:

  1. CC 协调连词
  2. CD 基数
  3. DT 确定器
  4. EX Existential there
  5. FW 外来词
  6. IN 介词或从属连词
  7. JJ形容词
  8. JJR 形容词,比较级
  9. JJS 形容词,最高级
  10. LS 列表项标记
  11. MD模态
  12. NN 名词,单数或质量
  13. NNS 名词,复数
  14. NNP 专有名词,单数
  15. NNPS 专有名词,复数
  16. PDT 预定义器
  17. POS 所有格结尾
  18. PRP人称代词
  19. PRP$ 所有格代词
  20. RB 副词
  21. RBR 副词,比较
  22. RBS 副词,最高级
  23. 反相粒子
  24. 符号
  25. 呃感叹词
  26. VB 动词,基本形式
  27. VBD 动词,过去式
  28. VBG 动词、动名词或现在分词
  29. VBN 动词,过去分词
  30. VBP 动词,非第三人称单数现在时
  31. VBZ 动词,第三人称单数现在时
  32. WDT Wh-确定器
  33. WP Wh-代词
  34. WP$ 所有格 wh 代词
  35. WRB Wh-副词
于 2017-01-02T15:11:03.343 回答
5

我写了一篇博文,解释了如何将任何给定语言的 SyntaxNet 输出转换为 Python,特别是 NLTK,并将其输出与依赖图和树类一起使用。

你可以在这里查看:http ://www.davidsbatista.net/blog/2017/03/25/syntaxnet/

于 2017-04-01T13:34:11.693 回答