AI 또는 풀스택 개발에 어려움을 겪고 계신가요? 맞춤형 조언, 기술 통합 등 유니티 전문가가 도와드리겠습니다. 다음 연락처로 문의하세요. [email protected].

엔티티 추출을 위한 스파시 대안(NER)

스파시는 지난 몇 년 동안 엔티티 추출 프로젝트를 시작하려는 모든 회사의 사실상 표준이 되어 왔습니다. 스파시가 인기를 끌게 된 이유는 무엇일까요? 그리고 2023년에 엔티티 추출 프로젝트를 시작하려는 모든 사람을 위한 좋은 스파시 대안이 있을까요? 이 글에서 이러한 점에 대해 논의해 보겠습니다.

스파시

엔티티 추출을 위한 스파시

첫 번째 spaCy 버전은 2015년에 출시되었으며, 엔터프라이즈급 엔티티 추출(NER이라고도 함)을 위한 표준 프레임워크로 빠르게 자리 잡았습니다.

예를 들어 웹에서 가져온 비정형 텍스트가 있고 이 텍스트에서 날짜, 이름, 장소 등과 같은 정형 데이터를 추출하려는 경우, 스파시는 매우 좋은 솔루션입니다.

스파시는 약 20개 언어로 사전 학습된 여러 모델을 사용할 수 있다는 점에서 흥미롭습니다. (자세한 내용은 여기를 참조하세요). 즉, 엔티티 추출을 위해 반드시 자체 모델을 학습시킬 필요는 없습니다. 또한 자체 모델을 학습시키고자 하는 경우 처음부터 시작하지 않고 미리 학습된 모델에서 시작할 수 있으므로 많은 시간을 절약할 수 있습니다.

SpaCy는 매우 빠르고 안정적이며 포괄적인 문서와 함께 제공되므로 "프로덕션 등급" 프레임워크로 간주됩니다.

그러나 spaCy 사전 학습된 모델에서 지원하는 기본 엔티티가 충분하지 않은 경우, 자체 모델을 학습시키기 위해 '데이터 주석'('데이터 라벨링'이라고도 함) 작업을 수행해야 합니다. 이 프로세스는 매우 많은 시간이 소요되며, 많은 엔터티 추출 프로젝트가 이 문제로 인해 실패합니다.

예를 들어 이력서나 회사 웹 페이지와 같은 텍스트에서 직함을 추출하고 싶다고 가정해 보겠습니다. spaCy 사전 학습 모델은 기본적으로 이러한 엔티티를 지원하지 않으므로, 직함을 인식하는 방법을 spaCy에 가르쳐야 합니다. 수천 개의 직책 추출 예제(또는 그 이상일 수도 있음)가 포함된 훈련 데이터 세트를 만들어야 합니다. Prodigy와 같은 유료 주석 소프트웨어(spaCy 팀에서 제작)를 사용할 수도 있지만, 여전히 많은 사람의 작업이 필요합니다. 실제로 데이터 주석 프로젝트를 수행하기 위해 몇 달 동안 여러 명의 계약자를 고용하는 회사를 흔히 볼 수 있습니다. 이러한 작업은 매우 반복적이고 지루하기 때문에 결과 데이터 세트에는 종종 많은 실수가 포함됩니다.

데이터 주석 예제
데이터 주석 예제

2023년에 어떤 대체 솔루션을 시도해 볼 수 있는지 알아보세요!

스탠포드 코어 NLP

스탠포드 코어 NLP

스탠포드 CoreNLP의 첫 번째 버전은 2013년에 출시되었습니다. 이것은 매우 우수한 결과로 엔티티 추출을 수행할 수 있는 Java 프레임워크(spaCy는 Python 프레임워크)입니다.

스탠포드 코어NLP도 사전 학습된 모델을 제안하지만, 스파시보다는 덜합니다. (자세한 내용은 여기를 참조하세요).

