타베로그 식당 주소의 리뷰를 크롤링하여 전처리 후 키워드 추출한 결과 제공. 타베로그 서버 부담 감소를 위해 Redis와 worker 프로세스로 대기열 관리.
- 줄바꿈 기준 분리
- 느낌표 -> 마침표
- 마침표 기준 분리
- 한글, 숫자, 공백, 문장부호, 괄호, 따옴표만 남기기
- HuggingFace: 5gidong/kcelectra_review_ner
- https://github.com/spark2357/koelectra_tabelog_review_NER
- /enqueue
- Redis 대기열에 작업 추가
- /result
- 리뷰 분석 결과 조회
- /queue/status
- 대기열 상태 조회
- /result_size
- 결과 큐 상태 조회
place
display_name: 식당 이름
url: 식당 링크
address: 식당 주소
// 가격 정보가 없으면 "-"
dinner_price: 저녁 가격대
lunch_price: 점심 가격대
// 평점 정보 없으면 0.0
total_score: 총 평점
// 리뷰 개수 정보가 없으면 0
review_count: 리뷰 개수
// 없으면 None
labeled_keywords: 라벨 별 키워드, 개수 목록
reviews
// 리뷰 내용이 비어 있는 리뷰는 가져오지 않음
- content: 리뷰 내용
// 점수가 없으면 0.0
- score: 별점
// 방문년월 정보가 없으면 "no data"
- visit_year: 방문 연도
- visit_month: 방문 월
// lunch 또는 dinner 또는 no_data
- visit_time: 방문 시간대
// 값 없으면 기본값 1
- visit_count: 방문 차수
// 사용 가격 정보가 없으면 "no_data"
- used_price: 사용 금액대 (값, no data)
{
"display_name": "HAKATA MOTSUNABE TOKUNAGAYA Sohon Ten",
"address": "福岡県福岡市博多区冷泉町6-29",
"price": [
"JPY 4,000 - JPY 4,999",
"JPY 2,000 - JPY 2,999"
],
"total_score": 3.74,
"review_cnt": 671,
"reviews": [
{
"content": "하카타에서의 첫 번째 저녁식사는 모츠나베였습니다. 모츠나베 전에 고마사바와 도쿠테바, 아마테바를 주문했습니다. 메인은 미소 모츠나베였고, 예약할 때 코스 요리를 예약하려고 했지만, 이후에 여러 가지를 먹으러 갈 것을 고려하여 개별적으로 주문하기로 했습니다. 그렇게 한 것이 좋았습니다.",
"score": 3.5,
"year": "2025",
"month": "10",
"visit_cnt": 1,
"used_price": "no data",
"time": "dinner"
},
{
"content": "모츠나베 된장 맛이 정말 좋았습니다.\n 모츠나베를 많이 먹어본 적이 없어서 이 정도 평가입니다.\n 된장은 흰 된장 계열의 달콤한 맛으로, 질리지 않는 맛이었습니다.",
"score": 3.7,
"year": "2025",
"month": "10",
"visit_cnt": 1,
"used_price": "no data",
"time": "dinner"
},
{
"content": "첫 후쿠오카 여행에서, 우선 식탐으로 높은 평가를 받은 가게에 가보자고 해서 여기로 갔습니다.\n 후기대로 정말 맛있었습니다.\n 아마추어의 소감이지만, 마지막까지 맛이 있는 모츠라는 느낌이 들고 매우 신선했습니다.\n 전골의 맛은 추천받은 된장으로 했습니다. 된장이라서 후반에 느끼해질까 걱정했지만, 기름이 느끼하지 않아서 마지막까지 맛있게 먹을 수 있었습니다!\n 상큼하게 가고 싶은 분은 폰즈 맛이 좋을 것 같아요. 다음에는 폰즈로 할게요!\n 고마사바도 맛있었습니다!\n 가게 내부는 차분한 일본풍의 분위기입니다.",
"score": 3.5,
"year": "2025",
"month": "10",
"visit_cnt": 1,
"used_price": "JPY 4,000~JPY 4,999",
"time": "lunch"
}
]
}{
"user_id":1,
"place":{
"display_name":"삿포로 징기스칸 시로쿠마 삿포로본점",
"url":"https://tabelog.com/kr/hokkaido/A0101/A010103/1000800/",
"address":"北海 道札幌市中央区南六条西3-6-31 ジョイフル札幌 1F",
"dinner_price":"JPY 5,000 - JPY 5,999",
"lunch_price":"-",
"total_score":3.71,
"review_count":1178
},
"reviews":[
{
"content":"삿포로에 오기 전까지,\n진기스 칸은 램(12개월 이하)과\n마튼(24개월 이상)밖에 없다고 생각했습니다.\n램은 맛이 얕고, 마튼은 어쨌든 냄새가 난다는 이미지로,\n진기스칸을 먹어보겠다는 생각은 하지 않았습니다.\n소고기로 충분하다고 생각했 죠.\n그리고 지인의 권유로,\n첫 진기스칸을 먹게 되었습니다.\n메뉴를 보니,\n\"생 호게트\"라는 것이 있었습니다.\n가게의 포스터에는 12개월에서 24개월 사이의\n양이라고 하더군요.\n주저 없이 생 호게트를 주 문했습니다.\n직원에게 구워 먹는 방법을 배워,\n추천하는 먹는 방법으로,\n암염과 함께 먹었습니다.\n소고기보다 깊은 맛이 나고, 전혀 냄새가 나지 않으며,\n느끼하지도 않았습니다.\n호게트의 매력에 빠져버렸습니다.\n밥(후쿠린코)과 도산의 양파, 그리고\n호게트를 한 인분 더, 생맥주를\n정말 빠른 속도로 입에 넣었습니다.\n진기스칸에게 사과와 감사를 드립니다.\n잘 먹었습니다.",
"score":5.0,
"visit_year":"2026",
"visit_month":"01",
"visit_time":"dinner",
"visit_count":1,
"used_price":"JPY 8,000~JPY 9,999"
}
],
"labeled_keywords":{
"labeled_keywords":{
"MENU":{
"진기스칸":3,"램":2,"소고기":1,"생 호게트":2,"암염":1,"호게 트":2,"밥":1,"후쿠린코":1,"도산":1,"양파":1,"생맥주":1, "진기스":1
},
"EXP":{
"12개":1,"얕고":1,"냄새":2,"12":1,"양이":1,"주저":1,"주문":1,"구워":1,"깊은":1,"느끼":1,"속도":1
}
}
}
}