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:
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:
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.
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