NLP Cloud is an API for natural language processing.
Os embeddings são representações vectoriais de partes de textos. Se duas partes de texto tiverem uma representação vetorial semelhante, isso significa muito provavelmente que têm um significado semelhante.
Imagine que tem as 3 frases seguintes:
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!
Aqui estão os embeddings das 3 frases acima (truncadas por uma questão de simplicidade):
[[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]]
Os embeddings são uma caraterística essencial do Processamento de Linguagem Natural porque, quando uma máquina é capaz de detetar semelhanças entre textos, abre caminho a muitas aplicações interessantes, como a semelhança semântica, os sistemas RAG (retrieval augmented generation), a pesquisa semântica, a deteção de paráfrases, o agrupamento, etc.
Eis alguns exemplos em que os embeddings são extremamente úteis:
Pode querer detetar se duas frases estão a falar da mesma coisa ou não. Isto é útil para a deteção de paráfrases (plágio), por exemplo. Também é útil para perceber se várias pessoas estão a falar sobre o mesmo tópico ou não.
A pesquisa semântica é a forma moderna de procurar informação. Em vez de procurar ingenuamente textos que contenham palavras-chave específicas, pode agora procurar textos que falem de um tópico que lhe interesse, mesmo que as palavras-chave não coincidam (no caso de sinónimos, por exemplo).
Pode querer agrupar coisas por categorias (ideias, discursos, conversas...). O agrupamento é uma técnica antiga de aprendizagem automática que pode agora ser aplicada eficazmente ao processamento de linguagem natural.
Os sistemas RAG (Retrieval Augmented Generation) são um tipo de modelo de processamento de linguagem natural que gera texto combinando as capacidades de um modelo linguístico de grande escala com uma componente de recuperação que vai buscar informações relevantes a uma base de dados ou a um corpus de textos. Esta abordagem permite a geração de respostas mais exactas, informativas e contextualmente relevantes, tirando partido de fontes de conhecimento externas.
O NLP Cloud propõe uma API de embeddings que lhe dá a oportunidade de extrair embeddings de imediato, com base em modelos Sentence Transformers como o Paraphrase Multilingual Mpnet Base v2.
O tempo de resposta (latência) é muito baixo para os modelos de embeddings, o que permite incluir facilmente a extração de embeddings num fluxo de trabalho maior e mais complexo.
Para mais pormenores, consulte a nossa documentação sobre incorporações aqui.
Testar os embeddings localmente é uma coisa, mas utilizá-los de forma fiável na produção é outra coisa. Com o NLP Cloud, pode fazer as duas coisas!