Skip to content

boostcampaitech5/level3_nlp_finalproject-nlp-05

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

73 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

level3_nlp_finalproject-nlp-05


πŸ“ŽFine. (diary-generation-using-chatbot)

image

λΆ€μŠ€νŠΈμΊ ν”„ AI-Tech 5κΈ° NLP νŠΈλž™ Level3 Product serving ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€. Fine. λŠ” μ†Œμ€‘ν•œ ν•˜λ£¨λ₯Ό κΈ°λ‘ν•˜κ³  μ‹Άμ§€λ§Œ μ‹œκ°„μ΄ μ—¬μœ λ‘­μ§€ μ•Šμ€ μ‚¬λžŒλ“€μ„ λŒ€μ‹ ν•˜μ—¬ μ‚¬μš©μžμ˜ ν•˜λ£¨λ₯Ό 일기둜 μƒμ„±ν•΄μ£ΌλŠ” Appμž…λ‹ˆλ‹€. 당일 먹은 μŒμ‹, 듀은 λ…Έλž˜, κΈ°μ–΅ν•˜κ³  싢은 μž₯면을 μ±—λ΄‡μ—κ²Œ λ§ν•˜κ±°λ‚˜, λ˜λŠ” 사진을 μ²¨λΆ€ν•˜μ—¬ κΈ°λ‘ν•˜λ©΄, 챗봇이 μ•Œλ§žλŠ” λŒ€λ‹΅μ„ ν•΄μ€λ‹ˆλ‹€. 이후 ν•˜λ£¨μ˜ λ§ˆμ§€λ§‰μ— κ·Έ 정보λ₯Ό μš”μ•½ν•˜μ—¬ 일기λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.


πŸ’‘ ν”„λ‘œμ νŠΈμ— κ΄€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ λž©μ—…λ¦¬ν¬νŠΈ, λ°œν‘œμ˜μƒ 및 λ°œν‘œμžλ£Œλ₯Ό μ°Έκ³ ν•΄μ£Όμ„Έμš”.


🐴Members

λ³€μ„±ν›ˆ μ„œλ³΄μ„± 이상민 이승우 μ΄μ˜ˆμ›

πŸ€–Model

PipeLine

image


ChatBot

Goal

  • κ³΅κ°ν•˜λŠ” λ¦¬μ•‘μ…˜κ³Ό λ§₯락에 λ§žλŠ” 질문

Data

  • gpt-3.5-turbo λͺ¨λΈμ„ μ΄μš©ν•œ 613개의 λŒ€ν™” 데이터 생성
    • train(ν•™μŠ΅) 데이터 개수: 1,696 (83%)

    • test(평가) 데이터 개수: 340 (17%)

    • λŒ€ν™” 데이터 μ˜ˆμ‹œ

      μ‹œμŠ€ν…œ: μ•ˆλ…•ν•˜μ„Έμš”! 였늘 ν•˜λ£¨λŠ” μ–΄λ– μ…¨λ‚˜μš”? 무슨 μž¬λ―ΈμžˆλŠ” 일이 μžˆμ—ˆλ‚˜μš”?
      μ‚¬μš©μž: μ˜€λŠ˜μ€ μƒˆλ‘œμš΄ λ ˆμŠ€ν† λž‘μ—μ„œ 식사λ₯Ό ν–ˆμ–΄μš”!
      μ‹œμŠ€ν…œ: μƒˆλ‘œμš΄ λ ˆμŠ€ν† λž‘μ—μ„œ 식사λ₯Ό ν•œλ‹€λ©΄ 항상 κΈ°λŒ€λ˜λŠ” μ‹œκ°„μ΄κ² λ„€μš”! μ–΄λ–€ μŒμ‹μ„ μ£Όλ¬Έν•΄μ„œ λ¨Ήμ—ˆλ‚˜μš”?
      μ‚¬μš©μž: μ˜€λŠ˜μ€ 일본 μŒμ‹μ„ 먹을 수 μžˆλŠ” λ ˆμŠ€ν† λž‘μ— κ°”μ–΄μš”. 생선 초λ°₯κ³Ό λΌλ©˜μ„ μ£Όλ¬Έν–ˆλŠ”λ° 정말 λ§›μžˆμ—ˆμ–΄μš”!
      μ‹œμŠ€ν…œ: 일본 μŒμ‹μ€ κ·Έ νŠΉλ³„ν•œ 맛과 λ‹€μ–‘ν•œ μ’…λ₯˜λ‘œ 유λͺ…ν•˜μ£ ! 생선 초λ°₯κ³Ό 라멘이 κ·Έ λ ˆμŠ€ν† λž‘μ—μ„œ μ–΄λ–»κ²Œ μ„œλΉ„μŠ€λ˜μ—ˆλ‚˜μš”? κ·Έ μŒμ‹μ„ 먹으며 μ–΄λ–€ 이야기λ₯Ό λ‚˜λˆ΄λ‚˜μš”?
      μ‚¬μš©μž: 생선 초λ°₯은 μ‹ μ„ ν•˜κ³  λ§›μžˆλŠ” 재료둜 μ •μ„±μŠ€λŸ½κ²Œ λ§Œλ“€μ–΄μ Έμ„œ λ§›μžˆμ—ˆμ–΄μš”. λΌλ©˜μ€ κΉŠμ€ 맛이 μžˆμ–΄μ„œ λ”μš± μ’‹μ•˜μ–΄μš”. μΉœκ΅¬μ™€ ν•¨κ»˜ μŒμ‹μ— λŒ€ν•΄ μ΄μ•ΌκΈ°ν•˜λ©° μ„œλ‘œμ˜ μΆ”μ²œ μŒμ‹μ„ κ³΅μœ ν–ˆμ–΄μš”.
      μ‹œμŠ€ν…œ: μ‹ μ„ ν•œ 재료둜 λ§Œλ“€μ–΄μ§„ 생선 초λ°₯κ³Ό κΉŠμ€ 맛이 μžˆλŠ” 라멘, 정말 맀λ ₯적인 λ©”λ‰΄λ“€μ΄μ—ˆκ² λ„€μš”! μΉœκ΅¬μ™€ ν•¨κ»˜ μŒμ‹μ— λŒ€ν•΄ μ΄μ•ΌκΈ°ν•˜κ³  μΆ”μ²œμ„ κ³΅μœ ν•˜λŠ” 건 μ–Έμ œλ‚˜ 즐거운 μ‹œκ°„μ΄κ² μ–΄μš”. 더 μžμ„Ένžˆ μ–΄λ–€ μŒμ‹μ— λŒ€ν•΄ 이야기λ₯Ό λ‚˜λˆ΄λ‚˜μš”?
      

