我正在尝试使用斯坦福解析器从文本中提取阿拉伯专有名称。
例如,如果我有一个输入句子:
تكريم سعد الدين الشاذلى使用阿拉伯语Stanford解析器,树形图将是:
(ROOT (NP (NN تكريم) (NP (NNP سعد) (DTNNP الدين) (NNP الشاذلى))))我想提取正确的名称:
سعد الدين الشاذلى其中包含子树:
(NP (NNP سعد) (DTNNP الدين) (NNP الشاذلى))我已经尝试过了:similar question
但这一行中有一些地方是错误的:
List<TaggedWord> taggedWords = (Tree) lp.apply(str);将树类型放在标记词列表中的错误是我不理解的另一件事,即在哪里可以使用建议的taggedYield()函数
有什么想法吗?
发布于 2011-08-10 05:13:40
就库而言,这是非常基本的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());
}
} https://stackoverflow.com/questions/6505569
复制相似问题