Parsing 如何对元素进行随机嵌入括号

Parsing 如何对元素进行随机嵌入括号,parsing,nlp,machine-learning,Parsing,Nlp,Machine Learning,我正在写一个自动成分括号的学习算法。由于算法从零开始,括号(嵌入)首先应该是随机的。然后通过迭代对其进行改进。我被困在如何做随机括号。您能推荐一个R或Python代码,或者给出一些编程思想(伪代码)吗?我还需要关于如何检查随机括号与正确括号的正确性的想法 这就是我试图通过学习过程,从随机括号开始,最终达到的目的 这是一个句子。 “他”追赶“那条狗” 将每个元素替换为语法元素, N、 V,D,N 括号(第一阶段)(D,N为成分): (N) (V)(D)(N) 括号(第二阶段): (N) ((V)(

我正在写一个自动成分括号的学习算法。由于算法从零开始,括号(嵌入)首先应该是随机的。然后通过迭代对其进行改进。我被困在如何做随机括号。您能推荐一个R或Python代码,或者给出一些编程思想(伪代码)吗?我还需要关于如何检查随机括号与正确括号的正确性的想法

这就是我试图通过学习过程,从随机括号开始,最终达到的目的

这是一个句子。 “他”追赶“那条狗”

将每个元素替换为语法元素, N、 V,D,N

括号(第一阶段)(D,N为成分): (N) (V)(D)(N)

括号(第二阶段): (N) ((V)(D)(N))

括号(第三阶段): ((N)(V)(dn)))


请帮忙。谢谢。

根据提供的信息,我只能说:

括号的一种简单方法是(生成all可能很快就会占用大量空间),拥有尽可能多的单词(或组件),然后选择一个合适的(随机或根据适当的分区)并将其作为括号模式应用。为了提高效率,请寻找一种真正的随机树生成算法(我目前找不到)

此外,我建议您阅读/进化编程,尤其是“检查随机结果的正确性”部分。据我所知,您希望程序检测解析方法,然后将它们作为“已学习”保存在内存中。这与记忆“最适合”模式的遗传算法非常匹配(只有变异作为变化因素)

这是一种非常棒、非常精细(如果可行的话),但使用起来可能非常困难的方法。但这可能和你想要的太不一样了


最后,检查括号imo正确性的最简单方法是保留一个包含语法/语法规则的表,并与它们进行比较。您还可以通过将它们保存在树中并测量从实际模式(
(vd)N
)到正确模式(
V(dn)
)的距离,将其改进为更好的适应度函数。(这只是一些随机的想法,我从来没有这样做过。)

这会像遗传算法一样吗?通常解析器不会从随机假设开始。另外,你的第一个括号阶段看起来确实更符合逻辑,而不是随机。如果你能应用现成的成分解析器,你到底为什么要这么做?我想我有点不清楚,所以让我澄清一下。1) 这不是解析器,而是用于解析的学习者。2) 不使用先验假设(本例)的学习者从随机假设开始。3) 我不是试图解析给定的文本,而是分析机器如何通过经验学习解析。然后,与人类的语言学习进行类比。我关心的是不同阶段的学习过程,而不是结果@phg此处括号中的阶段不是学习过程,而是学习完成后的实际解析。因此是合乎逻辑的。