[JAVA] NLP4J 100 Sprachverarbeitungsklopfen mit NLP4J # 34 "A B"

Zurück zum Index

Ich werde es versuchen.

34. "B von A"

Extrahieren Sie die Nomenklatur, in der zwei Nomenklaturen durch "Nein" verbunden sind.

Maven

Verwenden Sie die aktuell in der Entwicklung befindliche Version.

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

Text Data

In der standardmäßig verwendeten morphologischen Analyse (japanische morphologische Analyse des Yahoo! Japan Developer Network) beträgt die Obergrenze der Anforderungsgröße 900 KB, und die Häufigkeit ist begrenzt, sodass eine kleine Textdatei verwendet wird.

einer

Ich bin eine Katze.
Es gibt noch keinen Namen.

Ich habe keine Ahnung, wo ich geboren wurde.
Ich erinnere mich, wie ich an einem dunklen und feuchten Ort geweint habe.
Ich habe hier zum ersten Mal Menschen gesehen.
Außerdem hörte ich später, dass es die schlimmste Rasse von Menschen namens Shosei war.
Dieser Student ist eine Geschichte, die uns manchmal fängt und kocht und isst.
Allerdings habe ich damals nichts gedacht, also fand ich es nicht besonders beängstigend.
Es fühlte sich einfach flauschig an, als es auf seine Handfläche gelegt und angehoben wurde.
Es ist wahrscheinlich der Beginn eines sogenannten Menschen, dass er sich ein wenig auf seiner Handfläche beruhigt und das Gesicht des Schülers sieht.
Das Gefühl, das ich zu dieser Zeit für seltsam hielt, bleibt bestehen.
Das Gesicht, das mit den ersten Haaren verziert werden sollte, ist rutschig und sieht aus wie eine Medikamentendose.
Danach habe ich viele Katzen getroffen, aber ich habe noch nie ein einziges Rad getroffen.
Nicht nur das, die Mitte des Gesichts ragt zu hervor.
Dann blase ich manchmal Rauch aus dem Loch.
Ich war so krank und sehr schwach.
Ich habe endlich gelernt, dass dies eine Zigarette ist, die Menschen trinken.


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 {
		//Verwenden Sie den von NLP4J bereitgestellten Textdatei-Crawler
		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");
		//Dokumentcrawl
		List<Document> docs = crawler.crawlDocuments();
		//Definition der NLP-Pipeline (Prozess durch Verbinden mehrerer Prozesse als Pipeline)
		DocumentAnnotatorPipeline pipeline = new DefaultDocumentAnnotatorPipeline();
		{
			// Yahoo!Annotator mit Japans API für morphologische Analyse
			DocumentAnnotator annotator = new YJpMaAnnotator();
			pipeline.add(annotator);
		}
		//Ausführung der Annotationsverarbeitung
		pipeline.annotate(docs);
		//Verwenden Sie DocumentIndex, um Schlüsselwörter zu zählen.
		SimpleDocumentIndex index = new SimpleDocumentIndex();
		//Dokumentation hinzufügen
		index.addDocuments(docs);
		List<Keyword> kwds = index.getKeywordsWithoutCount();

		//Finden Sie "A bis B"
		String meishi_a = null;
		String no = null;

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

Ergebnis

Seine Handfläche
Auf der Handfläche
Studentengesicht
Sollte Gesicht
Mitten im Gesicht
In dem Loch

Fortsetzung

Dieser Artikel wird fortgesetzt. [NLP4J] Versuchen Sie, mit NLP4J einen Annotator von 100 Sprachverarbeitungsklopfen Nr. 34 "A's B" zu erstellen.](Https://qiita.com/oyahiroki/items/0f1d7863e92747343634)

Zusammenfassung

Mit NLP4J können Sie ganz einfach die Verarbeitung natürlicher Sprache in Java durchführen!

Projekt-URL

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


Zurück zum Index

Recommended Posts

NLP4J 100 Sprachverarbeitungsklopfen mit NLP4J # 34 "A B"
NLP4J 100 Sprachverarbeitungsklopfen mit NLP4J # 31 Verb
NLP4J 100 Sprachverarbeitungsklopfen mit NLP4J # 33
NLP4J 100 Sprachverarbeitungsklopfen mit NLP4J # 30 Lesen morphologischer Analyseergebnisse
NLP4J 100 Sprachverarbeitungsklopfen mit NLP4J # 34 Versuchen Sie, "A's B" intelligenter zu lösen (endgültige Ausgabe)
NLP4J 100 Sprachverarbeitung mit NLP4J Knock # 32 Prototyp des Verbs
NLP4J Versuchen Sie, Annotator von 100 Sprachverarbeitung mit NLP4J auf # 34 "A B" zu bringen
Machen wir eine Weihnachtskarte mit Verarbeitung!
AtCoder Anfängerwettbewerb 169 A, B, C mit Rubin
Einführung des NLP4J- [000] Natural Language Processing Index in Java
Weihnachten mit Verarbeitung
Ich habe versucht, mit OCR eine PDF-Datei mit Java zu verarbeiten
ABC - 013-A & B & C.
ABC - 023 - A & B & C.
ABC - 036-A & B & C.
ABC - 010 - A & B & C.
ABC - 028 - A & B & C.
ABC - 128 - A & B & C.
ABC - 012-A & B & 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 & B & 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.
Ich habe versucht, eine PDF-Datei mit Java part2 zu verarbeiten