AI (10) 썸네일형 리스트형 [NLP] Text Tokenization & Edit Distance Text Tokenization은 NLP Pipelines에 가장 근본적인 파트라고 할 수 있다.예를 들어서..Separating words in running textNormalizing word formats (e.g., favorurite = favorite)Segmenting sentences in running textex) I do uh.. main.. mainly business data processing.예문을 보면 중복된 단어(main/mainly), 불완전한 표현들(uh)이 있다. 한가지 더ex) Seuss's cat in the hat is different from other cats!예문을 보면 cat과 cats는 표면상 다르지만, Lemma 기준으로 둘 다 cat, 하지만 Wo.. [NLP] Text Preprocessing 대학교 2학년때 배웠던 과목 '오토마타와 형식언어론'동기들한테 오토마타 듣는다고 하면, 다들 힘들겠다며 측은하게 바라보던 '그 과목'배울때는 대체 이걸 어따 쓴다는거야.. 의문 투성이였지만, 막상 여러군데에서 사용되니 듣기 잘했다는 생각이 든다.생각해보면 그냥 아묻따 배운 나 자신이 후회되긴 한다. 좀 어디에 들어가는지 찾아보면서 공부할걸. Text Preprocessing: Regular expression? → 텍스트 패턴을 지정하기 위한 표현만약 문단에서 Happy가 나온 수를 측정한다고 생각해보자.근데 Happy, HAPPY, Happiness등 다양한 모양으로 분포되어 있을 수도 있다.그래서 요런걸 Regular expression(REX)를 사용하여 사전 정의된 패턴을 기반으로 관련 단어를 추.. [NLP] Finite State Dialogue Manager(FSDM) 대화를 미리 정해진 상태(State)들을 따라 흐르게 하는 방식State: 정해진 질문Edge: 사용자 응답에 따라 수행할 작업Pros: 설계가 간단하다. 에러 처리가 쉽다.Cons: 자유도가 낮다. 대화가 유연하지 않다.그래서 우리는 Dialogue State Traker & Dialogue Policy를 사용한다.Dialogue State Traker(DST)는?현재까지 대화에서 사용자가 제공한 정보를 기억하고 관리하는 컴포넌트이다.즉 사용자가 뭘 요청했는지, 어떤 정보를 이미 줬는지, 어떤 슬롯이 아직 비어있는지를 계속 추적한다.Dialogue Policy는?System이 다음으로 어떤 Action을 취해야하는지 결정하는 규칙이다. ex)질문 다시하기, 정보 제공, 대화 종료이 결정은 DST가 추적.. [NLP] Chatbot and NLU Rule-based Chatbot가정을 해보자.1. 1950년대에 살고 있다.2. 개인 컴퓨터는 보급되지 않았다.3. 인터넷이 존재하지 않는다.그렇다면 어떻게 chatbot을 build할까?요때 등장한게 바로 ELIZA project이다. 사용자: "나는 요즘 우울해."ELIZA: "왜 우울하다고 느끼나요?"사용자: "일이 너무 많아요."ELIZA: "일이 많다는 것이 당신에게 어떤 의미가 있나요?"이런 식으로 질문을 되돌리면서 상담사처럼 반응하는 대화 스타일이 특징.Rogerian Therapy에 기초했는데, 공감과 반영을 통해 마치 꽤 그럴듯하게 대화가 가능했다. pre-defined rules로 동작을 하며, 처리 순서는 다음과 같다.사용자: You hate meELIZA: WHAT MAKES YO.. [NLP] 시작 Human-Human Conversation: Dialogue사람과 사람간의 대화를 Dialogue라고 한다.그렇다면 이 Dialouge를 System으로 만드면 어떻게 될까? 에서 시작한다.Build a dialogue system = replace a human respondent as a machine (or a system)궁극적인 목적은 dialouge를 understaning하여 Natural Language Processing 하는 것이다. 그래서 사람간의 Dialogue는 다음과 같은 항목으로 분류할 수 있는데,1. Turn, Utterance : 내가 말하면, 상대방이 말할 차례에 대한 Turn, Utterance2. Endpoing Detection : 사람의 말이 언제 시작하고 언제 .. Transformer Transformer based Pre-trained Language Model1. BERT(Encoder만 존재)BERT-base: 12 encoder layers, 12 attention heads, feature dimension (|word embedding vector|=768)BERT-large: 24 encoder layers, 16 attention heads, feature dimension (|word embedding vector|=1024)Training Objective: Masked Language Modeling, Next Sentence Prediction2. GPT(Decoder만 존재)12-layer decoder only model3. BART(Encoder, Deco.. Seq2Seq Text Generation Input sentence: 지난 여름은 너무 더웠어 → 'source'Output sentence: It was so hot last summer → 'target'→ bos, eos는 문장의 시작과 끝을 말해주는 token인데, 이걸 알려줘야 text generation이 제대로 된다. 그래서 결국엔 어떤 Input이 주어졌을때, 그거에 맞는 Output이 나올 conditional probablilty를 구하는 것.conditional probablilty는? "지난 여름은 너무 더웠어"를 인풋으로 줬을 때, It이 나올 확률을 의미한다.→ 이 확률을 학습시키며 높여가는 것을 의미한다. define해야되는 Model components1. The embedding weight E2. Encoder에.. Language Model Text Generation(or generative model)generation도 classification이다. RNN을 통해서 Text Generation을 하는 것을 지켜보자but, RNN을 통해 text generation을 잘 하진 않는다(이해하려고 RNN으로 사용해보는것.)그 다음 RNN 위치에 Transformers를 넣으면 된다. (그게 GPT라고 볼 수 있음) 한 종류의 decoder를 가지고 many-to-many를 할 수 있다.(꼭 인코더 디코더로 여러겹 쌓을 필요는 없다.)이미지 캡셔닝: 이미지에 해당하는 월드 시퀀스를 제러네이티드 하는것 (seq to seq로 구현된다.) (one-to-many로 작동하지 않는다.)그래서 텍스트 제너레이션을 할때는 seq-to-seq로 대부분 .. 이전 1 2 다음