반응형

2024/04 152

자연어 처리 python 실습 - 한국어 기계 번역 데이터 수집 및 전처리

IntroductionChapter 8. 기계 번역 (Machine Translation) Task 강의의 한국어 기계 번역 실습 (1) 데이터 수집 및 전처리 강의입니다.이번 실습에서는 (1) 영어-한국어 번역 모델을 학습하기 위한 영어-한글 병렬 코퍼스를 수집하고, (2) 수집한 병렬 코퍼스를 전처리하는 과정을 진행해보겠습니다.이번 강의에서는 번역 모델의 입/출력을 만들기 위해 자주 사용되는 여러가지 자연어 전처리 기술을 소개하며, 특히, 원본 언어의 문장(Source)을 입력으로 받고, 타겟 언어의 번역 결과(Target)을 출력하는 번역 모델의 특징에 맞춰 실습을 진행합니다.1. 문장 전처리기 만들기영어-한국어 병렬 코퍼스는 Source, Target 각각 하나의 문장으로 이루어져 있습니다.영어-..

자연어 처리 기계 번역 - 딥러닝 기반 기계 번역 연구 동향, 발전 방향

목표 - 딥러닝 기반 기계 번역 작업의 연구 동향 및 발전 방향1. 저자원 언어의 번역 수준 개선2. 데이터 증강 (저자원 언어, 더 많은 데이터, 부족한 데이터 증강), 새로운 단어에 대한 대응3. 임의의 언어에 대한 대응, 비슷한 특징을 가지는 언어를 같이 학습하면 이점을 가진다.4. 딥러닝 기반 기계번역의 한계점 분석하고, 해결하기! ACL - 자연어 처리 학회내가 실제 사용할 때 잘못되었다면 바로잡아 줄 수 업다. -> 오차가 전파되면 완전히 잘 못 번역될 수 있다.노출 편향 - 학습환경에 편향이 있다.학습 환경에서도 실제 환경과 유사하게 주어줘보기j번째 만들 때 j-1번 째 출력을 기반으로 만든다.  -> 잘 못된 출력을 입력하면 오차가 커질 것이다.정답 단어를 쓴다 - teacher forci..

자연어 처리 기계 번역 - 딥러닝 기반 기계 번역

목표 - 딥러닝 기반 기계 번역의 목적과 작동 원리 이해하기2,3년 안에 급속도로 발전되어 Chat GPT도 등장하였다.발전 과정을 보면서 핵심, 한계점 등을 봐보자!Seq2seq -> attention -> self-attention(transformer)이게 Seq2Seq아닌가...?통계 기반을 개선하기 위해서 인코더 디코더 구조가 나왔다.앞선 논문은 그저 인코딩이었다면 여기선 word embedding이 진행된다.문장을 입력과 출력으로 받게 되어 기계 번역에 유용하게 사용되었다.통계 기반을 압도적으로 이긴 것은 attention 메커니즘 도입 이후이다.입력문장의 정보를 출력할 때 마다 사용되는 구조이다.양방향 - ELMo나 BERT처럼 문맥을 양방향으로 확인했따.생성할 때 활용할 수 있는 정보의 양..

자연어 처리 기계 번역 - 규칙, 통계 기반 기계 번역

목표 - 전통적인 통계 기반 기계 번역의 작동 원리와 한계점에 대해 이해!규칙에 따라 단어 수준으로 번역한다.각각을 고려하든 전체를 고려하든 이런 규칙을 기반으로 단어를 출력했다.점점 추상화 시키면서 변환한다. 인코더, 디코더 구조와 같아지는 느낌이네요attention이 없었기 때문에 단어 간 의미 상관관계는 거의 없겠죠규칙이 굉장히 많으면 단어 수준에서 좋을 수 있다.예제 기반 ( 코퍼스 기반) 단어 사전을 구축한다.뉴스는 정형화 되어 있다. -> 단어의 빈도가 비슷하다.sns -> 노이즈가 엄청 심해서 구축이 잘 되지 않는다. -> DKvec통계량 기반이기 때문에 빈도가 달라버리면 엉망으로 만들어질 가능성이 높다. -> 품질 좋은 단어 사전 만들기 어렵다.예외 처리에 취약하다.원본언어 -> 추상화 -..

자연어 처리 기계 번역 - 병렬 학습 데이터셋 수집

임베딩 과정에 대해 다시 한번...Transformer 모델에서 문장을 처리하는 과정은 다음과 같은 여러 단계를 포함합니다:1. 토큰화(Tokenization)먼저, 입력되는 문장을 작은 단위로 분해해야 합니다. 이 작은 단위를 토큰이라고 하며, 토큰은 단어나 서브워드(subword) 단위일 수 있습니다. 서브워드 토큰화는 일반적으로 Byte Pair Encoding (BPE)나 SentencePiece와 같은 알고리즘을 사용하여 수행되며, 이는 자주 사용되는 문자열을 하나의 토큰으로 결합합니다. 이러한 접근 방식은 언어의 유연성을 높이고 OOV 문제를 줄이는 데 도움을 줍니다.2. 임베딩(Embedding)토큰화된 각 토큰은 임베딩 과정을 거쳐 고정된 크기의 벡터로 변환됩니다. 이 벡터는 해당 토큰의 ..

