2011-01-23 30 views
5

tôi đang cố gắng để có được các kết nối giữa chuỗi và các từ khác như:làm thế nào để có được mối quan hệ giữa các từ với NLP stanford phân tích cú pháp

Màn hình là rất tốt

vì vậy tôi muốn nhận được

màn hình tốt

tôi chỉ don' t biết làm thế nào để có được rằng đối tượng là màn hình và mô tả là rất tốt.

Mã của tôi là

public synchronized String test(String s, LexicalizedParser lp){ 

    if (s.isEmpty()) return ""; 
    if (s.length()>80) return ""; 
    System.out.println(s); 

    Tree parse = (Tree) lp.apply(s); 

    TreebankLanguagePack tlp = new PennTreebankLanguagePack(); 

    System.out.println(parse.dependencies(tlp.headFinder())); 
} 

Ai đó có thể cho tôi một ví dụ về làm thế nào để làm điều đó đúng không?

Chuỗi s là câu để tìm kết nối giữa các từ.

Trả lời

5

Để có được các phụ thuộc Stanford đã nhập (như nsubj, dobj), bạn cần sử dụng các lớp Ngữ pháp. Một cây đồng bằng chỉ có các phụ thuộc không được phân loại. Sử dụng một cái gì đó như thế này:

GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory(); 
GrammaticalStructure gs = gsf.newGrammaticalStructure(parse); 
Collection tdl = gs.typedDependenciesCollapsed(); 
System.out.println(tdl); 
Các vấn đề liên quan