|
import os |
|
import re |
|
import time |
|
import requests |
|
import numpy as np |
|
import torch |
|
import joblib |
|
import xgboost as xgb |
|
from fastapi import FastAPI, HTTPException |
|
from pydantic import BaseModel |
|
from sentence_transformers import SentenceTransformer |
|
from typing import Optional, List,Dict |
|
from transformers import BertTokenizer, BertForSequenceClassification |
|
|
|
|
|
|
|
|
|
|
|
|
|
app = FastAPI() |
|
import os |
|
|
|
os.environ["HF_HOME"] = "/workspace/huggingface_cache" |
|
os.environ["HF_HUB_CACHE"] = "/workspace/huggingface_cache" |
|
os.environ["TRANSFORMERS_CACHE"] = "/workspace/huggingface_cache" |
|
|
|
|
|
print("Loading SentenceTransformer model...)") |
|
model_bert = SentenceTransformer("sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2") |
|
print("Model loaded.") |
|
|
|
|
|
items = [ |
|
|
|
|
|
{ |
|
"item_id": 1, |
|
"title": "ํฌ์ค ํผ์ค๋ ํ๋ก์ ํธ", |
|
"desc": "PT ์ ๋ฌธ ์ฝ์น์ ํจ๊ป ๊ทผ๋ ฅยท์ ์ฐ์๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌ (์ด๋, ํฌ์ค)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 2, |
|
"title": "๋น์ผ์ฌ ์๊ฐ in ๊ฐ๋ฆ", |
|
"desc": "๊ฐ๋ฆ ๋ฐ๋ค ํ๊ฒฝ ์์์ ํธํกยท๋์์ ์ตํ๋ ๋น์ผ์ฌ ์๊ฐ ํด๋์ค (์ด๋, ์๊ฐ)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 3, |
|
"title": "๋งคํธ ํ๋ผํ
์ค ์ง์ค ์ํฌ์", |
|
"desc": "๋งคํธ ๋์ ์์ฃผ๋ก ๊ธฐ์ด ์ฝ์ด ํ์ ๊ธฐ๋ฅด๋ ์๊ทธ๋ฃน ํ๋ จ (์ด๋, ํ๋ผํ
์ค)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 4, |
|
"title": "์คํ์ํฐ ์ค์๋ฐ ์ฒดํ", |
|
"desc": "๋ฐ๋ค๋ ํธ์์์ ์์ ์ค๋ ฅ์ ์ํํ๋ ์์ฐ ์นํํ ์ด๋ฒคํธ (์ด๋, ์์)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 5, |
|
"title": "ํ
๋์ค ํฌํธ๋ ๋ง์คํฐํด๋์ค", |
|
"desc": "ํฌํธ๋ ์ค์ยทํ์ํฌ๋ฅผ ์ง์ค ํ๋ จํ๊ณ ๋ฏธ๋ ๊ฒ์์ผ๋ก ์ค์ต (์ด๋, ํ
๋์ค)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 6, |
|
"title": "๊ณจํ ์๊ฒ์ ํนํ ๋ ์จ", |
|
"desc": "์ดํ๋ก์นยทํผํ
๋ฑ ์๊ฒ์ ๊ตฌ๊ฐ์ ์ง์ค์ ์ผ๋ก ์ฐ์ตํ๋ ํ๋ก๊ทธ๋จ (์ด๋, ๊ณจํ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 7, |
|
"title": "์์๋์ด ํด๋ผ์ด๋ฐ ๊ต์ค", |
|
"desc": "์ค์ธ ๋ฐ์ ์งํ์์ ์๋ฒฝ๋ฑ๋ฐ ๊ธฐ์ด์ ์์ ์์น์ ๋ฐฐ์ฐ๋ ์ฑ๋ฆฐ์ง (์ด๋, ํด๋ผ์ด๋ฐ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 8, |
|
"title": "ํ์ด ๋๋ฆฌ๋ธ&ํจ์ค ์ด๋ฒคํธ", |
|
"desc": "์ถ๊ตฌ ์๊ท๋ชจ ๋ฒ์ ํ์ด์์ ์ ์ ยทํ์ํฌ๋ฅผ ์ฆ๊ธฐ๋ ์ฃผ๋ง ํด๋์ค (์ด๋, ์ถ๊ตฌ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 9, |
|
"title": "์คํธ๋ฆฌํธ ๋๊ตฌ ๋๊ฒฐ์ ", |
|
"desc": "๋์ฌ ์ฝํธ์์ ๋๊ตฌ ํ ๋๋จผํธ๋ฅผ ์ด์ด ์ค๋ ฅ์ ๊ฒจ๋ฃจ๋ ์ก์
(์ด๋, ๋๊ตฌ)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 10, |
|
"title": "๋ณผ๋ง ์คํ&๋ฆด๋ฆฌ์ค ํ
ํฌ๋", |
|
"desc": "๋ณผ๋ง์ฅ ์ ๋ฌธ ๊ฐ์ฌ์ ํจ๊ป ๋ณผ ์คํ, ๋ฆด๋ฆฌ์ค ์์ธ๋ฅผ ๊ต์ (์ด๋, ๋ณผ๋ง)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 11, |
|
"title": "๋ฐฐ๋๋ฏผํด ๊ธฐ์ ์
์ํฌ์", |
|
"desc": "์ค๋งค์ยท๋๋กญ์ทยทํธํธ์ํฌ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๋ฐฐ์ฐ๋ ๋ฐฐ๋๋ฏผํด ๊ต์ค (์ด๋, ๋ฐฐ๋๋ฏผํด)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 12, |
|
"title": "10K ๋ฌ๋ ํฌ๋ฃจ ๋ ์ด์ค", |
|
"desc": "๋์ฌ 10km ๋ฌ๋ฆฌ๊ธฐ์ ํจ๊ป ๋์ ํ๋ฉฐ ๊ธฐ๋ก ํฅ์์ ๋ชฉํ (์ด๋, ๋ฌ๋)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 13, |
|
"title": "๋ถ์ฐ ํด์ ๋ก๋ํธ๋ฆฝ", |
|
"desc": "์ฐจ๋ก ๋ถ์ฐ ํด์ ๋๋ก๋ฅผ ๋ฌ๋ฆฌ๋ฉฐ ํด์ฐ๋ฌผ๊ณผ ํด๋ณ ํ๊ฒฝ ๋ง๋ฝ (์ฌํ, ๊ตญ๋ด์ฌํ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 14, |
|
"title": "๋ฏธ๊ตญ ์๋ถ ๋ฐฐ๋ญํฌ์ด", |
|
"desc": "LAยท์ํ๋์์ค์ฝยท๋ผ์ค๋ฒ ์ด๊ฑฐ์ค ๋ฑ ๋ฏธ๊ตญ ์๋ถ ๋์์ ๋ ๋๋ ์์ ์ฌํ (์ฌํ, ํด์ธ์ฌํ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 15, |
|
"title": "์ค์
์ฐ ๋ฐฑํจํน ํธ๋ ํน", |
|
"desc": "์ค์
์ฐ ๊ตญ๋ฆฝ๊ณต์์์ ๋ฐฐ๋ญ ์ผ์ํ๋ฉฐ ์ฐ์ธ์ ๊ณ๊ณก์ ์ฒดํ (์ฌํ, ๋ฐฑํจํน)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 16, |
|
"title": "๋ชจ๋ฅ๋ถ ์บ ํ ๋์ดํธ", |
|
"desc": "ํ
ํธ ํผ์นญ๊ณผ ๋ชจ๋ฅ๋ถ ์๋ฆฌ๋ก ์บ ํ ๋ฌธํ๋ฅผ ๋๋ผ๋ ํ๋ฃป๋ฐค (์ฌํ, ์บ ํ)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 17, |
|
"title": "ํ์ฝฉ ์ํฐ ๊ณจ๋ชฉํ๋ฐฉ", |
|
"desc": "ํ์ฝฉ ์ํธยท๋ชฝ์ฝ ๋ฑ ๊ณจ๋ชฉ ์์ฅ๊ณผ ๊ธธ๊ฑฐ๋ฆฌ ์์์ ์ฆ๊ธฐ๋ ๋์์ฌํ (์ฌํ, ๋์์ฌํ)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 18, |
|
"title": "์ ๊ตญ ๋ง์ง ๋ก๋์ผ", |
|
"desc": "๋ธ๋ก๊ทธยทSNS ์ถ์ฒ ๋ง์ง์ ์ง์ ์ฐพ์๋ค๋๋ฉฐ ์๋๋ฝ์ ์ฆ๊ธฐ๋ ํฌ์ด (์ฌํ, ๋ง์งํ๋ฐฉ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 19, |
|
"title": "๊ฒฝ์ฃผ ์ญ์ฌ ๋ฌธํํ๋ฐฉ", |
|
"desc": "์ ๋ผ์๋ ์ ์ ยท๋ฐ๋ฌผ๊ดยท์ ํต ๊ณต์ฐ์ ๋๋ฌ๋ณด๋ฉฐ ๋ฌธํ์ ์ฐ์ ํ์ต (์ฌํ, ๋ฌธํํ๋ฐฉ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 20, |
|
"title": "์ง์คํด ์๊ฐ ํ๋ง ํฌ์ด", |
|
"desc": "์ง์คํด ์ฐ์ ์๋์์์ ์๊ฐยท๋ช
์์ผ๋ก ๋ชธ๊ณผ ๋ง์์ ์ฌ์ถฉ์ (์ฌํ, ํ๋ง์ฌํ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 21, |
|
"title": "์ด๋ฌธ์ด '์ฐ๋ฆฌ๋ค์ ์ผ๊ทธ๋ฌ์ง ์์
' ๋
์ํ ๋ก ", |
|
"desc": "ํ๊ตญ ํ๋์์ค์ ํ๊ต ํญ๋ ฅยท๊ถ๋ ฅ ๊ด๊ณ๋ฅผ ํ ๋ก ํ๋ฉฐ ์๊ฐ ํ์ฅ (๋
์, ์์ค)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 22, |
|
"title": "๊น์์ ์ ๋ญ๋
์ด๋กฑ", |
|
"desc": "'์ง๋ฌ๋๊ฝ' ๋ฑ ํ๊ตญ์ ์ ์๊ฐ ๊น๋ ์๋ฅผ ๋ญ์กํ๊ณ ๊ฐ์์ ๊ต๋ฅ (๋
์, ์)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 23, |
|
"title": "๊ณต์ง์ '์ฆ๊ฑฐ์ด ๋์ ์ง' ์์ธ์ด ํก", |
|
"desc": "๊ฐ์กฑ๊ณผ ์ผ์ ์ด์ผ๊ธฐ๋ฅผ ๋ด์ ์์ธ์ด๋ฅผ ํจ๊ป ์ฝ๊ณ ๊ณต๊ฐ (๋
์, ์์ธ์ด)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 24, |
|
"title": "ํ์ด ํผํฌ๋จผ์ค ์ต๊ด ๋ง๋ค๊ธฐ", |
|
"desc": "๋ธ๋ ๋ ๋ฒ์ฒ๋ ๋ฑ ์๊ธฐ๊ณ๋ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์นจ ๋ฃจํด์ ์ค์ฒ (๋
์, ์๊ธฐ๊ณ๋ฐ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 25, |
|
"title": "์ฅํ์ '์จ๋๊ณ์ ์ฒ ํ' ์ธ๋ฌธ ์คํฐ๋", |
|
"desc": "์จ๋ยท์ธก์ ์ ์ฒ ํ์ ์๋ฏธ๋ฅผ ๋ค๋ฃฌ ์ฑ
์ ํตํด ์ฌ๊ณ ํ์ฅ (๋
์, ์ธ๋ฌธ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 26, |
|
"title": "์ ํ์ค '๋์ ๋ฌธํ์ ์ฐ๋ต์ฌ๊ธฐ' ์ญ์ฌ ๋
ํด", |
|
"desc": "ํ๊ตญ ๋ฌธํ์ ์ฐ ๋ต์ฌ๊ธฐ๋ฅผ ์ฝ๊ณ ํ์ฅ ๋ต์ฌ ์๊ตฌ๋ฅผ ๋์ด๋ ํ ๋ก (๋
์, ์ญ์ฌ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 27, |
|
"title": "๋ฆฌ์ฒ๋ ๋ํจ์ค '์ด๊ธฐ์ ์ ์ ์' ๊ณผํ ์ธ์
", |
|
"desc": "์ ์ ํ ์ด๋ก ์ ๋์ค์ ์ผ๋ก ํ์ด๋ธ ๋์๋ฅผ ํจ๊ป ์ฝ๊ณ ํ ๋ก (๋
์, ๊ณผํ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 28, |
|
"title": "์ง ์ฝ๋ฆฐ์ค '์ข์ ๊ธฐ์
์ ๋์ด ์๋ํ ๊ธฐ์
์ผ๋ก' ์ธ๋ฏธ๋", |
|
"desc": "๊ธฐ์
์ฑ๊ณต ์ฌ๋ก๋ฅผ ๋ถ์ํ๋ฉฐ ๊ฒฝ์ ยท๊ฒฝ์ ํต์ฐฐ์ ์ป๋ ๊ณผ์ (๋
์, ๊ฒฝ์ /๊ฒฝ์)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 29, |
|
"title": "์ฅ์ '์์์ ' ์ฒ ํ ์ด๋กฑ", |
|
"desc": "๋๊ฐ ์ฌ์์ ๋ด์ ์ฅ์์ ๊ธ์ ์ฝ๊ณ ์์ ๋ก์ด ์ถ์ ๊ฐ์น ๋
ผ์ (๋
์, ์ฒ ํ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 30, |
|
"title": "์๋๊ฐ ๋๊ฐ '๋ฐ๋ ์์
' ์์ ์ฑ
ํ ํฌ", |
|
"desc": "์ธ์์ฃผ์ ํ๊ฐ ๋๊ฐ์ ๋ฐ๋ ์๋ฆฌ์ฆ์ ์์ ์๋ฅผ ๊ฐ์ด ํ๋
(๋
์, ์์ )", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 31, |
|
"title": "'์๊ฐ ์ฌํ์์ ์๋ด' ๋ก๋งจ์ค ์คํฌ๋ฆฌ๋", |
|
"desc": "์๊ฐ์ฌํ์ ์์ฌ๋ก ํ ์ฌ๋ ์ด์ผ๊ธฐ๋ฅผ ํจ๊ป ๋ณด๊ณ ์ธ๊ณ ์๋ ์๋ฆฌ (์ํ, ๋ก๋งจ์ค)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 32, |
|
"title": "์ฝ๋ฏธ๋ '์ํผ๋ฐฐ๋' ์์ ํํฐ", |
|
"desc": "'์ํผ๋ฐฐ๋' ์๋ฆฌ์ฆ๋ฅผ ๊ฐ์ํ๋ฉฐ ์ ๋จธ ์ฝ๋๋ฅผ ๋ถ์ํ๊ณ ๋ ๋ค์ฉํ ์์์ ๊ณต์ (์ํ, ์ฝ๋ฏธ๋)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 33, |
|
"title": "'ํน์ค๋งจ' ์ก์
์ฌ ๊ด์ ", |
|
"desc": "'ํน์ค๋งจ' ์๋ฆฌ์ฆ์ ์ก์
์ฐ์ถยท์คํ์ด ์ฝ๋๋ฅผ ์ง์ด๋ณด๋ ์์ํ (์ํ, ์ก์
)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 34, |
|
"title": "'์์คํํธ' ์ค๋ฆด๋ฌ ๋ฏธ์คํฐ๋ฆฌ", |
|
"desc": "๊ธด์ฅ๊ฐ ๋์น๋ ํ๊ตญ ์ค๋ฆด๋ฌ ์ํ๋ฅผ ํจ๊ป ๊ฐ์ํ๊ณ ๋ฐ์ ์์ ํด์ (์ํ, ์ค๋ฆด๋ฌ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 35, |
|
"title": "'์์ผ๋ฆฌ์ธ' ๊ณตํฌ SF ๋ฐค์", |
|
"desc": "'์์ผ๋ฆฌ์ธ' ์๋ฆฌ์ฆ๋ฅผ ๋ชฐ์๋ณด๋ฉฐ ์ธ๊ณ ์๋ช
์ฒด ๊ณตํฌ์ SF ์ค์ ์ ํ ๋ก (์ํ, ๊ณตํฌ)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 36, |
|
"title": "'๊ทธ๋๋นํฐ' SF ํ ํฌ", |
|
"desc": "์ฐ์ฃผ ๊ณต๊ฐ ์กฐ๋ ์คํ ๋ฆฌ๋ฅผ ๊ทธ๋ฆฐ '๊ทธ๋๋นํฐ'์ ๊ณผํยท์ฐ์ถ์ ๋ถ์ (์ํ, SF)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 37, |
|
"title": "'ํด๋ฆฌ ํฌํฐ' ํํ์ง ์ค๋ฉ", |
|
"desc": "ํธ๊ทธ์ํธ ๋ง๋ฒ ์ธ๊ณ๊ด์ ์ฐ์ ์์ํ๊ณ ํฌ์ฌ์ ๋๋๋ ์คํ (์ํ, ํํ์ง)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 38, |
|
"title": "'์ธ์์ ์๋ฆ๋ค์' ๋๋ผ๋ง ๊ฐ๋", |
|
"desc": "์ ์ ์ ๊ฐ์กฑ์ฌ๋์ ๊ทธ๋ฆฐ ์ดํ๋ฆฌ์ ๋ช
์์ผ๋ก ํฌ๋ง ๋ฉ์์ง ๋๋ (์ํ, ๋๋ผ๋ง)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 39, |
|
"title": "'๋์ ์ด๋ฆ์' ์ ๋๋ฉ์ด์
์คํ์
", |
|
"desc": "์ ์นด์ด ๋ง์ฝํ ๊ฐ๋
์ ๋น๋๋ ์ํยท์ฒญ์ถ ํํ์ง๋ฅผ ๊ฐ์ (์ํ, ์ ๋๋ฉ์ด์
)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 40, |
|
"title": "'๋ง์ดํด ๋ฌด์ด' ๋คํ ํฌ๋ผ", |
|
"desc": "'ํ์จ 9/11' ๋ฑ ์ฌํยท์ ์น์ ๋ฉ์์ง๊ฐ ๋ด๊ธด ๋คํ๋ฅผ ๋ณด๊ณ ํ ๋ก (์ํ, ๋คํ๋ฉํฐ๋ฆฌ)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 41, |
|
"title": "'์ ค๋ค์ ์ ์ค: ์ผ์์ ์จ๊ฒฐ' RPG ํํ", |
|
"desc": "์คํ์๋ ๋ช
์ '์ ค๋ค' ์๋ฆฌ์ฆ๋ฅผ ํํํ๋ฉฐ ํผ์ฆยท์ ํฌ ๋ฐฉ์์ ๊ณต์ (๊ฒ์, RPG)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 42, |
|
"title": "'์ฝ ์ค๋ธ ๋ํฐ' FPS ์์กด ๋ฐฐํ", |
|
"desc": "๋ฐ๋ฆฌํฐ๋ฆฌ FPS์์ ํ ๋จ์ ์ ์ ์ ์คํํ๊ณ ์น๋ฆฌ๋ฅผ ๋
ธ๋ฆฌ๋ ๋์ (๊ฒ์, FPS)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 43, |
|
"title": "'๊ฐ ์ค๋ธ ์' ์ก์
์ค ๋ ์ด์ง", |
|
"desc": "ํฌ๋ ํ ์ค์ ์ฌ์ ยท์คํฌ ์ฝค๋ณด๋ฅผ ํ๊ณ ๋ค๋ฉฐ ์ก์
๊ฒ์์ ์ฌ๋ฏธ ์ฒดํ (๊ฒ์, ์ก์
)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 44, |
|
"title": "'๋ฌธ๋ช
6' ์ ๋ต ๋น๋ ์ธ์
", |
|
"desc": "ํด์ ์ ๋ต '๋ฌธ๋ช
6'์์ ๋ฌธ๋ช
๋ณ ํน์ฑ๊ณผ ์น๋ฆฌ ์กฐ๊ฑด์ ๋ถ์ (๊ฒ์, ์ ๋ต)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 45, |
|
"title": "'ํ๋๋ ์ฝ์คํฐ' ์๋ฎฌ๋ ์ด์
์ ์์", |
|
"desc": "๋์ด๊ณต์ ๊ฒฝ์ ๊ฒ์์์ ๋์ด๊ธฐ๊ตฌ ๋ฐฐ์นยท๊ฒฝ์์ ๋์์ธ (๊ฒ์, ์๋ฎฌ๋ ์ด์
)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 46, |
|
"title": "'NBA 2K' ์คํฌ์ธ ๋งค์น", |
|
"desc": "๋๊ตฌ๊ฒ์ 'NBA 2K'๋ก ์จ๋ผ์ธยท์คํ๋ผ์ธ ํ ๋๋จผํธ๋ฅผ ๊ฐ์ต (๊ฒ์, ์คํฌ์ธ )", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 47, |
|
"title": "'ํด๊ฐ์ด์ฆ' ํผ์ฆ ์ก์
๋ฐฐํ", |
|
"desc": "๊ท์ฝ๊ณ ํผ๋์ค๋ฌ์ด ์ฅ์ ๋ฌผ ์ฝ์ค๋ก ๋ค์ ์ธ์์ด ๊ฒฝ์ (๊ฒ์, ํผ์ฆ)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 48, |
|
"title": "'๋นํธ์ธ์ด๋ฒ' ๋ฆฌ๋ฌ VR ์ฒดํ", |
|
"desc": "VR ๊ธฐ๊ธฐ๋ฅผ ์ฐฉ์ฉํด ๋ฐ์์ ๋ง์ถฐ ๋ธ๋ก์ ๋ฒ ๋ ๋ฆฌ๋ฌ ๋๊ฒฐ (๊ฒ์, ์์
/๋ฆฌ๋ฌ)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 49, |
|
"title": "'๋งค์ง: ๋ ๊ฐ๋๋ง' ์นด๋ ๋ฑ์คํ", |
|
"desc": "TCG์ ์์กฐ๊ฒฉ์ธ โ๋งค์งโ์์ ๋ฑ ๋น๋์ ๋์ ์ ๋ต์ ์ฐ๊ตฌ (๊ฒ์, ์นด๋)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 50, |
|
"title": "'์๋ ์ค๋ธ ์ํฌ๋ํํธ' MMORPG ๊ธธ๋๋ ์ด๋", |
|
"desc": "์์ ๋ก์ค์์ ๊ธธ๋์์ด ํ์ ํฉ์ณ ๋ ์ด๋๋ฅผ ์งํ (๊ฒ์, MMORPG)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 51, |
|
"title": "์ฝ๋ฐ๋ ๋จ๊ฐ์ง ์ ์ฐฉ์ธํ DIY", |
|
"desc": "์ฝ๋ฐ๋ ๊ธฐ๋ฒ์ผ๋ก ์ธํ์ด๋ ์ํ์ ๋ง๋๋ ์ด๊ธ์ ๋์ ์ํฌ์ (๊ณต์, ๋จ๊ฐ์ง)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 52, |
|
"title": "์ผ๋ณธ ์์ '์ฌ์์ฝ' ๊ต์ค", |
|
"desc": "์ฌ์์ฝ ๊ธฐ๋ฒ์ผ๋ก ์์น๋งยทํฐ๋งคํธ๋ฅผ ์ฅ์ํ๋ ๋ ์จ (๊ณต์, ์์)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 53, |
|
"title": "๋์๊ธฐ ํธ๋ํ์ธํ
์ฒดํ", |
|
"desc": "๋น์ ๋์๊ธฐ์ ์ง์ ๊ทธ๋ฆผยท๋ฌธ์์ ๊ทธ๋ ค ์์ฑ๊น์ง ๊ฒฝํ (๊ณต์, ๋์๊ธฐ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 54, |
|
"title": "๊ฐ์ฃฝ ํ์ฐ์น ์ ์ ์คํ๋์ค", |
|
"desc": "๊ฐ์ฃฝ ์ฌ๋จยท๋ฐ๋์งยท๋ง๊ฐ๊น์ง ์ํ ํ์ฐ์น๋ฅผ ๋ง๋๋ ์ค์ต (๊ณต์, ๊ฐ์ฃฝ๊ณต์)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 55, |
|
"title": "๋ชฉ๊ณต์ ์๊ฐ๋ฝ ๋ง๋ค๊ธฐ ์ํฌ์", |
|
"desc": "๋๋ฌด๋ฅผ ๊น๊ณ ๋ค๋ฌ์ด ์ฃผ๋ฐฉ์ฉ ์๊ฐ๋ฝ์ ๋ง๋๋ ๊ธฐ์ด ์ฒดํ (๊ณต์, ๋ชฉ๊ณต์)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 56, |
|
"title": "๋น์ฆ๊ณต์ ์ก์ธ์๋ฆฌ ๋์์ธ", |
|
"desc": "๋น์ฆ ๊ตฌ์ฌ๋ก ํ์ฐยท๋ชฉ๊ฑธ์ด๋ฅผ ๋ง๋ค๊ณ ์๊ฐ ํจํด์ ์ตํ๋ ํด๋์ค (๊ณต์, ๋น์ฆ๊ณต์)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 57, |
|
"title": "์ ค ์บ๋ค & ๋ํจ์ ์ํ๋ฆฌ์", |
|
"desc": "ํฌ๋ช
์ ค ์์ค๋ก ์บ๋ค๊ณผ ๋ํจ์ ๋ฅผ ์ฐฝ์ํ๋ฉฐ ํฅ๊ธฐ๋ฅผ ๋์์ธ (๊ณต์, ์บ๋ค/๋ํจ์ )", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 58, |
|
"title": "ํ์ดํผํฌ๋ํํธ ๋๋ฌผ ํผ๊ท์ด", |
|
"desc": "์ข
์ด๋ก ์
์ฒด ๋๋ฌผ ๋ชจํ์ ๋ง๋ค๊ณ ์ฑ์ยท๋ํ
์ผ ์์
(๊ณต์, ํ์ดํผํฌ๋ํํธ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 59, |
|
"title": "๋งํฌ๋ผ๋ฉ ํด๋จน ์์ ๋ง๋ค๊ธฐ", |
|
"desc": "๋งค๋ญ ๊ธฐ๋ฒ์ ์ด์ฉํด ํด๋จน ์์ยท์ํ์ ๋ฑ ์ธํ
๋ฆฌ์ด ์ํ ์ ์ (๊ณต์, ๋งํฌ๋ผ๋ฉ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 60, |
|
"title": "๋ ์ง์ํธ ํธ๋ ์ด ๊ณต๋ฐฉ", |
|
"desc": "๋ ์ง๊ณผ ์์ยท๊ธ๋ฆฌํฐ๋ก ์ปต๋ฐ์นจ์ด๋ ์์ ํธ๋ ์ด๋ฅผ ๋ง๋๋ ์์
(๊ณต์, ๋ ์ง์ํธ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 61, |
|
"title": "๋ณด๋๊ฒ์ '์นดํ' ์ฑ๋ฆฐ์ง", |
|
"desc": "์ ๋ต ๋ณด๋๊ฒ์ '์นดํ' ๋ํ๋ก ๋ฌด์ญยท๊ฐ์ฒ ์ ์ ์ ๊ฒจ๋ฃจ๋ ์ด๋ฒคํธ (๊ธฐํ, ๋ณด๋๊ฒ์)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 62, |
|
"title": "์คํ์ธ์ด ๊ธฐ์ด ํํ ๊ต์ค", |
|
"desc": "hola! ๊ฐ๋จํ ๋ฌธ์ฅยทํํ๋ฅผ ๋ฐฐ์ ์ฌํยท์ผ์์์ ํ์ฉ (๊ธฐํ, ์ธ์ดํ์ต)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 63, |
|
"title": "ํ๋ธ๋ฃจ์ ์ปคํผ ์ค์ต", |
|
"desc": "์๋ ๊ณ ๋ฅด๊ธฐ๋ถํฐ ํธ๋๋๋ฆฝยท์์คํ๋ ์ ์ถ์ถ๊น์ง ์ปคํผ ์ ์ ์ ๊ณผ์ ์ฒดํ (๊ธฐํ, ์๋ฆฌ/์๋ฃ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 64, |
|
"title": "K-POP ๋์ค ์ปค๋ฒ ์คํ๋์ค", |
|
"desc": "์ต์ ์์ด๋ ์๋ฌด๋ฅผ ํจ๊ป ์ฐ์ตยท์ดฌ์ํด๋ณด๋ ํผํฌ๋จผ์ค ํ๋ก์ ํธ (๊ธฐํ, ๋์ค)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 65, |
|
"title": "ํ๋ผ์ ๋ ์จ & ๊ฝ๋ค๋ฐ ๋์์ธ", |
|
"desc": "์ํ๋ฅผ ํ์ฉํด ๋ถ์ผยท๊ฝ๋ค๋ฐ์ ์ง์ ๋ง๋๋ ๊ต์ค (๊ธฐํ, ํ๋ผ์)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 66, |
|
"title": "๋๋ก ํญ๊ณต์ดฌ์ ์ํฌ์", |
|
"desc": "๋๋ก ์กฐ์ข
๋ฒยท์ดฌ์ ๊ธฐ๋ฒยท์์ ํธ์ง์ ๋ฐฐ์ฐ๊ณ ์ค์ต (๊ธฐํ, ๋๋ก )", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 67, |
|
"title": "๋น๊ฑด ๋ฒ ์ด์ปค๋ฆฌ ํด๋์ค", |
|
"desc": "๋ฌ๊ฑยท๋ฒํฐ ์์ด ์ฟ ํคยท๋นต์ ๋ง๋๋ ๋ ์ํผ์ ๋
ธํ์ฐ ํ์ต (๊ธฐํ, ์๋ฆฌ/๋ฒ ์ดํน)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 68, |
|
"title": "์ ๊ฒฌ ํ๋๊ต์ & ํธ๋ฆญ ํด๋์ค", |
|
"desc": "๋ฐ๋ ค๊ฒฌ ๊ธฐ๋ณธ ํ๋๊ต์ ยท์ฐ์ฑ
์๋ นยท๊ฐ๋จํ ์ฌ์ฃผ๋ฅผ ํ๋ จ (๊ธฐํ, ๋ฐ๋ ค๋๋ฌผ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 69, |
|
"title": "์ํ ์๋๋ฆฌ์ค ์๋ฒ ์ํฌ์", |
|
"desc": "์๋์์คยท์บ๋ฆญํฐ ๊ตฌ์ฑ์ ๋ฐฐ์ฐ๊ณ ๋จํธ ์๋๋ฆฌ์ค๋ฅผ ์จ๋ณด๋ ํ๋ (๊ธฐํ, ๊ธ์ฐ๊ธฐ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 70, |
|
"title": "ํ์นตํ
์ผ ๋ฏน์๋ก์ง ์ด๋ฒคํธ", |
|
"desc": "์นตํ
์ผ ์ฌ๋ฃยท๋น์จ์ ์ตํ ์ง์์ ๊ฐ๋จํ ๋ง๋ค ์ ์๋ ๋ ์ํผ ์ค์ต (๊ธฐํ, ์๋ฆฌ/์๋ฃ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 71, |
|
"title": "์ ํ๋ธ ๋ธ์ด๋ก๊ทธ ํฌ๋ฆฌ์์ดํ
", |
|
"desc": "์์ ๊ธฐํยท์ดฌ์ยทํธ์ง ๋
ธํ์ฐ๋ฅผ ๋ฐฐ์ฐ๊ณ ๋ธ์ด๋ก๊ทธ๋ฅผ ์์ฑ (๊ธฐํ, ์์์ฝํ
์ธ )", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
|
|
|
|
{"item_id": 73, "title": "ํฌ๋ก์คํ ์ด์ ๋จ", "desc": "๊ณ ๊ฐ๋ ํฌ๋ก์คํ ์ด๋์ผ๋ก ์ฒด๋ ฅ์ ๋จ๋ จํ๋ ์ด์ ์ ๋ชจ์ (์จ๋, ํฌ์ค์ฅ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 74, "title": "๋ช
์ ์๊ฐ ์ํด", "desc": "๋ชธ์ ์ด์๊ณผ ๋ง์์ ํํ๋ฅผ ํจ๊ป ์ถ๊ตฌํ๋ ๋ช
์ ์๊ฐ ๋ชจ์ (์ด๋, ์๊ฐ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 75, "title": "์ฝ์ด ํธ๋ ์ด๋ ํธ", "desc": "ํ๋ผํ
์ค๋ก ์ฝ์ด ๊ทผ๋ ฅ๊ณผ ์ ์ฐ์ฑ์ ํค์ฐ๋ ๊ทธ๋ฃน (์ด๋, ํ๋ผํ
์ค)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 76, "title": "ํ๋ํ๊ธฐ ์ํฐํ", "desc": "์์๊ณผ ์ํฐ ์คํฌ์ธ ๋ฅผ ํจ๊ป ์ฆ๊ธฐ๋ฉฐ ์ฒด๋ ฅ์ ํค์ฐ๋ ๋ชจ์ (์ด๋, ์์)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 77, "title": "๋ผ์ผ ๋๋ฆผํด๋ฝ", "desc": "ํ
๋์ค๋ฅผ ๋น๋กฏํ ๋ผ์ผ ์คํฌ์ธ ๋ฅผ ๊ฐ์ด ๋ฐฐ์ฐ๊ณ ์ฆ๊ธฐ๋ ๋ํธํ (์ด๋, ํ
๋์ค)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 78, "title": "ํ๋ ๊ณจํ ๋ฆฌ๋์ค", "desc": "๊ณจํ ์ค์ ๊ธฐ์ ๊ณผ ํ๋ ๋งค๋๋ฅผ ํจ๊ป ์ตํ๋ ๋ผ์ด๋ฉ ํ (์ด๋, ๊ณจํ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 79, "title": "์ฌ๋ง ํ
๋ธ๋ฌ์ฆ", "desc": "์๋ฒฝ๋ฑ๋ฐ๊ณผ ์ฌ๋ง ํธ๋ ์ด๋์ผ๋ก ์๋ค๋ฅธ ์ด๋์ ์ฒดํํ๋ ๊ทธ๋ฃน (์ด๋, ํด๋ผ์ด๋ฐ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 80, "title": "์คํฌ์ธ ๊ณจ๋ ๋ฆฌ๊ทธ", "desc": "์ฃผ์คยท์ฃผ๋ง์ ์ถ๊ตฌ ๊ฒฝ๊ธฐ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ฌ๋ ์ปค๋ฎค๋ํฐ (์ด๋, ์ถ๊ตฌ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 81, "title": "ํํ์ฝํธ ์ํฐ์ค", "desc": "๋๊ตฌ ์ฝํธ์์ ํจ๊ป ๋ฐ๊ณ ์ค๋ ฅ์ ๋ฐฐ์ํ๋ ํ (์ด๋, ๋๊ตฌ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 82, "title": "์คํธ๋ผ์ดํฌ ๋ฌ๋ฒ์ค", "desc": "๋ณผ๋ง ์ ์๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํด ํจ๊ป ์ฐ๊ตฌํ๊ณ ์ฆ๊ธฐ๋ ๋์๋ฆฌ (์ด๋, ๋ณผ๋ง)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 83, "title": "์ค๋งค์ฑ ๋ฐฐ๋๋ฏผํด", "desc": "๋ฐฐ๋๋ฏผํด ์ค๋งค์ ๊ธฐ์ ๊ณผ ๊ฒฝ๊ธฐ๋ฅผ ํจ๊ป ์ฐ์ตํ๋ ํ์ต ๋ชจ์ (์ด๋, ๋ฐฐ๋๋ฏผํด)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 84, "title": "๋์ดํธ ๋ฌ๋์ค", "desc": "์ผ๊ฐ ๋ฌ๋์ ํตํด ๋์๋ฅผ ๋๋น๋ฉฐ ์ฒด๋ ฅ์ ๊ธฐ๋ฅด๋ ํฌ๋ฃจ (์ด๋, ๋ฌ๋)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
|
|
|
|
{"item_id": 85, "title": "์ค์ง์ฌํ ํํ๋", "desc": "๊ตญ๋ด ์จ๊ฒจ์ง ์ค์ง๋ฅผ ์ฐพ์ ๋ ๋๋ฉฐ ๋ชจํ์ฌ์ ๊ธฐ๋ฅด๋ ๋ชจ์ (์ฌํ, ๊ตญ๋ด์ฌํ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 86, "title": "๊ธ๋ก๋ฒ ๋ฐฑํฉ ํธ๋ฆฝ", "desc": "ํด์ธ ๋ฐฐ๋ญ์ฌํ ๋ฃจํธ๋ฅผ ํจ๊ป ๊ณํํ๊ณ ์คํํ๋ ๋ํธํ (์ฌํ, ํด์ธ์ฌํ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 87, "title": "ํ๋ ์บ ํ ์ด๋๋ฒค์ฒ", "desc": "๋ฐฑํจํน๊ณผ ์บ ํ์ ๊ฒฐํฉํด ์์ฐ์์ ์ด์๋ณด๋ ์ฒดํ ๋ชจ์ (์ฌํ, ๋ฐฑํจํน)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 88, "title": "ํจ๋ฐ๋ฆฌ ์บ ํ ์ผ", "desc": "๊ฐ์กฑ ๋จ์๋ก ์บ ํํ๋ฉฐ ์์ฐ ์ ์ํต์ ์ฆ๊ธฐ๋ ๊ทธ๋ฃน (์ฌํ, ์บ ํ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 89, "title": "๊ณจ๋ชฉ๊ธธ ํฌ์ด ํด๋ฝ", "desc": "๋์ ๊ณจ๋ชฉ๊ธธ๊ณผ ์ญ์ฌ์ ๊ณต๊ฐ์ ํจ๊ป ํ๋ฐฉํ๋ ์ฌํ ์ํด (์ฌํ, ๋์์ฌํ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 90, "title": "๋ฏธ์ํํฐ ํฌ๋ฃจ", "desc": "์ ๊ตญ ๋ง์ง์ ์กฐ์ฌํ๊ณ ์ง์ ์์ ํฌ์ด๋ฅผ ๋ ๋๋ ๋ชจ์ (์ฌํ, ๋ง์งํ๋ฐฉ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 91, "title": "๋ฌธํ์ ์ฐ ํ๋ฐฉ๊ธฐํ์ฌ", "desc": "์ ํต ๋ฌธํ์ ์ฐ๊ณผ ์ถ์ ๋ฅผ ๊ธฐํยทํ๋ฐฉํ๋ ์ฌํ ๋์๋ฆฌ (์ฌํ, ๋ฌธํํ๋ฐฉ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 92, "title": "์ฒ์ ํ๋ง ํธ๋๋ธ", "desc": "์์ฐ ์์์ ์น์ ์ ์ฌ์ถฉ์ ์ ๋ชฉ์ ์ผ๋ก ์ฌํํ๋ ๊ทธ๋ฃน (์ฌํ, ํ๋ง์ฌํ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
|
|
|
|
{"item_id": 93, "title": "๋ฌธํ ๋ฆฌ๋ทฐ ์ํด", "desc": "์์ค๊ณผ ๋ฌธํ์ํ์ ์ฝ๊ณ ๋นํํ๋ ์ฑ
๋์๋ฆฌ (๋
์, ์์ค)", "personality": "๋ดํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 94, "title": "์์ธ ๊ฟ๋๋ฌด ๋ชจ์", "desc": "์๋ก์ ์๋ฅผ ๋ญ๋
ํ๊ณ ๊ณต์ ํ๋ ์ฐฝ์ ์ํด๋ฝ (๋
์, ์)", "personality": "๋ดํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 95, "title": "๋ง์๊ธ์ฐ๊ธฐ ์์ธ์ดํ", "desc": "์์ธ์ด๋ก ์ผ์๊ณผ ๊ฐ์ ์ ํํํ๋ฉฐ ์ํตํ๋ ๊ธ๋ชจ์ (๋
์, ์์ธ์ด)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 96, "title": "์ค์ฒํ ์๊ธฐ๊ณ๋ฐ๋จ", "desc": "์๊ธฐ๊ณ๋ฐ์๋ฅผ ์ฝ๊ณ ์ฆ์ ์ค์ฒ ๊ณํ์ ์ธ์ฐ๋ ์คํฐ๋ (๋
์, ์๊ธฐ๊ณ๋ฐ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 97, "title": "๊น์ด์ฝ๊ธฐ ์ธ๋ฌธ์์ฌ์ด์ดํฐ", "desc": "์ธ๋ฌธํ ํ
์คํธ๋ฅผ ์ฌ์ธต ํ ๋ก ํ๋ฉฐ ์ฌ๊ณ ๋ ฅ์ ํ์ฅํ๋ ๊ทธ๋ฃน (๋
์, ์ธ๋ฌธ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 98, "title": "์ญ์ฌ๊ณต๋ถ ๋์ค์ปค์
", "desc": "์๋๋ณ ์ญ์ฌ์ ์ฌ๊ฑด์ ๊ณต๋ถํ๊ณ ์์ ๋กญ๊ฒ ๋
ผ์ํ๋ ๋ชจ์ (๋
์, ์ญ์ฌ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 99, "title": "๊ณผํํ๊ตฌ ๋ถํด๋ฝ", "desc": "์ต์ ๊ณผํ ์์ ์ ์ค์ฌ์ผ๋ก ์์ด๋์ด๋ฅผ ๋๋๋ ๋
์ํ (๋
์, ๊ณผํ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 100, "title": "๊ฒฝ์์ ๋ต ๋
ํดํ", "desc": "๊ฒฝ์ /๊ฒฝ์ ๊ด๋ จ ์์ ์ ํจ๊ป ๋ถ์ํ๊ณ ์ฌ๋ก๋ฅผ ์ฐ๊ตฌํ๋ ๊ทธ๋ฃน (๋
์, ๊ฒฝ์ /๊ฒฝ์)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 101, "title": "์ฒ ํ๊ฐ๋
์ธ๋ฏธ๋", "desc": "์ฒ ํ ์์ ์ ์ฝ๊ณ ํต์ฌ ๊ฐ๋
์ ํ ๋ก ํ๋ ํ์ ๋ชจ์ (๋
์, ์ฒ ํ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 102, "title": "์ํธ๋ถ ์ธ์ฌ์ดํธํ", "desc": "์์ ๊ด๋ จ ์์ ์ ํตํด ์์ ์ฌ์ ์ํ ์ธ๊ณ๋ฅผ ํ๊ตฌํ๋ ๋ชจ์ (๋
์, ์์ )", "personality": "๋ดํฅํ, ๊ฐ์ ํ"}, |
|
|
|
|
|
{"item_id": 103, "title": "๋ญ๋ง ์ํ ์ ํธ๊ฐ๋ค", "desc": "๊ฐ์ฑ์ ์ธ ๋ก๋งจ์ค ์ํ๋ฅผ ์ข์ํ๋ ์ฌ๋๋ค์ ๋ชจ์ (์ํ, ๋ก๋งจ์ค)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 104, "title": "ํญ์ ์ฝ๋ฏธ๋ ํ์คํฐ๋ฒ", "desc": "์์์ ์ฃผ์ ๋ก ์ฝ๋ฏธ๋ ์ํ๋ฅผ ํจ๊ป ๋ณด๋ ์๋ชจ์ (์ํ, ์ฝ๋ฏธ๋)", "personality": "์ธํฅํ, ๊ฐ์ ํ, ์ด์ฑํ"}, |
|
{"item_id": 105, "title": "์ก์
๋งค๋์์ฆ", "desc": "๋ฐ์ง๊ฐ ๋์น๋ ์ก์
์ํ์ ๋งค๋ ฅ์ ํด๋ถํ๋ ๊ทธ๋ฃน (์ํ, ์ก์
)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 106, "title": "์์คํ์ค ์๋ค๋ง๋ถ์๋จ", "desc": "์ค๋ฆด๋ฌ ์ํ ์ ๊ธด์ฅ๊ฐ๊ณผ ์คํ ๋ฆฌ๋ฅผ ๋ถ์ํ๋ ๋ชจ์ (์ํ, ์ค๋ฆด๋ฌ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 107, "title": "ํธ๋ฌ๋งคํฑ ์คํฐ๋", "desc": "๊ณตํฌ์ํ์ ๋ถ์๊ธฐ์ ์ฐ์ถ์ ์ง์ค ํ๊ตฌํ๋ ํ (์ํ, ๊ณตํฌ)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 108, "title": "SF ์๋ ๋์ค์ปค๋ฒ๋ฆฌ", "desc": "๊ณต์๊ณผํ ์ํ๋ฅผ ๋ณด๊ณ ๋ฏธ๋ ๊ธฐ์ ๊ณผ ์ธ๊ณ๊ด์ ํ ๋ก ํ๋ ๋ชจ์ (์ํ, SF)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 109, "title": "ํํ์ง ์ด๋งค์ง๋ค์ด์
", "desc": "ํ์์ ์ธ ํํ์ง ์ํ๋ฅผ ๊ฐ์ํ๋ฉฐ ์์ด๋์ด๋ฅผ ๊ณต์ ํ๋ ์ํด (์ํ, ํํ์ง)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 110, "title": "ํด๋จผ๋๋ผ๋ง ์ธ์ฌ์ดํธ", "desc": "๊ฐ๋์ ์ธ ๋๋ผ๋ง ์ฅ๋ฅด ์ํ๋ฅผ ํจ๊ป ๋ณด๊ณ ๊ตํ์ ์ฐพ๋ ๋ชจ์ (์ํ, ๋๋ผ๋ง)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 111, "title": "์ ๋ ์ ํธํ", "desc": "๋ค์ํ ์ ๋๋ฉ์ด์
์ํ๋ฅผ ์ ๊ธฐ ์์ํ๋ฉฐ ๊ฐ์ํ๋ ํฌํด๋ฝ (์ํ, ์ ๋๋ฉ์ด์
)", "personality": "์ธํฅํ, ๊ฐ์ ํ"}, |
|
{"item_id": 112, "title": "๋คํ ๋ฆฌ๋ทฐ ํฌ๋ผ", "desc": "๋คํ๋ฉํฐ๋ฆฌ ์ํ๋ฅผ ๋ณด๊ณ ์ฌํยทํ๊ฒฝ ๋ฌธ์ ๋ฅผ ๋
ผ์ํ๋ ๋ชจ์ (์ํ, ๋คํ๋ฉํฐ๋ฆฌ)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
|
|
|
|
{"item_id": 113, "title": "RPG ๋ชจํ๋จ", "desc": "ํํ์ง ์ธ๊ณ์์ ํจ๊ป ํํฐ๋ฅผ ์ด๋ค ๋ชจํํ๋ RPG ํ (๊ฒ์, RPG)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 114, "title": "FPS ๊ณ ์ธ๋ฌผ ํด๋", "desc": "๊ณ ๋๋ ์ํ
๊ธฐ์ ์ ์ฐ์ตํ๋ฉฐ ๋ํ์๋ ๋๊ฐ๋ FPS ๋ํธํ (๊ฒ์, FPS)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 115, "title": "์ก์
์ฝ์ด ์ ๋ตํ", "desc": "์ก์
๊ฒ์์ ์จ๊ฒจ์ง ํ
ํฌ๋๊ณผ ์ฝค๋ณด๋ฅผ ์ฐ๊ตฌํ๋ ๊ทธ๋ฃน (๊ฒ์, ์ก์
)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 116, "title": "์ ๋ต๋ชจ๋ ์๋ฎฌํด๋ฝ", "desc": "์ ๋ต ์๋ฎฌ๋ ์ด์
์ฅ๋ฅด๋ฅผ ์ฌ๋ ์๊ฒ ํ๋ ์ดยท๋ถ์ํ๋ ๋ํธํ (๊ฒ์, ์ ๋ต)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 117, "title": "์๋ฎฌ๋ ์ด์
๋ง๋์๋ค", "desc": "๋์๊ฑด์ค, ๊ฒฝ์ ์๋ฎฌ๋ ์ด์
๋ฑ ๋ค์ํ ์๋ฎฌ ๊ฒ์์ ์ฆ๊ธฐ๋ ๋ชจ์ (๊ฒ์, ์๋ฎฌ๋ ์ด์
)", "personality": "์ธํฅํ, ์ด์ฑํ, ๊ฐ์ ํ"}, |
|
{"item_id": 118, "title": "์คํฌ์ธ ๊ฒ์ด๋จธ ์ฑ๋ฆฐ์ง", "desc": "์ถ๊ตฌยท๋๊ตฌ ๋ฑ ์คํฌ์ธ ๊ฒ์ ๋ฆฌ๊ทธ๋ฅผ ์ด์ํ๋ ์ปค๋ฎค๋ํฐ (๊ฒ์, ์คํฌ์ธ )", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 119, "title": "ํผ์ฆ ๋ธ๋ ์ธํ๋ฆญ", "desc": "ํผ์ฆยท๋๋๊ฒ์์ ํจ๊ป ํ๋ฉฐ ์์ด๋์ด๋ฅผ ๊ณต์ ํ๋ ํ (๊ฒ์, ํผ์ฆ)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 120, "title": "๋ฆฌ๋ฌ๊ฒ์ ์ค์ผ์คํธ๋ผ", "desc": "์์
/๋ฆฌ๋ฌ๊ฒ์์์ ํฉ์ฃผํ๋ ๋๋์ผ๋ก ํ๋ ฅ ํ๋ ์ดํ๋ ๋ชจ์ (๊ฒ์, ์์
/๋ฆฌ๋ฌ)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 121, "title": "์นด๋ํ๋ ์ด ๋งค๋์", "desc": "ํฌ์ปคยทTCG ๋ฑ ์นด๋ ๊ธฐ๋ฐ ๊ฒ์์ ์ฌ๋ ์๊ฒ ์ฆ๊ธฐ๋ ๋์๋ฆฌ (๊ฒ์, ์นด๋)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 122, "title": "MMORPG ์ฐํฉ๊ธธ๋", "desc": "๋๊ท๋ชจ ์จ๋ผ์ธ RPG์์ ๊ธธ๋์๋ค๊ณผ ํจ๊ป ๋์ ํ๋ ํ (๊ฒ์, MMORPG)", "personality": "์ธํฅํ, ์ด์ฑํ"}, |
|
|
|
|
|
{"item_id": 123, "title": "๋ํธ๋์์ธ ์คํฐ๋์ค", "desc": "๋จ๊ฐ์ง๋ก ํจ์
์ํ๊ณผ ์๋ฅ๋ฅผ ์ฐฝ์ํ๋ ์ํฌ์ (๊ณต์, ๋จ๊ฐ์ง)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 124, "title": "์์ ๋ํ
์ผ์ฐ๊ตฌํ", "desc": "์ฌ์ธํ ์์ ๊ธฐ๋ฒ์ ์ฐ๊ตฌํ๋ฉฐ ์ํ์ ์์ฑํ๋ ๋ชจ์ (๊ณต์, ์์)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 125, "title": "๋์ ๊ณต์๋จ", "desc": "๋์๊ธฐ ๊ณต์๋ก ์๊ธฐยท์ธํ
๋ฆฌ์ด ์ํ์ ์ ์ํด๋ณด๋ ๊ทธ๋ฃน (๊ณต์, ๋์๊ธฐ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 126, "title": "๊ฐ์ฃฝ๊ณต์ ์คํฌ๋ฉ", "desc": "๊ฐ์ฃฝ ์ฌ๋จ๋ถํฐ ๋ฐ๋์ง๊น์ง ์ค์ตํ๊ณ ๋์์ธ์ ๊ณต์ ํ๋ ๋ชจ์ (๊ณต์, ๊ฐ์ฃฝ๊ณต์)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 127, "title": "๋ชฉ๊ณต ๋ง์คํฐ์ค", "desc": "๋ชฉ์ฌ๋ฅผ ํ์ฉํด ๊ฐ๊ตฌยท์ฅ์ํ์ ์ ์ํ๋ฉฐ ๊ธฐ์ ์ ๋ฐฐ์ฐ๋ ๋ชจ์ (๊ณต์, ๋ชฉ๊ณต์)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 128, "title": "๋น์ฆ ๋์์ธ ํฉํ ๋ฆฌ", "desc": "๋น์ฆ๊ณต์๋ก ์ก์ธ์๋ฆฌยท์ฅ์ ๊ตฌ๋ฅผ ์ฐฝ์ํ๋ ๊ต์ค (๊ณต์, ๋น์ฆ๊ณต์)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 129, "title": "์บ๋ค/๋ํจ์ ํฌ๋ฆฌ์์ดํฐ๋ธ", "desc": "ํฅ์ด์ ๋ํจ์ ๋ฅผ ์์ ์ ์ผ๋ก ํํํด๋ณด๋ ์ฐฝ์ ์คํ๋์ค (๊ณต์, ์บ๋ค/๋ํจ์ )", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 130, "title": "ํ์ดํผ์ํธ ๋์์ธ๋ฉ", "desc": "์ข
์ด ๊ณต์๋ก ๋
ํนํ ์ํ๊ณผ ๋ฏธ๋์ด์ฒ๋ฅผ ๋ง๋๋ ์ฐ๊ตฌํ (๊ณต์, ํ์ดํผํฌ๋ํํธ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 131, "title": "๋งํฌ๋ผ๋ฉ ๊ณต์์ค", "desc": "๋งํฌ๋ผ๋ฉ ๋งค๋ญ ๊ธฐ๋ฒ์ ๋ค์ํ๊ฒ ์๋ํด๋ณด๋ ์์
์ค (๊ณต์, ๋งํฌ๋ผ๋ฉ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
{"item_id": 132, "title": "๋ ์ง์ํธ ํฌ๋ฆฌ์์ดํฐ์ฆ", "desc": "๋ ์ง์ ํ์ฉํด ์ฅ์ํยท์ํ์ ๋์์ธํ๊ณ ๊ณต์ ํ๋ ๋ชจ์ (๊ณต์, ๋ ์ง์ํธ)", "personality": "๋ดํฅํ, ์ด์ฑํ"}, |
|
|
|
{ |
|
"item_id": 133, |
|
"title": "๋์ดํค ํฌ์ค ํผํธ๋์ค ์ฑ๋ฆฐ์ง", |
|
"desc": "ํฌ์ค์ฅ์์ ๋์ดํค ํ๋ก๊ทธ๋จ์ ํตํด ์จ์ดํธ ๋ฐ ์ ์ฐ์๋ฅผ ๋ง์คํฐ (์ด๋, ํฌ์ค)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 134, |
|
"title": "์์ฌํ๊ฐ ์๊ฐ ํด๋์ค in ๋ฐ๋ฆฌ", |
|
"desc": "๋ฐ๋ฆฌ ์์ฐ ์์์ ๋ช
์ยท์์ฌ๋ ์๊ฐ๋ฅผ ์ฌ๋ ์๊ฒ ์ฒดํ (์ด๋, ์๊ฐ)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 135, |
|
"title": "๋ฆฌํฌ๋จธ ํ๋ผํ
์ค ์คํ๋์ค", |
|
"desc": "๊ธฐ๊ตฌ ํ๋ผํ
์ค๋ก ์์ธ ๊ต์ ๊ณผ ์ฝ์ด ๊ฐํ์ ์ง์ค (์ด๋, ํ๋ผํ
์ค)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 136, |
|
"title": "์์ฟ ์ ์ค์๋ฐ ํ๋ก์ ํธ", |
|
"desc": "์ค๋ด ์์์ฅ์์ ์๋ฒยทํธํก๋ฒ์ ์ตํ๊ณ ์คํ์ํฐ ๋์ (์ด๋, ์์)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 137, |
|
"title": "์๋ธ๋ ํ
๋์ค ๋ ์จ", |
|
"desc": "ํ๋ก ์ฝ์น์ ํจ๊ป ๋ ๋ฆฌยท๋ฐ๋ฆฌ๋ฅผ ์ง์ค ํ๋ จ, ๋ฏธ๋ ๋งค์น ์งํ (์ด๋, ํ
๋์ค)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 138, |
|
"title": "์คํฌ๋ฆฐ ๊ณจํ ๋ผ์ด๋ฉ", |
|
"desc": "ํ๋ ๋์ ์คํฌ๋ฆฐ ๊ณจํ๋ก ์ค์ ๊ต์ ํ๊ณ ํผํ
์ค๋ ฅ์ ํค์ (์ด๋, ๊ณจํ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 139, |
|
"title": "์ค๋ด ํด๋ผ์ด๋ฐ ์ฑ๋ฆฐ์ง", |
|
"desc": "์๋ฒฝ๋ฑ๋ฐ ์ผํฐ์์ ๋ค์ํ ์ฝ์ค๋ฅผ ๊ณต๋ตํ๋ฉฐ ๊ทผ์ง๊ตฌ๋ ฅ ํฅ์ (์ด๋, ํด๋ผ์ด๋ฐ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 140, |
|
"title": "ํ๋ณผ ๋งค์น๋ฐ์ด ์ด๋ฒคํธ", |
|
"desc": "์ถ๊ตฌ ํฌ๋ค์ด ๋ชจ์ฌ ํฌ๋ฉ์ด์
์ง๊ณ ๋ฏธ๋ ๊ฒฝ๊ธฐ๋ฅผ ์ฆ๊ธฐ๋ ์ผ์ (์ด๋, ์ถ๊ตฌ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 141, |
|
"title": "NBA ๋๊ตฌ ์ก์
ํ์", |
|
"desc": "์ฝํธ์์ ๋๋ฆฌ๋ธยท์์ ์ฐ์ตํ๊ณ 3:3 ์คํฌ๋ฆฌ๋ฏธ์ง๋ฅผ ์งํ (์ด๋, ๋๊ตฌ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 142, |
|
"title": "๋ฝ๋ณผ๋ง ์คํธ๋ผ์ดํฌ ํํฐ", |
|
"desc": "๋ณผ๋ง์ฅ์์ ์์
๊ณผ ํจ๊ป ์คํธ๋ผ์ดํฌ ํ๋ฅ ์ ๋์ด๋ ๊ต๋ฅ์ (์ด๋, ๋ณผ๋ง)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 143, |
|
"title": "์
ํ์ฝ ๋ฐฐ๋๋ฏผํด ๊ต์ค", |
|
"desc": "๋ฐฐ๋๋ฏผํด ์ค๋งค์ยทํธํธ์ํฌ ์ง์ค ์ฐ์ต ํ ๋ฏธ๋ ํ ๋๋จผํธ (์ด๋, ๋ฐฐ๋๋ฏผํด)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 144, |
|
"title": "ํํ๋ง๋ผํค ๋ฌ๋ ๋ ์ด์ค", |
|
"desc": "๋์ฌ 10kmยท21km ๋ ์ด์ค์ ๋์ ํ๋ฉฐ ๊ธฐ๋ก ํฅ์์ ๋ชฉํ (์ด๋, ๋ฌ๋)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 145, |
|
"title": "๊ฐ์๋ ๋ก๋ํธ๋ฆฝ", |
|
"desc": "์ฐจ๋ก ๊ฐ์๋ ํด์ยท์ฐ๊ณจ ๋ช
์๋ฅผ ๋์๋ณด๋ฉฐ ์์ฐ์ ๋ง๋ฝ (์ฌํ, ๊ตญ๋ด์ฌํ)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 146, |
|
"title": "์ ๋ฝ ๋ฐฐ๋ญ ์์ ์ฌํ", |
|
"desc": "ํ๋ฆฌยท๋ก๋งยท๋ฐ๋ฅด์
๋ก๋๋ฅผ ํฌํจํด ์ ๋ฝ ๋์๋ค์ ์ฌํ (์ฌํ, ํด์ธ์ฌํ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 147, |
|
"title": "์ง๋ฆฌ์ฐ ๋ฐฑํจํน ํธ๋ ์ผ", |
|
"desc": "๋ฐฐ๋ญ ํ๋๋ก ์ง๋ฆฌ์ฐ ๋๋ ๊ธธ์ ๊ฑธ์ผ๋ฉฐ ์์ฐ ์ ์ผ์ (์ฌํ, ๋ฐฑํจํน)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 148, |
|
"title": "์บ ํ ํ์ด์ด๋์ดํธ", |
|
"desc": "ํ
ํธ ์น๊ณ ๋ชจ๋ฅ๋ถ์ ์ฆ๊ธฐ๋ฉฐ ๊ฐ์กฑยท์น๊ตฌ์ ์ํตํ๋ ํ๋ก๊ทธ๋จ (์ฌํ, ์บ ํ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 149, |
|
"title": "์์ธ ๊ณจ๋ชฉํฌ์ด", |
|
"desc": "์ต์ ๋ยท์์ง๋ก ๋ฑ ์ค๋๋ ๊ณจ๋ชฉ๊ธธ ์นดํยท๋ง์ง์ ํ๋ฐฉ (์ฌํ, ๋์์ฌํ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 150, |
|
"title": "์ ์ฃผ ํ์ฅ๋ง์ ๋ฏธ์ ํ๋ฐฉ", |
|
"desc": "์ ์ฃผ์ ๋น๋น๋ฐฅยท๋ง๊ฑธ๋ฆฌยทํ์ ์์ ๋๋ฌ๋ณด๋ ์๋๋ฝ ์ฌํ (์ฌํ, ๋ง์งํ๋ฐฉ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 151, |
|
"title": "๊ฒฝ๋ณต๊ถ ๋ฌธํํ๋ฐฉ", |
|
"desc": "์๊ถยท์ ํต ๊ณต์ฐยท๋ฐ๋ฌผ๊ด์ ๋๋ฉฐ ํ๊ตญ ์ญ์ฌ๋ฅผ ๋ฐฐ์ฐ๋ ์ฝ์ค (์ฌํ, ๋ฌธํํ๋ฐฉ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 152, |
|
"title": "์ ์ฃผ ์ค๋ฆ ํ๋งํฌ์ด", |
|
"desc": "์ ์ฃผ ์ค๋ฆยท์ฉ์๋๊ตด์ ๊ฑธ์ผ๋ฉฐ ์์ฐ ์์์ ์ฌ์ถฉ์ (์ฌํ, ํ๋ง์ฌํ)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 153, |
|
"title": "๋ฌด๋ผ์นด๋ฏธ '1Q84' ๋ถํด๋ฝ", |
|
"desc": "ํ๋ฃจํค ์ฅํธ์์ค์ ํจ๊ป ์ฝ๊ณ ์์งยท๋ฉํํฌ๋ฅผ ํ ๋ก (๋
์, ์์ค)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 154, |
|
"title": "์ค๋์ฃผ ์ ๋ญ๋
ํ", |
|
"desc": "โํ๋๊ณผ ๋ฐ๋๊ณผ ๋ณ๊ณผ ์โ ๋ฑ ์ค๋์ฃผ ์๋ฅผ ๋ญ์กํ๋ฉฐ ๋ฌธํ์ ๊ฐ์ฑ์ ๊ณต์ (๋
์, ์)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 155, |
|
"title": "๊น์ํ '์ฌํ์ ์ด์ ' ์์ธ์ด ์ด๋กฑ", |
|
"desc": "์ฌํ๊ณผ ์ถ์ ๊ด๊ณ๋ฅผ ์์ธ์ด๋ก ํ๊ตฌํ๊ณ ๋๋ ์ ์ ๋๋๋ ์๊ฐ (๋
์, ์์ธ์ด)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 156, |
|
"title": "์คํฐ๋ธ ์ฝ๋น '์ฑ๊ณตํ๋ ์ฌ๋๋ค์ 7๊ฐ์ง ์ต๊ด'", |
|
"desc": "์๊ธฐ๊ณ๋ฐ์๋ฅผ ํจ๊ป ์ฝ๊ณ ์ค์ฒ ์ ๋ต์ ์ธ์ฐ๋ ์ฑ์ฅ ํ๋ก์ ํธ (๋
์, ์๊ธฐ๊ณ๋ฐ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 157, |
|
"title": "์ธ๋ฌธํ ํ ํฌ: '์ด, ๊ท , ์ ' & '์ฌํผ์์ค'", |
|
"desc": "๋ฌธ๋ช
์ ๋ฐ์ ๊ณผ์ ์ ๋ค๋ฃฌ ๋ช
์ ๋ฅผ ๋น๊ตยท๋ถ์ํ๋ ์ฌ์ธต ๋
์ (๋
์, ์ธ๋ฌธ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 158, |
|
"title": "์ ๋ฐ ํ๋ผ๋ฆฌ '์ฌํผ์์ค' ์ญ์ฌ ์ธ์
", |
|
"desc": "์ธ๋ฅ ์ญ์ฌ๋ฅผ ์กฐ๋งํ๋ '์ฌํผ์์ค'๋ฅผ ์ฝ๊ณ ํ์ฌ ์ฌํ์ ์ฐ๊ฒฐ (๋
์, ์ญ์ฌ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 159, |
|
"title": "์นผ ์ธ์ด๊ฑด '์ฝ์ค๋ชจ์ค' ๊ณผํ ๋
์๋ชจ์", |
|
"desc": "์ฐ์ฃผ์ ๊ณผํ์ ์ฌ๊ณ ๋ฅผ ํ์ฅํด๋ณด๋ '์ฝ์ค๋ชจ์ค' ํจ๊ป ์ฝ๊ธฐ (๋
์, ๊ณผํ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 160, |
|
"title": "์ ๋ค ์ค๋ฏธ์ค '๊ตญ๋ถ๋ก ' ๊ฒฝ์ ํฌ๋ผ", |
|
"desc": "๊ณ ์ ๊ฒฝ์ ํ์ ํ ๋๋ก ์์ฅ๊ฒฝ์ ์๋ฆฌ๋ฅผ ์ดํดํ๋ ์ธ๋ฏธ๋ (๋
์, ๊ฒฝ์ /๊ฒฝ์)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 161, |
|
"title": "๋์ฒด '์ฐจ๋ผํฌ์คํธ๋ผ๋ ์ด๋ ๊ฒ ๋งํ๋ค' ์ฒ ํ ํ ๋ก ", |
|
"desc": "๋์ฒด ์ฒ ํ์ ๊น์ด ์๊ฒ ํ๋
ํ๊ณ ํ๋์ ์๋ฏธ๋ฅผ ํด์ (๋
์, ์ฒ ํ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 162, |
|
"title": "๋น์ผํธ ๋ฐ ๊ณ ํ ์์ ์ฑ
๋ฆฌ๋ทฐ", |
|
"desc": "ํ๊ฐ ๋ฐ ๊ณ ํ์ ์ํ ์ธ๊ณ๋ฅผ ๋ฏธ์ ์์ ์ผ๋ก ์ ํ๊ณ ๊ต๊ฐ (๋
์, ์์ )", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 163, |
|
"title": "'๋ฌ๋ธ ์ก์ธ์ผ๋ฆฌ' ๋ก๋งจ์ค ์์ํ", |
|
"desc": "์ฌ๋ฌ ์ปคํ์ ์ฌ๋ ์ด์ผ๊ธฐ๋ฅผ ๋ด์ '๋ฌ๋ธ ์ก์ธ์ผ๋ฆฌ'๋ฅผ ๊ฐ์ ํ ํ ๋ก (์ํ, ๋ก๋งจ์ค)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 164, |
|
"title": "์ฝ๋ฏธ๋ '๋ฏธ์คํฐ ๋น' ํน๋ณ์ ", |
|
"desc": "๋ก์ ์ณํจ์จ์ ๋ฐ๋ ์ฝ๋ฏธ๋๋ฅผ ๊ฐ์ํ๋ฉฐ ์์ ํฌ์ธํธ๋ฅผ ๋ถ์ (์ํ, ์ฝ๋ฏธ๋)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 165, |
|
"title": "'๋งค๋ ๋งฅ์ค: ๋ถ๋
ธ์ ๋๋ก' ์ก์
ํ ํฌ", |
|
"desc": "ํฌ์คํธ ์ํฌ์นผ๋ฆฝ์ค ๋ฐฐ๊ฒฝ์ ์ง์ฃผ ์ก์
์ ํด๋ถํ๋ ์์ํ (์ํ, ์ก์
)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 166, |
|
"title": "์ค๋ฆด๋ฌ '๊ฒ ์์' ์ฌ๋ฆฌ๋ถ์", |
|
"desc": "์กฐ๋ ํ์ '๊ฒ ์์'์ ํตํด ๊ณตํฌ์ ์ฌํ์ ๋ฉ์์ง๋ฅผ ์ดํผ๋ ์ด๋ฒคํธ (์ํ, ์ค๋ฆด๋ฌ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 167, |
|
"title": "๊ณตํฌ '์ปจ์ ๋ง' ์ค์น ์ฒดํ", |
|
"desc": "์ฌ๋ นํ์์ ๋ค๋ฃฌ ๊ณตํฌ์ํ '์ปจ์ ๋ง'์ผ๋ก ์ฌ์ด๋ยท๋ถ์๊ธฐ ์ฐ์ถ์ ํ๊ตฌ (์ํ, ๊ณตํฌ)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 168, |
|
"title": "'์ธํฐ์คํ
๋ผ' SF ๋์ค์ปค์
", |
|
"desc": "ํฌ๋ฆฌ์คํ ํผ ๋๋์ ์ฐ์ฃผยท์ค๋ ฅ ์ด๋ก ์ ๋ด์ ์ํ๋ฅผ ๋ณด๊ณ ๊ณผํ์ ์ค์ ํ ๋ก (์ํ, SF)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 169, |
|
"title": "'๋ฐ์ง์ ์ ์' ํํ์ง ๋ฐ์ด", |
|
"desc": "ํจํจ ์ธ๊ณ๊ด์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋์์ฌ์๋ฅผ ์ฐ์ ์์ยท๋ถ์ (์ํ, ํํ์ง)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 170, |
|
"title": "'์ผ์ํฌ ํ์ถ' ๋๋ผ๋ง ๊ฐ๋", |
|
"desc": "์ธ์์ํ '์ผ์ํฌ ํ์ถ'์ ๋ณด๊ณ ํฌ๋งยท์ธ๋ด์ ๋ฉ์์ง๋ฅผ ํ ๋ก (์ํ, ๋๋ผ๋ง)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 171, |
|
"title": "์ง๋ธ๋ฆฌ ์ ๋๋ฉ์ด์
์คํ์
", |
|
"desc": "'์ผ๊ณผ ์นํ๋ก' ๋ฑ ์ง๋ธ๋ฆฌ ์ํ์ ์์ํ๋ฉฐ ํํ์งยท๋์ฌ์ ๋๋ผ๋ ๊ฐ์ํ (์ํ, ์ ๋๋ฉ์ด์
)", |
|
"personality": "์ธํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 172, |
|
"title": "๋คํ '์ง๊ตฌ(Earth)' ํ๊ฒฝ ํฌ๋ผ", |
|
"desc": "BBC ์ ์ ๋คํ๋ฉํฐ๋ฆฌ '์ง๊ตฌ'๋ฅผ ๋ณด๊ณ ์์ฐยทํ๊ฒฝ ์ด์๋ฅผ ๋
ผ์ (์ํ, ๋คํ๋ฉํฐ๋ฆฌ)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 173, |
|
"title": "'์๋ ๋ง' RPG ๋์ ", |
|
"desc": "ํ๋กฌ์ํํธ์จ์ด์ โ์๋ ๋งโ์์ ๋์ด๋ ๊ทน๋ณต ์ ๋ต๊ณผ ๋น๋ ์ฐ๊ตฌ (๊ฒ์, RPG)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 174, |
|
"title": "'์ค๋ฒ์์น2' FPS ํํ", |
|
"desc": "โ์ค๋ฒ์์น2โ์์ ์ญํ ๋ถ๋ดยท์ ์ ํ๋ ์ด๋ฅผ ํ๋ ฅํ๋ ๋์ (๊ฒ์, FPS)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 175, |
|
"title": "'๋ฐ๋น ๋ฉ์ด ํฌ๋ผ์ด' ์ก์
์ฝค๋ณด ์ฐ๊ตฌ", |
|
"desc": "์ฝค๋ณด ์ก์
์ ์ ์ โ๋ฐ๋ฉํฌโ ์๋ฆฌ์ฆ๋ฅผ ํ๋ ์ดํ๋ฉฐ ๊ธฐ์ ์ ์ตํ (๊ฒ์, ์ก์
)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 176, |
|
"title": "'์คํํฌ๋ํํธ' ์ ๋ต ๋น๋ํ ๋ก ", |
|
"desc": "ํ
๋ยท์ ๊ทธยทํ๋กํ ์ค ์ข
์กฑ๋ณ ๋น๋ ์ค๋ยท๋ฆฌํ๋ ์ด ๋ถ์ (๊ฒ์, ์ ๋ต)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 177, |
|
"title": "'์ฌ์ํฐ' ์๋ฎฌ๋ ์ด์
๊ฑด์ค", |
|
"desc": "๋์๊ฑด์ค ๊ฒ์ โ์ฌ์ํฐโ๋ก ์์ ๋ง์ ๋์๋ฅผ ๋์์ธํ๊ณ ์ด์ (๊ฒ์, ์๋ฎฌ๋ ์ด์
)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 178, |
|
"title": "'ํผํ23' ์คํฌ์ธ ๋์ ", |
|
"desc": "์ถ๊ตฌ๊ฒ์ โํผํ23โ์์ ์คํ๋ผ์ธ ๋ฆฌ๊ทธ์ ์ ์ด๊ณ ์์๋ฅผ ์ง๊ณ (๊ฒ์, ์คํฌ์ธ )", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 179, |
|
"title": "'ํ
ํธ๋ฆฌ์ค99' ํผ์ฆ ๋ฐฐํ๋ก์", |
|
"desc": "๋ํ
๋ ์ค์์น โํ
ํธ๋ฆฌ์ค99โ๋ก ๋ค์ ์ธ์์ด ๋์์ ๊ฒฝ์ (๊ฒ์, ํผ์ฆ)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 180, |
|
"title": "'DJMAX ๋ฆฌ์คํํธ V' ๋ฆฌ๋ฌ ํ์คํฐ๋ฒ", |
|
"desc": "๊ตญ์ฐ ๋ฆฌ๋ฌ๊ฒ์ DJMAX๋ก ์ฝค๋ณด์ ๋
ธํธ ํจํด์ ๋์ (๊ฒ์, ์์
/๋ฆฌ๋ฌ)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 181, |
|
"title": "'ํ์ค์คํค' ์นด๋ ๋ฑ์คํ์ค", |
|
"desc": "๋ธ๋ฆฌ์๋ TCG โํ์ค์คํคโ์์ ์ ๋ต์ ๋ฑ ๊ตฌ์ฑ๊ณผ ํ ๋๋จผํธ ํ๋ ์ด (๊ฒ์, ์นด๋)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 182, |
|
"title": "'๋ก์คํธ์ํฌ' MMORPG ๋ ์ด๋", |
|
"desc": "๋๊ท๋ชจ ์จ๋ผ์ธ RPG โ๋ก์คํธ์ํฌโ์์ ๊ธธ๋์๊ณผ ํ๋ํด ๋ ์ด๋๋ฅผ ๊ณต๋ต (๊ฒ์, MMORPG)", |
|
"personality": "์ธํฅํ, ์ด์ฑํ" |
|
}, |
|
|
|
|
|
{ |
|
"item_id": 183, |
|
"title": "๋ํธ ์ฝ๋ฐ๋ ์ธํ ๋ง๋ค๊ธฐ", |
|
"desc": "๋จ๊ฐ์ง ๊ธฐ๋ฒ์ผ๋ก ๊ท์ฌ์ด ์ธํ์ด๋ ์ํ์ ์ ์ํ๋ ์ํฌ์ (๊ณต์, ๋จ๊ฐ์ง)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 184, |
|
"title": "ํ๋์ค์์ ๋ธ๋ก์น ๊ต์ค", |
|
"desc": "์ธ์ฌํ ์์๋ก ๋ธ๋ก์นยท๋ฏธ๋ ํ์ฐ์น๋ฅผ ์ฅ์ํ๋ ๊ณต์ ํด๋์ค (๊ณต์, ์์)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 185, |
|
"title": "๋์ ํธ๋๋น๋ฉ ์ฒดํ", |
|
"desc": "ํ์ ์์ผ๋ก ๋น์ด ๋จธ๊ทธยท์ ์๋ฅผ ๋ง๋๋ ๋์๊ธฐ ๊ณต์ (๊ณต์, ๋์๊ธฐ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 186, |
|
"title": "๊ฐ์ฃฝ๊ณต์ ์นด๋์ง๊ฐ ์ ์", |
|
"desc": "๊ฐ์ฃฝ ์ฌ๋จยท๋ฐ๋์งยท์ฃ์ง ๋ง๊ฐ ์ค์ต์ผ๋ก ์นด๋์ง๊ฐ์ ์์ฑ (๊ณต์, ๊ฐ์ฃฝ๊ณต์)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 187, |
|
"title": "๋๋ฌด๋๋ง ๋ชฉ๊ณต ๊ต์ค", |
|
"desc": "์๋ชฉ์ ๊ฐ๊ณตยท์๋ฉํ์ฌ ์ฃผ๋ฐฉ์ฉ ๋๋ฌด๋๋ง๋ฅผ ์ ์ํ๋ ๊ธฐ์ด ์ฒดํ (๊ณต์, ๋ชฉ๊ณต์)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 188, |
|
"title": "๋น์ฆ๊ณต์ ์ก์ธ์๋ฆฌ ๋์์ธ", |
|
"desc": "๋น์ฆ ๊ตฌ์ฌ๋ก ํ์ฐยท๋ชฉ๊ฑธ์ด๋ฅผ ๋ง๋ค๊ณ ์์ฑ ๊ฐ๊ฐ์ ์ตํ๋ ํด๋์ค (๊ณต์, ๋น์ฆ๊ณต์)", |
|
"personality": "๋ดํฅํ, ๊ฐ์ ํ" |
|
}, |
|
{ |
|
"item_id": 189, |
|
"title": "์์ด ์บ๋ค & ๋ํจ์ ๋ง๋ค๊ธฐ", |
|
"desc": "์ฒ์ฐ ์์ด์์ค๋ก ํฅ์ด, ๋ํจ์ ๋ฅผ ์ ์ํด ๊ฐ์ฑ ๋ถ์๊ธฐ๋ฅผ ์กฐ์ฑ (๊ณต์, ์บ๋ค/๋ํจ์ )", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 190, |
|
"title": "ํ์ดํผํฌ๋ํํธ 3D ๋ฏธ๋์ด์ฒ", |
|
"desc": "์ข
์ด ๊ณต์๋ก ์
์ฒด ๊ตฌ์กฐ๋ฌผ์ ์ ์ํ๊ณ ์ฑ์ยท๋ํ
์ผ์ ์ด๋ฆฌ๋ ๊ต์ค (๊ณต์, ํ์ดํผํฌ๋ํํธ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 191, |
|
"title": "๋งํฌ๋ผ๋ฉ ์ธํ
๋ฆฌ์ด ์ํ์", |
|
"desc": "๋งค๋ญ ๊ธฐ๋ฒ์ ์์ฉํด ๋ฒฝ๊ฑธ์ดยทํ๋ถํ๋ ๋ฑ ์ธํ
๋ฆฌ์ด ์ํ์ ๋ง๋๋ ์ค์ต (๊ณต์, ๋งํฌ๋ผ๋ฉ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
}, |
|
{ |
|
"item_id": 192, |
|
"title": "๋ ์ง์ํธ ํค๋ง & ์ก์ธ์๋ฆฌ", |
|
"desc": "ํฌ๋ช
๋ ์ง์ ์์ยท๊ธ๋ฆฌํฐ๋ฅผ ํ์ฉํด ํค๋งยท๋ฐ์ง๋ฅผ ๋ง๋๋ ์ฐฝ์ (๊ณต์, ๋ ์ง์ํธ)", |
|
"personality": "๋ดํฅํ, ์ด์ฑํ" |
|
} |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def make_item_embedding_dict(items, model): |
|
item_embedding_dict = {} |
|
for item in items: |
|
text = f"{item['title']} {item['desc']}" |
|
emb = model.encode(text, convert_to_numpy=True) |
|
item_embedding_dict[item['item_id']] = emb |
|
return item_embedding_dict |
|
|
|
item_embedding_dict = make_item_embedding_dict(items, model_bert) |
|
|
|
|
|
|
|
|
|
|
|
def make_user_profile_text(user_profile: dict) -> str: |
|
ext = user_profile.get("extroversion", "") |
|
ft = user_profile.get("feeling_thinking", "") |
|
hobby = user_profile.get("hobby", "") |
|
detail = user_profile.get("detail_hobby", "") |
|
|
|
if hobby == "์ฌํ": |
|
return (f"์ ๋ {ext}์ด๋ฉฐ {ft}ํ ์ฑํฅ์ ๊ฐ์ง ์ฌ๋์
๋๋ค. " |
|
f"์ฌํ์ ์ ๋ง ์ข์ํ๋ฉฐ, ํนํ {detail}์ ์ฆ๊น๋๋ค. " |
|
"๋ค์ํ ๋ฌธํ์ ๋ง์ง์ ์ง์ ์ฒดํํ๊ณ ์ถ์ดํฉ๋๋ค.") |
|
elif hobby == "์ด๋": |
|
return (f"์ ๋ {ext}์ด๋ฉฐ {ft}ํ ์ฑํฅ์ ๊ฐ์ง ์ฌ๋์
๋๋ค. " |
|
f"์ด๋์ ์ด์ ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ํนํ {detail}์ ์ฆ๊น๋๋ค. " |
|
"๊ฑด๊ฐ๊ณผ ์ฒด๋ ฅ์ ์ฆ์ง์ํค๊ณ ์ ๊พธ์คํ ํ๋ํฉ๋๋ค.") |
|
elif hobby == "๋
์": |
|
return (f"์ ๋ {ext}์ด๋ฉฐ {ft}ํ ์ฑํฅ์ ๊ฐ์ง ์ฌ๋์
๋๋ค. " |
|
f"๋
์๋ฅผ ์ฌ๋ํ๋ฉฐ, ํนํ {detail}์ ๊น์ ๊ด์ฌ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. " |
|
"์๋ก์ด ์ง์๊ณผ ๋ค์ํ ๊ด์ ์ ๋ฐฐ์ฐ๊ณ ์ ํฉ๋๋ค.") |
|
elif hobby == "์ํ": |
|
return (f"์ ๋ {ext}์ด๋ฉฐ {ft}ํ ์ฑํฅ์ ๊ฐ์ง ์ฌ๋์
๋๋ค. " |
|
f"์ํ๋ฅผ ๊ฐ์ํ๋ ๊ฒ์ ์ข์ํ๋ฉฐ, ํนํ {detail} ์ฅ๋ฅด์ ํฐ ํฅ๋ฏธ๋ฅผ ๋๋๋๋ค. " |
|
"๊ฐ๋๊ณผ ์ฌ๋ฏธ๋ฅผ ๋์์ ๊ฒฝํํ๊ณ ์ถ์ดํฉ๋๋ค.") |
|
elif hobby == "๊ฒ์": |
|
return (f"์ ๋ {ext}์ด๋ฉฐ {ft}ํ ์ฑํฅ์ ๊ฐ์ง ์ฌ๋์
๋๋ค. " |
|
f"๊ฒ์์ ์ฆ๊ธฐ๋ฉฐ, ํนํ {detail} ๊ฒ์์ ๋ง์ ๊ด์ฌ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. " |
|
"์ ๋ต์ ์ฌ๊ณ ์ ๋์ ์ ํตํด ์ฑ์ทจ๊ฐ์ ๋๋ผ๊ณ ์ ํฉ๋๋ค.") |
|
elif hobby == "๊ณต์": |
|
return (f"์ ๋ {ext}์ด๋ฉฐ {ft}ํ ์ฑํฅ์ ๊ฐ์ง ์ฌ๋์
๋๋ค. " |
|
f"๊ณต์ ํ๋์ ์ด์ ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ํนํ {detail}์ ์ฆ๊น๋๋ค. " |
|
"์ฐฝ์์ ์ธ ์์ด๋์ด๋ฅผ ์คํํ๋ฉฐ ์ฌ์ธํ ์์
์ ์ฆ๊น๋๋ค.") |
|
else: |
|
return f"์ ๋ {ext}์ด๋ฉฐ {ft}ํ ์ฑํฅ์ ๊ฐ์ง ์ฌ๋์
๋๋ค. ๋ค์ํ ์ทจ๋ฏธ๋ฅผ ์ฆ๊ธฐ๊ณ ์์ต๋๋ค." |
|
|
|
|
|
|
|
|
|
|
|
def make_item_embedding_dict(items, model): |
|
item_embedding_dict = {} |
|
for item in items: |
|
text = f"{item['title']} {item['desc']}" |
|
emb = model.encode(text, convert_to_numpy=True) |
|
item_embedding_dict[item['item_id']] = emb |
|
return item_embedding_dict |
|
|
|
item_embedding_dict = make_item_embedding_dict(items, model_bert) |
|
|
|
|
|
|
|
|
|
|
|
def make_user_profile_text(user_profile: dict) -> str: |
|
ext = user_profile.get("extroversion", "") |
|
ft = user_profile.get("feeling_thinking", "") |
|
|
|
|
|
hobby_list = user_profile.get("hobby", []) |
|
detail_list = user_profile.get("detail_hobby", []) |
|
|
|
|
|
|
|
hobby_str = ", ".join(hobby_list) if hobby_list else "" |
|
detail_str = ", ".join(detail_list) if detail_list else "" |
|
|
|
|
|
|
|
text = ( |
|
f"์ ๋ {ext}์ด๋ฉฐ {ft}ํ ์ฑํฅ์ ๊ฐ์ง ์ฌ๋์
๋๋ค. " |
|
f"์ฃผ์ ์ทจ๋ฏธ๋ก๋ {hobby_str}๋ฅผ ์ฆ๊ธฐ๊ณ , " |
|
f"ํนํ {detail_str} ๋ถ์ผ์ ๊ด์ฌ์ด ๋ง์ต๋๋ค." |
|
) |
|
return text |
|
|
|
|
|
|
|
|
|
|
|
def get_user_embedding(user_profile: dict): |
|
user_text = make_user_profile_text(user_profile) |
|
return model_bert.encode(user_text, convert_to_numpy=True) |
|
|
|
def extract_hobby(desc): |
|
""" ์: "PT ์ ๋ฌธ ์ฝ์น... (์ด๋, ํฌ์ค)" -> "์ด๋, ํฌ์ค" """ |
|
match = re.search(r"\((.*?)\)", desc) |
|
return match.group(1) if match else "" |
|
|
|
def cosine_similarity(vec1, vec2): |
|
norm1 = np.linalg.norm(vec1) |
|
norm2 = np.linalg.norm(vec2) |
|
if norm1 == 0 or norm2 == 0: |
|
return 0.0 |
|
return float(np.dot(vec1, vec2) / (norm1 * norm2)) |
|
|
|
def recommend_content_based(user_profile: dict, top_n=5): |
|
user_emb = get_user_embedding(user_profile) |
|
scored = [] |
|
seen_items = set() |
|
|
|
|
|
user_hobbies = user_profile.get("hobby", []) or [] |
|
user_details = user_profile.get("detail_hobby", []) or [] |
|
user_extroversion = user_profile.get("extroversion", "") |
|
user_feeling_thinking = user_profile.get("feeling_thinking", "") |
|
|
|
for item in items: |
|
item_id = item["item_id"] |
|
if item_id in seen_items: |
|
continue |
|
|
|
item_emb = item_embedding_dict[item_id] |
|
sim = cosine_similarity(user_emb, item_emb) |
|
|
|
|
|
weight = 1.0 |
|
|
|
|
|
desc_hobby = extract_hobby(item["desc"]) |
|
for h in user_hobbies: |
|
if h in desc_hobby: |
|
weight *= 1.15 |
|
|
|
|
|
for dh in user_details: |
|
if dh in desc_hobby: |
|
weight *= 1.3 |
|
|
|
|
|
personality_match_count = sum( |
|
trait in item["personality"] |
|
for trait in [user_extroversion, user_feeling_thinking] |
|
) |
|
if personality_match_count == 1: |
|
weight *= 1.2 |
|
elif personality_match_count == 2: |
|
weight *= 1.3 |
|
|
|
final_score = sim * weight |
|
scored.append((item, final_score)) |
|
|
|
|
|
scored.sort(key=lambda x: x[1], reverse=True) |
|
|
|
|
|
selected_items = [] |
|
for (item, score) in scored: |
|
if len(selected_items) >= top_n: |
|
break |
|
if item["item_id"] not in seen_items: |
|
seen_items.add(item["item_id"]) |
|
selected_items.append((item, score)) |
|
|
|
return selected_items |
|
|
|
|
|
if len(balanced_recommendations) < top_n: |
|
for item, score in scored: |
|
if len(balanced_recommendations) < top_n: |
|
balanced_recommendations.append((item, score)) |
|
else: |
|
break |
|
|
|
return balanced_recommendations |
|
|
|
|
|
|
|
|
|
|
|
|
|
HF_API_KEY = os.environ.get("HF_API_KEY", "YOUR_HF_API_KEY") |
|
API_URL = "https://api-inference.huggingface.co/models/Chanjeans/tfchatbot_2" |
|
HEADERS = {"Authorization": f"Bearer {HF_API_KEY}"} |
|
|
|
def chat_response(user_input, mode="emotion", max_retries=5): |
|
if mode not in ["emotion", "rational"]: |
|
raise HTTPException(status_code=400, detail="mode๋ 'emotion' ๋๋ 'rational'์ด์ด์ผ ํฉ๋๋ค.") |
|
|
|
prompt = f"<{mode}><usr>{user_input}</usr><sys>" |
|
payload = { |
|
"inputs": prompt, |
|
"parameters": { |
|
"max_new_tokens": 128, |
|
"temperature": 0.7, |
|
"top_p": 0.9, |
|
"top_k": 50, |
|
"repetition_penalty": 1.2, |
|
"do_sample": True |
|
}, |
|
"options": {"wait_for_model": True} |
|
} |
|
|
|
for attempt in range(max_retries): |
|
response = requests.post(API_URL, headers=HEADERS, json=payload) |
|
if response.status_code == 200: |
|
try: |
|
result = response.json() |
|
if isinstance(result, list) and "generated_text" in result[0]: |
|
generated_text = result[0]["generated_text"] |
|
return generated_text.replace(prompt, "").strip() |
|
else: |
|
return "์๋ต ํ์์ด ์์๊ณผ ๋ค๋ฆ
๋๋ค." |
|
except Exception as e: |
|
return f"JSON ํ์ฑ ์ค๋ฅ: {e}" |
|
|
|
elif response.status_code == 503: |
|
|
|
error_info = response.json() |
|
estimated_time = error_info.get("estimated_time", 15) |
|
time.sleep(min(estimated_time, 15)) |
|
else: |
|
return f"API Error: {response.status_code}, {response.text}" |
|
|
|
return "๐จ ๋ชจ๋ธ ๋ก๋ฉ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฝ๋๋ค. ์ ์ ํ ๋ค์ ์๋ํ์ธ์." |
|
|
|
|
|
|
|
device = torch.device("cuda" if torch.cuda.is_available() else "cpu") |
|
|
|
tokenizer = BertTokenizer.from_pretrained("monologg/kobert") |
|
bert_model = BertForSequenceClassification.from_pretrained("monologg/kobert", num_labels=2) |
|
bert_model.load_state_dict(torch.load("emotion_bert_model.pth", map_location=device)) |
|
bert_model.to(device) |
|
bert_model.eval() |
|
|
|
xgb_model = joblib.load("xgboost_model.pkl") |
|
vectorizer = joblib.load("tfidf_vectorizer.pkl") |
|
|
|
def predict_depression(text: str): |
|
encoding = tokenizer(text, truncation=True, padding="max_length", max_length=64, return_tensors="pt") |
|
input_ids = encoding["input_ids"].to(device) |
|
attention_mask = encoding["attention_mask"].to(device) |
|
with torch.no_grad(): |
|
outputs = bert_model(input_ids, attention_mask=attention_mask) |
|
probabilities = torch.nn.functional.softmax(outputs.logits, dim=1) |
|
kobert_score = probabilities[0][1].item() |
|
text_vec = vectorizer.transform([text]) |
|
xgb_proba = xgb_model.predict_proba(text_vec)[0][1] |
|
kobert_score = max(0.35, min(kobert_score, 0.88)) |
|
xgb_proba = max(0.3, min(xgb_proba, 0.83)) |
|
combined_score = (kobert_score * 0.55) + (xgb_proba * 0.45) |
|
if combined_score > 0.78: |
|
label = "์๋ด ๊ถ์ฅ" |
|
elif combined_score > 0.65: |
|
label = "๊ด์ฌ ํ์" |
|
else: |
|
label = "์ ์" |
|
return combined_score, label |
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.get("/") |
|
def home(): |
|
return {"message": "์๋
ํ์ธ์! ์ถ์ฒ & ์ฑ๋ด FastAPI ์๋ฒ์
๋๋ค."} |
|
|
|
|
|
|
|
class UserProfile(BaseModel): |
|
extroversion: str |
|
feeling_thinking: str |
|
hobby: str |
|
detail_hobby: str |
|
|
|
@app.post("/recommend") |
|
def recommend_api(profile: UserProfile): |
|
top_items = recommend_content_based(profile.dict(), top_n=5) |
|
results = [] |
|
for (item, score) in top_items: |
|
results.append({ |
|
"item_id": item["item_id"], |
|
"title": item["title"], |
|
"desc": item["desc"], |
|
"personality": item["personality"], |
|
"score": round(score, 4) |
|
}) |
|
return {"recommendations": results} |
|
|
|
|
|
|
|
class ChatRequest(BaseModel): |
|
user_input: str |
|
mode: str |
|
|
|
RECOMMEND_KEYWORDS = ["์ถ์ฒ", "์ถ์ฒํด์ค", "์ทจ๋ฏธ ์ถ์ฒ"] |
|
|
|
|
|
|
|
class ChatOrRecommendRequest(BaseModel): |
|
user_input: str |
|
mode: str |
|
|
|
|
|
extroversion: Optional[str] = None |
|
feeling_thinking: Optional[str] = None |
|
hobby: Optional[List[str]] = None |
|
detail_hobby: Optional[List[str]] = None |
|
|
|
|
|
|
|
@app.post("/chat_or_recommend") |
|
def chat_or_recommend(req: ChatOrRecommendRequest): |
|
depression_score, depression_label = predict_depression(req.user_input) |
|
if depression_label == "์๋ด ๊ถ์ฅ": |
|
counseling_response = ( |
|
"์
๋ ฅํ์ ๋ฉ์์ง์์ ์ฌ๊ฐํ ์ฐ์ธ ์ ํธ๊ฐ ๊ฐ์ง๋์์ต๋๋ค.\n" |
|
"์ ๋ฌธ ์๋ด์ ๋ฐ์ผ์ค ๊ฒ์ ๊ฐ๋ ฅํ ๊ถ์ฅ๋๋ฆฝ๋๋ค.\n" |
|
"๋น ๋ฅธ ์์ผ ๋ด์ ์ ๋ฌธ๊ฐ์ ์๋ดํ์๊ธธ ๋ฐ๋๋๋ค." |
|
) |
|
return { |
|
"mode": "counseling", |
|
"response": counseling_response, |
|
"depression_score": round(depression_score, 4), |
|
"depression_label": depression_label |
|
} |
|
user_text = req.user_input |
|
mode = req.mode.lower() |
|
|
|
|
|
if any(keyword in user_text for keyword in RECOMMEND_KEYWORDS): |
|
|
|
|
|
if not req.hobby: |
|
raise HTTPException( |
|
status_code=400, |
|
detail="์ถ์ฒ์ ์ํด [hobby, detail_hobby, extroversion, feeling_thinking] ์ ๋ณด๊ฐ ํ์ํฉ๋๋ค." |
|
) |
|
|
|
|
|
user_profile = { |
|
"extroversion": req.extroversion or "", |
|
"feeling_thinking": req.feeling_thinking or "", |
|
"hobby": req.hobby, |
|
"detail_hobby": req.detail_hobby or [], |
|
} |
|
top_items = recommend_content_based(user_profile, top_n=5) |
|
results = [] |
|
for (item, score) in top_items: |
|
results.append({ |
|
"item_id": item["item_id"], |
|
"title": item["title"], |
|
"desc": item["desc"], |
|
"personality": item["personality"], |
|
"score": round(score, 4) |
|
}) |
|
|
|
response_text = "๋น์ ์ ์ํ ๋ง์ถค ์ถ์ฒ์ ๊ฐ์ ธ์์ด์! โบ๏ธ" |
|
for i, (item, score) in enumerate(top_items, start=1): |
|
clean_desc = re.sub(r"\(.*?\)", "", item["desc"]).strip() |
|
response_text += ( |
|
f"{i}. **{item['title']}**" |
|
f" - {clean_desc} " |
|
) |
|
response_text += "์ด ์ค์์ ์ด๋ค ํ๋์ด ๊ฐ์ฅ ๋๋ฆฌ์๋์? ๐" |
|
return { |
|
"mode": "recommend", |
|
"recommendations": results, |
|
"response": response_text |
|
} |
|
|
|
|
|
else: |
|
|
|
if mode not in ["emotion", "rational"]: |
|
raise HTTPException( |
|
status_code=400, |
|
detail="mode๋ 'emotion' ๋๋ 'rational'์ด์ด์ผ ํฉ๋๋ค." |
|
) |
|
|
|
reply = chat_response(user_text, mode=mode) |
|
return {"mode": "chat", "response": reply} |