ETL: 텍스트에서 사람 이름 추출

Linda Hamilton
풀어 주다: 2024-10-08 06:20:30
원래의
827명이 탐색했습니다.

chicagomusiccompass.com을 스크랩하고 싶다고 가정해 보겠습니다.

보시다시피 카드에는 각각 이벤트를 나타내는 여러 개의 카드가 있습니다. 이제 다음 내용을 살펴보겠습니다.

ETL: Extracting a Person

이벤트 이름은 다음과 같습니다.


jazmin bean: the traumatic livelihood tour


로그인 후 복사

이제 질문은 이렇습니다. 텍스트에서 아티스트 이름을 어떻게 추출하나요?

인간으로서 Jazmin Bean이 아티스트라는 것을 "쉽게" 알 수 있습니다. 위키 페이지를 확인해 보세요. 하지만 해당 이름을 추출하는 코드를 작성하는 것은 까다로울 수 있습니다.

'야, : 앞에는 작가 이름이 있어야지'라고 생각할 수도 있겠네요. 참 현명해 보이죠? 이 경우에는 효과가 있지만 이번 경우는 어떻습니까?


happy hour on the patio: kathryn & chris


로그인 후 복사
로그인 후 복사

여기서는 순서가 뒤집어졌습니다. 다양한 사례를 처리하기 위해 논리를 계속 추가할 수 있지만 곧 깨지기 쉽고 모든 것을 다루지는 못할 수많은 규칙이 생기게 될 것입니다.

여기서 명명된 엔터티 인식(NER) 모델이 유용합니다. 오픈 소스이며 텍스트에서 이름을 추출하는 데 도움이 될 수 있습니다. 모든 사건을 포착할 수는 없지만 대부분의 경우 필요한 정보를 얻을 수 있습니다.

이 방법을 사용하면 추출이 훨씬 쉬워집니다. 저는 Python의 머신러닝 관련 커뮤니티가 매우 훌륭하기 때문에 Python을 선택합니다.


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"])


로그인 후 복사

출력을 생성하는 방법:


jazmin bean => person


로그인 후 복사

이제 다른 사례를 살펴보겠습니다.


happy hour on the patio: kathryn & chris


로그인 후 복사
로그인 후 복사

출력:


kathryn => person
chris => person


로그인 후 복사

소스-GLiNER

굉장하죠? 이름을 추출하는 지루한 논리는 더 이상 필요하지 않습니다. 모델을 사용하면 됩니다. 물론 가능한 모든 경우를 다룰 수는 없지만 내 프로젝트에서는 이 수준의 유연성이 잘 작동합니다. 더 높은 정확성이 필요한 경우 언제든지 다음을 수행할 수 있습니다.

  • 다른 모델을 사용해 보세요
  • 기존 모델에 기여
  • 프로젝트를 포크하고 필요에 맞게 조정하세요

결론

소프트웨어 개발자로서 머신러닝 분야의 도구에 대한 최신 정보를 지속적으로 얻는 것이 좋습니다. 단순한 프로그래밍과 논리만으로 모든 것을 해결할 수는 없습니다. 일부 과제는 모델과 통계를 사용하여 더 잘 해결할 수 있습니다.

위 내용은 ETL: 텍스트에서 사람 이름 추출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