我已经安装了syntaxnet,并且能够使用提供的演示脚本运行解析器.理想情况下,我想直接从python运行它.我发现的唯一代码是:
import subprocess
import os
os.chdir(r"../models/syntaxnet")
subprocess.call([
"echo 'Bob brought the pizza to Alice.' | syntaxnet/demo.sh"
], shell = True)
Run Code Online (Sandbox Code Playgroud)
这是一个完全的灾难 - 低效和过于复杂(从python调用python应该用python完成).
如何直接调用python API,而无需通过shell脚本,标准I/O等?
编辑 - 为什么这不像打开syntaxnet/demo.sh并阅读它一样简单?
这个shell脚本调用两个python脚本(parser_eval和conll2tree),它们被编写为python脚本,无法导入多个错误而无法导入到python模块中.仔细观察会产生类似脚本的图层和本机代码.这些上层需要重构,以便在python上下文中运行整个事物.有没有人用这样的修改分叉语法网或打算这样做?
两天前我开始使用Syntaxnet,我想知道如何以易于解析的格式(即:Json,XML,python图形)使用/导出输出(ascii tree或conll).
谢谢你的帮助 !
如何从SyntaxNet(https://github.com/tensorflow/models/tree/master/syntaxnet)获得依赖解析(不是语法树)输出?我看到了依赖解析的描述......如何训练模型的描述,而不是如何获得依赖解析输出.
SyntaxNet(特别是Parsey McParseface模型)甚至是开箱即用的依赖解析吗?
我有demo.sh工作正常,我看了解parser_eval.py并在一定程度上完成了所有操作.但是,我没有看到如何使用TensorFlow服务来提供这个模型.我可以看到两个问题:
1)这些图没有导出的模型,图形是在每次调用时使用图形构建器(例如structured_graph_builder.py),上下文协议缓冲区以及其他一些我不完全理解的东西构建的. (它似乎也注册了额外的syntaxnet.ops).那么......是否可能,以及如何将这些模型导出为Serving所需的"捆绑"形式SessionBundleFactory?如果没有,似乎需要在C++中重新实现图形构建逻辑/步骤,因为Serving仅在C++上下文中运行.
2)demo.sh实际上是两个模型与UNIX管道一起管道,所以任何Servable都必须(可能)构建两个会话并将数据从一个到另一个进行编组.这是正确的方法吗?或者是否可以构建一个"大"图表,其中包含两个"修补"并同时导出的模型?
我有几十万份法律文件(大部分来自欧盟) - 法律,评论,法庭文件等.我试图在算法上对它们有所了解.
我已经建模了已知的关系(时间,这个 - 变化 - 等等).但在单文档级别上,我希望我有更好的工具来快速理解.我愿意接受各种想法,但这是一个更具体的问题:
例如:是否有NLP方法来确定文档的相关/有争议部分而不是样板文件?最近泄露的TTIP论文是数千页的数据表,但在那里的一个句子可能会破坏一个行业.
我Parsey McParface过去常常使用google的新版和其他NLP解决方案,但是虽然它们的工作效果非常好,但我不确定它们在隔离意义方面有多好.
我正在尝试找出适合开放命名实体识别问题的最佳模型(生物学/化学,因此不存在实体字典,但必须通过上下文来识别).
目前我最好的猜测是修改语法,以便不是将单词标记为N,V,ADJ等,而是学习标记为BEGINNING,INSIDE,OUT(IOB表示法).
但是我不确定哪种方法最好?
非常感谢指向正确方法的指针!谢谢!
下载并安装了Syntaxnet后,如何在应用程序中使用Parsey McParseface模型?我已经使用syntaxnet/demo.sh了GitHub自述文件中显示的成功标记的词性.我现在如何用这个创建一个python应用程序?
我是Python和NLP世界的新手.谷歌的Syntaxnet最近的公告引起了我的兴趣.但是我在理解有关syntaxnet和相关工具(nltk等)的文档时遇到了很多麻烦.
我的目标:给出一个输入,如"威尔伯踢球",我想提取根动词(踢)和它与"球"有关的对象.
我偶然发现了"spacy.io",这个可视化似乎封装了我想要完成的任务:POS标记一个字符串,并将其加载到某种树结构中,以便我可以从根动词开始并遍历句子.
我使用了syntaxnet/demo.sh,并按照此线程中的建议注释掉最后几行以获得conll输出.
然后我将这个输入加载到python脚本中(我自己克服了一些,可能不正确):
import nltk
from nltk.corpus import ConllCorpusReader
columntypes = ['ignore', 'words', 'ignore', 'ignore', 'pos']
corp = ConllCorpusReader('/Users/dgourlay/development/nlp','input.conll', columntypes)
Run Code Online (Sandbox Code Playgroud)
我看到我可以访问corp.tagged_words(),但是没有关系.现在我卡住了!如何将此语料库加载到树型结构中?
任何帮助深表感谢!
该POS标签和标签Depedency通过输出Parsey McParseface给出在tag-set和label-set文件在这里分别.
该Syntaxnet自述概述了该模型的宾州树库,OntoNotes和英文Web树库训练.
是否有类似于Universal Dependency项目给出的相应POS标签和依赖标签的详细描述?
我正在努力理解和学习SyntaxNet.我试图弄清楚是否有任何方法可以使用SyntaxNet进行语料库的名称实体识别.任何示例代码或有用的链接将不胜感激.
syntaxnet ×10
nlp ×5
python ×3
tensorflow ×3
pos-tagger ×1
stanford-nlp ×1
syntax ×1
word2vec ×1