Este módulo permite buscar sinônimos em Português do Brasil sem a dependência de serviços externos.
A base possui 26.662 palavras e o arquivo possui 5,22MB.
$ npm install sinonimos-local
O pacote está em https://www.npmjs.com/package/sinonimos-local.
O repositório está em https://github.com/vamoss/sinonimos-local.
const sinonimos = require('sinonimos-local');
sinonimos('testar')
//['alegar','apalpar','apreciar','argumentar','atestar','comprovar','confirmar','contestar','convencer','debicar','degustar','demonstrar','depor','empreender','encetar','ensaiar','evidenciar','experimentar','fundamentar','gostar','intentar','justificar','libar','mostrar','paparicar','patentear','petiscar','pipinar','praticar','prelibar','provar','saborear','tatear','tentar','testemunhar','testificar','trincar']
// É retornada uma array vazia caso a palavra não seja encontrada
sinonimos('teste');
// []
O segundo parâmetro opcional, quando true
, tenta converter palavras no plural para singular e palavras no feminino para feminino. Ex:
//no banco há apenas boneco
sinonimos('boneca', true)
//['autómato','badameco','bebé','beneficiação','bobo','bonificação','bonifrate','briguela','bufão','criancinha','descontobeneficiar','fantoche','gratifiautômato','gratificação','marionete','nené','palhaço','pequerrucho','polichinelo','títere']
//no banco há apenas a palavra réptil
sinonimos('répteis', true);
//['rastejante','reptador','reptante']
Este banco de sinônimos foi extraído a partir dos dados disponibilizados em:
https://github.com/fititnt/DicSin-dicionario-sinonimos-portugues-brasileiro
Histórico do tratamento dos dados originais:
- remoção dos sinonimos vazios
- remoção dos caracteres especiais
- remoção dos antonimos
- unificação de palavras duplicadas
- remoção dos sinonimos com a propria palavra
- ordenação dos sinonimos por ordem alfabética
- indexação das palavras numa array separada das referências cruzadas. (isso reduziu o tamanho do arquivo pela metada e acelera a execução do script).
- adição de palavras que só constavam como sinônimas, mas que não se encontravam na lista de palavras principais
- padronização das letras maiúsculas para minúsculas
- ordenação da lista por ordem alfabética
-
Editar o arquivo
db/db.json
-
Compilar o arquivo
npm run build