Ta odpowiedź jest nieco przestarzały, więc postanowiłem dodać własną rękę. Więc z wersji 3.6.0 (Stanford Parser zależnościami 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;
}
będzie to powrót I_PRP claim_VBP the_DT rights_NNS
dla 'I claim the rights'
więc jeśli chcesz, aby wykryć czasowniki w zdaniu przy użyciu języka Java i parser Stanford można to zrobić:
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;
}
Co to jest IP? .... –
A LexicalizedParser ... edytowany powyżej. –
@ChristopherManning W jaki sposób można to osiągnąć w pythoniu –