提问人:rideau 提问时间:11/13/2023 最后编辑:rideau 更新时间:11/13/2023 访问量:12
NLTK 判断单词是否由 CFG 生成
NLTK tell if word is generated by CFG
问:
给定字符串和上下文无关的语法,我需要判断语法是否使用 NLTK 生成字符串
我尝试使用来自 github 的一些开源解决方案,但它无法正常工作:
小号 ->
小号 -> B A10 |B0
A1 -> T A2 A10 -> T
A20 |T0
A2 -> C
A20 -> C |
T -> b T0 -> b
|
T -> C T
T0 -> C T0 |C0 B -> A B0 ->
A B0 ->
S0 ->
B A1
C -> B C0 -> B
|
并字符串 a b b b c,它在 CFL 中,但解决方案说它不是
答:
0赞
rideau
11/13/2023
#1
你可以只使用 https://www.nltk.org/howto/parse.html 的 RecursiveDescentParser 并遍历 parser.parse(word),如果你迭代超过 0 次 - word 在语言中。
评论