"ํ๊ตญ์ฌ ์๊ฒฉ์ํ ๏ฆ 51๋ง๋ช
โฆ์ด์ ์๋ฅ๋ณด๋ค ๋ง์ด ๋ณธ๋ค" ใํ๊ตญ๊ฒฝ์ ใ, 2022๋
08์
"ํ๊ตญ์ฌ๋ฅ๋ ฅ๊ฒ์ ์ํ ์ ์ ํํ์ด์ง ๋ง๋น... ์ํ์ ๋ถํธ ๊ฒช์ด" ใ์ฐํฉ๋ด์คใ, 2021๋
01์
"์ฐ๊ตฌ์ฌยท์ง๋์ฌ ๊ณต์ฑ ํ๊ตญ์ฌ ๊ณผ๋ชฉ, ํ๊ตญ์ฌ๋ฅ๋ ฅ๊ฒ์ ์ํ์ผ๋ก ๋์ฒด" ใ์ฐํฉ๋ด์คใ, 2020๋
04์
"ํ๊ตญ์ฌ๋ฅ๋ ฅ๊ฒ์ ์ํ ๅนด 4ํโ6ํ ํ๋" ใ์์ธ์ ๋ฌธใ, 2019๋
11์
โ๋น์ ์ ์ํ ํ๊ตญ์ฌ๋ฅ๋ ฅ๊ฒ์ ์ํ ๋ฌธ์ ์ถ์ฒ AI - ๊ธธ๋๊ตญ์ฌ" [๋ฐ๋ก๊ฐ๊ธฐ]
๊น์ ๋ | ๋์ธํ | ๋ ธํ์ฝ | ๋ฐ์ฐ์ | ์ ๋ณ์ |
ํ๋ก ํธ์ํธ ๋ชจ๋ธ๋ง ๋ง์ผํ |
๋ฐฑ์๋ ๋ชจ๋ธ๋ง ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ค๊ณ |
ํ๋ก ํธ์๋ ๋ชจ๋ธ๋ง ๋ง์ผํ |
๋ฐฑ์๋ ๋ชจ๋ธ๋ง ์๊ฐํ |
๋ฐฑ์๋ ๋ชจ๋ธ๋ง ํฌ๋กค๋ง |
๐ญ ๊ธธ๋๊ตญ์ฌ ๋ณด๋ฌ๊ฐ๊ธฐ
ํ๊ตญ์ฌ๋ฅ๋ ฅ๊ฒ์ ์ํ์ ๋ํ๋ฏผ๊ตญ ๊ต์ก๋ถ ์ฐํ์ ๊ตญ์ฌํธ์ฐฌ์์ํ๊ฐ ์ฃผ๊ดํ๋ ํ๊ตญ์ฌ ์ํ์
๋๋ค.
์ฃผ๋ก ๊ณต๋ฌด์ ์ํ, ๊ณต๊ธฐ์
์ทจ์
๋ฑ์ ๊ฐ์ฐ์ ์ผ๋ก ํ์ฉ๋๋ฉฐ ํ์ฌ ์ฐ๊ฐ 50๋ง ๋ช
์ด ์์ํ๋ ํฐ ์ํ์
๋๋ค.
๊ธธ๋๊ตญ์ฌ๋ ํ๊ตญ์ฌ๋ฅ๋ ฅ๊ฒ์ ์ํ์ ์ค๋นํ๋ ๋ชจ๋ ์ํ์์ ๋๊ณ ์ ์์ํ ์๋น์ค์
๋๋ค.
ํ๊ตญ์ฌ๋ฅ๋ ฅ๊ฒ์ ์ํ ์ค๋น์ ๊ธฐ๋ณธ์ธ ๊ธฐ์ถ๋ฌธ์ ๋ถํฐ ์ค๋ต ๋ถ์, ๋ฌธ์ ํด์ค, ๋ฌธ์ ์ถ์ฒ ๊ธฐ๋ฅ์ ํฌํจํฉ๋๋ค.
๊ธธ๋๊ตญ์ฌ๋ ์ฌ์ฉ์์ ๋ค์ํ ํผ๋๋ฐฑ์ ์ ๊ทน์ ์ผ๋ก ์์ฉํ์ฌ ์ง์์ ์ธ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ง๊ณ ์์ต๋๋ค.
๊ทธ๋ผ, ๊ธธ๋๊ตญ์ฌ์ ์ฃผ์ ๊ธฐ๋ฅ์ ๊ฐ๋ตํ ์๊ฐํ๊ฒ ์ต๋๋ค.
ํ๊ตญ์ฌ๋ฅ๋ ฅ๊ฒ์ ์ํ ๊ฐ์ ์ดํ ๋ชจ๋ ํ์ฐจ(47ํ~62ํ)์ ๊ธฐ์ถ๋ฌธ์ ๋ฅผ ํ ์ ์๋ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. (2023๋
1์ ๊ธฐ์ค)
๊ธฐ๋ณธ, ์ฌํ ๊ฐ ์ํ์์ ๋ฌด์์๋ก ๋ฌธ์ ๋ฅผ ํ ์ ์๋ ๋๋ค๋ฌธ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
ํ๋ฆฐ ๋ฌธ์ ๋ฅผ ์ดํด๋ณด๊ณ ์ค๋ต ๋ถ์์ ํ ์ ์๋ ์ค๋ต๋
ธํธ, ์ค์ํ ๋ฌธ์ ๋ฅผ ๊ธฐ๋กํ๋ ๋ถ๋งํฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๊ธธ๋๊ตญ์ฌ์ ํต์ฌ ๊ธฐ๋ฅ์ธ ์ฌ์ฉ์์ ๋ฌธ์ ํ์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ์ธ๊ณต์ง๋ฅ ๋ฌธ์ ์ถ์ฒ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
2023๋
2์ ๊ธฐ์ค : ๋์ ๊ฐ์
์ ์ 192๋ช
/ ๋์ ๋ฌธ์ ํ์ด ๊ฑด์ 12390๊ฑด
2023๋
1์ ๊ธฐ์ค : ๋์ ๊ฐ์
์ ์ 130๋ช
/ ๋์ ๋ฌธ์ ํ์ด ๊ฑด์ 7800๊ฑด
React : Client
Firebase : Database & Middleware
FastAPI : Backend Server
PostgreSQL : Dataset Backup
Airflow : Continuous Integration
๊ธธ๋๊ตญ์ฌ์ ์ฃผ์ ๊ธฐ๋ฅ์ ์๊ฐํฉ๋๋ค.
๊ธธ๋๊ตญ์ฌ์ ์ฌ์ฉ๋ ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์๊ฐํฉ๋๋ค.
- ์ค์ ํ๋ฆด๋งํ ๋ฌธ์ ๋ฅผ ๋ง์ด ์ปค๋ฒํ๋๊ฒ ์ค์ํ๊ธฐ ๋๋ฌธ์ Recall์ด ์๋ฏธ์์ ๊ฒ์ด๋ผ ํ๋จ
- ํ๋ฆด ํ๋ฅ ์์ 5๊ฐ์ ๋ฌธ์ ๋ฅผ ์ถ์ฒํ๊ธฐ ๋๋ฌธ์ ์์๊ฐ ์ค์ํ ๊ฒ์ด๋ผ ํ๋จํ์ฌ NDCG๋ฅผ ์ฐธ๊ณ
- ๋ฐ๋ผ์ NDCG@10๊ฐ ์ ์ผ ๋์ EASE, Recall@10๊ฐ ์ ์ผ ๋์ SASRec๋ฅผ ์๋น ๋ชจ๋ธ๋ก ์ ์
- ์์ฒด์ ์ผ๋ก ๊ณ ์ํ ๋ชจ๋ธ
- KoNLPy, TF-IDF, ์ฝ์ฌ์ธ ์ ์ฌ๋(Cosine Similarity)๋ฅผ ํฉ์น ๋ชจ๋ธ
- (1) KoNLPy๋ฅผ ํตํด ๊ฐ ๋ฌธ์ ์ ํด์ค ๋ถ๋ถ์์ ์ฃผ์ ํํ์๋ฅผ ์ถ์ถ
- (2) ๋ถ์ฉ์ด ์ ์ฒ๋ฆฌ ํ TF-IDF๋ก ์๋ฒ ๋ฉ
- (3) ์๋ฒ ๋ฉ๋ ๋ฒกํฐ๋ผ๋ฆฌ์ ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ ๋ฐฉ์์ผ๋ก Top-K ๋ฌธ์ ๋ฅผ ์ฌ์ฉ์์๊ฒ ์ถ์ฒ
- Collaborative Filtering์์๋ hidden layer๋ฅผ ์ ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ์ด ๋ ์ข๋ค๋ ๊ฒ์ด ๋ฐํ์ ธ ์๊ธฐ ๋๋ฌธ์ hidden layer๋ฅผ ์์ ์ฌ์ฉํ์ง ์๋ EASE๊ฐ ์ข์ ์ฑ๋ฅ์ ๊ธฐ๋กํ ๊ฒ์ด๋ผ ์์
- EASE๋ชจ๋ธ์ ๋ค๋ฅธ ๋ชจ๋ธ์ ๋นํด inference๊ฐ ๋งค์ฐ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ค์๊ฐ์ผ๋ก ๋น ๋ฅด๊ฒ ์ถ์ฒ์ ์ ๊ณตํด์ผ ํ๋ ํ์ฌ ์๋น์ค์ ์ ํฉํ๋ค๊ณ ํ๋จ
- Transformer ๊ตฌ์กฐ๋ฅผ ์ถ์ฒ์ ํ์ฉํ ์ฒซ ๋ชจ๋ธ
- Self-attention ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Sparse ๊ตฌ์กฐ์ ์ ํฉํ Markov Chain์ ๋จ๊ธฐ์ ์์ธก ๋ฅ๋ ฅ ๊ทธ๋ฆฌ๊ณ dense ๊ตฌ์กฐ์ ์ ํฉํ RNN์ ์ด์ฉํ ์ฅ๊ธฐ์ ์์ธก ํน์ง์ ๋ชจ๋ ๋ฐ์ ๊ฐ๋ฅ
๋ชจ๋ธ๋ช | ์ฐธ์กฐ |
---|---|
TF-IDF | Luhn, H. P. (1957). A statistical approach to mechanized encoding and searching of literary information |
BM25 | S. E. Robertson, K. Sparck Jones. (1976). Relevance weighting of search terms |
SASRec(Self-Attentive Sequential Recommendation) | Wang-Cheng Kang, Julian McAuley. (2018). Self-Attentive Sequential Recommendation |
EASE(Embarrassingly Shallow Autoencoders for Sparse Data)) | Harald Steck. (2019). Embarrassingly Shallow Autoencoders for Sparse Data |
- https://recbole.io/ (recbole)
- https://ko.reactjs.org/docs/getting-started.html (react docs)
- https://firebase.google.com/docs?hl=ko (firebase docs)
- https://fastapi.tiangolo.com/ (fastapi docs)
- https://www.postgresql.org/docs/ (postgresql docs)
- https://konlpy.org/ko/latest/index.html (konlpy)