Entwicklung eines KI-gestützten Schreibassistenten für WPS Office
WPS Office ist ein von Kingsoft entwickeltes Produktivitätstool mit weltweit über 150 Mio. Nutzern. Die Abteilung für künstliche Intelligenz (KI) des Unternehmens entwickelte von Grund auf einen intelligenten Schreibassistenten unter Verwendung semantischer Matching-Algorithmen wie Absichtserkennung und Text-Clustering. Das Tool existiert sowohl als Webanwendung als auch als WeChat mini program, das Nutzern hilft, schnell Gliederungen, einzelne Absätze und ganze Dokumente zu erstellen, indem sie einfach einen Titel eingeben und bis zu fünf Schlüsselwörter auswählen.
Die Empfehlungs-Engine des Schreibassistenten verwendet Milvus, eine Open-Source-Similarity-Search-Engine, um ihr zentrales Vektorverarbeitungsmodul zu betreiben. Im Folgenden untersuchen wir den Prozess zum Aufbau des intelligenten Schreibassistenten von WPS Office, einschließlich der Frage, wie Merkmale aus unstrukturierten Daten extrahiert werden, sowie der Rolle, die Milvus beim Speichern von Daten und beim Betrieb der Empfehlungs-Engine des Tools spielt.
Direkt zu:
- Unstrukturierte Textdaten verstehen
- Verwendung des TFIDF-Modells zur Maximierung der Merkmalsextraktion
- Extraktion von Merkmalen mit dem Deep-Learning-Modell bi-directional LSTM-CNNs-CRF
- Erstellung von Satzeinbettungen mit Infersent
- Speichern und Abfragen von Vektoren mit Milvus
Unstrukturierte Textdaten verstehen
Wie bei jedem modernen Problem, das es wert ist, gelöst zu werden, beginnt der Aufbau des WPS-Schreibassistenten mit unordentlichen Daten. Genauer gesagt: mit zig Millionen dicht geschriebener Textdokumente, aus denen aussagekräftige Merkmale extrahiert werden müssen. Um die Komplexität dieses Problems zu verstehen, stellen Sie sich vor, wie zwei Journalisten von verschiedenen Nachrichtenagenturen über dasselbe Thema berichten könnten.
Zwar werden beide die Regeln, Prinzipien und Prozesse einhalten, die den Satzbau bestimmen, doch sie werden unterschiedliche Wortwahlen treffen, Sätze unterschiedlicher Länge bilden und ihre eigenen Artikelstrukturen verwenden, um ähnliche (oder vielleicht unähnliche) Geschichten zu erzählen. Im Gegensatz zu strukturierten Datensätzen mit einer festen Anzahl von Dimensionen fehlt Textkörpern von Natur aus Struktur, weil die Syntax, die sie bestimmt, so formbar ist. Um Bedeutung zu finden, müssen maschinenlesbare Merkmale aus einem unstrukturierten Dokumentenkorpus extrahiert werden. Doch zuerst müssen die Daten bereinigt werden.
Es gibt verschiedene Möglichkeiten, Textdaten zu bereinigen, von denen dieser Artikel keine im Detail behandeln wird. Dennoch ist dies ein wichtiger Schritt, der der Verarbeitung der Daten vorausgeht, und er kann das Entfernen von Tags, das Entfernen akzentuierter Zeichen, das Ausschreiben von Kontraktionen, das Entfernen von Sonderzeichen, das Entfernen von Stoppwörtern und mehr umfassen. Eine ausführliche Erklärung von Methoden zur Vorverarbeitung und Bereinigung von Textdaten finden Sie hier.
Verwendung des TFIDF-Modells zur Maximierung der Merkmalsextraktion
Um damit zu beginnen, unstrukturierte Textdaten verständlich zu machen, wurde das Modell der Term Frequency–Inverse Document Frequency (TFIDF) auf den Korpus angewendet, aus dem der WPS-Schreibassistent schöpft. Dieses Modell verwendet eine Kombination aus zwei Metriken, Term Frequency und Inverse Document Frequency, um jedem Wort innerhalb eines Dokuments einen TFIDF-Wert zuzuweisen. Term Frequency (TF) steht für die rohe Anzahl eines Begriffs in einem Dokument geteilt durch die Gesamtzahl der Begriffe im Dokument, während Inverse Document Frequency (IDF) die Anzahl der Dokumente in einem Korpus geteilt durch die Anzahl der Dokumente ist, in denen ein Begriff vorkommt.
Das Produkt aus TF und IDF liefert ein Maß dafür, wie häufig ein Begriff in einem Dokument vorkommt, multipliziert damit, wie einzigartig das Wort im Korpus ist. Letztendlich sind TFIDF-Werte ein Maß dafür, wie relevant ein Wort für ein Dokument innerhalb einer Sammlung von Dokumenten ist. Begriffe werden nach TFIDF-Werten sortiert, und solchen mit niedrigen Werten (d. h. häufigen Wörtern) kann beim Einsatz von Deep Learning zur Extraktion von Merkmalen aus dem Korpus weniger Gewicht beigemessen werden.
Extrahieren von Merkmalen mit dem bi-direktionalen LSTM-CNNs-CRF-Deep-Learning-Modell
Durch die Verwendung einer Kombination aus bi-direktionalem Long Short-Term Memory (BLSTM), Convolutional Neural Networks (CNN) und Conditional Random Fields (CRF) können sowohl Wort- als auch Zeichenebenen-Repräsentationen aus dem Korpus extrahiert werden. Das BLSTM-CNNs-CRF-Modell, das zum Aufbau des WPS Office-Schreibassistenten verwendet wird, funktioniert wie folgt:
- CNN: Zeichen-Embeddings werden als Eingaben für das CNN verwendet, anschließend werden semantisch relevante Wortstrukturen (d. h. das Präfix oder Suffix) extrahiert und in Repräsentationsvektoren auf Zeichenebene kodiert.
- BLSTM: Vektoren auf Zeichenebene werden mit Wort-Embedding-Vektoren konkateniert und anschließend in das BLSTM-Netzwerk eingespeist. Jede Sequenz wird vorwärts und rückwärts zwei separaten verborgenen Zuständen präsentiert, um vergangene und zukünftige Informationen zu erfassen.
- CRF: Die Ausgabevektoren des BLSTM werden an die CRF-Schicht weitergeleitet, um gemeinsam die beste Label-Sequenz zu dekodieren.
Das neuronale Netzwerk ist nun in der Lage, benannte Entitäten aus unstrukturiertem Text zu extrahieren und zu klassifizieren. Dieser Prozess wird Named Entity Recognition (NER) genannt und umfasst das Auffinden und Klassifizieren von Kategorien wie Personennamen, Institutionen, geografischen Orten und mehr. Diese Entitäten spielen eine wichtige Rolle beim Sortieren und Abrufen von Daten. Von hier aus können Schlüsselsätze, Absätze und Zusammenfassungen aus dem Korpus extrahiert werden.
Erstellen von Satz-Embeddings mit Infersent
Infersent, eine von Facebook entwickelte überwachte Methode für Satz-Embeddings, die vollständige Sätze in einen Vektorraum einbettet, wird verwendet, um Vektoren zu erstellen, die in die Milvus-Datenbank eingespeist werden. Infersent wurde mit dem Stanford Natural Language Inference (SNLI)-Korpus trainiert, der 570.000 Satzpaare enthält, die von Menschen geschrieben und gekennzeichnet wurden. Weitere Informationen darüber, wie Infersent funktioniert, finden Sie hier.
Speichern und Abfragen von Vektoren mit Milvus
Milvus ist eine Open-Source-Ähnlichkeitssuchmaschine, die das Hinzufügen, Löschen, Aktualisieren und die nahezu Echtzeit-Suche von Embeddings im Billionen-Byte-Maßstab unterstützt. Um die Abfrageleistung zu verbessern, ermöglicht Milvus die Angabe eines Indextyps für jedes Vektorfeld. Der intelligente Assistent von WPS Office verwendet den IVF_FLAT-Index, den grundlegendsten Inverted-File-(IVF)-Indextyp, bei dem „flat“ bedeutet, dass Vektoren ohne Komprimierung oder Quantisierung gespeichert werden. Das Clustering basiert auf IndexFlat2, das die exakte Suche nach L2-Distanz verwendet.
Obwohl IVF_FLAT eine Abfrage-Recall-Rate von 100 % hat, führt das Fehlen von Komprimierung zu vergleichsweise langsamen Abfragegeschwindigkeiten. Die Partitionierungsfunktion von Milvus wird verwendet, um Daten anhand vordefinierter Regeln in mehrere Teile des physischen Speichers zu unterteilen, wodurch Abfragen schneller und genauer werden. Wenn Vektoren zu Milvus hinzugefügt werden, geben Tags an, welcher Partition die Daten hinzugefügt werden sollen. Abfragen der Vektordaten verwenden Tags, um anzugeben, auf welcher Partition die Abfrage ausgeführt werden soll. Daten können innerhalb jeder Partition weiter in Segmente unterteilt werden, um die Geschwindigkeit weiter zu verbessern.
Der intelligente Schreibassistent verwendet außerdem Kubernetes-Cluster, wodurch Anwendungscontainer über mehrere Maschinen und Umgebungen hinweg ausgeführt werden können, sowie MySQL für die Metadatenverwaltung.
KI ersetzt keine Autoren, sie hilft ihnen beim Schreiben
Der Schreibassistent von Kingsoft für WPS Office nutzt Milvus, um eine Datenbank mit mehr als 2 Millionen Dokumenten zu verwalten und abzufragen. Das System ist äußerst flexibel und in der Lage, nahezu in Echtzeit Suchvorgänge auf Datensätzen im Billionenmaßstab auszuführen. Abfragen werden im Durchschnitt in 0,2 Sekunden abgeschlossen, was bedeutet, dass ganze Dokumente nahezu augenblicklich nur anhand eines Titels oder einiger Schlüsselwörter generiert werden können. Obwohl KI professionelle Autoren nicht ersetzt, ist die heute existierende Technologie in der Lage, den Schreibprozess auf neuartige und interessante Weise zu erweitern. Die Zukunft ist unbekannt, aber zumindest können sich Autoren auf produktivere und für einige weniger schwierige Methoden freuen, „Stift auf Papier zu setzen“.
Die folgenden Quellen wurden für diesen Artikel verwendet:
- „End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF“, Xuezhe Ma und Eduard Hovy.
- „Traditional Methods for Text Data“, Dipanjan (DJ) Sarkar.
- „Text Features Extraction based on TF-IDF Associating Semantic“, Qing Liu, Jing Wang, Dehai Zhang, Yun Yang, NaiYao Wang.
- „Understanding Sentence Embeddings using Facebook’s Infersent“, Rehan Ahmad
- „Supervised Learning of Universal Sentence Representations from Natural Language Inference Data“, Alexis Conneau, Douwe Kiela, Holger Schwenk, LoÏc Barrault, Antoine Bordes.V1
Lesen Sie weitere User Stories, um mehr darüber zu erfahren, wie man Dinge mit Milvus entwickelt.
Weiterlesen

We spent 8 years making vector databases faster. Then we stopped.
Rarely queried embeddings still need to stay searchable. See how Vector Lakebase enables on-demand vector search without always-on compute costs.

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.

Zilliz Cloud Update: Smarter Autoscaling for Cost Savings, Stronger Compliance with Audit Logs, and More
What's new in Zilliz Cloud? Smarter autoscaling with scale-down, audit logs GA, enhanced SSO, and Milvus 2.6 in Private Preview.



