如何使用syntaxnet输出

时间:2016-06-17 07:29:17

标签: nlp syntaxnet

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

感谢您的帮助!

3 个答案:

答案 0 :(得分: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树本身是通过使用上面构建的。

答案 1 :(得分:5)

我来到这里寻找输出词性的传奇。它在已删除的答案中共享 - 其他用户可能无法看到。

到目前为止,词性缩写似乎与我的句子的Penn Parts of Speech Tags相匹配。如果页面出现故障或更改,请在此处引用该表:

  
      
  1. CC协调会议
  2.   
  3. CD基数
  4.   
  5. DT Determiner
  6.   
  7. EX存在于那里
  8.   
  9. FW外来词
  10.   
  11. IN Preposition或subordinating conjunction
  12.   
  13. JJ形容词
  14.   
  15. JJR形容词,比较
  16.   
  17. JJS形容词,最高级
  18.   
  19. LS列表项目标记
  20.   
  21. MD Modal
  22.   
  23. NN名词,单数或质量
  24.   
  25. NNS Noun,复数
  26.   
  27. NNP正确名词,单数
  28.   
  29. NNPS专有名词,复数
  30.   
  31. PDT Predeterminer
  32.   
  33. POS Possessive结束
  34.   
  35. PRP人称代词
  36.   
  37. PRP $ Possessive代词
  38.   
  39. RB副词
  40.   
  41. RBR副词,比较
  42.   
  43. RBS副词,最高级
  44.   
  45. RP Particle
  46.   
  47. SYM符号
  48.   
  49. TO to
  50.   
  51. UH Interjection
  52.   
  53. VB Verb,基本形式
  54.   
  55. VBD动词,过去时
  56.   
  57. VBG动词,动名词或现在分词
  58.   
  59. VBN Verb,过去分词
  60.   
  61. VBP动词,非第三人称单数礼物
  62.   
  63. VBZ Verb,第三人称单数礼物
  64.   
  65. WDT Wh-determininer
  66.   
  67. WP Wh-pronoun
  68.   
  69. WP $ Possessive wh-pronoun
  70.   
  71. WRB Wh-adverb
  72.   

答案 2 :(得分:5)

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

您可以在此处查看:http://www.davidsbatista.net/blog/2017/03/25/syntaxnet/