전체 글 36

Evaluation Metric

Precision & Recall Evaluation Metric 이해를 위한 기본 개념 - 전체 문서 집합 중 모델이 추출한 문서에 대해 다음과 같은 분류를 할 수 있음 Precision 계산 방식 Precision = TP / Retrieved Documents = TP / (TP + FP) Recall = TP / Relevant Documents = TP / (TP + FN) Accuracy = (TP + TN) / Total Documents = (TP + TN) / (TP + TN + FP + FN) Precision-Recall Curve - Precision과 recall 하나만으로 지표를 삼을 수 없음 현실적인 이슈 - 대규모 문서를 다루는 IR에서는 recall은 큰 의미가 없음 - I..

AI/NLP 2024.04.16

Query-Document Relevance

Boolean 모델 질의는 Boolean 형식으로 표현되고, 문서는 단어들의 집합으로 표현 - Retrieval 모델 중 가장 단순한 검색 모델 - 단어들의 순서 및 중요도를 고려하지 않음 - Boolean 형식으로 표현되는 질의를 통해 조건에 맞는 문서 추출 - AND, OR, NOT과 같은 논리 연산들을 이용해 만들어져 있어 정확한 논리적 의미를 가짐 - 모델은 Boolean 수식을 만족하는 모든 문서를 반환함 Boolean 모델의 특징 및 한계점 - 질의에 자연어를 그대로 사용할 수 없고 Boolean 연산을 위한 문법을 따라야 함 - 단어의 순서 및 중요도를 고려하지 않기 때문에 성능이 낮음 (성능이 낮음 = 추출된 결과에 대해서 랭킹을 멕일 수 없음. 맞다 틀리다의 결과가 나오기 때문. 이로써 ..

AI/NLP 2024.04.16

역색인과 형태소 분석기

문서 색인 색인 (Indexing) - 키워드를 입력했을 때 문서를 빠르고 효율적으로 검색하기 위해 문서 집합을 미리 가공하는 작업 - 문서를 검색어 토큰들로 변환하여 데이터가 빠르게 추출될 수 있는 구조로 저장 - 이때 inverted index. 즉, 역색인 구조를 활용. 검색엔진의 색인 구조 - 역색인 (Inverted Index) - 단어가 key 값이 되고, 그 단어가 존재하는 문서들이 value - 특정 토큰이 어떤 문서와 연관되어 있는지 맵핑되어 있음 - 관련된 문서를 찾는 과정에서 키워드에 해당하는 문서만 추출할 수 있기 때문에 검색 속도가 빠름 역색인을 활용하는 일반적인 색인 단계 1. 텍스트 추출 : 다양한 형식을 가진 문서에서 텍스트를 추출 2. 토큰 추출 : 자연어인 텍스트를 단어 ..

AI/NLP 2024.04.16

[Part1-1] 빅데이터 개요 및 활용 下

데이터 데이터의 구분 - 정량적 데이터 : 주로 숫자 (정형, 반정형 / 객관적) - 정성적 데이터 : 문자와 같은 텍스트 (비정형 / 주관적) 데이터의 유형 - 정형 데이터 : 정해진 형식과 구조에 맞게 저장 - 반정형 데이터 : 형식과 구조 유연. 스키마 정보를 데이터와 함께 제공. 연산 불가능. (JSON, XML, HTML etc) - 비정형 데이터 : 구조가 정해지지 않음. (영상, 문서, 음성 등) 데이터 근원 분류 (가공 여부) - 가역 데이터 : 원본. 변경 이력 추적 가능. (활용 분야 : 데이터 마트, 데이터 웨어하우스) - 비가역 데이터 : 원본과 다른 형태로 재생산. (활용 분야 : 데이터 전처리 ,프로파일 구성) 데이터의 기능 암묵지 : 시행착오, 오랜 경험을 통해 개인에게 체계화..

kakaobrain/pororo install in conda

kakaobrain/pororo # pytorch 1.6이 무조건 선행되어야함. python은 3.6 conda create -n test python=3.6 conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch # pororo git git clone https://github.com/kakaobrain/pororo.git ls cd pororo pip install -e . 필자는 pip install -e . 를 했더니 아래와 같은 오류가 발생하며 실행되지 않았다. ERROR: Command errored out with exit status 1: command: 'C:\Users\SangHyuk\.conda\envs..

AI/NLP 2024.03.20

딥러닝 기반 자연어처리 기초 - RNN, etc

Sequnce to Sequnce Sequnce to sequence 입력된 시퀀스 (문장)을 다른 시퀀스로 변환하는 모델, 인코더 RNN과 디코더 RNN로 구성 자연어 입력 - 인코더 / 자연어 출력 - 디코더 인코더 (Encoder) 입력 시퀀스를 받아들여 고정된 길이의 벡터로 변환. 이 벡터는 입력 시퀀스의 정보를 압축적으로 담고 있음. 이 벡터를 문맥 벡터 (Context Vector)라고 부름. 디코더 (Decoder) 문맥 벡터를 받아들여 출력 시퀀스를 생성 디코더는 문맥 벡터와 이전에 생성한 출력을 기반으로 다음 출력을 생성 auto regressive & auto encoding 보통 auto regressive 방식으로 출력됨. auto regressive의 반대말은 auto encodi..

딥러닝 기반 자연어처리 개괄

딥러닝과 자연언어처리 딥러닝 개요 머신러닝과 딥러닝 인간의 노력이 많이 줄어듦. 규칙 기반과 딥러닝 기반 기계 학습 규칙 기반 모델 적은 양의 데이터로 일반화 기능 결론 도출의 논리적 추론 가능 학습에 필요한 데이터가 비교적 적게 필요 이를 제작한 전문가의 실력을 넘어서기 매우 어려움 해당 전문가의 오류를 동일하게 반복 규칙 구축에 많은 시간과 비용 소요 Toy task에 주로 적용되었음 딥러닝 기반 모델 학습에 사용할 데이터의 질이 좋고 양이 많으면 인간의 실력을 넘어설 수 있음 인간이 생각하지 못한 새로운 방법을 사용할 수 있음 기본적으로 많은 데이터가 필요함 논리적 추론이 아닌 귀납적 근사에 의한 결론 생성 결과에 대한 해석의 어려움 규칙 구축에 많은 시간과 비용 소요 딥러닝 모델의 분류 딥러닝 모..

자연언어처리의 시작 : 텍스트 전처리

텍스트 전처리란? 데이터 분석 단계 데이터 사이언스 관점, NLP 관점, CV 관점 모두에서 "전처리"는 중요함 전처리 : 데이터 사이언스 관점 가장 재미없는 파트 전처리 : 데이터 분석에 있어서 가장 오랜 시간이 걸리 일 즉, 가장 오래 걸리면서 가장 재미없지만 중요한 일 "전처리" 데이터 전처리 방법 초거대 인공지능 시대에도 여전히 유요한 데이터 전처리 논문에 의하면 모델 학습 전 시작 후 4단계에서 전처리가 필요함을 확인할 수 있음. 컴퓨터가 텍스트를 이해할 수 있도록 하는 Data Preprocessing 방법 • HTML 태그, 특수문자, 이모티콘 • 정규표현식 • 불용어 (Stopword) • 어간추출(Stemming) • 표제어추출(Lemmatizing) Preprocessing Pipeli..

[14] CV 모델 성능 높이기

1. 모델 성능 높이는 방법 데이터 Vision 데이터는 전처리 및 가공 방법이 특히 중요한 분야 복잡한 Semantic 정보와 다양한 object들을 동시에 담고 있음 실세계 데이터는 noise가 많이 포함 되어 있음 모델 학습 목표와 데이터, GPU 환경에 따라 적절한 모델 구조와 학습 전략을 선택해야함 Ex 01 ) Task 마다 다른 모델 구조 Ex 02 ) 데이터 양에 따른 transformer-based, CNN-based model 선택 일반적으로 데이터 적을 때, CNN-based model 유리함 Ex 03 ) Overfitting 방지를 위한 학습 scheduling 방법 조절 (Ir, scheduler, steps, epochs, ~ ) 학습, 추론, 평가 특정 task에서 좋은 성능..