
1. 사용 툴
- Next.JS, TypeScript, Axios, Tailwinds, react-loader-spinner,
- Hugging Face/inference
2. 구현
Hugging Face의 대표적인 NLP의 모델 중 Text Classification에는 가장 많은 다운 수를 기록하고 있는 SamLowe/roberta-base-go_emotions 을 이용하여 문맥을 통하여 감정 상태를 28가지로 판단하는데, 각각의 판단은 score라는 key 값에 0-1 사이 값으로 표기합니다. 이 값이 가장 높은 것과 가장 높은 값의 50%이상의 것(없으면 제외)만 배열로 필터링 한 후 useState([])을 통해 map()함수를 이용하여 화면에 출력합니다.
user입력은 <textarea /> 를 이용하고, rows 는 useState()로 관리하고, onChange={handleInputChange}을 이용하여 입력내용과 rows 높이를 관리합니다. 또한 입력의 변화에 따라 useEffect()를 이용하여, 함수로 api/emotion 의 POST함수 에 axios를 이용하여 입력을 전달합니다.