Nature Language Processing em JavaScript com Natural

PNL, abreviação de Processamento de Linguagem Natural, é um campo da Inteligência Artificial amplamente usado para interpretar, compreender e processar a linguagem humana / natural. É comumente usado para reconhecimento de fala e NLG (Natural Language Generation).

Os recursos mais comuns da PNL são os seguintes:
1. Categorização de conteúdo
2. Extração contextual
3. Análise sentimental
4. Speech-to-text e text-to-speech
5. Sumarização de documentos

Hoje, nesse post, estou explorando a PNL usando Javascript.
Temos muitas libs de PNL disponíveis em JS, onde temos a maioria dos recursos / tarefas de PNL.
Neste post, estaremos mais concentrados na lib natural, mas você pode verificar com outra biblioteca como compromise, node-npl.

Aqui, veremos algumas de suas principais funcionalidades, como tokenização, operações de string e classificador.

Primeiro, temos que instalar a lib do natural:

e depois importa-la:

  1. O termo Tokenização significa quebrar um string em um array como:

Podemos conseguir isso usando o método String do JS, mas a diferença está além dessa simples tokenização, ela também nos dá a tokenização baseada em maiúsculas e minúsculas, regex, frase e pontuação para qualquer idioma.

2. Uma distância de string conta o número de caracteres diferentes.

No exemplo acima, ele simplesmente retorna o número de caracteres não correspondentes.

Ele está ignorando o case, pois definimos o sinalizador como falso, também retornamos -1 se o comprimento da string não for o mesmo.

Ele também oferece suporte para correspondência de String.

3. Um Infletor, para forma de palavra singularizada ou pluralizada,

4. Agora, veremos a parte mais fascinante, Classificadores, treinaremos o classificador com os dados de amostra e obteremos o resultado deles. (Aqui, estamos apenas demonstrando como o classificador funciona em nosso caso, em vez de sua implementação.)

E o output:

No exemplo 1, em palavras simples, treinamos o classificador com dados de amostra, fornecemos entrada e saída, portanto, no futuro, se o classificador obtiver um contexto semelhante, ele retornará a saída desejada.

No exemplo acima, definimos a compra / venda de saída em alguns dados de amostra de entrada para que, após o treinamento, quando verificamos com dados diferentes, ela produza compra / venda de acordo com os dados do treino.

A lib natural nos dá mais muita facilidade para trabalhar com PNL.
Da mesma forma, a compromise também é boa, com facilidade quase semelhante, você pode executar o a compromise no NodeJS ou no próprio navegador.

Créditos

Exploring NLP in JavaScript escrito por Amol Kedari

--

--

Senior Software Engineer @ Mintbase (https://rubenmarcus.dev)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store