使用stanford我想在做pos标记之后得到我的句子中的所有形容词。我尝试了一些方法并且没有用。是否有任何方法可以从句子中获取所有形容词(JJ)。可能已经有一些这样的问题,但我找不到正确的答案。
MaxentTagger tagger = new MaxentTagger("taggers/left3words-wsj-0-18.tagger");
String sample = "feeling happy";
String tagged = tagger.tagString(sample);
System.out.println(tagged);
output : feeling/VBG happy/JJ
答案 0 :(得分:1)
您应该使用MaxentTagger#tagSentence
方法,该方法返回TaggedWord
个对象的列表。
您可以轻松过滤此结果列表,选择JJ
标记。
答案 1 :(得分:0)
您需要首先标记该句子,之后您将在该对(单词,词性标记)中有一个字符串列表,因为您只需要部分语音标记,您可以通过循环过滤掉它你语料库中的所有单词。 这是一段简短的python代码片段,它从语料库中过滤形容词
file=open(product_name,'w');
bags=nltk.bigrams(tagged_sentences)
distribution = nltk.FreqDist(bags)
c = Counter(distribution)
for k,count in c.most_common():
if ((k[0][1])=='JJ')):
do something...
上面的代码是python,所以我希望你不会觉得难以阅读。第一行是打开文件,第二行是标记语料库中的所有单词。 c返回的列表的格式为[(word,tag),(word,tag)....]因此您必须检查列表的每个第二个索引以及它是否匹配' JJ'你可以过滤掉它。