본문 바로가기

programmer/Elasticsearch

내비게이션 관점에서 Elastic search에서의 NLP, NER 활용 법

개요: elasticsearch ML 기능 중 NLP, NER을 활용할 수 있는 방안을 알아본다.

NLP(Natural Language Processing)와 NER(Named Entity Recognition)은 탐색 검색 서비스 분야에서 사용되는 서로 다른 두 가지 모델로 모두 ES ML에서 사용 가능하다.


NLP는 컴퓨터와 인간 언어 간의 상호 작용을 다루는 더 넓은 분야로, 자연어 데이터를 처리하고 분석하는 데 사용되는 다양한 기술과 알고리즘이 포함된다. NLP는 구문 분석, 구문 분석 및 의미 분석과 같은 작업을 포함하는 문장이나 단락의 의미를 이해하는 데 사용할 수 있다.


반면에 NER은 사람, 장소, 조직 등과 같은 텍스트 데이터에서 특정 명명된 엔터티를 식별하고 분류하는 NLP 내의 특정 작업으로 주요 목표는 텍스트에서 중요한 정보를 추출하여 특정 범주로 분류하는 것이다.


내비게이션 검색 서비스의 관점에서 NLP는 검색 쿼리나 사용자 입력 의도(intent)를 이해하고 이를 해당 위치나 목적지와 매칭하는 데 사용하면 된다. 예를 들어 사용자가 "강남 최고의 레스토랑을 보여줘"라는 쿼리를 입력하면 NLP 알고리즘은 사용자가 강남에서 레스토랑을 찾고 있음을 이해하고 관련 옵션 목록을 제공할 수 있다.


반면에 NER은 위치 "강남" 또는 엔터티 "레스토랑"과 같은 검색 쿼리 또는 사용자 입력에서 특정 정보를 추출하는 데 사용하고, 이 정보는 보다 관련성 높은 옵션을 제공하기 위해 검색 결과를 필터링하고 범위를 좁히는 데 사용할 수 있다.


예를 들어 내비게이션 검색 서비스에서 NER을 사용하여 공항, 기차역 또는 관광 명소와 같은 특정 위치를 식별하고 관련 정보를 제공할 수 있다. 사용자가 "가장 가까운 공항"라는 쿼리를 입력하면 NER 알고리즘은 엔터티 "공항"을 추출하고 이를 사용하여 가까운 공항 목록을 제공할 수 있다. 마찬가지로 사용자가 "뉴욕시에서 가장 좋은 관광 명소는 무엇인가"라는 쿼리를 입력하면 NER 알고리즘은 엔티티 "관광 명소"를 추출하고 관련 옵션 목록을 제공할 수 있다.


전반적으로 NLP와 NER는 모두 내비게이션 검색 서비스 분야에서 중요한 모델이지만 서로 다른 용도로 사용되나, NLP는 검색 쿼리 또는 사용자 입력의 의미를 이해하는 데 사용되는 반면 NER는 텍스트 데이터에서 특정 정보를 추출하는 데 사용된다.

1. eland 설치 및 모델 다운로드 방법

git clone git@github.com:elastic/eland.git
cd eland
docker build -t elastic/eland .
docker run -it --rm elastic/eland \
    eland_import_hub_model \
      --cloud-id $CLOUD_ID \
      -u <username> -p <password> \
      --hub-model-id sentence-transformers/msmarco-MiniLM-L-12-v3 \
      --task-type text_embedding \
      --start
POST /_ml/trained_models/sentence-transformers__msmarco-minilm-l-12-v3/deployment/_infer
{
  "docs": {
    "text_field": "how is the weather in jamaica"
  }
}

이후 하기 문서 참고.

https://www.elastic.co/kr/blog/how-to-deploy-nlp-text-embeddings-and-vector-search

 

NLP를 배포하는 방법: 텍스트 임베딩 및 벡터 검색

이 블로그에서는 감정 분석을 예제 작업으로 삼아, 자연어 처리(Natural Language Processing, NLP)를 위한 딥 러닝 모델을 사용하여 시작하고 실행하는 프로세스를 설명합니다.

www.elastic.co

 

https://www.elastic.co/kr/blog/how-to-deploy-nlp-named-entity-recognition-ner-example

 

NLP를 배포하는 방법: 명명된 엔티티 인식(NER) 예제

이 블로그에서는 명명된 엔티티 인식(NER)을 예로 들어 Elasticsearch에서 자연어 처리(Natural Language Processing, NLP)를 위한 딥 러닝 모델을 사용하여 시작하고 실행하는 프로세스를 설명합니다.

www.elastic.co

 

반응형
사업자 정보 표시
라울앤알바 | 장수호 | 서울특별시 관악구 봉천로 13나길 58-10, 404호(봉천동) | 사업자 등록번호 : 363-72-00290 | TEL : 010-5790-0933 | Mail : shjang@raulnalba.com | 통신판매신고번호 : 2020-서울관악-0892호 | 사이버몰의 이용약관 바로가기