Créer un assistant d’écriture alimenté par l’IA pour WPS Office
WPS Office est un outil de productivité développé par Kingsoft, qui compte plus de 150 M d’utilisateurs dans le monde. Le département d’intelligence artificielle (IA) de l’entreprise a créé de toutes pièces un assistant d’écriture intelligent à l’aide d’algorithmes de mise en correspondance sémantique tels que la reconnaissance d’intention et le regroupement de textes. L’outil existe à la fois sous forme d’application web et de mini programme WeChat qui aide les utilisateurs à créer rapidement des plans, des paragraphes individuels et des documents entiers en saisissant simplement un titre et en sélectionnant jusqu’à cinq mots-clés.
Le moteur de recommandation de l’assistant d’écriture utilise Milvus, un moteur de recherche de similarité open source, pour alimenter son module central de traitement vectoriel. Ci-dessous, nous explorerons le processus de création de l’assistant d’écriture intelligent de WPS Office, notamment la manière dont les caractéristiques sont extraites de données non structurées ainsi que le rôle que joue Milvus dans le stockage des données et l’alimentation du moteur de recommandation de l’outil.
Aller à :
- Donner du sens aux données textuelles non structurées
- Utiliser le modèle TFIDF pour maximiser l’extraction de caractéristiques
- Extraire des caractéristiques avec le modèle d’apprentissage profond LSTM-CNNs-CRF bidirectionnel
- Créer des plongements de phrases à l’aide d’Infersent
- Stocker et interroger des vecteurs avec Milvus
Donner du sens aux données textuelles non structurées
Comme pour tout problème moderne qui mérite d’être résolu, la création de l’assistant d’écriture WPS commence par des données désordonnées. Des dizaines de millions de documents textuels denses dont il faut extraire des caractéristiques significatives, pour être un peu plus précis. Pour comprendre la complexité de ce problème, imaginez comment deux journalistes de médias différents pourraient traiter le même sujet.
Bien que tous deux respectent les règles, principes et processus qui régissent la structure des phrases, ils feront des choix de mots différents, créeront des phrases de longueurs variables et utiliseront leurs propres structures d’articles pour raconter des histoires similaires (ou peut-être différentes). Contrairement aux ensembles de données structurés avec un nombre fixe de dimensions, les corpus de texte manquent intrinsèquement de structure, car la syntaxe qui les régit est très malléable. Afin de trouver du sens, des caractéristiques lisibles par machine doivent être extraites d’un corpus de documents non structuré. Mais d’abord, les données doivent être nettoyées.
Il existe diverses façons de nettoyer les données textuelles, qu’aucune de celles-ci ne sera abordée en profondeur dans cet article. Néanmoins, il s’agit d’une étape importante qui précède le traitement des données, et qui peut inclure la suppression des balises, la suppression des caractères accentués, le développement des contractions, la suppression des caractères spéciaux, la suppression des mots vides, et plus encore. Une explication détaillée des méthodes de prétraitement et de nettoyage des données textuelles est disponible ici.
Utiliser le modèle TFIDF pour maximiser l’extraction de caractéristiques
Pour commencer à donner du sens aux données textuelles non structurées, le modèle de fréquence de terme–fréquence inverse de document (TFIDF) a été appliqué au corpus dans lequel puise l’assistant d’écriture WPS. Ce modèle utilise une combinaison de deux métriques, la fréquence de terme et la fréquence inverse de document, pour attribuer à chaque mot d’un document une valeur TFIDF. La fréquence de terme (TF) représente le nombre brut d’occurrences d’un terme dans un document divisé par le nombre total de termes dans le document, tandis que la fréquence inverse de document (IDF) correspond au nombre de documents dans un corpus divisé par le nombre de documents dans lesquels un terme apparaît.
Le produit de TF et d’IDF fournit une mesure de la fréquence à laquelle un terme apparaît dans un document, multipliée par le caractère unique de ce mot dans le corpus. En définitive, les valeurs TFIDF sont une mesure de la pertinence d’un mot pour un document au sein d’une collection de documents. Les termes sont triés selon les valeurs TFIDF, et ceux dont les valeurs sont faibles (c’est-à-dire les mots courants) peuvent se voir attribuer un poids moindre lors de l’utilisation du deep learning pour extraire des caractéristiques du corpus.
Extraction de caractéristiques avec le modèle de deep learning bi-directional LSTM-CNNs-CRF
En utilisant une combinaison de mémoire à long court terme bidirectionnelle (BLSTM), de réseaux neuronaux convolutifs (CNN) et de champs aléatoires conditionnels (CRF), des représentations au niveau des mots et des caractères peuvent être extraites du corpus. Le modèle BLSTM-CNNs-CRF utilisé pour créer l’assistant d’écriture WPS Office fonctionne comme suit :
- CNN : Les embeddings de caractères sont utilisés comme entrées du CNN, puis les structures de mots sémantiquement pertinentes (c’est-à-dire le préfixe ou le suffixe) sont extraites et encodées en vecteurs de représentation au niveau des caractères.
- BLSTM : Les vecteurs au niveau des caractères sont concaténés avec les vecteurs d’embedding de mots, puis transmis au réseau BLSTM. Chaque séquence est présentée en avant et en arrière à deux états cachés distincts afin de capturer les informations passées et futures.
- CRF : Les vecteurs de sortie du BLSTM sont transmis à la couche CRF afin de décoder conjointement la meilleure séquence d’étiquettes.
Le réseau neuronal est désormais capable d’extraire et de classer des entités nommées à partir de texte non structuré. Ce processus est appelé reconnaissance d’entités nommées (NER) et consiste à localiser et à classer des catégories telles que les noms de personnes, les institutions, les lieux géographiques, et plus encore. Ces entités jouent un rôle important dans le tri et le rappel des données. À partir de là, les phrases clés, les paragraphes et les résumés peuvent être extraits du corpus.
Création d’embeddings de phrases avec Infersent
Infersent, une méthode supervisée d’embeddings de phrases conçue par Facebook qui intègre des phrases complètes dans un espace vectoriel, est utilisée pour créer des vecteurs qui seront transmis à la base de données Milvus. Infersent a été entraîné à l’aide du corpus Stanford Natural Language Inference (SNLI), qui contient 570k paires de phrases écrites et étiquetées par des humains. Des informations supplémentaires sur le fonctionnement d’Infersent sont disponibles ici.
Stockage et interrogation de vecteurs avec Milvus
Milvus est un moteur de recherche de similarité open source qui prend en charge l’ajout, la suppression, la mise à jour et la recherche quasi en temps réel d’embeddings à l’échelle de mille milliards d’octets. Pour améliorer les performances des requêtes, Milvus permet de spécifier un type d’index pour chaque champ vectoriel. L’assistant intelligent WPS Office utilise l’index IVF_FLAT, le type d’index Inverted File (IVF) le plus basique, où « flat » signifie que les vecteurs sont stockés sans compression ni quantification. Le clustering est basé sur IndexFlat2, qui utilise une recherche exacte pour la distance L2.
Bien qu’IVF_FLAT ait un taux de rappel de requête de 100 %, son absence de compression entraîne des vitesses de requête relativement lentes. La fonction de partitionnement de Milvus est utilisée pour diviser les données en plusieurs parties de stockage physique selon des règles prédéfinies, ce qui rend les requêtes plus rapides et plus précises. Lorsque des vecteurs sont ajoutés à Milvus, des tags indiquent à quelle partition les données doivent être ajoutées. Les requêtes sur les données vectorielles utilisent des tags pour préciser sur quelle partition la requête doit être exécutée. Les données peuvent être davantage subdivisées en segments au sein de chaque partition afin d’améliorer encore la vitesse.
L’assistant d’écriture intelligent utilise également des clusters Kubernetes, permettant aux conteneurs d’applications de s’exécuter sur plusieurs machines et environnements, ainsi que MySQL pour la gestion des métadonnées.
L’IA ne remplace pas les rédacteurs, elle les aide à écrire
L’assistant d’écriture de Kingsoft pour WPS Office s’appuie sur Milvus pour gérer et interroger une base de données de plus de 2 millions de documents. Le système est très flexible, capable d’exécuter des recherches quasi en temps réel sur des jeux de données à l’échelle du billion. Les requêtes s’exécutent en 0,2 seconde en moyenne, ce qui signifie que des documents entiers peuvent être générés presque instantanément à partir d’un simple titre ou de quelques mots-clés. Bien que l’IA ne remplace pas les rédacteurs professionnels, la technologie qui existe aujourd’hui est capable d’enrichir le processus d’écriture de façons nouvelles et intéressantes. L’avenir est incertain, mais à tout le moins, les rédacteurs peuvent s’attendre à des méthodes plus productives, et pour certains moins difficiles, de « coucher des mots sur le papier ».
Les sources suivantes ont été utilisées pour cet article :
- « End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF », Xuezhe Ma et 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
Lisez d’autres témoignages d’utilisateurs pour en savoir plus sur la création avec Milvus.
Continuer à lire

How Zilliz Saw the Future of Vector Databases—and Built for Production
An inside look at how Zilliz built vector databases for real-world use, focusing on scalability, stability, and running them reliably at scale.

Why I’m Against Claude Code’s Grep-Only Retrieval? It Just Burns Too Many Tokens
Learn how vector-based code retrieval cuts Claude Code token consumption by 40%. Open-source solution with easy MCP integration. Try claude-context today.

How to Build RAG with Milvus, QwQ-32B and Ollama
Hands-on tutorial on how to create a streamlined, powerful RAG pipeline that balances efficiency, accuracy, and scalability using the QwQ-32B and Milvus.



