Zurück zum Index: [001] Morphologische Analyse> [002] Syntaxanalyse> Statistische Verarbeitung von Teiltexten (https://qiita.com/oyahiroki/items/85975c7dd410d04ff256)
■ Ergänzung
V1 wurde für die Syntaxanalyse-API von Yahoo! beendet, daher dient dieser Artikel nur als Referenz. Für mehr Informationen [Wichtig] Hinweis auf Änderungen der japanischen API-Spezifikationen für die Abhängigkeitsanalyse für die Textanalyse-Web-API - Yahoo! Developer Network https://developer.yahoo.co.jp/changelog/web_apiapi.html Bitte wende dich an die.
Versuchen wir die japanische Syntaxanalyse (Abhängigkeitsanalyse) in Java mit NLP4J.
Aus dem Text "Das Auto hat plötzlich angehalten", wenn die Syntax analysiert werden kann ・ "Das Auto hielt an →" ・ "Plötzlich → gestoppt" Sie können Informationen wie z.
Maven
<dependency>
<groupId>org.nlp4j</groupId>
<artifactId>nlp4j</artifactId>
<version>1.0.0.0</version>
</dependency>
Code1
import nlp4j.Keyword;
import nlp4j.KeywordWithDependency;
import nlp4j.impl.DefaultNlpServiceResponse;
import nlp4j.yhoo_jp.YJpDaService;
public class HelloNLP4JDA {
//Natürlicher Text
String text = "Das Auto hielt plötzlich an.";
//Abhängigkeitsanalyse
YJpDaService service = new YJpDaService();
//Holen Sie sich das Ergebnis der Abhängigkeitsanalyse
DefaultNlpServiceResponse response = service.process(text);
for (Keyword kwd : response.getKeywords()) {
if (kwd instanceof KeywordWithDependency) {
//Geben Sie das Ergebnis der Abhängigkeitsanalyse aus
System.err.println(((KeywordWithDependency) kwd).toStringAsDependencyTree());
}
}
}
Output1 Sie können so ausgeben. Es ist einfach!
-sequence=6,lex=null,str=。
-sequence=5,lex=null,str=Ta
-sequence=4,lex=null,str=Gestoppt
-sequence=2,lex=null,str=Aber
-sequence=1,lex=null,str=Wagen
-sequence=3,lex=null,str=plötzlich
Code2 Sie können detaillierte Ergebnisse überprüfen, indem Sie das Schlüsselwortobjekt bearbeiten.
public static void main(String[] args) throws Exception {
//Natürlicher Text
String text = "Das Auto hielt plötzlich an.";
//Abhängigkeitsanalyse
YJpDaService service = new YJpDaService();
//Holen Sie sich das Ergebnis der Abhängigkeitsanalyse
DefaultNlpServiceResponse response = service.process(text);
for (Keyword kwd : response.getKeywords()) {
if (kwd instanceof KeywordWithDependency) {
//Geben Sie das Ergebnis der Abhängigkeitsanalyse aus
print((KeywordWithDependency) kwd, 0);
}
}
}
static void print(KeywordWithDependency kwd, int depth) {
System.err.println(depth + ":" + kwd.getStr());
for (KeywordWithDependency kwd2 : kwd.getChildren()) {
print(kwd2, depth + 1);
}
}
Output2
0:。
1:Ta
2:Gestoppt
3:Aber
4:Wagen
3:plötzlich
Es ist einfach!
Einführung von NLP4J- [000] Verarbeitung natürlicher Sprache mit Java-Index
https://www.nlp4j.org/
Recommended Posts