1

我目前正在尝试学习 Tensorflow,并且已经到了需要创建一些语料库数据集的地步。我没有钱在 LDC 购买带注释的 Gigaword 英语语料库,所以我正在考虑创建自己的爬虫。我从网上得到了一些文章,但现在想以类似于 LDC Gigaword 示例的方式格式化它们:https ://catalog.ldc.upenn.edu/desc/addenda/LDC2012T21.jpg

我正在尝试使用 Parsey Mcparseface 模型对我的输入进行 POS 标记并帮助我输出多个 xml 文件。我目前已经接近了我想要的输出,方法是使用 python 修改 conll2tree.py 文件和 demo.sh 文件,以允许我从单个文件中读取我的输入。使用的命令行显示在这篇文章的底部。

我想弄清楚的是如何让模型处理目录中的所有文件。我当前的爬虫是用 JavaScript 编写的,并输出单独的 .json 文件,其中包含带有标题、正文、图像等的 json 对象。我使用句子边界检测来用逗号分隔每个句子,但似乎我对 parsey 的输入需要作为每个句子在不同行上的输入。我将在我的 python 脚本中修改它,但我仍然不知道如何配置下面的参数,以便我可以让它遍历每个文件,读入内容,处理并继续下一个文件。有没有办法为输入参数设置通配符?或者我是否需要在我的 python 脚本中通过命令行单独发送每个文件?我只是假设 parsey 模型或者 SyntexNet 是否可以批量处理它们,

我遇到的另一个问题是,是否有办法让 Parsey Mcparseface 输出如上图“标题”所示的格式,如下所示:

(.(NP.(NNP.INTERNATIONAL).(NNP.HEADLINE).(NNP.NEWS)))

如果不是,这种格式叫什么,所以我可以更多地研究如何通过自己的代码来做这件事?让我失望的部分是 NP 的前缀数字(假设名词短语)。

我已经设法将 POS 标签提取成类似于通过句子标记显示的图像中的格式,但我假设随着我对 Tensorflow 的深入了解,拥有它们显示的格式会很好标题和文本字段标签也是如此,因为它显示了单词之间的更多关系。

PARSER_EVAL=bazel-bin/syntaxnet/parser_eval
MODEL_DIR=syntaxnet/models/parsey_mcparseface
[[ "$1" == "--conll" ]] && INPUT_FORMAT=stdin-conll || INPUT_FORMAT=stdin

#--input=testin \
#--input=$INPUT_FORMAT \
$PARSER_EVAL \
  --input=testin \
  --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=testout \
  --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 \
   | \
  bazel-bin/syntaxnet/danspos \
  --task_context=$MODEL_DIR/context.pbtxt \
  --alsologtostderr 

我还在 content.pbtxt 文件中添加了以下条目:

input {
  name: 'testin'
  record_format: 'english-text'
  Part {
    file_pattern: './testinp.txt'
  }
}
input {
  name: 'testout'
  record_format: 'conll-sentence'
  Part {
    file_pattern: './testoutput.txt'
  }
}
4

0 回答 0