NLP4J Versuchen Sie eine syntaktische Analyse von Japanisch unter Verwendung der japanischen Abhängigkeitsanalyse (V1) von Yahoo! Developer Network in Java

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!

Zurück zum Index

Einführung von NLP4J- [000] Verarbeitung natürlicher Sprache mit Java-Index

Projekt-URL

https://www.nlp4j.org/ NLP4J_N_128.png


Recommended Posts

NLP4J Versuchen Sie eine syntaktische Analyse von Japanisch unter Verwendung der japanischen Abhängigkeitsanalyse (V1) von Yahoo! Developer Network in Java
NLP4J Morphologische Analyse mit Java (unter Verwendung der japanischen morphologischen Analyse des Yahoo! Developer Network)
NLP4J Versuchen Sie eine Textanalyse unter Verwendung einer Verarbeitung in natürlicher Sprache und einer statistischen Verarbeitung der Syntaxanalyse in Java
Versuchen Sie es mit der Syntaxanalyse der COTOHA-API in Java
NLP4J Morphologische Analyse in Java (unter Verwendung von Kuromoji)
NLP4J Versuchen Sie eine Textanalyse unter Verwendung einer Verarbeitung in natürlicher Sprache und einer statistischen Verarbeitung von Teilen in Java
Versuchen Sie es mit der Stream-API in Java
Versuchen Sie es mit der JSON-Format-API in Java
Versuchen Sie es mit Sourcetrail (Win-Version) mit Java-Code
Versuchen Sie, die Cloud Vision-API von GCP in Java zu verwenden
Versuchen Sie es mit Sourcetrail (MacOS-Version) mit Java-Code
Versuchen Sie es mit globalem Hooking in Java mithilfe der JNativeHook-Bibliothek
Implementieren Sie Thread in Java und versuchen Sie, die anonyme Klasse Lambda zu verwenden
Übersetzen mit der Microsoft Translator-Text-API in Java (Japanisch → Englisch)
Versuchen Sie, mit Java zu kratzen [Hinweis]
Versuchen Sie, JavaScript in Java aufzurufen
Lassen Sie uns Spresense mit Java entwickeln (1)
Themenanalyse (LDA) in Java
2 Implementieren Sie eine einfache Syntaxanalyse in Java