Skip to content

labcif/vec4ensics

Repository files navigation

Vec4ensics

Vec4ensics é uma ferramenta desenvolvida em Python para indexação, pesquisa semântica e avaliação de documentos, suportando múltiplos modelos de embeddings e integração com datasets personalizados.

Instalação

  1. Instalar o Poetry:
pipx install poetry
  1. Instalar as dependências do projeto:
poetry install

Estrutura do Projeto

  • data/wiki_dataset_generation/: Scripts para gerar ficheiros da Wikipedia e converter para formatos Office.
  • validation/: Scripts para testes e avaliação de modelos.
  • vec4ensics/: Código principal da ferramenta.

Geração e Conversão de Ficheiros Wikipedia

Para extrair artigos da Wikipedia de um ficheiro .zim e converter para formatos Office (PDF, DOCX, PPTX, XLSX):

poetry run bash data/wiki_dataset_generation/run_full_conversion.sh

Testes e Avaliação de Modelos

Na pasta validation/ existem vários scripts para testar e avaliar os modelos:

  • Testes de tempo de indexação:
poetry run bash validation/run_indexation_time_tests.sh
  • Testes com datasets anotados:
poetry run bash validation/run_labeled_dataset_tests.sh
  • Testes de modelos com dataset SPICED:
poetry run bash validation/run_spiced_model_tests.sh

Indexação e Pesquisa Semântica

Para indexar documentos e realizar pesquisas semânticas, utilizar o comando principal:

Indexação

poetry run vec4ensics index \
  --dir <diretório_dos_ficheiros> \        # Diretório com os ficheiros a indexar
  --out <diretório_de_saida> \             # Diretório para os ficheiros gerados e índice FAISS
  --gpu 0 \                                # Número do dispositivo GPU (0 para CPU)
  --model <nome_do_modelo>                 # Nome do modelo de embeddings a utilizar
poetry run vec4ensics index --dir <diretório_dos_ficheiros> --out <diretório_de_saida> --gpu 0 --model <nome_do_modelo>

Pesquisa

poetry run vec4ensics search \
  --type <document|sentence|document-threshold> \   # Tipo de pesquisa: documento, frase ou threshold
  --query "<texto_da_pesquisa>" \                   # Texto da pesquisa
  --out <diretório_de_saida> \                      # Diretório onde está o índice FAISS
  --num-results 10 \                                # Número de resultados a apresentar
  --csv <ficheiro_resultados.csv> \                 # Caminho para exportar os resultados em CSV
  --gpu 0                                           # Número do dispositivo GPU (0 para CPU)
poetry run vec4ensics search --type <document|sentence|document-threshold> --query "<texto_da_pesquisa>" --out <diretório_de_saida> --num-results 10 --csv <ficheiro_resultados.csv> --gpu 0

Parâmetros adicionais para pesquisa com thresholds:

  --similarity-threshold <valor>    # Similaridade mínima para considerar uma frase (apenas para document-threshold)
  --sum-threshold <valor>           # Soma mínima de similaridades para aceitar um documento (apenas para document-threshold)

Os parâmetros podem ser ajustados conforme necessário para otimizar a pesquisa e os resultados.

About

semantic search in digital forensic investigation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •