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!
Introduction de NLP4J- [000] Traitement du langage naturel avec Java Index
https://www.nlp4j.org/
Recommended Posts