Training

  • KULLM 을 μ΄μš©ν•œ Instruction Tuningκ³Ό Parameter-Efficient Fine-Tuning (PEFT)

  • input text (μž…λ ₯): μ΅œλŒ€ 3ν„΄μ˜ λŒ€ν™” history

  • label (응닡): λŒ€ν™” history λ‹€μŒμ— 올 system 응닡

  • Prompt

    μ•„λž˜λŠ” μž‘μ—…μ„ μ„€λͺ…ν•˜λŠ” λͺ…령어와 μΆ”κ°€ μ»¨ν…μŠ€νŠΈλ₯Ό μ œκ³΅ν•˜λŠ” μž…λ ₯이 짝을 μ΄λ£¨λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€. μš”μ²­μ„ 적절히 μ™„λ£Œν•˜λŠ” 응닡을 μž‘μ„±ν•˜μ„Έμš”.
    
    ### λͺ…λ Ήμ–΄: 주어진 λ¬Έμž₯듀은 이전 λŒ€ν™” λ‚΄μš©λ“€μž…λ‹ˆλ‹€. 이에 μ•Œλ§žμ€ μ‹œμŠ€ν…œ 응닡을 λ§Œλ“€μ–΄μ£Όμ„Έμš”.
    
    ### μž…λ ₯: system: μ•ˆλ…•ν•˜μ„Έμš”! 였늘 ν•˜λ£¨λŠ” μ–΄λ– μ…¨λ‚˜μš”? 무슨 μž¬λ―ΈμžˆλŠ” 일이 μžˆμ—ˆλ‚˜μš”? user: μ˜€λŠ˜μ€ μƒˆλ‘œμš΄ μΉ΄νŽ˜μ—μ„œ 컀피λ₯Ό λ§ˆμ…¨μ–΄μš”!
    
    ### 응닡: system: μ’‹μ•„μš”! μƒˆλ‘œμš΄ μΉ΄νŽ˜μ—μ„œ 컀피λ₯Ό λ§ˆμ‹œλ©΄μ„œ μ–΄λ–€ 기뢄이 λ“€μ—ˆλ‚˜μš”? μ–΄λ–€ μ’…λ₯˜μ˜ 컀피λ₯Ό μ‹œλ„ν•΄λ΄€μ–΄μš”?
    
    • label 에 λŒ€ν•΄μ„œλ§Œ loss 계산
    • 58μ–΅κ°œ 쀑 μ•½ 2μ–΅κ°œ parametersλ₯Ό fine tuning β†’ 사전 ν•™μŠ΅λœ 지식 ν™œμš©

