注释语料库 (Syntaxnet)
Annotating a Corpus (Syntaxnet)
我在 Syntax official documentation on Github 之后下载并安装了 SyntaxNet。按照文档(注释语料库),我尝试读取 SyntaxNet 名为 wj.conll
的 .conll
文件,并将结果写入 wj-tagged.conll
,但我做不到。我的问题是:
SyntaxNet 是否总是读取 .conll
个文件? (不是 .txt
个文件?)。我有点困惑,因为我知道 SyntaxNet 读取 .conll
文件进行训练和测试过程,但我有点怀疑是否有必要将 .txt
文件转换为 .conll
文件以便有他们的词性和依存分析。
如何让 SyntaxNet 从文件中读取(我在 GitHub 有关 SyntaxNet 的文档中解释了所有可能的方法,但它对我不起作用)
将这些声明行添加到文件末尾的 "context.pbtxt"。这里 "inp" 和 "out" 是存在于 syntexnet 根目录中的文本文件。
input {
name: 'inp_file'
record_format: 'english-text'
Part {
file_pattern: 'inp'
}
}
input {
name: 'out_file'
record_format: 'english-text'
Part {
file_pattern: 'out'
}
}
将句子添加到 "inp" 文件中,您希望对其进行标记,并在下次 运行 syntaxnet 使用 --input 和 --output 时在 shell 中指定它们标签。
为了给您更多帮助,我粘贴了一个示例 shell 命令。
bazel-bin/syntaxnet/parser_eval \
--input inp_file \
--output stdout-conll \
--model syntaxnet/models/parsey_mcparseface/tagger-params \
--task_context syntaxnet/models/parsey_mcparseface/context.pbtxt \
--hidden_layer_sizes 64 \
--arg_prefix brain_tagger \
--graph_builder structured \
--slim_model \
--batch_size 1024 | bazel-bin/syntaxnet/parser_eval \
--input stdout-conll \
--output out_file \
--hidden_layer_sizes 512,512 \
--arg_prefix brain_parser \
--graph_builder structured \
--task_context syntaxnet/models/parsey_mcparseface/context.pbtxt \
--model_path syntaxnet/models/parsey_mcparseface/parser-params \
--slim_model --batch_size 1024
在上面的脚本中,第一个 shell 命令的输出(POS 标记)用作第二个 shell 命令的输入,其中两个 shell 命令是分开的通过“|”
如果您想将演示的输出保存在 .txt 文件中,这只是一个快速帮助:
尝试echo "open file X with application Y" | ./demo.sh > output.txt
它会为您提供当前目录的句子树。
我在 Syntax official documentation on Github 之后下载并安装了 SyntaxNet。按照文档(注释语料库),我尝试读取 SyntaxNet 名为 wj.conll
的 .conll
文件,并将结果写入 wj-tagged.conll
,但我做不到。我的问题是:
SyntaxNet 是否总是读取
.conll
个文件? (不是.txt
个文件?)。我有点困惑,因为我知道 SyntaxNet 读取.conll
文件进行训练和测试过程,但我有点怀疑是否有必要将.txt
文件转换为.conll
文件以便有他们的词性和依存分析。如何让 SyntaxNet 从文件中读取(我在 GitHub 有关 SyntaxNet 的文档中解释了所有可能的方法,但它对我不起作用)
将这些声明行添加到文件末尾的 "context.pbtxt"。这里 "inp" 和 "out" 是存在于 syntexnet 根目录中的文本文件。
input {
name: 'inp_file'
record_format: 'english-text'
Part {
file_pattern: 'inp'
}
}
input {
name: 'out_file'
record_format: 'english-text'
Part {
file_pattern: 'out'
}
}
将句子添加到 "inp" 文件中,您希望对其进行标记,并在下次 运行 syntaxnet 使用 --input 和 --output 时在 shell 中指定它们标签。
为了给您更多帮助,我粘贴了一个示例 shell 命令。
bazel-bin/syntaxnet/parser_eval \
--input inp_file \
--output stdout-conll \
--model syntaxnet/models/parsey_mcparseface/tagger-params \
--task_context syntaxnet/models/parsey_mcparseface/context.pbtxt \
--hidden_layer_sizes 64 \
--arg_prefix brain_tagger \
--graph_builder structured \
--slim_model \
--batch_size 1024 | bazel-bin/syntaxnet/parser_eval \
--input stdout-conll \
--output out_file \
--hidden_layer_sizes 512,512 \
--arg_prefix brain_parser \
--graph_builder structured \
--task_context syntaxnet/models/parsey_mcparseface/context.pbtxt \
--model_path syntaxnet/models/parsey_mcparseface/parser-params \
--slim_model --batch_size 1024
在上面的脚本中,第一个 shell 命令的输出(POS 标记)用作第二个 shell 命令的输入,其中两个 shell 命令是分开的通过“|”
如果您想将演示的输出保存在 .txt 文件中,这只是一个快速帮助:
尝试echo "open file X with application Y" | ./demo.sh > output.txt
它会为您提供当前目录的句子树。