1

我正在尝试使用斯坦福解析器从文本中提取阿拉伯语专有名称。

例如,如果我有一个输入句子:

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

使用阿拉伯语斯坦福解析器,树形图将是:

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

我想提取正确的名称:

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

其中有子树:

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

我试过这个:类似的问题

但是这一行有一些问题:

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

将树类型放入 taggedword 列表中的错误另一件事我不明白我在哪里可以使用建议的 taggedYield() 功能

请问有什么想法吗?

4

1 回答 1

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());
  }
}    
于 2011-08-09T21:13:39.993 回答