Tenho uma ferramenta de busca no meu site que faz tanto buscas tradicionais de texto completo quanto buscas usando embeddings. Por exemplo, quando você pesquisa "balão vermelho", quero resultados de texto e imagem. O problema é que nem todos os termos de busca fazem sentido para a detecção de objetos (como "William" ou mesmo um identificador, como o número da carteira de motorista). Sei que existem bibliotecas que me dizem se uma palavra é um substantivo, mas existe alguma que me diga se uma frase é pesquisável? Assim:
- Maçã Vermelha SIM
- Grande Ideia Não
- Carteira de Habilitação SIM
- Licença suspensa nº
Uma ideia para começar:
você deve antes de iniciar os scripts:
pip install spacy, nltk, pywsd
então instale o modelo pequeno e espaçoso:
python -m spacy download en_core_web_sm
Modelos disponíveis
Antes da primeira execução, baixe os pacotes necessários do nltk:
Quando tudo isso estiver feito:
Resultados:
Você vê que Verônica e carteira suspensa são sempre SIM
Filtros personalizados adicionais:
Em seguida, adicione a lógica na função 'is_visually_searchable':
Resultados:
Verifique as Categorias Lexicais para ajustar os resultados:
Você pode verificar as categorias lexicais de uma palavra assim:
Resultados:
Você pode usar:
wn.NOUN
,wn.VERB
,wn.ADJ
,wn.ADV