Metric

  • Referenece-Based
    • ROUGE-1, ROUGE-SU, Cosine Similarity
  • Reference-Free
    • Perplexity, G-Eval

Diary Generation

Summarization Model

  • Goal

    • μ‚¬μš©μžμ™€ μ±—λ΄‡μ˜ λŒ€ν™” 데이터λ₯Ό μ΄μš©ν•œ μ‚¬μš©μžμ˜ ν•˜λ£¨ μš”μ•½
  • Data

    • gpt-3.5-turbo λͺ¨λΈμ„ μ΄μš©ν•œ λŒ€ν™” 데이터 생성
    • μƒμ„±λœ λŒ€ν™” 데이터λ₯Ό ChatGPTλ₯Ό μ΄μš©ν•΄ μš”μ•½ν•œ μš”μ•½ 데이터 생성
    • train(ν•™μŠ΅) 데이터 개수: 279 (81.8%)
    • validation(검증) 데이터 개수: 24 (7%)
    • test(μ‹œν—˜) 데이터 개수: 38 (11.1%)
  • Model

    • gogamza/kobart-summarization
  • Fine-Tuning

    • Use special token : [USER], [SYSTEM]
    • Input data formatting
  • Metric

    • Rouge score (ROUGE-1, ROUGE-SU)

Generation Style Transfer Model

  • Goal

    • μš”μ•½λœ λ‚΄μš©μ„ λΆ€λ“œλŸ¬μš΄ μ–΄νˆ¬μ˜ 일기둜 λ³€κ²½
  • Model

    • NHNDQ/bart-speech-style-converter

🌐 Product Serving

Front-End

  • React Native λ₯Ό μ΄μš©ν•œ Cross-Platform App 개발 image

Back-End

image


πŸ“System Architecture

image


πŸ› οΈν–₯ν›„ κ°œμ„  λ°©ν–₯

Model

  • 챗봇 데이터 생성 방법이 λ‹¨μˆœν•΄ 데이터 λ‹€μ–‘μ„± Ξ§

    • 생성 flowλ₯Ό μž¬κ΅¬μ„±ν•΄μ„œ 응닡 μœ ν˜•μ„ λ‹€μ–‘ν™”
  • KULLM λͺ¨λΈ μ‚¬μ΄μ¦ˆλ‘œ 인해 GPU μ„œλ²„ μ‚¬μš©

    • μœ μ§€ λΉ„μš© λΉ„μŒˆ β†’ κ²½λŸ‰ν™” ν•„μš”
  • Summarization μ‹œ, λ™μΌν•œ λ‚΄μš©μ„ μ€‘λ³΅μœΌλ‘œ μƒμ„±ν•˜λŠ” κ²½μš°κ°€ 있음

    • 같은 λ‚΄μš©μ„ 두 번 이상 λ°˜λ³΅ν•˜λŠ” 것은 ROUGE score에 적극적으둜 λ°˜μ˜λ˜μ§€ μ•ŠμŒ
    • 평가 μ§€ν‘œ 및 λͺ¨λΈ μ„±λŠ₯ κ°œμ„  ν•„μš”

Service

  • λŒ€ν™” λ‚΄μš© 감성 뢄석을 λ°”νƒ•μœΌλ‘œ κ·Έ 날에 μ–΄μšΈλ¦¬λŠ” λ…Έλž˜, λ―Έλ””μ–΄ λ“± 컨텐츠 μΆ”μ²œ κΈ°λŠ₯
  • QA Task μ μš©μ„ ν†΅ν•œ μ‚¬μš©μžμ˜ λ¬Έμž₯ν˜• μ§ˆλ¬Έμ— μ•Œλ§žλŠ” 일기 λ‚΄μš©μ„ κ²€μƒ‰ν•˜λŠ” κΈ°λŠ₯
  • 챗봇 및 일기 말투 μ»€μŠ€ν„°λ§ˆμ΄μ§• κΈ°λŠ₯
  • μŒμ„± 인식, 결제 λ‚΄μ—­, 지도 λ“± λ‹€μ–‘ν•œ μ™ΈλΆ€ API μ—°κ²°
  • 기타 λ‹€μ–‘ν•œ κΈ°λŠ₯ μΆ”κ°€ 및 ꡬ독 μ‹œμŠ€ν…œ λ“± 수읡 λͺ¨λΈ κΈ°νšμ„ 톡해 상업성 도λͺ¨

πŸ§ͺDemo

About

level3_nlp_finalproject-nlp-05 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published