NLP Cloud is an API for natural language processing.
Les embeddings sont des représentations vectorielles de morceaux de texte. Si deux morceaux de texte ont une représentation vectorielle similaire, cela signifie très probablement qu'ils ont un sens similaire.
Imaginez que vous ayez les 3 phrases suivantes :
NLP Cloud is an API for natural language processing.
NLP Cloud proposes an API dedicated to NLP at scale.
I went to the cinema yesterday. It was great!
Voici les embeddings des 3 phrases ci-dessus (tronqués pour des raisons de simplicité) :
[[0.0927242711186409,-0.19866740703582764,-0.013638739474117756,-0.11876793205738068,0.011521861888468266,-0.03629707545042038, -0.030676838010549545,-0.03159608319401741,0.021390020847320557,0.03344911336898804,0.1698218137025833,-0.0009996045846492052, -0.07465217262506485,-0.21483412384986877,0.11283198744058609,0.03549865633249283,0.04985387250781059,-0.027558118104934692, 0.06297887861728668,0.09421529620885849,0.03700404614210129,0.06565431505441666,0.02284885197877884,0.06327767670154572, -0.09266531467437744,-0.014569456689059734,-0.06129194051027298,0.1818675994873047,0.09628438949584961,-0.09874546527862549, 0.030865425243973732, [...] ,-0.02097163535654545,0.021617714315652847,0.11045169830322266,0.01000999379903078,0.11451057344675064,0.18813028931617737, 0.007419265806674957,0.1630171686410904,0.21308083832263947,-0.03355317562818527,0.0778832957148552,0.2268853485584259,-0.13271427154541016, 0.005264544393867254,0.16081497073173523,0.09937280416488647,-0.12673905491828918,-0.12035898119211197,-0.06462062895298004, -0.0024213052820414305,0.08730605989694595,-0.04702030122280121,-0.03694896399974823,0.002265638206154108,-0.027780283242464066, -0.00017151003703474998,-0.20887477695941925,-0.2585527300834656,0.3124837279319763,0.05403835326433182,0.027094876393675804, -0.022925367578864098,0.038322173058986664]]
Les encastrements sont une caractéristique essentielle du traitement du langage naturel car, une fois qu'une machine est capable de détecter des similitudes entre des textes, elle ouvre la voie à de nombreuses applications intéressantes telles que la similarité sémantique, les systèmes RAG (retrieval augmented generation), la recherche sémantique, la détection de paraphrases, le regroupement, et bien d'autres encore.
Voici quelques exemples où les embeddings sont extrêmement utiles :
Vous pourriez vouloir détecter si deux phrases parlent de la même chose ou non. C'est utile pour détecter les paraphrases (plagiats), par exemple. C'est également utile pour comprendre si plusieurs personnes parlent du même sujet ou non.
La recherche sémantique est la méthode moderne de recherche d'informations. Au lieu de rechercher naïvement des textes contenant des mots-clés spécifiques, vous pouvez désormais rechercher des textes traitant d'un sujet qui vous intéresse, même si les mots-clés ne correspondent pas (dans le cas de synonymes par exemple).
Vous pourriez vouloir regrouper les choses par catégories (idées, discours, conversations...). Le regroupement est une ancienne technique d'apprentissage automatique qui peut désormais être appliquée efficacement au traitement du langage naturel.
Les systèmes RAG (Retrieval Augmented Generation) sont un type de modèle de traitement du langage naturel qui génère du texte en combinant les capacités d'un modèle de langage à grande échelle avec un composant de recherche qui récupère des informations pertinentes dans une base de données ou un corpus de textes. Cette approche permet de générer des réponses plus précises, plus informatives et plus pertinentes sur le plan contextuel en exploitant des sources de connaissances externes.
NLP Cloud propose une API d'embeddings qui vous donne la possibilité d'extraire des embeddings dès le départ, en se basant sur des modèles de Sentence Transformers tels que Paraphrase Multilingual Mpnet Base v2.
Le temps de réponse (latence) est très faible pour les modèles d'embeddings, ce qui vous permet d'inclure facilement l'extraction d'embeddings dans un flux de travail plus large et plus complexe.
Pour plus d'informations, voir notre documentation sur les encastrements. ici.
Tester les embeddings localement est une chose, mais les utiliser de manière fiable en production en est une autre. Avec NLP Cloud, vous pouvez faire les deux !