我需要找出一个单词是动词还是名词,还是两者都是
例如,单词是“search”它既可以是名词也可以是动词,但是stanford解析器会为它提供NN标签.
有没有什么办法让斯坦福解析器给出“搜索”既是名词又是动词?
我现在使用的代码
public static String Lemmatize(String word) { WordTag w = new WordTag(word); w.setTag(POSTagWord(word)); Morphology m = new Morphology(); WordLemmaTag wT = m.lemmatize(w); return wT.lemma(); }
或者我应该使用任何其他软件来做到这一点?请建议我
提前致谢
解决方法
Stanford Parser根据上下文统计猜测单词的词性标记.你应该真正传入一个完整的句子,以确定在这句话中,“搜索”是名词还是动词.
您不需要完整的解析器来获取词性标记. Stanford POS Tagger就足够了;它还包括Morphology类,但它也考虑了上下文.
如果你想要一个英语单词可以使用的所有词性标签,而不给出上下文,那么WordNet可能是更好的选择.它有几个Java接口,包括JWNL和JWI.