Skip to content

API_LIST

WGNW_gangdodan edited this page May 19, 2023 · 21 revisions

Python FLASK API

음성 인식 챗봇 API 구현.

자체 학습한 명령어 임베딩 및 인텐트, 엔티티 구별 모델에 대한 API 구현

(해당 모델 학습 관련 내용은 ChatBot 페이지 확인)

  • ChatBot Document Page :

ChatBot : ChatBot Page

  • API 제작시 사용한 프레임 워크 : Python Flask 기반의 Flask restx 를 활용

Flask : Flask

Flask-RESTX : Flask-RESTX

  • API 사용시 클라이언트로부터 입력받는 내용 (http/body)
{"chatString":"사용자 명령어 stt 결과"}
  • API 요청 예시 :

Untitled Untitled Untitled Untitled

이때 chatString 내용을 각각 KoBERT 모델, 및 임베딩 → 엔티티 모델에 입력하여 모델 예측 결과를 도출

  • API 에서 클라이언트로 보내는 return 값
{
            "intent":"intent_result(명령어 의도분류 결과)",
            "entity":"entity_result(명령어 엔티티 분류 결과)",
            "append":"entity_num(명령어 엔티티 분류 결과에 따른 제어용 변수)",
            "text":"text(명령어 임베딩 결과)"
}
  • API 요청 return 예시 :

Untitled Untitled Untitled Untitled

추천 시스템 API 구현.

컨텐츠 베이스 및 협업 필터링 기반 필터링 함수들을 API화.

현재 서비스중인 프로그램의 데이터베이스에서 현재 존재하는 레시피 데이터, 사용자 평점 데이터를 추출하여 데이터셋화 하여 이를 기반으로 유사도 테이블 형성 및 추천 리스트를 생성하는 함수들을 API 를 통해 접근 가능하도록 설계함.

음성인식과 동일한 Python Flask 기반의 Flask restx 를 활용하여 recommend_api를 제작.

  • API 사용시 클라이언트로부터 입력받는 내용 (http/body)
{"last_ID" : 0,"user_ID" : 3,"type" : 0,"num" : 5}

예시 :

Untitled

last_ID : 사용자가 마지막으로 사용한 아이템에 대한 고유 ID값 → content 기반 추천 시스템에 사용.

user_ID : 사용자 고유 ID 값 → collaborate_filtering 기반 추천시스템에 사용.

type : 추천 시스템의 type을 결정하는 값 (content 기반 시스템의 2가지 종류중 1택)

num : 사용자가 요청하는 추천 리스트의 갯수.

  • API 에서 클라이언트로 보내는 return 값
{
            'content_base':content_result (content 기반 추천 ID 리스트 : int arr),
            'user_base':user_result (collaborate_filtering 기반 추천 ID 리스트 : int arr),
            'num':request_num (사용자가 요청한 추천 리스트 갯수)
}

예시 :

Untitled

Gachon-USER

Front End(Android)
Back End
Data Base
API

Clone this wiki locally