An open API service indexing awesome lists of open source software.

https://github.com/2shin0/similarity_educational_chatbot

πŸ’¬ μž„λ² λ”©μ˜ κ°œλ…κ³Ό μœ μ‚¬λ„ 기반 ν•™μŠ΅ 챗봇 κ΅¬ν˜„
https://github.com/2shin0/similarity_educational_chatbot

chatbot educational-chatbot embedding nlp-embeddings similarity-chatbot

Last synced: about 1 year ago
JSON representation

πŸ’¬ μž„λ² λ”©μ˜ κ°œλ…κ³Ό μœ μ‚¬λ„ 기반 ν•™μŠ΅ 챗봇 κ΅¬ν˜„

Awesome Lists containing this project

README

          

# μž„λ² λ”©μ˜ κ°œλ…κ³Ό μœ μ‚¬λ„ 기반 ν•™μŠ΅ 챗봇 κ΅¬ν˜„

## βœ… μž„λ² λ”©μ΄λž€?
μž„λ² λ”©(Embedding)은 μžμ—°μ–΄ μ²˜λ¦¬μ—μ„œ μ‚¬λžŒμ΄ μ“°λŠ” μžμ—°μ–΄λ₯Ό 기계가 이해할 수 μžˆλ„λ‘ 숫자의 λ‚˜μ—΄μΈ 벑터 ν˜•νƒœλ‘œ λ°”κΎΈλŠ” κ³Όμ •μž…λ‹ˆλ‹€. 고차원 데이터λ₯Ό 저차원 κ³΅κ°„μœΌλ‘œ λ³€ν™˜ν•˜μ—¬ 의미 μžˆλŠ” 벑터 ν‘œν˜„μ„ μƒμ„±ν•˜λŠ” κΈ°λ²•μœΌλ‘œ, λ°μ΄ν„°μ˜ 의미적 νŠΉμ„±μ„ λ³΄μ‘΄ν•˜λ©΄μ„œ 데이터λ₯Ό 보닀 효율적으둜 μ²˜λ¦¬ν•  수 있게 ν•΄μ€λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ kingκ³Ό queen은 벑터 κ³΅κ°„μ—μ„œ λΉ„μŠ·ν•œ μœ„μΉ˜μ— 있게 λ©λ‹ˆλ‹€.

### πŸ“Œ 벑터 κ°„ 거리 계산 방법
1. 코사인 μœ μ‚¬λ„

λ²‘ν„°μ˜ λ°©ν–₯(각도)을 기반으둜 μœ μ‚¬μ„±μ„ μΈ‘μ •ν•©λ‹ˆλ‹€. 두 벑터가 λ™μΌν•œ λ°©ν–₯을 κ°€μ§ˆμˆ˜λ‘ μœ μ‚¬λ„κ°€ λ†’μŠ΅λ‹ˆλ‹€.
![image](https://github.com/user-attachments/assets/9c75aadf-affd-4d55-96ea-4aad5d5b2149)
2. μœ ν΄λ¦¬λ“œ 거리

벑터 κ°„μ˜ μ‹€μ œ 거리λ₯Ό μΈ‘μ •ν•©λ‹ˆλ‹€. 거리가 μ§§μ„μˆ˜λ‘ μœ μ‚¬μ„±μ΄ λ†’μŠ΅λ‹ˆλ‹€.

### πŸ“Œ μž„λ² λ”© λͺ¨λΈλ§ˆλ‹€ μ„±λŠ₯이 λ‹€λ₯Έ 이유?
λͺ¨λΈλ§ˆλ‹€ 아킀텍쳐와 사전 ν•™μŠ΅μ‹œν‚¨ ν›ˆλ ¨ 데이터가 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— λ‚˜μ˜ λͺ©μ μ— 따라 μ ν•©ν•œ λͺ¨λΈμ΄ λ‹¬λΌμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ›ν•˜λŠ” 도메인 λ˜λŠ” μ„œλΉ„μŠ€μ—μ„œ 쒋은 μ„±λŠ₯을 λ³΄μ΄λŠ” λͺ¨λΈμ„ 선택해야 ν•©λ‹ˆλ‹€.

## βœ… μ‹€μŠ΅1 : Huggingface의 사전 ν•™μŠ΅λœ μž„λ² λ”© λͺ¨λΈλ‘œ μœ μ‚¬λ„ 기반 챗봇 λ§Œλ“€μ–΄ 보기
[μ‹€μŠ΅1 μ½”λ“œ](https://github.com/2shin0/similarity_educational_chatbot/blob/main/embedding_chat.ipynb)

ν™œλ™ 1. μ•Œλ§žμ€ ν˜•μ‹μœΌλ‘œ 데이터셋 생성

ν™œλ™ 2. μ ν•©ν•œ λͺ¨λΈμ„ μ„ νƒν•˜μ—¬ μœ μ‚¬λ„ 계산 ν•¨μˆ˜ 생성

ν™œλ™ 3. Gradio둜 κ°„λ‹¨ν•œ 챗봇 κ΅¬ν˜„

## βœ… μ‹€μŠ΅2 : BM25 + Embedding 앙상블 λͺ¨λΈλ‘œ μœ μ‚¬λ„ 기반 챗봇 λ§Œλ“€μ–΄ 보기
[μ‹€μŠ΅2 μ½”λ“œ](https://github.com/2shin0/similarity_educational_chatbot/blob/main/BM25_Embedding_chat.ipynb)

ν™œλ™ 1. BM25와 Embedding λͺ¨λΈ 각각 λ‹΅λ³€ 확인

ν™œλ™ 2. 앙상블 λͺ¨λΈ 생성

ν™œλ™ 3. Gradio둜 κ°„λ‹¨ν•œ 챗봇 κ΅¬ν˜„

## βœ… μ‹€μŠ΅3 : BM25 + Faiss 앙상블 λͺ¨λΈλ‘œ μœ μ‚¬λ„ 기반 챗봇 λ§Œλ“€μ–΄ 보기
[μ‹€μŠ΅3 μ½”λ“œ](https://github.com/2shin0/similarity_educational_chatbot/blob/main/3_BM25_Faiss_chat.ipynb)

ν™œλ™ 1. BM25와 Faiss 각각 λ‹΅λ³€ 확인

ν™œλ™ 2. 앙상블 λͺ¨λΈ 생성