Có cách nào để nắm bắt các hạn chế lựa chọn của WordNet (chẳng hạn như + animate, + con người, v.v.) từ synsets thông qua NLTK không? Hoặc có cách nào khác để cung cấp thông tin ngữ nghĩa về đồng bộ không? Gần nhất tôi có thể nhận được nó là quan hệ hypernym.Hạn chế lựa chọn Wordnet trong NLTK
Trả lời
Nó phụ thuộc vào những gì là của bạn "hạn chế selectional" hoặc tôi sẽ gọi nó là đặc trưng ngữ nghĩa, bởi vì trong ngữ nghĩa cổ điển, có tồn tại một thế giới của concepts
và để so sánh giữa các khái niệm chúng ta phải tìm
- phân biệt đối xử tính năng (tức là tính năng của các khái niệm được sử dụng để phân biệt với nhau) và
- tính năng tương tự (tức là tính năng của các khái niệm tương tự và nhấn mạnh sự cần thiết phải phân biệt chúng)
Ví dụ:
Man is [+HUMAN], [+MALE], [+ADULT]
Woman is [+HUMAN], [-MALE], [+ADULT]
[+HUMAN] and [+ADULT] = similarity features
[+-MALE] is the discrimating features
Các vấn đề thường gặp của ngữ nghĩa truyền thống và áp dụng lý thuyết này trong ngữ nghĩa tính toán là câu hỏi của
"Có một danh sách cụ thể các tính năng mà chúng ta có thể sử dụng để so sánh bất kỳ
"Nếu có, các tính năng trong danh sách này là gì?" khái niệm? "
(thấy www.acl.ldc.upenn.edu/E/E91/E91-1034.pdf để biết thêm chi tiết)
Bắt trở lại WordNet, tôi có thể đề nghị 2 phương pháp để giải quyết " giới hạn lựa chọn "
Đầu tiên, Kiểm tra các siêu từ đối với các đối tượng phân biệt đối xử, nhưng trước tiên bạn phải quyết định các tính năng phân biệt đối xử là gì. Để phân biệt một con vật với con người, chúng ta hãy xem xét các tính năng phân biệt đối xử như [+ -human] và [+ -animal].
from nltk.corpus import wordnet as wn
# Concepts to compare
dog_sense = wn.synsets('dog')[0] # It's http://goo.gl/b9sg9X
jb_sense = wn.synsets('James_Baldwin')[0] # It's http://goo.gl/CQQIG9
# To access the hypernym_paths()[0]
# It's weird for that hypernym_paths gives a list of list rather than a list, nevertheless it works.
dog_hypernyms = dog_sense.hypernym_paths()[0]
jb_hypernyms = jb_sense.hypernym_paths()[0]
# Discriminating features in terms of concepts in WordNet
human = wn.synset('person.n.01') # i.e. [+human]
animal = wn.synset('animal.n.01') # i.e. [+animal]
try:
assert human in jb_hypernyms and animal not in jb_hypernyms
print "James Baldwin is human"
except:
print "James Baldwin is not human"
try:
assert human in dog_hypernyms and animal not in dog_hypernyms
print "Dog is an animal"
except:
print "Dog is not an animal"
Thứ hai, Kiểm tra các biện pháp tương tự như @Jacob đã đề xuất.
dog_sense = wn.synsets('dog')[0] # It's http://goo.gl/b9sg9X
jb_sense = wn.synsets('James_Baldwin')[0] # It's http://goo.gl/CQQIG9
# Features to check against whether the 'dubious' concept is a human or an animal
human = wn.synset('person.n.01') # i.e. [+human]
animal = wn.synset('animal.n.01') # i.e. [+animal]
if dog_sense.wup_similarity(animal) > dog_sense.wup_similarity(human):
print "Dog is more of an animal than human"
elif dog_sense.wup_similarity(animal) < dog_sense.wup_similarity(human):
print "Dog is more of a human than animal"
Bạn có thể thử sử dụng một số chức năng tương tự với các bộ đồng bộ được lựa chọn cẩn thận và sử dụng chức năng đó để lọc. Nhưng về cơ bản nó giống như sau cây hypernym - afaik tất cả các chức năng tương tự wordnet sử dụng khoảng cách hypernym trong tính toán của chúng. Ngoài ra, có rất nhiều thuộc tính tùy chọn của một tập hợp có thể đáng khám phá, nhưng sự hiện diện của chúng có thể rất không nhất quán.
- 1. Hạn chế lựa chọn quản trị Sử dụng limit_choices_to
- 2. NLTK tương tự wordnet trả về "Không" cho tính từ
- 3. Làm thế nào để hạn chế lựa chọn lĩnh vực lựa chọn dựa trên một lĩnh vực lựa chọn trong django quản trị
- 4. Làm thế nào để giới hạn lựa chọn trong QTableWidget
- 5. Loại argparse Python và hạn chế lựa chọn với nargs> 1
- 6. Lựa chọn văn bản Android Trong chế độ xem web
- 7. Python argparse lựa chọn từ một tập vô hạn
- 8. Wordnet trong Objective-C
- 9. Grails g: chọn không có lựa chọn
- 10. Django: Đặt các lựa chọn trường từ chế độ xem?
- 11. Chế độ chọn lựa phương thức là gì?
- 12. QListWidget và nhiều lựa chọn
- 13. Lựa chọn Django chọn
- 14. Loại phân loại nào cần chọn trong NLTK
- 15. Lựa chọn khối trong eclipse
- 16. Lựa chọn khối trong xterm
- 17. Nhiều lựa chọn trong Vim
- 18. Cách chọn Thuật toán lựa chọn tính năng? - lời khuyên
- 19. giới hạn lựa chọn tải tệp lên các loại cụ thể
- 20. INSERT INTO .. CHỌN .. độc đáo hạn chế vi phạm
- 21. Django - Giới hạn lựa chọn đối với nội dung phụ thuộc vào cá thể
- 22. Thay đổi lựa chọn trong một lựa chọn với plugin được chọn
- 23. Xóa danh sách lựa chọn đơn Chọn lựa
- 24. Lựa chọn trùng lặp Vim
- 25. Nhiều lựa chọn giá trị sửa mẫu lựa chọn
- 26. django: Làm thế nào để giới hạn lựa chọn trường trong formset?
- 27. Lựa chọn nổi bật trong NSCollectionView
- 28. Lựa chọn giữa PhoneGap & Titanium
- 29. thiết lập lựa chọn của NSOutlineView theo chương trình (và nhận được lựa chọn của NSTableView)
- 30. Chứng chỉ phân phối iOS hết hạn. Những lựa chọn của tôi là gì?
Cảm ơn bạn đã trả lời kỹ lưỡng. Tôi nhận ra một lúc trước, tôi không thể tìm thấy các tính năng tương tự/phân biệt đối xử trong WordNet do những lý do bạn đã đề cập. – erickrf