자연어 처리 기계 번역 - 기계 번역이란?

목표 - 대표적인 자연어 처리 task인 기계번역 작업의 목표를 이해하자!seq2seq나 transformer도 기계번역을 반전하기 위해 나온 것!전문적인 번역가한테 기계번역이 좋은 프로토 타입이 되어 생산성 향상에 도움이 될 수 있다.통계 기반 - TF, TF-IDF 등등...컴퓨터가 언어를 분석해서 알아서 이해해야 한다!통계 기반이기 때문에 규칙 기반보다는 더 나은 방식이었다.통계량을 뽑아내기 힘들다 -> 성능이 떨어진다......딥러닝 기반의 기계 번역 시스템에서 학습하지 않은 단어, 즉 "out-of-vocabulary" (OOV) 단어에 대한 처리는 중요한 문제 중 하나입니다. FastText와 같은 도구를 사용하여 단어의 부분적인 정보를 학습하는 것 외에도, 몇 가지 다른 접근 방법이 있습니다..

모두를 위한 머신러닝 중간고사

1. 머신러닝 기법을 사용하는 것이 적합하다고 생각되는 컴퓨터 응용분야의 예시 2가지를 고르시오.하나 이상을 선택하세요.문단의 주제를 나타내는 토픽 문장 추출하기데이터베이스 관리하기계산기 프로그램 작성하기신청자의 신용상태를 고려하여 융자를 승인할 것인지 결정하기계산기와 같은 프로그램은 그냥 프로그램으로 만든게 훨씬 빠르고 간편하다. 데이터 베이스 관리도 머신러닝이 하기엔.....머신러닝 기법을 사용하는 것이 적합한 컴퓨터 응용분야의 예시로는 다음 두 가지를 선택할 수 있습니다:문단의 주제를 나타내는 토픽 문장 추출하기 - 이 경우, 머신러닝은 다양한 텍스트 데이터에서 중요한 주제나 개념을 식별하고, 그와 관련된 핵심 문장을 추출하는 데 사용될 수 있습니다. 자연어 처리(Natural Language Pr..

인공지능/공부 2024.04.25

딥러닝 개론 중간고사

기억이 나는 것만 작성..OX 문제 - 10문제batch normalization은 활성화 함수 전에 해도 되고, 지나고 해도 된다.- O오버 피팅을 해결하기 위해서는 히든 레이어를 추가하고, 노드를 늘린다 - X점별 Convolution을 사용하면 activation map의 사이즈가 그대로이다. - 사이즈에서 채널을 포함 시켜야 할지 아닐지 고민하다가 사이즈는 포함 안될거 같아서 O...그룹 Convolution에선 GPU를 따로 할당해야한다. - AlexNet이 GPU 각각 할당이 필요하지 그룹 콘볼루션이 무조건 GPU따로 할당은 아닐꺼라 생각해서 X... backpropagation 손 계산인데 그냥 개념만 알면 풀 수 있도록 나왔음 인풋 주어주고, parameter랑 bias 맞추기  activ..

인공지능/공부 2024.04.25

딥러닝개론 중간고사 예측

이번엔 역순으로 Convolution부터 진행하겠씁니다... 첫 단원부터 보려니까 너무 지겨웟Convolution만해도 나올게 너무 많아보이는데....max 위치만 살려서 보내고 아니었던 곳에는 0을 보냅니다. 그럼 그쪽은 다 업데이트가 안되겠지만 뭐 결과에 영향도 못 줬으니까요,...이 그림은 컨볼루션 신경망에서의 역전파(backpropagation) 단계를 시각화한 것입니다. 컨볼루션 신경망의 학습 과정에서 가중치(weights)를 업데이트하기 위해, 그라디언트(오차 신호)를 사용하는 방법을 보여주고 있습니다. 각 단계를 상세하게 설명해보겠습니다.순전파 (Forward Pass)컨볼루션 레이어: 입력 (a)에 컨볼루션 커널(필터)를 적용하여 활성화 맵(Activation map)을 생..

인공지능/공부 2024.04.24

생성형 인공지능 입문 중간고사

언어 모델을 생성할 때 필요한 기본 단계 중 하나가 아닌 것은 무엇입니까?하나를 선택하세요.a. 데이터셋 선택b. 입력 텍스트 사전 처리c. 모델 평가d. 인터페이스 디자인인터페이스는..... 일단 언어모델 다 만들고 합시다.언어 모델을 생성할 때 기본적으로 필요한 단계에는 데이터셋 선택, 입력 텍스트의 사전 처리, 그리고 모델 평가가 포함됩니다. 이 세 가지 단계는 모델이 언어를 어떻게 이해하고 생성할지를 결정하는 데 중요한 역할을 합니다.a. 데이터셋 선택: 모델이 학습할 데이터를 결정합니다. 이 단계에서는 대량의 텍스트 데이터를 수집하고, 해당 데이터가 모델의 용도에 적합한지 평가합니다.b. 입력 텍스트 사전 처리: 텍스트를 모델이 처리할 수 있는 형태로 변환합니다. 이 과정에는 ..

인공지능/공부 2024.04.24
728x90
728x90