[JAVA] NLP4J [006-034] 100 coups de traitement de langage avec NLP4J # 34 "A B"

Retour à l'index

J'essaierai.

34. «B de A»

Extraire la nomenclature dans laquelle deux nomenclatures sont reliées par "non".

Maven

Utilisez la version en cours de développement.

<dependency>
	<groupId>org.nlp4j</groupId>
	<artifactId>nlp4j-core</artifactId>
	<version>1.1.1.0-SNAPSHOT</version>
</dependency>

Text Data

Dans l'analyse morphologique (analyse morphologique japonaise Yahoo! Japan Developer Network) utilisée par défaut, la limite supérieure de la taille de la requête est de 900 Ko et le nombre de fois est limité, un petit fichier texte est donc utilisé.

un

Je suis un chat.
Il n'y a pas encore de nom.

Je n'ai aucune idée d'où je suis né.
Je me souviens avoir pleuré dans un endroit sombre et humide.
J'ai vu des êtres humains pour la première fois ici.
De plus, j'ai entendu plus tard que c'était la pire race d'êtres humains appelée Shosei.
Cet étudiant est une histoire qui nous surprend parfois, bouillit et mange.
Cependant, je ne pensais rien à ce moment-là, donc je ne pensais pas que c'était particulièrement effrayant.
Il était juste duveteux lorsqu'il était placé sur sa paume et soulevé.
C'est probablement le début de ce qu'on appelle un être humain qu'il se calme un peu sur sa paume et voit le visage de l'élève.
Le sentiment que je trouvais étrange à cette époque demeure toujours.
Le visage, qui doit être décoré avec les premiers cheveux, est glissant et ressemble à un médicament.
Après cela, j'ai rencontré beaucoup de chats, mais je n'ai jamais rencontré une telle roue.
Non seulement cela, le centre du visage est trop saillant.
Ensuite, je souffle parfois de la fumée du trou.
J'étais si malade et vraiment faible.
J'ai finalement appris que c'était une cigarette que les humains boivent.


Java Code

package nlp4j.nokku.chap4;

import java.util.List;

import nlp4j.Document;
import nlp4j.DocumentAnnotator;
import nlp4j.DocumentAnnotatorPipeline;
import nlp4j.Keyword;
import nlp4j.crawler.Crawler;
import nlp4j.crawler.TextFileLineSeparatedCrawler;
import nlp4j.impl.DefaultDocumentAnnotatorPipeline;
import nlp4j.index.DocumentIndex;
import nlp4j.index.SimpleDocumentIndex;
import nlp4j.yhoo_jp.YJpMaAnnotator;

public class Nokku31 {
	public static void main(String[] args) throws Exception {
		//Utilisez le robot d'exploration de fichiers texte fourni par NLP4J
		Crawler crawler = new TextFileLineSeparatedCrawler();
		crawler.setProperty("file", "src/test/resources/nlp4j.crawler/neko_short_utf8.txt");
		crawler.setProperty("encoding", "UTF-8");
		crawler.setProperty("target", "text");
		//Exploration de documents
		List<Document> docs = crawler.crawlDocuments();
		//Définition du pipeline NLP (processus en connectant plusieurs processus en tant que pipeline)
		DocumentAnnotatorPipeline pipeline = new DefaultDocumentAnnotatorPipeline();
		{
			// Yahoo!Annotateur utilisant l'API d'analyse morphologique du Japon
			DocumentAnnotator annotator = new YJpMaAnnotator();
			pipeline.add(annotator);
		}
		//Exécution du traitement des annotations
		pipeline.annotate(docs);
		//Utilisez DocumentIndex pour compter les mots-clés.
		SimpleDocumentIndex index = new SimpleDocumentIndex();
		//Ajouter de la documentation
		index.addDocuments(docs);
		List<Keyword> kwds = index.getKeywordsWithoutCount();

		//Trouvez "A à B"
		String meishi_a = null;
		String no = null;

		for (Keyword kwd : kwds) {
			if (meishi_a == null && kwd.getFacet().equals("nom")) {
				meishi_a = kwd.getLex();
			} //
			else if (meishi_a != null && no == null && kwd.getLex().equals("de")) {
				no = kwd.getLex();
			} //
			else if (meishi_a != null && no != null && kwd.getFacet().equals("nom")) {
				System.err.println(meishi_a + no + kwd.getLex());
				meishi_a = null;
				no = null;
			} //
			else {
				meishi_a = null;
				no = null;
			}
		}
	}
}

résultat

Sa paume
Sur la paume
Visage de l'élève
Devrait faire face
Au milieu du visage
Dans le trou

A continué

Cet article continue. NLP4J [006-034b] Essayez de faire un annotateur pour 100 traitements de langage frapper # 34 "A's B" avec NLP4J

Résumé

Avec NLP4J, vous pouvez facilement effectuer le traitement du langage naturel en Java!

URL du projet

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


Retour à l'index

Recommended Posts

NLP4J [006-034] 100 coups de traitement de langage avec NLP4J # 34 "A B"
NLP4J [006-031] Le traitement de 100 langues frappe avec le verbe NLP4J # 31
NLP4J [006-033] 100 coups de traitement de langage avec NLP4J # 33
NLP4J [006-030] 100 coups de traitement du langage avec NLP4J # 30 Lecture des résultats d'analyse morphologique
NLP4J [006-034c] 100 coups de traitement du langage avec NLP4J # 34 Essayez de résoudre plus intelligemment "A's B" (édition finale)
NLP4J [006-032] 100 traitements linguistiques avec NLP4J Knock # 32 Prototype de verbe
NLP4J [006-034b] Essayez de faire en sorte que l'annotateur de 100 traitements de langage frappe # 34 "A B" avec NLP4J
Faisons une carte de Noël avec Processing!
AtCoder Beginner Contest 169 A, B, C avec rubis
Présentation de NLP4J- [000] Natural Language Processing Index en Java
Noël avec traitement
J'ai essayé OCR de traiter un fichier PDF avec Java
ABC --013-A et B et C
ABC --023 --A & B & C
ABC --036-A et B et C
ABC --010 --A & B & C
ABC --028 --A & B & C
ABC --128 --A & B & C
ABC --012-A et B et C
ABC --018 --A & B & C
ABC --054 --A & B & C
ABC --017 --A & B & C
ABC --029- A & B & C
ABC --022 --A & B & C
ABC --019 --A & B & C
ABC --020 --A & B & C
ABC --030- A & B & C
ABC --127 --A & B & C
ABC --132- A & B & C
ABC --026 --A & B & C
ABC --014- A & B & C
ABC --016 --A & B & C
ABC --011-A et B et C
ABC --031 --A & B & C
ABC --025 --A & B & C
ABC --024 --A & B & C
ABC --027 --A & B & C
ABC --080- A & B & C
J'ai essayé OCR de traiter un fichier PDF avec Java part2