使用Stanford-Parser从文本中提取阿拉伯语专有名称

时间:2011-06-28 11:17:37

标签: text-parsing arabic stanford-nlp

我正在尝试使用Stanford Parser从文本中提取阿拉伯语专有名称。

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

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

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

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

我想提取正确的名称:

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

有子树:

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

我试过这个:similar question

但这一行有一些问题:

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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());
  }
}