Autor |. mczhao, leitender Forschungs- und Entwicklungsleiter von Ctrip, konzentriert sich auf den Bereich der Technologie zur Verarbeitung natürlicher Sprache.
Mit dem kontinuierlichen Aufkommen von Verbraucher-Hotspots und neuen Internet-Promi-Memes tauchen in NLP-Aufgaben auf E-Commerce-Plattformen häufig Wörter auf, die noch nie zuvor gesehen wurden. Diese Wörter sind nicht im vorhandenen Wortschatz des Systems enthalten und werden als „nicht registrierte Wörter“ bezeichnet.
Einerseits wirkt sich der Mangel an Wörtern im Lexikon auf die Wortsegmentierungsqualität einiger lexikonbasierter Wortsegmentierer aus, was sich indirekt auf die Qualität des Textabrufs und der Hervorhebungsaufforderungen auswirkt, dh auf die Genauigkeit der Benutzertextsuche und die Qualität der Suchergebnisse.
Andererseits werden im Mainstream-NLP-Deep-Learning-Algorithmus BERT/Transformer usw. bei der Verarbeitung von Chinesisch häufig Wortvektoren anstelle von Wortvektoren verwendet. Theoretisch sollte die Wirkung der Verwendung von Wortvektoren besser sein, aber aufgrund der nicht registrierten Wörter ist die Wirkung der Verwendung von Wortvektoren in der Praxis besser. Wenn das Vokabular vollständiger ist, ist die Wirkung der Verwendung von Wortvektoren besser als die der Verwendung von Wortvektoren.
Zusammenfassend lässt sich sagen, dass die Entdeckung neuer Wörter ein Problem ist, das wir derzeit lösen müssen.
Für dieses Problem der Entdeckung neuer chinesischer Wörter gibt es in der Branche bereits relativ ausgereifte Lösungen. Die Eingabe besteht aus einem Korpus, und nach der Segmentierung dieser Texte in NGram werden Kandidatensegmente generiert. Berechnen Sie einige statistische Merkmale dieser Fragmente und bestimmen Sie dann anhand dieser Merkmale, ob es sich bei diesem Fragment um ein Wort handelt.
Der gängige Ansatz in der Branche besteht darin, diese drei Indikatoren zu zählen und zu beobachten: Beliebtheit, Zusammenhalt und Reichtum links und rechts benachbarter Charaktere. Es gibt viele Artikel im Internet, die diese drei Indikatoren beschreiben. Eine kurze Einführung finden Sie in den beiden neuen Artikeln zur Worterkennung von Hello NLP.
Verwenden Sie die Worthäufigkeit, um Beliebtheit auszudrücken. Zählen Sie die Auftrittszeiten aller Fragmente im gesamten Korpus, und diese hochfrequenten Fragmente sind oft ein Wort.
Verwenden Sie punktuelle gegenseitige Informationen, um den Zusammenhalt zu messen:
Zum Beispiel bestimmen wir, ob Hanting ein Wort ist, log(P("Hanting") /P("汉")P("Gericht")). Die Wahrscheinlichkeit, dass Hanting zu einem Wort wird, ist direkt proportional zur Popularität von „Hanting“ und umgekehrt proportional zur Popularität der einzelnen Wörter „Han“ und „ting“. Das ist leicht zu verstehen. Das häufigste Wort in chinesischen Schriftzeichen ist „的“. Die Wahrscheinlichkeit, dass ein beliebiges chinesisches Schriftzeichen mit „的“ übereinstimmt, bedeutet jedoch nicht, dass „x von“ oder „的x“. " ist das gleiche Wort. Hier spielt die Popularität des Wortes „的“ eine hemmende Rolle.
Die Entropie des linken und rechten Nachbarn repräsentiert den Reichtum der linken und rechten Wörter. Die linke und rechte Adjazenzentropie ist die Zufälligkeit der Verteilung der Wörter, die links oder rechts vom Kandidatenwortfragment erscheinen. Sie können die Entropie links und die Entropie rechts trennen oder die beiden Entropien in einem Indikator kombinieren.
Zum Beispiel sind die Popularität und der Zusammenhalt des Segments „Shangri-La“ sehr hoch, und die Popularität und der Zusammenhalt des entsprechenden Untersegments „Shangri-La“ sind ebenfalls sehr hoch, aber weil „Shangri-La“ In den meisten Fällen erscheint das Wort „拉“ nach „里“. Die Entropie seines rechten Nachbarn ist sehr gering, was die Wortbildung verhindert. Man kann davon ausgehen, dass die drei Zeichen „shangri“ kein Wort bilden können allein.
Das Problem der klassischen Methode besteht darin, dass sie eine manuelle Einstellung der Schwellenwertparameter erfordert. Nachdem ein NLP-Experte die Wahrscheinlichkeitsverteilung der Fragmente im aktuellen Korpus verstanden hat, kombiniert er diese Indikatoren durch Formeln oder verwendet sie unabhängig voneinander und legt dann einen Schwellenwert als Beurteilungsstandard fest. Die Beurteilungsergebnisse können unter Verwendung dieses Standards ebenfalls eine hohe Genauigkeit erzielen.
Aber die Wahrscheinlichkeitsverteilung oder Worthäufigkeit ist nicht statisch. Da der Korpus immer häufiger wird oder die gewichtete Popularität des Korpus (normalerweise die entsprechende Produktpopularität) schwankt, werden die Parameter und Schwellenwerte in der Formel von Experten festgelegt Auch hier sind kontinuierliche Anpassungen erforderlich. Dadurch wird viel Arbeitskraft verschwendet und die Ingenieure der künstlichen Intelligenz werden zu bloßen Optimierern.
Die drei Indikatoren der oben genannten bestehenden Algorithmen in der Branche haben nur ein grundlegendes Quellmerkmal, nämlich das Wort Frequenz. Bei statistischen Methoden werden einige einfache und wichtige Statistiken normalerweise in Form von Bildern angezeigt, z. B. Histogramme, Boxplots usw. Auch ohne Modelleingriff können Menschen auf einen Blick richtige Entscheidungen treffen. Sie können den Korpus in alle längenbegrenzten Fragmente zerlegen, die Worthäufigkeit der Fragmente auf 0-255 normalisieren und sie einer zweidimensionalen Matrix zuordnen. Die Zeilen stellen die Anfangszeichen und die Spalten die Endzeichen dar. Ein Pixel ist ein Fragment, und die Pixelhelligkeit des Punktes ist die Beliebtheit des Kandidatenwortfragments.
Das obige Bild ist das Worthäufigkeits-Wahrscheinlichkeitsverteilungsdiagramm des kurzen Satzes „Pudong Airport Ramada Hotel“. Wir waren angenehm überrascht, dass wir mit bloßem Auge einige hellere gleichschenklige rechtwinklige Dreiecksblöcke grob unterscheiden können. wie zum Beispiel: „Pudong“, „Pudong Airport“, „Airport“, „Ramada Hotel“ usw. Diese Blöcke können feststellen, dass das entsprechende Fragment das Wort ist, das wir benötigen.
Durch Beobachtung der Worthäufigkeitswahrscheinlichkeitsverteilungskarte können wir ein Segmentierungsproblem für kurze Sätze in ein Bildsegmentierungsproblem umwandeln. Frühe Bildsegmentierungsalgorithmen ähneln den oben genannten neuen Worterkennungsalgorithmen. Sie sind auch schwellenwertbasierte Algorithmen zur Erkennung von Kantengraustufenänderungen. Mit der Entwicklung der Technologie werden heute im Allgemeinen Deep-Learning-Algorithmen verwendet U-Net-Bildsegmentierungsalgorithmus.
Die erste Hälfte von U-Net verwendet Faltungs-Downsampling, um Merkmale mehrerer Schichten unterschiedlicher Granularität zu extrahieren, und die zweite Hälfte wird hochgesampelt, um diese Merkmale mit derselben Auflösung und schließlich durch eine vollständige Verbindungsschicht zusammenzuführen +Softmax erhält Klassifizierungsergebnisse auf Pixelebene.
Die Segmentierung der Worthäufigkeitswahrscheinlichkeitsverteilungskarte ähnelt der Segmentierung des Diagramms, wobei benachbarte Positionen und ähnliche Graustufen vorhanden sind. Um kurze Sätze zu segmentieren, können Sie daher auch auf den Bildsegmentierungsalgorithmus zurückgreifen und ein vollständig Faltungsnetzwerk verwenden. Der Grund für die Verwendung der Faltung besteht darin, dass wir unabhängig davon, ob wir kurze Sätze oder Bilder schneiden, mehr auf lokale Informationen achten, also auf die Pixel nahe der Schnittkante. Der Grund für die Verwendung mehrschichtiger Netzwerke besteht darin, dass mehrschichtiges Pooling die Schwellenwertbeurteilung verschiedener Schichtmerkmale anzeigen kann. Wenn wir beispielsweise das Kartengelände schneiden, müssen wir nicht nur die Steigung (erste Ableitung/Differenz) berücksichtigen Änderung der Steigung (Ableitung/Differenz), die beiden werden jeweils mit einem Schwellenwert versehen und die Kombinationsmethode ist nicht nur eine einfache lineare Gewichtung, sondern ein serielles Netzwerk.
Für das neue Worterkennungsszenario entwerfen wir den folgenden Algorithmus:
Im Vergleich zu U-Net gibt es folgende Unterschiede:
1) Down- und Up-Sampling werden aufgegeben, Der Grund dafür ist, dass die kurzen Sätze, die im Allgemeinen für die Segmentierung verwendet werden, relativ kurz sind und die Worthäufigkeitsverteilung Die Auflösung des Bildes ist nicht hoch, daher wird das Modell vereinfacht.
2) U-Net hat drei Kategorien (Block 1, Block 2, am Rand), Dieser Algorithmus erfordert nur zwei Kategorien (ob das Pixel ein Wort ist). Daher sind auch die endgültigen Ausgabeergebnisse unterschiedlich. U-Net gibt einige kontinuierliche Blöcke und Trennlinien aus, und wir benötigen nur, ob ein bestimmter Punkt positiv ist.
Das Bild unten zeigt das vom Modell vorhergesagte Ergebnis nach dem Training des Modells. Wir können sehen, dass in den Ausgabeergebnissen die Pixel identifiziert wurden, die den drei Wörtern „Shanghai“ (obere Zeile, Meeresspalte), „Hongqiao“ und „Geschäftsviertel“ entsprechen.
Verwenden Sie das trainierte Modell und geben Sie die Wahrzeichennamen in die Wahrzeichendatenbank von Ctrip ein. Einige neue Wörter können automatisch segmentiert und entdeckt werden, obwohl es einige schlechte Fälle gibt ist gut.
Nach dem Import dieser Wörter in den Thesaurus erhöht sich die Genauigkeit der Suchwortsegmentierung und die Thesaurusabdeckung der Wortsegmentierungsergebnisse erhöht sich. Da die Segmentierung von Suchwörtern im Allgemeinen dazu neigt, sich zu oft zu erinnern und verpasste Rückrufe zu eliminieren, verfolgt die Branche einen radikaleren Ansatz für den Rückruf durch Wortsegmentierung, und die Genauigkeit wird im Allgemeinen durch anschließende Sortierung gelöst. Daher hat sich die Genauigkeit der Wortsegmentierung verbessert, in den Augen der Benutzer hat sich die Genauigkeit der Suchergebnisse jedoch nicht wesentlich verbessert. Es kann jedoch einige der Probleme einer falschen Hervorhebung lösen, die durch Fehler bei der Wortsegmentierung verursacht werden.
Wenn Sie erkunden möchten, wie das Modell funktioniert, können Sie den Faltungskern in der mittleren Ebene anzeigen. Wir vereinfachen zunächst die Anzahl der Faltungskerne in der Faltungsschicht des Modells von 4 auf 1. Zeigen Sie nach dem Training die mittlere Schicht über die API von TensorFlow an: model.get_layer('Conv2').__dict__. Wir haben festgestellt, dass der Faltungskern der Conv2-Schicht wie folgt lautet:
Sie können sehen, dass die erste und zweite Zeile entgegengesetzte Auswirkungen auf das Modell haben, entsprechend der vorherigen Pixelzeile abzüglich der aktuellen Zeile. Unterschied (mit Gewicht): Wenn der Graustufenunterschied größer ist, ist es wahrscheinlicher, dass die durch dieses Pixel dargestellte Zeichenfolge ein Wort ist.
Sie können auch sehen, dass der absolute Wert von 0,04505884 in der ersten Zeile und der zweiten Spalte relativ klein ist, wahrscheinlich weil die positiven Parameter der ersten Zeile minus der zweiten Zeile und die negativen Parameter der dritten Spalte minus der zweiten Zeile sind Spalte heben sich gegenseitig auf.
Dieser Artikel beschreibt ein vollständig Faltungsnetzwerkmodell mit einer sehr einfachen Struktur, und es gibt noch viel Raum für Verbesserungen.
Erweitern Sie zunächst den Funktionsauswahlbereich. Die Eingabefunktion in diesem Artikel ist beispielsweise nur die Worthäufigkeit. Wenn die linke und rechte Adjazenzentropie auch in die Eingabefunktion einbezogen wird, ist der Segmentierungseffekt genauer.
Die zweite besteht darin, die Tiefe des Netzwerks zu erhöhen. Durch die Modellanalyse haben wir herausgefunden, dass sich die erste Faltungsschicht hauptsächlich mit den Fällen befasst, die durch mit 0 gefüllte Pixel verursacht werden. Es gibt nur eine Faltungsschicht, die sich tatsächlich auf die tatsächliche Wärme konzentriert. Wenn es sich um einen 3x3-Faltungskern handelt. Für das Differenzergebnis ist nur die erste Ordnung sichtbar, die zweite Zeile und Spalte vor und nach dem aktuellen Pixel werden nicht berücksichtigt. Sie können die Größe des Faltungskerns entsprechend erweitern oder das Netzwerk vertiefen, um das Sichtfeld des Modells zu vergrößern. Die Vertiefung des Netzwerks wird jedoch auch das Problem der Überanpassung mit sich bringen.
Schließlich kann dieses Modell nicht nur zur Ergänzung des Wortschatzes zur Verbesserung des Wortsegmentierungseffekts verwendet werden, sondern kann auch direkt als Referenz für die Wortsegmentierung verwendet werden. Dieses Modell kann sowohl beim Erinnern an Kandidatenwörter als auch bei Wörtern angewendet werden Segmentierungspfad-Bewertungsschritte des Wortsegmentierungsprozesses. Die Vorhersageergebnisse des Modells.
Das obige ist der detaillierte Inhalt vonNeuer Worterkennungsalgorithmus basierend auf CNN. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!