"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > ETL: Extraindo o nome de uma pessoa do texto

ETL: Extraindo o nome de uma pessoa do texto

Publicado em 2024-11-07
Navegar:716

Digamos que queremos raspar chicagomusiccompass.com.

Como você pode ver, possui vários cartões, cada um representando um evento. Agora vamos conferir o próximo:

ETL: Extracting a Person

Observe que o nome do evento é:


jazmin bean: the traumatic livelihood tour


Então agora a questão é: Como extraímos o nome do artista do texto?

Como humano, posso dizer "facilmente" que Jazmin Bean é o artista - basta verificar a página wiki deles. Mas escrever código para extrair esse nome pode ser complicado.

Poderíamos pensar: “Ei, qualquer coisa antes de : deveria ser o nome do artista”, o que parece inteligente, certo? Funciona para este caso, mas e este:


happy hour on the patio: kathryn & chris


Aqui, a ordem é invertida. Poderíamos continuar adicionando lógica para lidar com diferentes casos, mas logo acabaremos com uma tonelada de regras que são frágeis e provavelmente não cobrirão tudo.

É aí que os modelos de Named Entity Recognition (NER) são úteis. Eles são de código aberto e podem nos ajudar a extrair nomes do texto. Não vai capturar todos os casos, mas na maioria das vezes, eles nos darão as informações que precisamos.

Com essa abordagem, a extração fica muito mais fácil. Vou com Python porque a comunidade em torno de Machine Learning em Python é simplesmente imbatível.


from gliner import GLiNER

model = GLiNER.from_pretrained("urchade/gliner_base")

text = "jazmin bean: the traumatic livelihood tour"
labels = ["person", "bands", "projects"]
entities = model.predict_entities(text, labels)

for entity in entities:
    print(entity["text"], "=>", entity["label"])


O que gera a saída:


jazmin bean => person


Agora, vamos dar uma olhada nesse outro caso:


happy hour on the patio: kathryn & chris


Saída:


kathryn => person
chris => person


fonte-GLiNER

Incrível, certo? Chega de lógica tediosa para extrair nomes, basta usar um modelo. Claro, não cobrirá todos os casos possíveis, mas para o meu projeto, esse nível de flexibilidade funciona muito bem. Se precisar de mais precisão, você sempre pode:

  • Experimente um modelo diferente
  • Contribuir para o modelo existente
  • Bifurque o projeto e ajuste-o para atender às suas necessidades

Conclusão

Como desenvolvedor de software, é altamente recomendável manter-se atualizado com as ferramentas do espaço de aprendizado de máquina. Nem tudo pode ser resolvido apenas com programação e lógica simples – alguns desafios são melhor enfrentados usando modelos e estatísticas.

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/garciadiazjaime/etl-extracting-a-persons-name-from-text-ahl?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3