Cloud/ElasticSearch

    [실습] ChatGPT로 Elastic Docs Chatbot 만들기

    ElasticDocs GPT 로직 UI를 통해 사용자가 질의를 입력한다. Elastic 하이브리드에 검색을 요청한다. 영문 데이터를 수집하여 elasticsearch에 저장하고 vectorization을 하여 학습한다. 문서 본문과 URL을 반환한다. Open API Chat Completion에서 API를 호출하낟. 도메인 지식을 활용한 답변을 반환한다. Python에서 생성된 응답을 출력한다. 준비물 ML 노드가 활성화 된 Elastic Cloud 계정 Search용 크롤링 인덱스 Open API key Elastic Cloud에 준비된 모델 1. 수집 준비 하기 데이터 크롤링은 Elastic crawler을 사용하였다. (1) Integrations > web crawler 에서 index를 생성한..

    [실습] Elasticsearch NLP - Sentiment Analysis 하기

    1. 데이터 올리기 2. Eland와 Elasticsearch 연동하기 3. Huggingface에서 모델 선택해 탑재하기 4. 확인하기 [실습] Elasticsearch NLP - Text Embedding과 KNN search 하기 — y-seo의 딩코 기록들 (tistory.com) [실습] Elasticsearch NLP - Text Embedding과 KNN search 하기 개요 목표 : ElasticSearch에서 NLP를 적용할 수 있다. 순서 Elastic에 데이터를 올린다. Eland와 Elastic을 연동한다. Huggingface에서 모델을 선택해 탑재한다. 1. Elastic에 데이터 올리기 (1) Machine Learning > Data V y-seo.tistory.com 위 ..

    [실습] Elasticsearch NLP - Text Embedding과 KNN search 하기

    개요 목표 : ElasticSearch에서 NLP를 적용할 수 있다. 순서 Elastic에 데이터를 올린다. Eland와 Elastic을 연동한다. Huggingface에서 모델을 선택해 탑재한다. 1. Elastic에 데이터 올리기 (1) Machine Learning > Data Visualizer 에 접근하여 데이터 파일을 선택한다. (2) 데이터를 수정 없이 그대로 import 한다. (3) Dev Tools의 Console에서 잘 데이터가 올라갔는지 확인할 수 있다. GET {인덱스명}/_search 추가로 해당 실습을 위해 Elastic Cloud 권한 설정을 한다. (4) Elastic Cloud ML node 설정하기 자신의 Elastic Cloud Deployment > Edit에서 Ma..

    [개념] Elastic NLP

    NLP의 개념 (1) NLP가 하는 일 Low level parsing Tokenization : 문장 분리 stemming : 어근 추출 Word and phrase level NER : 고유 명사 인식 POS tagging : 형태소 분석 noun phrase chunking : 명사구 단위 분리 dependency parsing : 의존 구조 분석 coreference resolution : 참조 관계 분석 Sentence level sentiment analysis : 감정 분석 machine transiation : 기계 번역 Multi sentence and paragraph level entailment predinction : 모순 관계 예측 question answering : 질의 응답..

    [실습] Elasticsearch에서 Machine Learning 사용하기

    실습 개요 Elasticsearch가 제공하는 machine learning 기능을 사용해본다. 목록 Anomaly Detection Population Detection Outlier Detection supervised learning & prediction 1. 시계열 데이터에서 Single Metric으로 이상징후 탐지하기 & forecating하기 (1) Machine Learning > Anomaly Detection > Create job 에 접근한다. job은 머신러닝 모델을 의미한다. (2) 데이터셋 선택 > Single metric 선택 > Use full data 클릭한다. 이번 실습에서는 single metric을 선택한다. (3) field를 선택한다. y축을 선택하는 것이다. 본..

    [개념] Elasticsearch에서의 Machine Learning

    Elasticsearch에서의 Machine Learning 기능 Anomaly Detection : 시계열 데이터의 이상징후 탐지 Data Frame Analytics : 이상징후 탐지 Outlier Detection : 비시계열 데이터의 이상징후 탐지 Classification : 분류 Regression : 회귀 Model Management : 외부에서 학습한 모델을 서빙 Anomaly Detection과 Outlier Detection은 Unsupervised Learning이다. Classification과 Regression은 Supervised Learning이다. 시계열 데이터의 Anomaly Detection 학습 하는 것을 그래프로 나타낸다. x축은 시간축으로 고정되고 y축을 우리가 ..

    [실습] Elasticsearch Query 사용하기

    1. Elasticsearch Bool Query 사용하기 (1) must 조건 사용하기 GET nori_sample/_search { "track_total_hits": true, "query": { "bool": { "must": [ { "match": { "document": "겨울" } } ] } } } (2) match_phrase_prefix 사용하기 GET nori_sample/_search { "track_total_hits": true, "query": { "bool": { "must": [ { "match_phrase_prefix": { "document": "겨" } } ] } } } (3) should과 minumum_should_match 조건 사용하기 GET nori_sample..

    [개념] Elasticsearch Query (Query DSL, Aggregation)

    [ search API ] Elasticsearch 는 search API를 사용하여 검색 기능을 지원한다. search API는 query dsl와 aggregation 2가지로 구성되어 있으며 아래 공식 문서에서도 확인할 수 있다. Query DSL | Elasticsearch Guide [8.11] | Elastic Query DSL | Elasticsearch Guide [8.11] | Elastic Elasticsearch provides a full Query DSL (Domain Specific Language) based on JSON to define queries. Think of the Query DSL as an AST (Abstract Syntax Tree) of queries, ..

    [실습] Elasticsearch로 inverted index 추출하기, reindex 하기

    실습 개요 목적 : 데이터셋에 검색을 했을 때 내가 원하는 내용만 나올 수 있도록 튜닝하기 제목 : Elasticsearch를 사용하여 데이터로부터 적절한 inverted index를 추출한다. 1. Elasticsearch에 data 넣기 (1) Elasticsearch에 로그인한다. (2) Machine Learning > File 에 접근하여 데이터를 import한다. (3) Discover 메뉴에서 방금 추가한 데이터셋을 선택하면 내용을 볼 수 있다. 2. Inverted Index 확인해보기 (1) DevTools > Console에 접근한다. (2) analyze API를 이용해 테스트한다. POST /_analyze { "text" : "The quick brown fox jumps over..