この答えは少し時代遅れなので、私は自分自身を追加することにしました。したがって、Stanford Parserバージョン3.6.0(Mavenの依存関係)では、次のようになります。
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-parser</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.6.0</version>
<classifier>models</classifier>
</dependency>
private static MaxentTagger tagger = new MaxentTagger(MaxentTagger.DEFAULT_JAR_PATH);
public String getTaggedString(String someString) {
String taggedString = tagger.tagString(someString);
return taggedString;
}
これI_PRP claim_VBP the_DT rights_NNS
は'I claim the rights'
したがって、Javaとスタンフォードパーサーを使用してフレーズ内の動詞を検出する場合は、次のように実行できます。
public boolean containsVerb(String someString) {
String taggedString = tagger.tagString(someString);
String[] tokens = taggedString.split(" ");
for (String tok : tokens){
String[] taggedTokens = tok.split("_");
if (taggedTokens[1].startsWith("VB")){
return true;
}
}
return false;
}