随着谷歌推出他们的NLU程序SyntaxNet和英语解析器Parsey McParseface.我如何从训练模型开始?
Parsey McParsey默认返回一个基于依赖的解析树,但是它是一种从中获取基于选区的解析树的方法吗?
编辑:澄清,通过"从中获取"我的意思是来自Parsey本身.虽然从ConLL输出构建树也是一种选择.
我在Github上的Syntax官方文档之后下载并安装了SyntaxNet .在文档(注释语料库)之后,我试图读取一个由SyntaxNet .conll命名的文件并将wj.conll结果写入,wj-tagged.conll但我不能.我的问题是:
SyntaxNet总是读取.conll文件吗?(不是.txt文件?).我有点困惑,因为我知道SyntaxNet读取.conll文件用于训练和测试过程但我有点怀疑有必要将.txt文件转换为文件.conll以便获得他们的部分演讲和依赖性解析.
如何从文件中读取SyntaxNet(我厌倦了所有可能的方法在GitHub文档中解释有关SyntaxNet的内容并且它对我不起作用)
我一直在使用spaCy Python包来解析和标记文本,并使用生成的依赖树和其他属性来获得含义.现在我想使用SyntaxNet的Parsey McParseface进行解析和依赖标记(这似乎更好),但我想继续使用spaCy API,因为它很容易使用,并且它做了许多Parsey没有做的事情.SyntaxNet以CoNLL格式输出POS标签和依赖标签/树:
和spaCy似乎能够在这里阅读CoNLL格式.但我无法弄清楚spaCy的API在哪里需要一个CoNLL-fromatted字符串.
我已经尝试过,Parsey McParsefaceSyntax Net 附带的预训练 POS 标记器,它在标记具有适当大小写的句子方面做得很好。
我想标记所有小写的句子,例如:i grew up in toronto然后解析它以识别命名实体,例如城市,在本例中为toronto.
我有一些问题:
Parsey McParseface可供公众使用?Google SyntaxNet提供了类似的输出.
saw VBD ROOT
+-- Alice NNP nsubj
| +-- , , punct
| +-- reading VBG rcmod
| +-- who WP nsubj
| +-- had VBD aux
| +-- been VBN aux
| +-- about IN prep
| +-- SyntaxNet NNP pobj
+-- , , punct
+-- Bob NNP dobj
+-- in IN prep
| +-- hallway NN pobj
| +-- the DT det
+-- yesterday NN tmod
+-- . . punct
Run Code Online (Sandbox Code Playgroud)
我想使用python来读取和解析此输出(String数据).并打印出'标记括号表示法',如 - >
[saw [Alice [,] …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 CentOS 6.7 机器上升级 glibcxx。我做了这里给出的步骤。
现在,当我这样做时:
strings /opt/google/chrome/lib/libstdc++.so.6 | grep GLIBC
Run Code Online (Sandbox Code Playgroud)
我列出了 GLIBCXX_3.4 到 GLIBCXX_3.4.22。
为了在我的 Syantaxnet 构建中使用这个文件,我创建了一个符号链接:
ln -s /opt/google/chrome/lib/libstdc++.so.6 /usr/lib64/libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
ln: creating symbolic link `/usr/lib64/libstdc++.so.6': File exists
Run Code Online (Sandbox Code Playgroud)
编辑1:
我认为错误是由于相同的文件名并将 /opt/google/chrome/lib/libstdc++.so.6 重命名为 libstdc++.so.6_new。命令仍然失败。
有人可以帮我解决这个问题吗?另外,这是错误的解决方案:
/usr/local/bin/bazel: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/local/bin/bazel)
/usr/local/bin/bazel: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/local/bin/bazel)
Run Code Online (Sandbox Code Playgroud) 已经下载并培训SyntaxNet,我试图写一个程序,可以打开新的/存在的文件,例如AutoCAD文件,并通过分析文本保存在特定目录中的文件: 打开LibreOffice的文件X.将SyntaxNet的输出视为:
echo "save AUTOCAD file X in directory Y" | ./test.sh > output.txt
Input: save AUTOCAD file X in directory Y
Parse:
save VB ROOT
+-- X NNP dobj
| +-- file NN compound
| +-- AUTOCAD CD nummod
+-- directory NN nmod
+-- in IN case
+-- Y CD nummod
Run Code Online (Sandbox Code Playgroud)
首先,我考虑将解析后的文本更改为XML格式,然后使用语义分析(例如SPARQL)解析XML文件以查找ROOT = save,dobj = X和nummode = Y并编写一个python程序,它可以执行相同的操作在文中
我不知道如果我将解析后的文本更改为XML,然后使用使用查询的语义分析,以便ROOT与其保存的对应函数或脚本 匹配 dobj,在提及的目录中nummode
我有一些想法将python连接到终端与subprocess包但我没有找到任何可以帮助我保存例如AUTOCAD文件或任何其他文件,从终端或我需要编写脚本.sh,与python的帮助?
我对文本的句法和语义分析进行了大量的研究,比如Christian Chiarcos,2011, …