2011-06-28 24 views
1

我想從使用斯坦福分析器的文本中提取阿拉伯語專有名稱。從使用斯坦福分析器的文本中提取阿拉伯語專有名稱

例如,如果我有一個輸入的句子:

تكريم سعد الدين الشاذلى 

使用阿拉伯斯坦福解析器,該樹形圖將是:

(ROOT (NP (NN تكريم) (NP (NNP سعد) (DTNNP الدين) (NNP الشاذلى)))) 

我想提取適當的名稱:

سعد الدين الشاذلى 

其中有子樹:

(NP (NNP سعد) (DTNNP الدين) (NNP الشاذلى)) 

我已經試過這樣:similar question

但有一些事情錯在這條線:

List<TaggedWord> taggedWords = (Tree) lp.apply(str); 

地把一棵樹型taggedword ,我因此未另一件事的列表中的錯誤明白我在哪裏可以使用建議的taggedYield()功能

任何想法,請?

回答

2

這是非常基本的Java相對於庫中,但你想要的是:

Tree tree = lp.apply(str); 
List<TaggedWord> taggedWords = tree.taggedYield(); 
for (TaggedWord tw : taggedWords) { 
    if (tw.tag().contains("NNP")) { 
    System.err.println(tw.word()); 
    } 
}  
相關問題