【发布时间】:2015-12-30 04:01:34
【问题描述】:
我有一个带有句子解析的字符串,并且想要从包含在左括号和右括号中的字符串中提取/解析。问题是还有其他相同类型的括号(在这种情况下是括号)也需要抓取。所以基本上我需要与NP 关联的正确数量的左大括号等于相同数量的右大括号。
在这个例子中:
x <- "(TOP (S (NP (NNP Clifford)) (NP (DT the) (JJ big) (JJ red) (NN dog)) (VP (VBD ate) (NP (PRP$ my) (NN lunch)))(. .)))"
假设我想将名词短语 (NP) 提取到下面的三个子字符串中:
(NP (NNP Clifford))
(NP (DT the) (JJ big) (JJ red) (NN dog))
(NP (PRP$ my) (NN lunch))
这可以推广到字符串的所有部分,比如我想抓住VP 括号,我可以遵循相同的逻辑。
【问题讨论】:
-
嵌套多深?
-
我不相信你可以在另一个 NP 中拥有一个 NP。但理论上括号可以无限嵌套,但我猜测实际上有 2-3 层深。 VP示例是嵌套示例:
(VP (VBD ate) (NP (PRP$ my) (NN lunch))) -
我删除了我的解决方案,因为它没有计算括号。但它是否解决了您面临的问题?
-
@PierreLafortune 我赞成您的解决方案。我不会删除它。
-
如果有帮助的话。让我知道。另一个用户正确地指出,它没有按要求计算括号。但如果它解决了问题,您可能不必计算它们。