NLP4J [002] Essayez l'analyse syntaxique du japonais à l'aide de Yahoo! Developer Network Japanese Dependency Analysis (V1) en Java

Retour à l'index: [001] Analyse morphologique> [002] Analyse de syntaxe> [003] Traitement statistique des paroles de partie

■ Ajout

Depuis la fin de la V1 de l'API d'analyse de la syntaxe de Yahoo!, Cet article est pour référence uniquement. Pour plus d'informations [Important] Avis de modification des spécifications de l'API d'analyse des dépendances japonaises pour l'API Web d'analyse de texte --Yahoo! Developer Network https://developer.yahoo.co.jp/changelog/web_apiapi.html Veuillez vous référer au.


Essayons l'analyse de la syntaxe japonaise (analyse des dépendances) en Java en utilisant NLP4J.

Du texte "La voiture s'est soudainement arrêtée" lorsque la syntaxe peut être analysée ・ "La voiture s'est arrêtée →" ・ "Soudain → arrêté" Vous pouvez extraire des informations telles que.

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 {
		//Texte naturel
		String text = "La voiture s'est arrêtée brusquement.";
		//Analyse des dépendances
		YJpDaService service = new YJpDaService();
		//Obtenez le résultat de l'analyse des dépendances
		DefaultNlpServiceResponse response = service.process(text);
		for (Keyword kwd : response.getKeywords()) {
			if (kwd instanceof KeywordWithDependency) {
				//Sortie du résultat de l'analyse des dépendances
				System.err.println(((KeywordWithDependency) kwd).toStringAsDependencyTree());
			}
		}
}

Output1 Vous pouvez sortir comme ça. C'est facile!

-sequence=6,lex=null,str=。
	-sequence=5,lex=null,str=Ta
		-sequence=4,lex=null,str=Arrêté
			-sequence=2,lex=null,str=Mais
				-sequence=1,lex=null,str=voiture
			-sequence=3,lex=null,str=tout à coup

Code2 Vous pouvez examiner les résultats détaillés en manipulant l'objet mot-clé.

	public static void main(String[] args) throws Exception {
		//Texte naturel
		String text = "La voiture s'est arrêtée brusquement.";
		//Analyse des dépendances
		YJpDaService service = new YJpDaService();
		//Obtenez le résultat de l'analyse des dépendances
		DefaultNlpServiceResponse response = service.process(text);
		for (Keyword kwd : response.getKeywords()) {
			if (kwd instanceof KeywordWithDependency) {
				//Sortie du résultat de l'analyse des dépendances
				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:Arrêté
3:Mais
4:voiture
3:tout à coup

C'est facile!

Revenir à l'index

Introduction de NLP4J- [000] Traitement du langage naturel avec Java Index

URL du projet

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


Recommended Posts

NLP4J [002] Essayez l'analyse syntaxique du japonais à l'aide de Yahoo! Developer Network Japanese Dependency Analysis (V1) en Java
NLP4J [001a] Analyse morphologique avec Java (utilisant l'analyse morphologique japonaise de Yahoo! Developer Network)
NLP4J [004] Essayez l'analyse de texte en utilisant le traitement du langage naturel et le traitement statistique de l'analyse syntaxique en Java
Essayez d'utiliser l'analyse syntaxique de l'API COTOHA en Java
NLP4J [001b] Analyse morphologique en Java (utilisant kuromoji)
NLP4J [003] Essayez l'analyse de texte en utilisant le traitement du langage naturel et le traitement statistique des pièces en Java
Essayez d'utiliser l'API Stream en Java
Essayez d'utiliser l'API au format JSON en Java
Essayez d'utiliser Sourcetrail (version win) avec du code Java
Essayez d'utiliser l'API Cloud Vision de GCP en Java
Essayez d'utiliser Sourcetrail (version macOS) avec du code Java
Essayez le hooking global en Java à l'aide de la bibliothèque JNativeHook
Implémentez Thread en Java et essayez d'utiliser la classe anonyme Lambda
Traduire à l'aide de l'API de texte Microsoft Translator en Java (japonais → anglais)
Essayez de gratter en utilisant Java [Note]
Essayez d'appeler JavaScript en Java
Essayez de développer Spresense avec Java (1)
Analyse de sujets (LDA) en Java
2 Implémentez une analyse syntaxique simple en Java