Aprendizagem pessoal com IA
e orientação prática

SemHash: implementação rápida de desduplicação de texto semântico para melhorar a eficiência da limpeza de dados

Introdução geral

O SemHash é uma ferramenta leve e flexível para eliminar a duplicação de conjuntos de dados por similaridade semântica. Ele combina a rápida geração de incorporação do Model2Vec com a eficiente pesquisa de similaridade ANN (Approximate Nearest Neighbour) do Vicinity.O SemHash é compatível com a desduplicação de um único conjunto de dados (por exemplo, limpar o conjunto de treinamento) e com a desduplicação de vários conjuntos de dados (por exemplo, garantir que não haja sobreposição entre os conjuntos de teste e de treinamento). Ele é adequado para conjuntos de dados simples, como listas de texto, bem como para conjuntos de dados mais complexos, como conjuntos de dados de controle de qualidade com várias colunas. Além disso, inclui a capacidade de verificar os resultados da desduplicação, facilitando a compreensão e a otimização do processo de limpeza de dados.

 

Lista de funções

  • Geração rápida de incorporação: gere incorporação usando Model2Vec para incorporação rápida e precisa.
  • Pesquisa eficiente de similaridade: Pesquisa eficiente de similaridade ANN com Vicinity.
  • Desduplicação de um único conjunto de dados: limpe um único conjunto de dados para remover dados duplicados.
  • Desduplicação de vários conjuntos de dados: garanta que não haja sobreposição entre vários conjuntos de dados para evitar o vazamento de dados.
  • Desduplicação de conjuntos de dados com várias colunas: suporta a desduplicação de conjuntos de dados complexos, como o conjunto de dados de controle de qualidade.
  • Verificação do resultado da desduplicação: fornece uma função de verificação detalhada do resultado da desduplicação, o que ajuda a otimizar o processo de limpeza de dados.

 

Usando a Ajuda

Processo de instalação

  1. Abra um terminal ou uma ferramenta de linha de comando.
  2. Digite o seguinte comando para instalar o SemHash:
   pip install semhash

Uso

Desduplicação de um único conjunto de dados

  1. Carregar o conjunto de dados:
   from datasets import load_dataset
from semhash import SemHash
texts = load_dataset("ag_news", split="train")["text"]
  1. Inicializa a instância do SemHash:
   semhash = SemHash.from_records(records=texts)
  1. Reduzir a ponderação do conjunto de dados:
   deduplicated_texts = semhash.self_deduplicate().deduplicated

Desduplicação de vários conjuntos de dados

  1. Carregue dois conjuntos de dados:
   train_texts = load_dataset("ag_news", split="train")["text"]
test_texts = load_dataset("ag_news", split="test")["text"]
  1. Inicializa a instância do SemHash:
   semhash = SemHash.from_records(records=train_texts)
  1. Reduzir a ponderação do conjunto de dados de teste:
   deduplicated_test_texts = semhash.deduplicate(records=test_texts, threshold=0.9).deduplicated

Desduplicação de conjuntos de dados com várias colunas

  1. Carregar um conjunto de dados com várias colunas:
   dataset = load_dataset("squad_v2", split="train")
registros = [dict(row) for row in dataset]
  1. Inicializa a instância do SemHash:
   semhash = SemHash.from_records(records=records, columns=["question", "context"])
  1. Reduzir a ponderação do conjunto de dados:
   deduplicated_records = semhash.self_deduplicate().deduplicated

Verificação dos resultados da redução da ponderação

  1. Visualizar o texto desduplicado:
   result = semhash.self_deduplicate(records=texts, threshold=0.99)
for duplicate in result.duplicates:
print("RECORD:")
print(duplicate.records)
if duplicate.exact: print("Correspondência exata!")
print("Correspondência exata!")
print("Correspondência exata!")
print("DUPLICATAS:")
for corpus_duplicate in duplicate.duplicates: print(corpus_duplicate)
print(corpus_duplicate)
print("-" * 25)

Com essas etapas, você pode começar a usar rapidamente o SemHash para desduplicação semântica de conjuntos de dados e aumentar a eficiência da limpeza de dados.


Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " SemHash: implementação rápida de desduplicação de texto semântico para melhorar a eficiência da limpeza de dados

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil