[JAVA] Reinigungsprozess japanischer Sätze

Überblick

Wenn ein japanischer Satz einer morphologischen Analyse unterzogen wird, stören Leerzeichen, Satzzeichen, HTML-Tags usw. im Satz die Analyse. Daher wird eine Reinigungsverarbeitung angewendet, um nur die Informationen zu belassen, die für die morphologische Analyse erforderlich sind.

Ausführungsumgebung

OS: Windows 7 Sprache: Java

Inhaltsverzeichnis

    1. HTML-Tags löschen
  1. Vereinheitlichung von Voll- und Halbwinkeln
    1. Symbol entfernen

1. 1. HTML-Tags löschen

<td><tr>

Wenn das HTML-Tag erhalten bleibt, werden die Inhalte "td", "tr" usw. möglicherweise als Wörter erkannt. Löschen Sie sie daher. Wenn Sie die gelöschten Sätze zusammenfügen, werden möglicherweise seltsame Wörter angezeigt. Fügen Sie daher ein Wortumbruchsymbol hinzu (hier "/").

sample


Pattern.compile("<.*?>").matcher(sentence).replaceAll("/");

Beispiel: \ \ Band 1 \ </ td> \ Informationen zur Bewegung eines Objekts \ </ td>; ⇒ // Band 1 // Über die Bewegung von Objekten /

2. Vereinheitlichung von Voll- und Halbwinkeln

AabB12345 Aib Okakikukeko

Sätze, in denen die Halbwertsbreite von Alphabeten, die Halbwertsbreite von Zahlen und die Halbwertsbreite von Katakana gemischt werden, sind hinsichtlich Daten und Erscheinungsbild nicht gut. Vereinheitlichen Sie sie daher mit beiden.

sample


Normalizer.normalize(sentence, Normalizer.Form.NFKC);

Normalizer, der von Java6 verwendet werden kann, ist praktisch Mit dem obigen Prozess ・ Alphabet in voller Breite ⇒ Alphabet in halber Breite ・ Nummer in voller Breite ⇒ Nummer in halber Breite ・ Katakana in halber Breite ⇒ Katakana in voller Breite Kann konvertiert werden zu. (Symbole werden auch von voller Breite in halbe Breite konvertiert.)

Beispiel: AbB12345 Aikaki ⇒ AabB12345 Aikaki

3. 3. Entfernen von Symbolen und Leerzeichen

Was soll ich heute tun? ..

Wenn der Satz noch ein Leerzeichen enthält, wird er während der morphologischen Analyse nicht als Wortumbruch erkannt. Häufig auftretende Symbole wie "." Neigen während der morphologischen Analyse zu Rauschen. Wie bei der Tag-Verarbeitung können beim Löschen der gelöschten Sätze seltsame Wörter auftreten. Fügen Sie daher ein Wortumbruch-Symbol hinzu.

sample


Pattern.compile("[\\p{Punct}!! "# $% & '() = ~ |' {+ *} <>? _- ^ \ @";: ",. ・]+").matcher(sentence).replaceAll("/");

Beispiel: Was soll ich heute tun? .. ⇒ Heute / was zu tun ist /

Referenz: https://www.slideshare.net/tsudaa/ss-36658329 http://qiita.com/kasei-san/items/3ce2249f0a1c1af1cbd2

Recommended Posts

Reinigungsprozess japanischer Sätze
Japanische Lokalisierung von Eclipse
[Japanische Lokalisierung von Edelsteinen: Entwickeln]
Zusammenfassung der Java-Fehlerverarbeitung
[Rails] Japanische Lokalisierung von Fehlermeldungen
Implementierung der asynchronen Verarbeitung in Tomcat
Grundlegender Verarbeitungsablauf von Java Stream
[Kotlin] Ein Beispiel für die Verarbeitung mit Enum
Reihenfolge der Verarbeitung im Programm