Klicken Sie hier bis gestern
Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Über Wahrscheinlichkeit 1
Sie werden in 100 Tagen Ingenieur - Tag 59 - Programmierung - Über Algorithmen
Sie werden in 100 Tagen Ingenieur --- Tag 53 - Git - Über Git
Sie werden in 100 Tagen Ingenieur - Tag 42 - Cloud - Über Cloud-Dienste
Sie werden in 100 Tagen Ingenieur - Tag 36 - Datenbank - Über die Datenbank
Sie werden Ingenieur in 100-Tage-24-Python-Grundlagen der Python-Sprache 1
Sie werden in 100 Tagen Ingenieur - Tag 18 - JavaScript - Grundlagen von JavaScript 1
Sie werden in 100 Tagen Ingenieur - 14. Tag - CSS - CSS-Grundlagen 1
Sie werden in 100 Tagen Ingenieur - Tag 6 - HTML - HTML-Grundlagen 1
Ab diesem Zeitpunkt geht es um die Verarbeitung natürlicher Sprache.
Sprachen, die Menschen spontan benutzt haben, wie Englisch und Japanisch, werden "natürliche Sprachen" genannt.
Andererseits werden künstliche Sprachen, die auf Regeln wie "Programmiersprache" basieren, als "formale Sprachen" bezeichnet, um sie zu unterscheiden.
Was ist "natürliche Sprachverarbeitung"? Lassen Sie den Computer die "natürliche Sprache" verarbeiten, die Menschen täglich verwenden. Es bezieht sich auf eine Reihe von Technologien.
Viele Techniken sind in der "Verarbeitung natürlicher Sprache" enthalten.
Das technische System in der Verarbeitung natürlicher Sprache ist so.
Name | Inhalt |
---|---|
Morphologische Analyse | Eine Methode zur Aufteilung in morphologische Elemente und zur Unterscheidung des Teils jedes morphologischen Elements |
Parsing | Eine Methode, um in morphologische Elemente zu unterteilen und die Beziehungen zwischen ihnen und den syntaktischen Beziehungen durch Zeichnen zu klären. |
Semantische Analyse | Eine Methode zur Interpretation der Bedeutung eines Satzes unter Verwendung eines Konzeptwörterbuchs usw. |
Kontextanalyse | Eine Methode, um die Verbindung mehrerer Sätze zu überprüfen |
Bei der Verarbeitung von Japanisch mit einem Computer ist die morphologische Analyse eine grundlegende Technik. Da sich die Sprache von Tag zu Tag ändert, ist es für Computer schwierig, damit umzugehen.
Weil Menschen sprachliche Informationen nicht vollständig verarbeiten, sondern aus einer Vielzahl von Interpretationen "vernünftige" Interpretationen machen. Die "Gültigkeit" wird auf einem Computer schwierig zu implementieren.
Es ist ziemlich schwierig, mehr als eine semantische Analyse durchzuführen, und zukünftige Forschungen werden erwartet.
Formelementanalyse`` trennt Sätze
in die kleinste Einheit von Wörtern, die als morphologische Elemente bezeichnet werden.
Es ist eine Methode, um den Teil jeder Morphologie zu unterscheiden.
** Trennung **
Es ist eine Schreibweise mit einem Leerzeichen zwischen Wörtern wie auf Englisch.
Watashi Ga Hentai Tod Ich hatte Lewd Tod
** Englische morphologische Analyse **
Sehr einfach in Sprachen wie Englisch, in denen Wörter durch Leerzeichen getrennt sind Das Verfahren zur morphologischen Analyse in englischer Sprache ist nachstehend zusammengefasst.
1.Machen Sie den ganzen Satz niedriger und verhindern Sie, dass Wörter durch die Position des Wortes unterschieden werden
2.it's und don'Geteilte Abkürzungen wie t (it's → it 's 、 don't → do n't)
3.Trennen Sie den Punkt am Ende des Satzes vom vorherigen Wort (Mr..Trennen Sie keine Punkte, die nicht mit dem Ende der Sätze zusammenhängen, für die verwendet wird
4.Durch Raum teilen
** Japanische morphologische Analyse **
Im Gegensatz zu Englisch hat Japanisch nur wenige Leerzeichen und Sie können die Unterbrechungen in Wörtern nicht sehen. Daher ist es notwendig, die Unterteilung nach Regeln auf Wörterbuchbasis unter Verwendung eines dedizierten "Wörterbuchs" in Betracht zu ziehen.
Wenn Sie Ihre eigene morphologische Analyse durchführen, müssen Sie diese Teilungsregel selbst festlegen und implementieren.
Für die japanische morphologische Analyse wurden mehrere "Bibliotheken" entwickelt. Es ist üblich, dies für die morphologische Analyse zu verwenden.
Eine typische Bibliothek heißt "MeCab".
https://ja.wikipedia.org/wiki/MeCab
Es gibt auch eine Bibliothek namens "janome" in der Python-Sprache.
https://mocobeta.github.io/janome/
Bei Implementierung unter Verwendung einer solchen Bibliothek kann eine morphologische Analyse relativ einfach durchgeführt werden.
Der Mechanismus der Bibliothek hier wird in diesem Artikel erläutert. Blick hinter die Kulissen der japanischen morphologischen Analyse! Wie MeCab morphologisch analysiert
Die Grundidee ist, ein "Gitter" zu bauen und den besten "Pfad" auszuwählen.
Ein "Gitter" ist eine "mögliche wortbrechende Lösung".
Ich denke, das Folgende ist ein leicht verständliches Beispiel, daher werde ich darauf verweisen.
Referenz: https://techlife.cookpad.com/entry/2016/05/11/170000
Dies ist "Gitter", und wir werden den "optimalen Pfad" basierend auf den "Kosten" auswählen.
Die "Kosten" hängen von dem "Wörterbuch" ab, das für die morphologische Analyse verwendet wird.
In der allgemeinen morphologischen Analyse wird das "NAIST-Wörterbuch" verwendet. Darin sind die berechneten Werte "Auftrittskosten" und "Verkettungskosten" aufgeführt. Es scheint, dass der "Kosten" -Wert für den "Korpus" daraus berechnet wird.
Es scheint, dass dieser "Pfad" mit dem niedrigsten "Kostenwert" das Ergebnis einer morphologischen Analyse ist.
Wenn es in diesem Wörterbuch nicht vorhanden ist, wird die richtige Nomenklatur natürlich in gewöhnliche Wörter unterteilt. Es ist wichtig, ein "Wörterbuch" zu führen, um die morphologische Analyse korrekt durchführen zu können.
Neu geschaffene Wörter werden manchmal als "unbekannte Wörter" bezeichnet, aber in der Arbeit der morphologischen Analyse Die Korrespondenz mit solchen "unbekannten Wörtern" und die Pflege von "Wörterbüchern" wird den größten Teil der Entwicklungsarbeit in Anspruch nehmen.
Wenn Sie ein Unternehmen sind, das sich mit der Verarbeitung natürlicher Sprache befasst, haben Sie eine große Anzahl von Wörtern selbst registriert Wir bauen eine Datenbank auf, um "unbekannte Wörter" zu verarbeiten.
"Syntaxanalyse" wird auch "Abhängigkeitsanalyse" genannt und ist eine Art Technologie zur Verarbeitung natürlicher Sprache. Nach der Aufteilung des Satzes in morphologische Elemente wird die Änderungsbeziehung zwischen Wörtern analysiert.
Es gibt eine berühmte Bibliothek namens "CaboCha".
https://taku910.github.io/cabocha/
Es ist nicht geeignet, zu lange Sätze zu analysieren, und es ist notwendig, in kurzen Sätzen zu denken.
Das Ergebnis der Analyse sieht so aus.
Ichiro füllte die Löcher von Jiro mit Kartoffeln, die er in Hokkaido gekauft hatte.
Ichiro-------------D
Jiro-D |
Hat gemacht-D |
In dem Loch-------D
In Hokkaido-D |
Gekauft-D |
Kartoffel-D
Ausgestopft
Die Abhängigkeitsanalyse ist eine Technik, die verwendet werden kann, wenn Sie die Bedeutung eines Satzes analysieren möchten. Ich denke, es kann verwendet werden, um die grammatikalische Struktur zu analysieren und die Bedeutung von Sätzen zu klären.
Reguläre Ausdrücke
Dies ist eine Ausdrucksmethode zum Ausdrücken mehrerer Zeichenfolgen in einem Format. Es wird häufig verwendet, wenn eine große Anzahl von Sätzen nach bestimmten Regeln verarbeitet wird.
Hier klicken für Details Sie werden in 100 Tagen Ingenieur - Tag 46 - Programmierung - Über reguläre Ausdrücke
N-Gram
Eine Textteilungsmethode, die eine beliebige Zeichenfolge oder ein beliebiges Dokument in aufeinanderfolgende n Zeichen unterteilt. Wenn "n" 1 ist, ist "Uni-Gramm", wenn "2" "Bi-Gramm" ist Fall 3 heißt "Tri-Gramm".
Zeichenbasiert
# unigram
'jetzt', 'Tag', 'Ist', 'ich', 'ich', 'Himmel', 'Qi'
# bigram
'heute', 'Tag', 'Ja', 'Gut', 'Himmel', 'Wetter'
# trigram
'heute', 'Ja ja', 'Ist gut', 'Guter Himmel', 'Gutes Wetter'
Wenn es wortbasiert ist, handelt es sich um eine Verkettung von "n" Wörtern, die morphologisch analysiert wurden.
# unigram
'heute', 'Ist', 'Gut', 'Wetter'
# bigram
'heute', 'Ist gut', 'Gutes Wetter'
# trigram
'Gut heute', 'Schönes Wetter'
** Wortvektor **
Nach dem Teilen eines Satzes in Wörter werden die Wörter den Spalten der Tabelle zugewiesen und in Daten konvertiert. Wenn es ein Wort gibt, sind die Daten 1, andernfalls 0.
[1,0,0,0,0,0,1,1,1],
[1,0,0,0,0,0,1,1,0], ...
TF-IDF
tf-idf
ist eine Art Gewichtung für Wörter in einem Dokument und wird in Feldern wie dem Abrufen von Informationen und der Zusammenfassung von Sätzen verwendet.
Berechnungen basieren auf dem "Wortvektor" und werden verwendet, um die Seltenheit von Wörtern zu bestimmen.
Die Verarbeitung natürlicher Sprache ist eines der schwierigsten Forschungsgebiete, aber die Gebiete, in denen die Forschung nicht vorangekommen ist Im Gegenteil, es ist auch ein Bereich mit vielen Möglichkeiten.
Japanisch zu lernen ist besonders schwierig und wo man den Teil implementiert, der die Bedeutung analysiert Es ist sehr schwierig, also müssen Sie sich hinsetzen und an Ihrer Forschung arbeiten.
Wenn Sie interessiert sind, lernen wir die Verarbeitung natürlicher Sprache.
34 Tage, bis Sie Ingenieur werden
HP von Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython
Recommended Posts