Tôi có một danh sách tất cả các danh từ trong wordnet bây giờ tôi muốn chỉ để lại những từ là phương tiện và loại bỏ phần còn lại. Tôi phải làm nó như thế nào? Dưới đây là pseudo-code tôi muốn làm nhưng tôi không biết làm thế nào để làm cho nó hoạtLàm thế nào để có được tất cả các từ trái của một từ/đồng bộ trong python nltk và wordnet?
for word in wordlist:
if not "vehicle" in wn.synsets(word):
wordlist.remove(word)
Nhưng khi tôi cố gắng để thu hẹp nó hơn nữa, tôi nhận được lỗi này Traceback (cuộc gọi gần đây nhất cuối cùng): File "D: ... \ test.py", dòng 10, trong nếu "xe hơi" trong từ: LoạiError: đối số của loại 'Synset' không thể lặp lại –
watisit
Xem câu trả lời cập nhật của tôi - Tôi nghĩ đó là những gì bạn muốn. – Jared
@ Jared, câu trả lời rất thanh lịch nhưng có một 'gotcha' khi' Synset.closure (lambda s: s.hyponyms() 'đi đến một vòng lặp vô hạn. Hãy thử' wn.synset ('restrain.v.01'). closure (lambda s: s.hyponyms() ' – alvas