자연어처리 21

생성형 AI 초기 채점 업무 시 예제 사례와 알아야 할 요령

문제 개요아래의 Prompt 문제는 난이도가 높은 문제로서 Python 프로그래밍이 가능해야 풀 수 있는 문제이므로 문제 내용 자체 보다는 문제의 구조 설명과 응답 별 채점 포인트와 Justification 작성을 설명하기 위해 채택하였다. 실제 부과되는 task들은 99% 텍스트 기반 대화로 생각하면 된다.내용은 탑 1000 발리우드 영화 오픈 데이터셋을 처리하여 그래프를 작성하는 문제로서, 엑셀을 사용치 않고 파이썬의 그래픽 지원 라이브러리와 데이터 입력을 위해 pandas 라이브러리를 사용하여 처리하는 multi-disciplinary한 문제임을 참고하자. 응답 풀이 요령은 Prompt에서 주어진 사항을 잘 이행하여 visual 이 괜찮은 그래프를 출력하여 보여 주는 것이다.주어진 PromptTop..

자연어처리 2024.06.23

생성형 AI 가 제공하는 Response의 6. Overall Quality Rating 평가

6. Overall Quality Rating지금까지 검토했던 채점 항목들 즉 Writing Quality, Verbosity, Instruction Following, Truthfulness, Harmful/Safety 5개 채점항목을 뭉뚱그려 종합 평가(Overall Quality Rating)해 보자.Response에 심각한 오류가 있을 경우는 Bad 이다.심각한 오류로는 첫번째 haluucination 즉 착각 할만한 잘못된 정보일때, 이는 AI가 상당히 교활하므로 그렇싸하게 Response 를 조작하는 것은 일도 아니라는 점에 유의해야 한다. Response 요놈 내용을 뜯어보니 Prompt 요구대로 하지 않고 있다는 것이 명확하면 두번째 심각한 오류로서 Instruction Following ..

자연어처리 2024.04.30

Attention RNN 모델과 코드 구조

seq2seq RNN 모델에서 인코더 알고리듬을 개량해 보자. 앞서 기술된 인코더 구조에서는 마지막 LSTM 셀로부터 출력되는 은닉층 정보 h 가 디코더의 LSTM 첫 번째 셀에 전달하는 단순한 구조를 보여주었다. 개선 이전의 인코더에서는 문장 전체를 쪼개서 각각의 LSTM 셀에 입력하여 은닉층 연산 후 펼쳐진 마지막 LSTM 셀에서 출력되는 은닉층 정보 h 를 디코더에 입력했었다. 개선 후에는 인코더 각각의 LSTM 셀로부터 출력되는 은닉층 정보를 모은 h 를 디코더에 입력하는 방법이다. 이렇게 하면 인코더 sequence 의 ‘고정길이’라는 제약을 벗어날 수 있다. 즉 마지막 LSTM 하나의 셀에서 결과를 넘기는 것에 비해 입력데이터 수에 해당하는 만큼의 은닉층 정보 전체를 전달하므로 고정된 길이의 ..

자연어처리 2023.03.13

Attention 알고리듬 이해를 위한 Sequence To Sequence 알고리듬

이 블로그는 한빛 출판사에서 출간된 사이토 고키 저 "Deep Learning from Scaratch ⓶ 밑바닥부터 시작하는 딥러닝 2편" 의 7장 2절 seq.seq 의 세부 해설이다. 자연어 처리에 관심이 있는 국내 독자라면 그 내용의 뛰어남에 필독을 권해 본다. 하지만 제목에서 '밑바닥부터...'가 암시하듯 이 책은 철저하게 바텀업 방식으로 씌어졌으며 논리상 아무런 문제가 없다고 볼 수 있다. 하지만 개개인의 자연어 처리에 대한 이해도가 낮을 경우 다음과 같은 문제가 발생함을 지적해 둔다. 책 후반인 7장에서 seq2seq 를 읽고 코드를 실행시키다 보면 바닥에서의 기본적인 알고리듬들이 잘 보이지도 않고 이해가 제대로 되지 않는 경험을 할 수도 있다. 즉 7장의 내용은 그 앞까지 전개해 온 내용을..

자연어처리 2023.03.05

Attention RNN 알고리듬에서의 shape 변경 기법