이 프레임워크의 정확도는 스파시와 비슷하지만 분석하는 데이터에 따라 달라집니다. 예를 들어 스탠포드 CoreNLP는 법률 데이터에 대해 더 나은 결과를 제공합니다. 또한 일부 엔티티는 spaCy와 비교하여 약간 다르게 처리된다는 점에 주목할 필요가 있습니다(예를 들어 GPE 엔티티의 경우).

성능에 있어서는 스탠포드가 스파시보다 확실히 느려 보이는데, 이는 매우 높은 처리량을 달성하려는 경우 문제가 될 수 있습니다.

Flair

Flair NLP

Flair는 파이토치 딥 러닝 프레임워크에 기반한 최신 파이썬 프레임워크(2018년에 출시)입니다.

스파시에 비해 여러 언어에서 높은 정확도를 보여 많은 인기를 얻고 있습니다. 사전 학습된 몇 가지 모델이 제안됩니다. (자세한 내용은 여기를 참조하세요).

그러나 이러한 정확도 향상에는 속도가 희생됩니다. 처리량은 스파시에 비해 훨씬 낮아집니다.

생성형 AI 모델(GPT-J, GPT-3...)

몇 년 전, 제너레이티브 모델이라는 새로운 종류의 AI 모델이 등장하기 시작했습니다. 이러한 모델은 처음에는 텍스트 생성(텍스트의 시작 부분만 작성하고 나머지는 모델이 생성하도록 함)을 위해 만들어졌지만, 사람들은 이러한 모델이 엔티티 추출을 비롯한 모든 종류의 자연어 처리 사용 사례에 매우 효과적이라는 사실을 금방 깨닫게 되었습니다.

오늘날 가장 인기 있는 생성 모델은 GPT-3, GPT-J, GPT-NeoX, T5, Bloom입니다. 이러한 모든 딥 러닝 모델은 2017년에 Google에서 개발한 트랜스포머 아키텍처를 사용합니다.

이 새로운 세대의 AI 모델은 매우 무겁고 실행 비용이 많이 듭니다. 일반적으로 하나 또는 여러 개의 GPU를 기반으로 하는 하이엔드 하드웨어가 필요합니다. 또한 스파시와 같은 프레임워크보다 속도가 느립니다. 하지만 이러한 모델 덕분에 이제 전용 모델을 학습시키지 않고도 모든 종류의 엔티티를 추출할 수 있습니다!

숏샷 학습 덕분에 전용 모델을 만들지 않고도 엔티티를 추출할 수 있습니다. 이 기법은 런타임에 몇 가지 예제만 만들어서 원하는 작업을 모델에 빠르게 보여주는 것입니다. 여기에서 단발성 학습에 대해 자세히 알아보세요.

직책 추출 예제로 돌아가서, GPT-J와 같은 모델을 사용하여 직책을 추출하려는 경우 데이터에 주석을 달 필요가 없습니다. 그러면 몇 주 또는 몇 달의 수작업을 절약할 수 있습니다. 그리고 정확도는 스파시를 사용한 엔티티 추출보다 훨씬 더 높을 가능성이 높습니다.

GPT 모델을 사용하여 엔티티 추출을 쉽게 수행하는 방법에 대한 도움말을 참조하세요.

결론

SpaCy는 오늘날 많은 회사에서 엔티티 추출 작업을 위해 프로덕션에서 사용하는 훌륭한 자연어 처리 프레임워크입니다.

그러나 스파시나 스탠퍼드 CoreNLP나 Flair와 같은 대체 모델은 정확도가 제한적이며 새로운 엔티티를 추출하기 위해 지루한 주석 작업이 필요합니다. 2023년에는 텍스트 생성에 기반한 몇 가지 대체 모델(예: GPT-J, GPT-NeoX, GPT-3...)이 주석 없이 엔티티 추출에 사용될 수 있습니다. 이러한 새로운 모델들은 점점 더 많은 기업들이 엔티티 추출 프로젝트에서 성공하는 데 큰 도움이 될 것입니다.

GPT-J와 GPT-NeoX를 사용하시려면 주저하지 마시고 NLP 클라우드 API를 사용해 보세요. (여기에서 사용해 보기)!

Juliette
NLP 클라우드의 마케팅 관리자