0

내가 CNF 문법을 사용하려고 일부 모호한 문맥 자유 문법 제작을 다루는 방법 :같은 문법 제작의 무리와 함께 nltk.cfg 공급함으로써 파이썬

NN -> 'rubble' | 'slope' | 'Jake' 
VP -> V NP | VP PP 

그러나이 문제가 (오류를 제공합니다 : 화살표가 예상 됨) 생산의 왼쪽에 파이프가있는 작품. 예 :

VP | <VBP-SBAR> -> VBP SBAR 

nltk에는 왼쪽에있는 파이프에 문제가없는 문법이 있습니까?

그렇지 않은 경우 첫 번째 그룹과 같이 사용 가능한 모든 작품으로 어떻게 변경할 수 있습니까? 예 :

VP -> VBP SBAR  
<VBP-SBAR> -> VBP SBAR 

답변

1

생산의 왼쪽에있는 여러 옵션이있는 생산 규칙은 더 이상 문맥 무료 문법입니다 - 모든 규칙의 LHS에 하나의 비단이 있어야합니다. 이 이해가되지 않습니다 왜이 두 가지 규칙

VP -> VBP SBAR 
<VBP-SBAR> -> VBP SBAR 
+0

에 규칙

VP | <VBP-SBAR> -> VBP SBAR 

을 분할 할 수 있습니다 경우

음, 정말, 처음부터 어떤 이해가되지 않습니다? LHS 규정 중 하나가 RHS로 끝날 수 있다는 뜻이 아닙니까? – sabzdarsabz

+0

물론, 문맥 자유 문법이 아니기 때문에 LHS에는 한 개의 비 터미널 만있을 수 있다는 규칙이 있습니다. – jayelm