在pos标记后提取形容词

时间:2015-04-02 19:15:14

标签: java nlp stanford-nlp

使用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 

2 个答案:

答案 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'你可以过滤掉它。

相关问题