Dialogue Manager by Dialogue Manager (Finite state Automata를 통하여 만듬)
: 간단히 설명해주심 (소개 정도 - 3주차 이후에 배운다하심)
Example: Dialogue state Tracker

Dialogue State Tracker에다가 정보를 누적시킴
1. Input - Sentence로 들어옴
2. Tagset에서 해당 파트를 찾음
3. Dialogue State에다가 tagset 중 하나를 골라서 assignment 할 수 있음. (필요 시에 tracker에 저장)
-> Tracker에 저장 한다는 것 자체가 글 전체의 맥락 등을 기억한다는 의미가 강함
Ex) inform tag를 이용해서 inform(price=expensive) 라는 정보를 기억
+ near ansan이라는 정보를 통하여 inform(price=expensive, area=ansan) 라는 정보를 기억
이후 affirm(price=expensive,cusine=Mexican, area=ansan)이라고 확인 작업을 거친다.
Dialogue Policy


argmax의 의미 자체가 가장 확률 높은 output을 내라
How can we estimate these probabilities?
Reinforcement algorithm 중 reinforce라는 알고리즘 관련한 설명
처음 지식 주입 => Language modeling (지식 주입 = Pretraining) -> 기본적인 언어 지식
-> next token prediction이랑 training objective 를 갖는다 (교수님께서 왜 training objective를 갖는다고 말씀하셨는 지 궁금했는데 그 의미 자체가 목적함수라고 한다.)
Ex)
[6개의 단어로 이루어진 sentence] -> 실제 값
[이 중 5개 단어만 주어진 상태로] -> 다음 token은? prediction
해당 두 값의 차이를 측정함
실제 값 - prediction => loss = Cross Entropy loss을 기반으로 backpropagation(오차 전달)
=> weight update -> 초기 build up
LLama 와 같은 모델의 뒤에 붙어 있는 것이 숫자 or chat이 붙을 수 있음
-> 숫자가 붙어 있는 경우는 parameter 수
-> chat -> rlhf(reinforcement learning human feedback) 기법 적용 이후의 모델 => 결과가 훨씬 좋음
강화학습 사용 방법 (간단히)
(보통의)supervised learning <- data(feeding) (input, input에 대한 정답) => prediction, backpropagation
But, 강화학습 적용을 위해선 input을 다르게 정의함.
{state, action, next state, reward} 이러한 형태의 tuple이 준비되어야 함
+ 두 가지 network를 Define함
1. enviorment network -> state trainsition과 reward를 담당
2. policy network -> 다음 action을 취할 확률을 내보냄
reinforce algorithm에 두 가지 network를 주어서 Train 시킨다.
=> 한 dialogue가 끝날 때까지 (state가 final state에 올 때 까지) 반복한다 => 얼마만큼의 reward를 갖는지 계산 (sequential)
-> action sequence를 얻을 수 있음 (reward 얻음)
-> 그런 다음 policy gradient loss => loss를 구하고, policy network에 back propagation 해서 update
한 dialogue가 끝날 때 reward를 준다는 점에서 (step by step으로 reinforce 알고리즘을 적용 시킬 수도 있겠지만)
보통 reinforce => 한 dialoguedp reward로 얻는 방식으로 흘러감 (step by step으로 reward가 잘 정의가 안됨)
if Current 상태 - reference 사이의 차이가 너무 커진다면 update (feedback) => 이 방식이 PPO 알고리즘
그렇다면 Reinforcement learning human feedback은 무슨 개념?
Language modeling이 끝난 llm이 주어졌을 때 input에 대해서 여러가지 output을 내게함 (1, 2, 3, 4....)
이 때 Supervised finetuning을 함 (input -> output이 맞는 pair) -> 또 generation 5번 => 어떤 게 제일 best? (이 부분을 사람한테 물어봄) {1번 : good, 2번 : 조금 good , ... , 5번 : Bad} => Reinforce에 주입
가장 최적의 policy - reward => maxmize 할 수 있는 action은 무엇인가
Dialogue Mananger can make mistakes (실수 handiling 해야함, 대처 방안)
-> Confirming, Rejecting
1. Explicit Confirmation {User가 말한 것을 그대로 다시 따라하는 것 (다시 물어보는 느낌)}
2. Implicit Confirmation {Grounding 기반, 암시적 확인}
두 가지의 차이는
1번의 경우 대화가 길어진다, 잘못 이해했다는 것을 바로 알아차릴 수 있음
2번의 경우 System이 잘못 이해한 부분에 대해서 explicit 만큼 이해하기 어려울 수 있음
만약 별 다른 방법이 없는 경우 -> Rejection (User의 input에 대해서 reject 한 후 progressvie prompting이라는 기술을 적용하면 됨)
Rapid Reprompting : 바로 못 알아 들었다고 말함
PPT #3 Text Preprocessing (Regular Expression and automata) : 자연어처리에 대한 수학적 상태로 바뀌기 위한 preprocessing , 개념, 지식
Regular Expressions : 정규표현 (정규식)
ex) happy라는 단어를 찾아내는 api를 만든다 가정, 생길 수 있는 문제는
1. Different captializations
2. Misspellings
3. Related forms, such as different parts of speech (happiness, happily)
Terminology
1. Disjunction : Logical OR (논리학)
2. Range : 범위
3. Negation : 부정
Regular expression : (regex로 표현)
Regular Expressions can determin the followings: (가능한 패턴 매칭의 예제를 보여준다고 생각하면 됨)
scope : how many times a pattern repeats
anchor : where it applies
Regular Expressions : Disjunctions (and Ranges)
(-> 가장 small 한 unit => character)
Disjunction : Letters inside square brackets [az]
Range: Hyphen between the first and last characters in the range [a-z]

[hH]의 경우 첫 번째 매칭된 결과만 return (무조건 가장 먼저 매칭된 happy를 먼저 반환)
[0123...789]의 경우 아무 숫자 하나
[@-@]의 경우 범위를 나타낸 느낌 (알파벳이나 이런 것을 적게 되면 효율적)
Regular Expressions: Negation in Disjunction
[^hH] : 소문자 h or 대문자 H 가 아닌 appy를 찾으라는 의미

[^^] (=[^\^])의 경우 문자 그대로 ^를 찾지 말라는 의미 : ^이 아닌 가장 먼저 나오는 것을 반환함
대괄호 없이 H^a의 경우 문자 그대로의 H^a를 의미함
Regular Expressions: More Disjunction
| : union (logical OR) of two smaller regular expressions


* : 0번 혹은 그 이상 나타나도록 하게 해라
. : 어떤 문자건 매칭 가능
+ : 한 번 또는 그 이상
? : 0번 또는 1번
(abc) : character들을 그룹화함


^Happy : Happy를 찾는데 문장 맨 앞에 나오는 Happy를 찾아줘 라는 의미
happy\.$ : happy라는 단어가 맨 뒤에 있을 때만 매핑해 라는 뜻
| IRCAN: Mitigating Knowledge Conflicts in LLM Generation via Identifying and Reweighting Context - Aware Neurons (0) | 2025.09.27 |
|---|---|
| [자연어처리] 2주차 복습 #2 (0) | 2025.04.15 |
| [자연어 처리] 4주차 (교수님께 질문 드렸던 내용) (0) | 2025.03.28 |
| [자연어 처리] 1주차 복습 (간단히, Q & A) (0) | 2025.03.28 |
| [자연어처리][NLP] 1주차 강의 #3 Frame-based chatbot (0) | 2025.03.07 |