LSTM Attention 알고리듬을 살펴보wk. hs 벡터에 포함된 각 단어 별 중요도를 나타내는 확률 가중치 벡터 a와 hs 벡터를 아마디르 곱셈 후 특정 축을 중심으로 합산하여 shape을 변경하는 기법을 볼 수 있다. 이 과정을 학습하자. 텐서플로우 리스트 데이터 A에 대해서 shape 과 argmax 값을 살펴보자. 일차원적 리스트 구조의 데이터는 (5,)로 표현된다. argmax(A)에서 numpy=2는 A의 최대값이 위치한 30의 위치를 나타낸다. 1 import tensorflow as tf A = tf.constant([2, 20, 30, 3, 6]) print(A.shape) tf.math.argmax(A) 텐서플로우 2차원 리스트 데이터 B에 대해서 shape 과 argmax 값을 살..

자연어처리 2023.01.20

word2vec, CBOW (Continuous Bags of Words)

참조: ”Deep Learning from Scratch ⓶: 밑바닥부터 시작하는 딥러닝2“, 3장 word2vec, pp.113 ~ 141., 사이토 고키 지음, 한빛미디어. 분산가설에 따른 통계적 기법과 달리 신경망 학습법을 사용하는 추론적 방법 즉 word2vec 알고리듬에 대해서 살펴보자. word2vec 알고리듬에서는 인접한 맥락(문맥, context)이 주어져 있을 때 무슨 단어가 가장 적합할지 추론하는 알고리듬이다. 즉 맥락이 주어진 상태에서 ? 에 적합한 단어를 단어장에서 확률적으로 가장 높은 확률값을 가지는 단어를 찾아내는 작업이다. 맥락으로 주어지는 입력 단어들은 숫자 라벨 값을 가지고 있는바 이들을 one-hot 코드화 하여 사용하면 편리하지만 통계적 방법에서 동시발생 매트릭스처럼 그..

자연어처리 2023.01.03

Simple Bow 알고리듬에서의 Back-propagation of Matrix Multiplication

다음 그림의 Simple CBOW 알고리듬에 의한 알고리듬을 살펴보면 입력 데이터의 은닉층 처리와 출력층 처리에 Matrix Multiplication 처리가 핵심적인 역할을 담당한다. Simple CBOW 알고리듬 학습과정 알고리듬을 코딩하려면 MatMul층에 대한 순전파(forward propagation)와 역전파(back-propagation) 연산이 필수적일 것이다. 순전파 연산은 메트릭스의 곱셈과 덧셈 연산을 이해하면 쉽게 코딩이 충분히 가능하지만 다층 구조에서 역전파는 합성함수의 편미분 값들을 체계적으로 연산할 필요가 있다. 머신러닝에서 역전파 연산의 필요성은 웨이트 값들을 랜덤한 값으로 초기화하므로 Cost 함수가 취해야 할 최소값과는 큰 차이가 있다. 이러한 차이를 줄여 학습을 통해 Co..

자연어처리 2023.01.03

IMDB 영화 리뷰 데이타 베이스 Sentiment 분석

스탠포드 대학 서버에서 제공하는 IMDB 데이타 베이스를 사용하여 Sentiment 분석을 해 보기로 한다. Sentiment 라 함은 여론조사는 아니고 특정 사안에 대한 쏠림 경향 정도로 생각하면 될 듯하다. 첫 번째 시도는 Sevastian Raschka의 “Python Machine Learning” 8장의 오픈 소스를 사용해 보았으나 실제로 결과를 얻어낼 수 없었다. 이미 Sevastian Raschka의 친절한 가이드 내용에 따라 tfidf 계산 까지 성공적으로 마쳤으나 마지막 부분에 내용을 읽어 보면 코드 실행 시간이 데스크 톱 PC를 사용할 경우 40분이 걸린다는 언급이 있긴 하지만 뭔가 찾기 어려운 버그들이 내재되어 있는듯하여 또 다른 스텐포드 대학쪽에서 Github 에 올려놓은 오픈소스로..

자연어처리 2022.12.19

한글 자연어 처리 KoNLPy 설치

아래의 내용은 아래 url 주소의 블로그 내용을 참조하였음. 참조: 캡스톤 디자인 프로젝트 A: 한글 자연어 처리 - konlpy의 형태소 분석기 https://seokyung.tistory.com/2 한글 자연어 처리를 위한 koNLPy 라이브러리를 Colab에 설치하여 실행해 보자. 한글 형태소 분석기 라이브러리 konlpy 를 설치하고 이어서 한글 토큰화에 필요한 kss 라이브러리를 설치한다. 1 !pip install konlpy 2 !pip install kss 윈도우즈10 이나 MAC, LINUX 시스템에 설치할 경우 자바와 관련 JPype 설치 문제가 까다로운 편이지만, 리눅스 기반인 Colab에서는 웬만한 라이브러리는 이미 설치되어 지원되기 때문에 JPype 를 굳이 설치할 필요가 없다. ..

자연어처리 2022.07.04