Tôi đang làm việc trên một trình phân tích cú pháp không phải tiếng Anh có các ký tự Unicode. Vì vậy, tôi quyết định sử dụng NLTK.NLTK Bối cảnh Ngữ pháp tự do miễn phí
Nhưng nó đòi hỏi một bối cảnh tự do được xác định trước ngữ pháp như sau:
S -> NP VP
VP -> V NP | V NP PP
PP -> P NP
V -> "saw" | "ate" | "walked"
NP -> "John" | "Mary" | "Bob" | Det N | Det N PP
Det -> "a" | "an" | "the" | "my"
N -> "man" | "dog" | "cat" | "telescope" | "park"
P -> "in" | "on" | "by" | "with"
Trong ứng dụng của tôi, nên anh phải để giảm thiểu cứng mã hóa với việc sử dụng một ngữ pháp dựa trên luật lệ. Ví dụ: tôi có thể giả sử bất kỳ từ nào kết thúc bằng số -ed hoặc -ing làm động từ. Vì vậy, nó sẽ làm việc cho bất kỳ bối cảnh nhất định.
Làm cách nào để có thể cung cấp các quy tắc ngữ pháp như vậy cho NLTK? Hoặc tạo ra chúng tự động bằng cách sử dụng máy nhà nước hữu hạn?
Bạn có thể đọc [câu trả lời này] (http://stackoverflow.com/questions/14096237/can-someone-give-a-simple-but-non-toy-example-of-a-context-sensitive -grammar/14099421 # 14099421) bởi vì bạn đang viết CFG. –
Cảm ơn. Tôi nhìn nhưng không thể hiểu được. Có cách nào tôi có thể ăn các biến python để CFG? – ChamingaD
Nếu bạn muốn tự động tìm hiểu các quy tắc CFG, bạn có thể thử triển khai www.aclweb.org/anthology/O06-1004 =) – alvas