전체 글

전체 글

    [실습] 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..

    [이론] Elasticsearch 형태소 분석기

    Cluster Elaster search cluster는 분산처리 아키텍처이다. 외부에서 바라보면 하나의 서비스이지만 실제로는 안에 여러 개의 entity가 들어있다. Elasticsearch의 resource는 다음과 같다. CPU, Memory, Disk 위에 세 가지가 Elasticsearch 서비스를 운영한다. Elasticsearch lcuster 안에는 여러 개의 node가 들어있다. Index & Cluster Index : 데이터를 저장하는 단위 이는 분산처리 아키텍쳐에서 분산되어 저장된다. 하나의 인덱스는 여러 개의 Shard로 구성되어 있다. Shard 레벨로 각각의 node 안에 저장된다. Replica Shard : 이렇게 해야 특정 node가 죽었을 때도 다른 node의 Repli..

    [실습] Elastic APM 사용하여 접속 기록 수집하기

    실습 개요 Elastic의 APM 기능을 사용하여 접속 기록을 수집하고 그 결과를 확인할 수 있다. 1. EC2 서버에서 설정하기 (1) EC2 서버를 연결한다. (2) nodejs를 설치한다. sudo yum instal nodejs (3) test page를 작성한다. /home/ec2-user 위치에서 작성해야 하며 이는 pwd 명령어로 확인 가능하다. vi app.js const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello, World!\n'); }); const po..

    [실습] Elastic으로 데이터 시각화 하는 방법 (Visualize Library, Dashboard)

    실습 개요 Elastic의 기능을 이용하여 데이터를 시각화 한다. Metric을 이용해 시각화하기 (1) Visualize Library 에 접근하여 Create new visualization을 클릭한다. Aggregation based와 Metric을 선택한다. (2) 대상으로 할 데이터를 선택한다. (3) 특정 필터를 걸어 등장 횟수를 확인할 수 있다. (4) Save를 하여 Title과 dashboard를 설정한다. (5) Visualize Library에 방금 Save한 것을 확인할 수 있다. Bucket을 이용해 시각화하기 (1) 다시 Create visualization을 클릭한다. Aggregation > Vertical Bar 선택 > 대상이 되는 데이터를 선택한다. (2) Buckets..