Thật không may, bạn sẽ không thể xác định một cách đáng tin cậy thông tin danh từ thích hợp từ các bộ synnet WordNet. Những gì bạn đang tìm kiếm là Named Entity Recognition. Có liên kết đến một số phiên bản có sẵn trong Java từ trang wikipedia. Cá nhân tôi sẽ giới thiệu Stanford NER hoặc LingPipe.
Cập nhật:
Dựa trên những hạn chế gia tăng của no context các từ, bạn có thể sử dụng vốn là chỉ số chính và sau đó kiểm tra lại WordNet để xem nếu từ đó có thể được sử dụng như một danh từ. Có lẽ một cái gì đó như thế này:
String word = "foo";
boolean isProperNoun = false;
if (Character.isUpperCase(word.charAt(0))) {
WordNetDatabase database = WordNetDatabase.getFileInstance();
Synset[] synsets = database.getSynsets(word, SynsetType.NOUN);
isProperNoun = synsets.length > 0;
}
Điều đó sẽ loại bỏ dương tính giả như thế này:
Nếu bạn xây dựng nó ...
Như bạn muốn ...
Oh Romeo, Romeo ...
Và vẫn bắt chỉ là danh từ vốn trong
Trong Sách của Đánh dấu nó nói ...
Bạn đã nghe Các Roots hay The Ai thời gian gần đây?
nhưng vẫn cung cấp cho bạn dương tính giả trên
Đánh dấu trường hợp đầu tiên ...
Sách 'em, Danno.
vì chúng có thể, nhưng không có ngữ cảnh bạn không biết.
Nếu bạn muốn thực sự phức tạp, bạn có thể theo dõi cây hypernym trên bất kỳ danh từ nào để xem bạn có đạt được thứ gì đó hiển nhiên như 'công ty' hay 'quốc gia' hay không.Tuy nhiên, lần cuối cùng tôi làm việc với WordNet (4 năm trước), các mối quan hệ hypernym/hyponym không đáng tin cậy hoặc nhất quán, có thể gây ra rất nhiều âm bản sai (và không cải thiện những sai lầm tích cực mà tôi đã đề cập ở trên) phụ thuộc ngữ cảnh).
Nguồn
2010-01-02 08:16:01
này sẽ xem xét tất cả các danh từ lúc bắt đầu của một câu là thích hợp, mặc dù. Tôi thực sự muốn chúng tôi thay đổi quy tắc ngữ pháp của chúng tôi cho những thứ như thế này khi họ giới thiệu sự mơ hồ và không có bất kỳ chức năng nào theo như tôi có thể nói ngoài thẩm mỹ. –
Thực ra, tôi vẫn không nhìn thấy những gì đang ở đầu câu phải liên quan đến mọi thứ. Thay vì chỉ kiểm tra danh từ của các từ được viết hoa tại sao không kiểm tra từng từ cho danh từ đầu tiên. Sau đó kiểm tra xem nó có được viết hoa trong WordNet hay không. Nó không tạo sự khác biệt nếu nó được viết hoa trong tài liệu gốc của bạn. WordNet sẽ trả về "sách" bất kể bạn đã chuyển "sách" hay "Sách". Đối với vấn đề "đánh dấu" và "Đánh dấu", chỉ cần tìm kiếm tất cả các dạng của một tập hợp danh từ để xem liệu có bất kỳ phần nào trong số chúng không được tài trợ không. – Pace