标签: parse-tree

获取R中预定义函数的解析树

我觉得这是一个相当基本的问题,但我无法弄清楚.

如果我在R中定义一个函数,我以后如何使用该函数的名称来获取其解析树.我不能只使用substitute,因为它将返回其参数的解析树,在这种情况下只是函数名称.

例如,

> f <- function(x){ x^2 }
> substitute(f)
f
Run Code Online (Sandbox Code Playgroud)

我应该如何使用其名称访问函数的解析树?例如,如何在substitute(function(x){ x^2 })不明确写出整个函数的情况下获取值?

r substitution parse-tree

5
推荐指数
1
解决办法
764
查看次数

如何在ANTLR4中获取IParseTree?

我目前在C#中使用ANTLR4,但我遇到了一个问题,我不知道如何获取对象/类IParseTree.

我在C#中找到了这里的完全限定名称Antlr4.Runtime.Tree.IParseTree但是如何获取对象?

AntlrInputStream inputStream = new AntlrInputStream(sSpinTexte);
SpinParserLexer SpinLexer = new SpinParserLexer(inputStream);
CommonTokenStream commonTokenStream = new CommonTokenStream(SpinLexer);
SpinParserParser SpinParser = new SpinParserParser(commonTokenStream);
IParseTree tree = ?????
Run Code Online (Sandbox Code Playgroud)

你能帮忙吗?

c# antlr parse-tree antlr4

5
推荐指数
1
解决办法
1031
查看次数

从解析树中提取Chomsky-normal-form语法

我试图从其解析树中提取Chomsky Normal Form(CNF) - 一个句子的语法产生:

(ROOT
  (S
    (NP (DT the) (NNS kids))
    (VP (VBD opened)
      (NP (DT the) (NN box))
      (PP (IN on)
        (NP (DT the) (NN floor)))))) 
Run Code Online (Sandbox Code Playgroud)

我将整个树放入一个名为S的字符串中,然后:

tree = Tree.fromstring(S)
tree.chomsky_normal_form()
for p in tree.productions():
    print p
Run Code Online (Sandbox Code Playgroud)

输出是

(1) NN -> 'box'
(2) PP -> IN NP
(3) DT -> 'the'
(4) ROOT -> S
(5) NP -> DT NN
(6) VBD -> 'opened'
(7) VP|<NP-PP> -> NP PP
(8) VP -> VBD VP|<NP-PP>
(9) NP -> DT …
Run Code Online (Sandbox Code Playgroud)

python grammar nltk parse-tree chomsky-normal-form

5
推荐指数
1
解决办法
2331
查看次数

如何阅读基于选区的解析树

我有一套由斯坦福大学的CoreNLP系统预处理过的句子.它提供的一件事是句子的Parse Tree(基于选区).虽然我可以在绘制时理解解析树(如树),但我不确定如何以这种格式读取它:

例如:

          (ROOT
          (FRAG
          (NP (NN sent28))
          (: :)
          (S
          (NP (NNP Rome))
          (VP (VBZ is)
          (PP (IN in)
          (NP
          (NP (NNP Lazio) (NN province))
          (CC and)
          (NP
          (NP (NNP Naples))
          (PP (IN in)
          (NP (NNP Campania))))))))
          (. .)))
Run Code Online (Sandbox Code Playgroud)

原句是:

sent28: Rome is in Lazio province and Naples in Campania .
Run Code Online (Sandbox Code Playgroud)

我该怎么读这棵树,或者是否有一个代码(在python中)正确地执行它?谢谢.

python parsing nlp parse-tree

5
推荐指数
1
解决办法
2767
查看次数

来自ANTLR Parse Tree的Python AST?

我发现了一个ANTLRv4 Python3语法,但它生成了一个解析树,它通常有许多无用的节点.

我正在寻找一个已知的包从该解析树中获取Python AST.

这样的事情存在吗?

编辑:澄清使用Python ast包:我的项目是Java,我需要解析Python文件.

编辑2:'AST'我的意思是http://docs.python.org/2/library/ast.html#abstract-grammar,而'解析树'我的意思是http://docs.python.org/2 /reference/grammar.html.

python abstract-syntax-tree parse-tree antlr4

4
推荐指数
2
解决办法
2971
查看次数

斯坦福 NLP 解析树格式

这可能是一个愚蠢的问题,但是如何迭代解析树作为 NLP 解析器的输出(如斯坦福 NLP)?它都是嵌套的括号,既不是 anarray也不是dictionary我使用过的任何其他集合类型。

(ROOT\n  (S\n    (PP (IN As)\n      (NP (DT an) (NN accountant)))\n    (NP (PRP I))\n    (VP (VBP want)\n      (S\n        (VP (TO to)\n          (VP (VB make)\n            (NP (DT a) (NN payment))))))))
Run Code Online (Sandbox Code Playgroud)

nlp parse-tree stanford-nlp

4
推荐指数
1
解决办法
4400
查看次数

antlr3 - 生成解析树

我无法搞清楚antlr3 API,所以我可以在一些javascript代码中生成并使用解析树.当我使用antlrWorks(他们的IDE)打开语法文件时,解释器能够向我显示解析树,它甚至是正确的.

我在使用antlr3运行时跟踪有关如何在我的代码中获取此解析树的资源时遇到很多困难.我一直在搞乱运行时和Parser文件中的各种函数,但无济于事:

var input = "(PR=5000)",
cstream = new org.antlr.runtime.ANTLRStringStream(input),
lexer = new TLexer(cstream),
tstream = new org.antlr.runtime.CommonTokenStream(lexer),
parser = new TParser(tstream);

