Artificial_Intelligence/Natural Language Processing(32)
-
Decoding 기법 정리
- Greedy Search - 현재 단어 다음에 나올 단어 후보 중 가장 확률이 높은 것 선택 - (장점) 비교적 간단한 알고리즘 - (단점) 동어 반복 현상 발생 - (단점) 현재 시점 바로 다음 단어만 고려. - Beam Search - 현재시점 이후 여러 step의 단어 조합을 keep 해놓고 해당 확률을 곱하여 점수를 내고 다른 조합과 비교하여 가장 높은 것 선택 - (장점) 뒤에 나올 확률이 높은 단어를 선택하여 좀 더 좋은 문장 생성 - (단점) 연산속도 증가 - (단점) 반복문제 여전히 존재 → n-gram(연속된 단어 개수 허용범위) 사용 - num_beams → Beam Search에 쓰이는 beam의 개수 - no_repeat_ngram_size → 특정 n-gram이 생성문장 내에서..
2024.03.28 -
간단한 자연어 분석
1. 각 라벨별 가장 많이 나오는 단어 찾기 from collections import Counter import pandas as pd df = pd.read_csv('train.csv') uniqueLabel = df['label'].unique() for Label in uniqueLabel: temp_df = df[df['label'] == Label] words = ' '.join(temp_df['sentence']).split() word_counts = Counter(words) most_common_word = word_counts.most_common(5) print(f"'{Label}'에서 가장 많이 나오는 단어: {most_common_word}") 2. 각 라벨 별 분포도 체크 im..
2024.01.05 -
Transformer_Encoder (트랜스포머 인코더 쉽고 자세하게 설명하기)
오늘은 트랜스포머의 인코더 부분을 쉽게 설명하고자함. 많은 사람들이 트랜스포머의 기법에 대해서 물어보면 "Self-attention 기법 사용... 특정 단어에 포커싱.." 혹은 "Q,K,V 사용해서...조합해서 가중치주는 기법..." 정도로만 대답함. 실제 어떤 식으로 돌아가는지 쉽고 자세하게 설명하기 위해 본 포스팅을 진행함. 애매하게 아는 분 환영 트랜스포머의 인코더 레이어는 그림에서 보이다 싶이 크게 3가지로 나눠볼 수 있음. - 멀티헤드 셀프어텐션 - 포지셔닝 와이즈 피드포워드 뉴럴네트워크 - 에디션 앤 레이어 노말리제이션 한글로 쓰니 형편없어 보이긴 하지만 그냥 넘어가겠음. 일단 입력 문장이 모델에 입력되면 > 포지셔닝 인코딩을 통과 > 벡터화(각 단어의 위치정보가 포함)된 입력 문장이 들어옴..
2023.04.28 -
[논문리뷰] CNM: An Interpretable Complex-valued Network for Matching
양자역학을 간단하게 공부하였었습니다. 이를 어느정도 이해한 다음 양자컴퓨팅, 양자AI에 대해서 관련된 여러 논문들을 찾아보고 공부하였는데, 자연어를 양자역학과 융합한 논문이면서 동시에 NAACL에서 Award받은 논문이라 읽게 되었습니다. Paper Description 제목 : CNM: An Interpretable Complex-valued Network for Matching 저자 : Li et al. Date : 2021.06 인용수 : 53 Publisher : Association for Computational Linguistics Venue : NAACL(North American Chapter of the Association for Computational Linguistics) Awa..
2022.12.27 -
[논문리뷰] Emoberta: Speaker-aware emotion recognition in conversation with roberta
Kim, Taewoon, and Piek Vossen. "Emoberta: Speaker-aware emotion recognition in conversation with roberta." arXiv preprint arXiv:2108.12009 (2021). introduction 감정 인식의 범위는 표정, 음성,텍스트 등 매우 넓음. 본 논문에서는 감정 인식의 하위 분야인 대화에서 감정 인식( ERC)에 중점을 둠. ERC는 한사람 또는 그 이상의 사람과 대화에 참여하는 현재 화자의 감정을 예측하는 것 감정을 인식하는 것은 감성 컴퓨팅 및 인간-로봇 통신과 같은 분야에서 중요. 인간은 대화(시각, 음성 등)을 하기위해 여러 감각 입력을 사용함 따라서 ERC 작업에는 여러 양식(시각, 오디오, 텍스트..
2022.12.11 -
감정을 녹인 KoGPT 기반 챗봇 제작
주제 : 중고등학생을 위한 학과 교수님 인터뷰 챗봇 의의 : 대학 진학 전, 유용한 정보를 얻을 수 있음! 결과 미리보기 : 학습에 필요한 데이터셋 : 학과의 개수는 총 320개가 있으며, 평균 질의응답 개수는 11쌍, 최대 19쌍 까지 이어집니다. 데이터셋의 대표 질문: 1.교수님께서 전공 선택한 동기이 무엇인가요 2.어떤 분야에 관심 갖는 사람이 이 학과로 오면 좋을까요 3.이 학과에서 가장 중요한 공부는 어떤 내용인가요 4.이 학과에서 공부 잘할려면 중고등학생때 어떤 교과목을 공부하면 좋은가요 5.이 학과의 장점은 뭔가요 6.이 학과의 학생들이 겪는 어려움은 뭔가요 7.학과 졸업생이 가장 많이 진출하는 직업분야는 어느 곳인가요 8.학과의 앞으로의 전망은 어떤가요 9.지금은 없지만 앞으로 새로 생기게..
2022.12.11 -
[논문리뷰] GPT Understands, Too
Liu, Xiao, et al. "GPT understands, too." arXiv preprint arXiv:2103.10385 (2021). NLU Task에서 약함을 보여주었던 GPT가 BERT 계열을 이긴 P-Tuning에 대한 논문입니다. 이를 이해하기 위해서 그동안의 자연어 이해 연구 흐름에 대해서도 설명합니다.
2022.10.25 -
[논문리뷰] FEDNLP, Federated Distillation of Natural Language Understanding with Confident Sinkhorns
Lin, Bill Yuchen, et al. "Fednlp: Benchmarking federated learning methods for natural language processing tasks." arXiv preprint arXiv:2104.08815 (2021). Abstract 자연어 처리(NLP) 작업을 위한 개인 정보 보호, 분산형 학습 방법에 대한 연구가 필요 NLP 작업에 대한 FL 방법 연구에 대한 관심에도 불구하고 문헌에는 체계적인 비교 및 분석이 부족 텍스트 분류, 시퀀스 태깅, 질문 답변 및 seq2seq의 네 가지 작업 공식에 대한 연합 학습 방법을 평가하기 위한 벤치마킹 프레임워크인 FedNLP를 제시 Motivate FL 영역의 발전에도 불구하고 NLP에 대한 연구와 적용..
2022.10.25 -
[논문리뷰] Federated split bert for heterogeneous text classification
Federated split bert for heterogeneous text classification Lit, Zhengyang, et al. "Federated split bert for heterogeneous text classification." 2022 International Joint Conference on Neural Networks (IJCNN). IEEE, 2022. Abstract 연합 학습 설정에서 BERT를 조사한 몇 가지 연구가 있지만 클라이언트에 대한 이기종(예: 비 IID) 데이터로 인한 성능 손실 문제는 아직 제대로 조사되지 않음. 이 문제를 해결하기 위해 BERT 인코더 계층을 로컬 부분과 전역 부분으로 분할하여 이종 데이터를 처리하고 통신 비용을 줄이는 프레임워크인..
2022.10.25 -
To be uploaded Papers list
Liu, Xiao, et al. "P-Tuning: Prompt Tuning Can Be Comparable to Fine-tuning Across Scales and Tasks." Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers) . 2022. P-tuning Ver.2에 관한 논문이고, 모델 scale이나 NLU Task에 관련없이 최적화된 Prompt 구조 제시 Masked Language Modeling 뿐만 아니라 Classification에서 적용 가능해짐 Deep Prompt Tuning 구조 채택 모든 레이어에 Continuous promp..
2022.09.24 -
Recent Natural Language Paper Flows
자연어 논문의 흐름도 이전까지 자연어처리는 기계학습에서 RNN의 등장으로인해 점차 딥러닝으로 들어가게 되었음. RNN 순환신경망에서 vanishing gradient 문제가 있어서, 기억shell을 추가한 LSTM이 나왔으며, 그뒤로 GRU도 쓰고 하다가 트랜스포머가 나온 뒤로부터 얘가 이전까지의 성능을 다 이겨버려서 자연어처리의 흐름은 트랜스포머 모델을 기반으로 한 연구가 많아졌음. Attention Is All You Need Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017). 어텐션 기법 소개 → 트랜스포머 모델 On. NLP 분야에서 전설의 시작 ..
2022.09.22 -
[논문구현]Self-Explaining Structures Improve NLP Models
Sun, Zijun, et al. "Self-explaining structures improve nlp models." arXiv preprint arXiv:2012.01786 (2020). 현재 자연어 추론부분에서 상위 부분을 차지하고 있는 논문이다. 처음 Pre-print라는 것을 확인했을 때 꼬름한걸 알아차렸어야했는데, 여러 대회에서도 본 논문의 기법을 사용한 방법도 많고, 점수도 높게나와서 좋은 방법이구나 하였다. 학회에 등록 안된걸 무시하면 안되었다.. 논문 그대로 직접 구현해보니 Base 모델보다 성능이 더 안좋다. 이 기술 사용한다고 몇주날린지 모르겠다.. 부들.. 내가 잘못한건지, 논문에서 구라친건지 모르겠지만... 꼬름한점이 한둘이 아니다. 일단 서론은 여기까지하고 Abstract 1...
2022.09.17 -
[논문리뷰]Are Prompt-Based Models Clueless?
Kavumba, Pride, Ryo Takahashi, and Yasuke Oda. "Are Prompt-based Models Clueless?." arXiv preprint arXiv:2205.09295 (2022). 2022년도 5월에 ACL에서 나온 논문입니다. 주제는 Prompt-based Models도 Superficial Cues를 사용하는지, 사용한다면 악용하여 일반화 성능이 떨어지게 만들지는 않는지 분석하여 확인하는 논문입니다. (참고자료) DiceLab SangHun Im
2022.08.29 -
[DACON] 데이콘 쇼핑몰 리뷰 평점 분류 경진대회
자연어 추론쪽을 연구하면서, 진행중인 실험이 막혀서 잠깐 환기시킬겸 자연어 대회를 찾아봤었다. 캐글에서 진행중인 XNLI 대회, 한국 DACON에서 진행하는 평점 분류 대회 두가지를 찾아서 이를 진행해 보았다. 일단 이 대회를 찾았을 당시에 마감이 D-1이라 다른 기법을 사용하지는 못했고, 빠르게 제출하기 위한 베이스모델만 사용하여 대회에 참가하였다. 대회 참여 인원은 549명 정도였고, 1등의 점수는 0.71312 였다. 그리고 하루 투자해서 제출한 내 점수는 0.68888로, 1등과의 정확도 차이가 0.02432(약 2.4%) 차이였다. 베이직 대회인데 탑10도 못해서 현타가 오긴 했지만, 그래도 빠르게 제출할 수 있다는 거에 의의를 두었다. 처음에는 일단 한국어 커스텀 토크나이저를 만들어서 사용하기..
2022.08.09 -
Studying natural language models from the beginning
자연어 모델을 이해했는지 확인 + 공부를 위한 필기 노트입니다. 1. 단순 신경망 2. RNN 3. LSTM 4. GRU 5. Seq2Seq (Sequence to Sequnece) 6. Attention Mechanism 7. 교사 학습 (Teacher Forcing) 8. Beam Search Algorithm 9. Transformer (Encoder, Decoder) 10. BERT 11. RoBERTa 12. ALBERT 13. Embedding / Encoding 14. Knowledge Distillation 15. Self-Explaning 16. Sentence BERT
2022.07.26 -
학부 졸업 기념, 개념 다시 되짚어보기
인스타보다가 보이저엑스라는 회사에서 인공지능 및 프로그래밍 관련해서 기술질문 써놨길래 지금까지 공부했던 기억을 바탕으로 리프레쉬할겸 한번 풀어보았다. 프로그래밍 인턴 질문 (프로그래밍 질문: 15개) PNG와 JPG의 차이점은? PNG → 비손실압축 (원본 훼손X) JPG → 손실압축 (원본 훼손O) JPEG → 사람이 모를정도로만 원본 훼손(압축효과극대화알고리즘) Dynamic Programming이란? 동적계획법, 큰문제를 작은문제로 나눠 푸는것. 복잡한 문제 나오면 여러개의 서브 문제로 나눠서 푸는데, 부분 반복 문제와 최적 부분 구조를 가지고있는 알고리즘 풀 때 사용. 부분 반복 문제→어떤 문제가 여러개의 부분문제로 쪼개질 수 있는 문제 (ex. N번째 피보나치 수 구하기 → N-1번쩨 / N-2..
2022.07.11 -
[논문리뷰] It’s Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners
Schick, Timo, and Hinrich Schütze. "Exploiting Cloze-Questions for Few-Shot Text Classification and Natural Language Inference." Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: Main Volume. 2021. Schick, Timo, and Hinrich Schütze. "It’s Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners." Proceedings of the 20..
2022.07.11 -
Text Similarity, Semantic Similarity
텍스트 유사도 코사인 유사도 (Cosine Similarity) -> 두 개의 벡터 값의 Cos 각도 유클리디언 유사도 (Euclidean Similarity) -> 두 개의 점 사이의 거리 = L2 거리 맨하탄 유사도 (Menhattan Similarity) -> 사각 격자 최단 거리 = L1 거리 자카드 유사도 (Jaccard Similarity) -> 교집합과 합집합의 크기로 계산 두 문장이 주어졌을 때, 두 문장이 서로 얼마나 유사한지 나타내주는 기법 아래에서 입력값으로 받는 Sentences는 ["Hello World", "Hello Word"] 형식이다. ### 코사인 유사도 ### def cos_performance(sentences) : tfidf_vectorizer = TfidfVecto..
2022.06.02 -
Count-Base Word Representation
카운트 기반의 단어 표현이란 어떤 글의 문맥 안에 단어가 동시에 등장하는 횟수를 세는 방법입니다. 동시 등장 횟수를 하나의 행렬로 나타낸 뒤, 그 행렬을 수치화해서 단어 벡터로 만드는 방법을 사용하는 방식입니다. 텍스트를 위와 같은 방식으로 수치화하면, 통계적인 접근 방법을 통해 여러 문서로 이루어진 텍스트 데이터가 있을 때 어떤 단어가 특정 문서내에서 얼마나 중요한 것인지를 나타내거나, 문서의 핵심어 추출, 검색 엔진에서 검색 결과의 순위 결정, 문서들 간의 유사도 등의 용도로 사용가능합니다. 각 단어에 1번, 2번, 3번 등과 같은 숫자를 맵핑(mapping)하여 부여한다면 이는 국소 표현 방법에 해당됩니다. 반면, 분산 표현 방법의 해당 단어를 표현하기 위해 주변 단어를 참고합니다. puppy(강아..
2022.03.22 -
Natural Language Processing with Disaster Tweets
Natural Language Processing with Disaster Tweets Predict which Tweets are about real disasters and which ones are not https://www.kaggle.com/c/nlp-getting-started Natural Language Processing with Disaster Tweets | Kaggle www.kaggle.com NLP 공부를 하면서 초기 논문부터 하나씩 보면서 작성해보고, 최신 트렌드를 공부해가면서, 직접 데이터 처리부터 모델을 돌려보고, 자연어를 어떻게 처리하는지 과정을 직접 경험해 보고 싶었다. 즉, NLP 모델을 돌리기 위한 직접 코딩을 하고 싶었다. 기존에 BERT Model을 공부하면서 ..
2022.02.28 -
New NLP Trands
Timkey, W. and van Schijndel, M. (2021) → Rogue(작은 몇개의 차원) 개념 제안. → rogue가 모델을 좌우하니, 이를 제어하는 postprocessing 테크닉 제안 Paik, C., Aroca-Ouellette, S., Roncone, A., and Kann, K. (2021) → CoDa(사람이 인지 가능한 색을 구분하기 위한 데이터) 구성 → PLM의 한계 지적. (병백하게 딱 이거다! 라고 말하는 사람x. 텍스트만으로는 이러한 데이터를 인지하는 것에 부족함 발견. 따라서 다양한 형태의 데이터를 언어 모델에 적용하는 방법 탐구 Kalyan, A., Kumar, A., Chandrasekaran, A., Sabharwal, A., and Clark, P. (20..
2022.02.28 -
[논문리뷰]Efficient Estimation of Word Representations in Vector Space
2022.02.20 - [Artificial_Intelligence/Papers] - [논문리뷰]Distributed Representations of Words and Phrases and their Compositionality [논문리뷰]Distributed Representations of Words and Phrases and their Compositionality ㄴDistributed Representations of Words and Phrases and their Compositionality Mikolov, Tomas, et al. "Distributed representations of words and phrases and their compositionality." Advance..
2022.02.20 -
[논문리뷰]Distributed Representations of Words and Phrases and their Compositionality
Distributed Representations of Words and Phrases and their Compositionality Mikolov, Tomas, et al. "Distributed representations of words and phrases and their compositionality." Advances in neural information processing systems 26 (2013). Abstract (Eng.) The recently introduced continuous Skip-gram model is an efficient method for learning high-quality distributed vector representations that cap..
2022.02.20 -
[논문리뷰]A Neural Probabilistic Language Model
A Neural Probabilistic Language Model Bengio, Yoshua, Réjean Ducharme, and Pascal Vincent. "A neural probabilistic language model." Advances in Neural Information Processing Systems 13 (2000). NPLM은 단어를 임베딩하여 벡터로 바꾸는 과정에서 신경망 기반의 기법을 제시하여 향후 Word2Vec으로 가는 기반이 되었다고한다. 간단하게 학습 데이터에 존재하지 않는 n-gram이 포함된 문장이 나타날 확률을 0으로 매긴다 n을 5이상으로 설정하기 어렵기 때문에 문장의 장기 의존성을 포착해내기 어렵다. 단어/문장 간 유사도는 고려 하지 않는다. neural n..
2022.02.20 -
한국어 문서 요약 표현 논문 정리
1) 추출적 요약(extractive summarization) 추출적 요약은 원문에서 중요한 핵심 문장 또는 단어구를 몇 개 뽑아서 이들로 구성된 요약문을 만드는 방법입니다. 그렇기 때문에 추출적 요약의 결과로 나온 요약문의 문장이나 단어구들은 전부 원문에 있는 문장들입니다. 추출적 요약의 대표적인 알고리즘으로 머신 러닝 알고리즘인 텍스트랭크(TextRank)가 있습니다. 2) 추상적 요약(abstractive summarization) 추상적 요약은 원문에 없던 문장이라도 핵심 문맥을 반영한 새로운 문장을 생성해서 원문을 요약하는 방법입니다. 마치 사람이 요약하는 것 같은 방식인데, 당연히 추출적 요약보다는 난이도가 높습니다. 이 방법은 주로 인공 신경망을 사용하며 대표적인 모델로 seq2seq가 있..
2022.02.10 -
DBLP DataSet Processing / 대용량 Json 파싱
그래프 임베딩을 공부하기 위한 DataSet으로 DBLP로 정하고 이를 가져와보았다. https://www.aminer.org/citation AMiner www.aminer.org 이 곳에 들어가서 이 데이터를 가져와서 다운로드를 받았다. 그런데 문제는 이 데이터를 가져와서 전처리를 해야하는데 용량이 16.1GB 이다.. 웬만한 에디터로 열리지도 않는 데이터를 처리해야해서 막막했었다. 그래서 생각한 것이 데이터를 용량을 정해서 자르고, 자른 코드를 수작업으로 조금만 손봐주자고 생각하였다. 내가 사용한 프로그램은 GSplit 3 이다. 여기서 가져온 DBLP Json파일을 가져와서 1GB씩 먼저 잘랐다. 이렇게 되면, 딕셔너리로 자르는 것이 아닌 용량으로 자르기에 Json 형식이 깨지게 된다. 따라서, ..
2022.01.12 -
[NPLM] A Neural Probabilistic Language Model 논문리뷰
A Neural Probabilistic Language ModelYoshua Bengio,Réjean Ducharme,Pascal Vincent,Christian Janvin2003년 3월 1일NPLM은 단어를 임베딩하여 벡터로 바꾸는 과정에서 신경망 기반의 기법을 제시하여 향후 Word2Vec으로 가는 기반이 되었다고한다.간단하게학습 데이터에 존재하지 않는 n-gram이 포함된 문장이 나타날 확률을 0으로 매긴다n을 5이상으로 설정하기 어렵기 때문에 문장의 장기 의존성을 포착해내기 어렵다.단어/문장 간 유사도는 고려 하지 않는다.neural net을 쓰기 이전에는 smoothing( 작은 상수를 더해서 0이 안나오도록) 또는 backoff를 사용해서 data sparcity를 해결했다. long-te..
2022.01.11 -
JSON
Java Script Object Notation 의 약자이다. json은 단순한 데이터 포멧이다. 데이터를 표시하는 방법일 뿐이다. 속성-값 쌍 / 키-값 쌍 json을 쓰는 이유 json파일이 가지고 있는 데이터를 받아서 객체나 변수에 할당해서 사용하기 위함이다 json의 구조 1. Object(객체) name/value 의 순서쌍으로 set이다. {} 로 정의된다. ex) { "이름" : "홍길동" } 2. Array(배열) ex) [ 10, "array", 32 ] 전체적인 구조 { "이름": "홍길동", → 스트링 "나이": 25, → 숫자 (정수) "특기": ["농구", "도술"], → list 표현 가능 "가족관계": {"아버지": "홍판서", "어머니": "춘섬"}, → array 표현 가..
2022.01.04 -
(NLP)Embedding
밀집표현이란희소표현된 단어를 임의의 길이의 실수 벡터로 표현한 것이 과정을 워드 임베딩이라 하며, 밀집 표현된 결과를 임베딩 백터라 함.자연어처리(Natural Language Processing)분야에서의 임베딩이란사람이 쓰는 자연어 > 기계가 이해할 수 있는 숫자형태의 vector로 바꾸는 과정 및 결과 임베딩의 역할단어/문장 간 관련도 계산대표적 임베딩 기법 : Word2Vec컴퓨터가 계산하기 쉽도록 단어를 전체 단어들간의 관계에 맞춰 해당 단어의 특성을 갖는 벡터로 바꾸어 단어들 사이의 유사도를 계산하는 일이 가능해짐.임베딩을 하면 벡터 공간을 기하학적으로 나타낸 시각화 가능의미적/문법적 정보 함축사칙연산 가능.벡터간 덧셈/뺄셈 등을 통해 단어들 사이의 의미적, 문법적 관계 도출 가능단어 임베딩을..
2022.01.04 -
Graph
노드와 그 노드를 연결하는 간선을 하나로 모아 놓은 자료구조.연결되어 있는 객체간의 관계를 표현할 수 있는 자료구조. 그래프(Graph) 용어정점(vertex): 위치라는 개념. (node 라고도 부름)간선(edge): 위치 간의 관계. 즉, 노드를 연결하는 선 (link, branch 라고도 부름)인접(Adjacency) 정점 x와 정점 y가 간선에 의해 연결되어져 있다면, 이들 두 정점 x와 y를 인접(Adjacent)되어있다고 한다.인접 정점(adjacent vertex): 간선에 의 해 직접 연결된 정점부속(Incident)정점 사이에 연결된 간선을 두 정점 X와 Y에 부속되어있다고 한다.정점의 차수(degree): 무방향 그래프에서 하나의 정점에 인접한 정점의 수무방향 그래프에 존재하는 정점의 ..
2022.01.04