var tree = parser.query().tree;
var nodeStream = new org.antlr.runtime.tree.CommonTreeNodeStream(tree);
nodeStream.setTokenStream(tstream);

parseTree = new org.antlr.runtime.tree.TreeParser(nodeStream);
Run Code Online (Sandbox Code Playgroud)

由于antlrWorks可以显示解析树而不需要我自己的任何树语法,并且因为我已经读过antlr自动从语法文件生成一个解析树,我假设我可以使用一些运行时函数来访问这个基本的解析树.可能没有意识到.我这个想法是否正确?

antlr antlrworks parse-tree antlr3

3
推荐指数
1
解决办法
6887
查看次数

从 CYK 算法(自然语言处理)生成解析树的步骤

我目前正在做一个涉及NLP的项目。我已经实现了 Jurafsky 和 ​​Martin(第 450 页的算法)中给出的 CKY 标识符。如此生成的表实际上将非终结符存储在表中(而不是通常的布尔值)。然而,我遇到的唯一问题是检索解析树。

下面是我的 CKY 标识符的作用的说明:

这是我的语法

          S -> NP VP 
          S -> VP 
          NP -> MODAL PRON | DET NP | NOUN VF | NOUN | DET NOUN | DET FILENAME
          MODAL -> 'MD'
          PRON -> 'PPSS' | 'PPO'
          VP -> VERB NP
          VP -> VERB VP
          VP -> ADVERB VP
          VP -> VF
          VERB -> 'VB' | 'VBN'
          NOUN -> 'NN' | 'NP'
          VF -> VERB FILENAME
          FILENAME -> 'NN' | 'NP'
          ADVERB …
Run Code Online (Sandbox Code Playgroud)

algorithm parsing nlp parse-tree cyk

3
推荐指数
1
解决办法
5755
查看次数

解析树中的“中心词”和“词汇中心”是什么?

在Jurafsky和Martin的《语音和语言处理NLP》教科书中,提到了解析树中的头标记,在词汇化语法中,树中的非终结符用其词汇头来注释。

我实际上不明白什么是词头。

在此输入图像描述

在附图中,括号内的单词是中心词。这些到底是什么以及我们如何确定它们?

parsing nlp parse-tree

3
推荐指数
1
解决办法
1751
查看次数

如何将python代码转换为解析树并返回原始代码?

我希望能够将python代码(字符串)转换为解析树,在树级别修改它,然后将树转换为代码(字符串)。当转换为解析树并在没有任何树级修改的情况下返回代码时,生成的代码应该与原始输入代码完全匹配。

我想为此使用python。我找到了astparserpython 模块,但是 ast 树丢失了有关原始代码的信息。至于parser模块,我似乎无法弄清楚如何操作解析树或将其转换为代码。

这是我到目前为止所拥有的。

import ast
import astor # pip install astor
import parser

code = 'hi = 0'
ast_tree = ast.parse(code)
code_from_ast = astor.to_source(tree) # 'hi = 0\n'
parser_tree = parser.suite(code)
code_from_parser = ???
Run Code Online (Sandbox Code Playgroud)

python tree parsing parse-tree

3
推荐指数
1
解决办法
1547
查看次数

使用Python 2.7的HTML解析树

我试图为下面的HTML表配置一个解析树,但是无法形成它.我想看看树结构是什么样的!有人可以帮助我吗?

# <html>
#  <head>
#   <title>
#    The Dormouse's story
#   </title>
#  </head>
#  <body>
#   <p class="title">
#    <b>
#     The Dormouse's story
#    </b>
#   </p>
#   <p class="story">
#    Once upon a time there were three little sisters; and their names were
#    <a class="sister" href="http://example.com/elsie" id="link1">
#     Elsie
#    </a>
#    ,
#    <a class="sister" href="http://example.com/lacie" id="link2">
#     Lacie
#    </a>
#    and
#    <a class="sister" href="http://example.com/tillie" id="link2">
#     Tillie
#    </a>
#    ; …
Run Code Online (Sandbox Code Playgroud)

python beautifulsoup parse-tree python-2.7 etetoolkit

2
推荐指数
2
解决办法
5811
查看次数

AnTLR4 C#中的解析树

我目前正在使用针对 C# 的 AnTLR4 创建语法,但在开发访问者时遇到问题。我找不到书中提到的 ParseTree 类。

在书中我们有:

LabeledExprLexer lexer = new LabeledExprLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
LabeledExprParser parser = new LabeledExprParser(tokens);
ParseTree tree = parser.prog(); // parse
but I can't see the equivalent C# code.
Run Code Online (Sandbox Code Playgroud)

你能帮忙吗?

c# parse-tree antlr4

2
推荐指数
1
解决办法
1875
查看次数

如何轻松地从斯坦福在Python中解析数据的解析树?

所以我有斯坦福风格的英语句子解析:

"There is a tree behind a car"
Parse: [S [NP There_EX NP] [VP is_VBZ [NP [NP a_DT tree_NN NP] [PP behind_IN [NP a_DT car_NN NP] PP] NP] VP] S]
Run Code Online (Sandbox Code Playgroud)

我想在python中使用一些树绘制方法从数据中绘制一个解析树.

是否有一种简单的方法可以使用该解析表示来使用python绘制树,或者我应该以某种方式更改表示?

python parsing nlp parse-tree

2
推荐指数
1
解决办法
2189
查看次数