Open ohdoyoel opened 7 months ago
추가적으로 ood_data.csv
는 데모 템플릿에 있는 것을 그대로 사용했고, (약 12000 row)
intent는 restaurant 만을 주었으며, 해당 파일은 다음과 같습니다. (약 80 row)
question,label
주변에 음식점 알려줘,O S-RESTAURANT O
그럼 주변에 음식점 알려줘,O O S-RESTAURANT O
주변 음식점 뭐 있어,O S-RESTAURANT O O
그럼 주변에 음식점 뭐 있어,O O S-RESTAURANT O O
음식점 주변에 뭐 있을까,S-RESTAURANT O O O
그럼 음식점 주변에 뭐 있을까,O S-RESTAURANT O O O
음식 먹고 싶다,O O O
그럼 음식 먹고 싶다,O O O O
음식 먹고 싶어,O O O
그럼 음식 먹고 싶어,O O O O
음식점 가고 싶어,S-RESTAURANT O O
그럼 음식점 가고 싶어,O S-RESTAURANT O O
음식점 추천해줘,S-RESTAURANT O
그럼 음식점 추천해줘,O S-RESTAURANT O
주변에 식당 알려줘,O S-RESTAURANT O
그럼 주변에 식당 알려줘,O O S-RESTAURANT O
주변 식당 뭐 있어,O S-RESTAURANT O O
그럼 주변에 식당 뭐 있어,O O S-RESTAURANT O O
식당 주변에 뭐 있을까,S-RESTAURANT O O O
그럼 식당 주변에 뭐 있을까,O S-RESTAURANT O O O
식당 먹고 싶다,S-RESTAURANT O O
그럼 식당 먹고 싶다,O S-RESTAURANT O O
식당 먹고 싶어,S-RESTAURANT O O
그럼 식당 먹고 싶어,O S-RESTAURANT O O
식당 가고 싶어,S-RESTAURANT O O
그럼 식당 가고 싶어,O S-RESTAURANT O O
식당 추천해줘,S-RESTAURANT O
그럼 식당 추천해줘,O S-RESTAURANT O
주변에 먹거리 알려줘,O O O
그럼 주변에 먹거리 알려줘,O O O O
주변 먹거리 뭐 있어,O O O O
그럼 주변에 먹거리 뭐 있어,O O O O O
먹거리 주변에 뭐 있을까,O O O O
그럼 먹거리 주변에 뭐 있을까,O O O O O
먹거리 먹고 싶다,O O O
그럼 먹거리 먹고 싶다,O O O O
먹거리 먹고 싶어,O O O
그럼 먹거리 먹고 싶어,O O O O
먹거리 가고 싶어,O O O
그럼 먹거리 가고 싶어,O O O O
먹거리 추천해줘,O O
그럼 먹거리 추천해줘,O O O
주변에 맛집 알려줘,O S-RESTAURANT O
그럼 주변에 맛집 알려줘,O O S-RESTAURANT O
주변 맛집 뭐 있어,O S-RESTAURANT O O
그럼 주변에 맛집 뭐 있어,O O S-RESTAURANT O O
맛집 주변에 뭐 있을까,S-RESTAURANT O O O
그럼 맛집 주변에 뭐 있을까,O S-RESTAURANT O O O
맛있는거 먹고 싶다,S-RESTAURANT O O
그럼 맛있는거 먹고 싶다,O S-RESTAURANT O O
맛있는거 먹고 싶어,S-RESTAURANT O O
그럼 맛있는거 먹고 싶어,O S-RESTAURANT O O
맛집 가고 싶어,S-RESTAURANT O O
그럼 맛집 가고 싶어,O S-RESTAURANT O O
맛집 추천해줘,S-RESTAURANT O
그럼 맛집 추천해줘,O S-RESTAURANT O
주변에 배고픈데 알려줘,O O O
그럼 주변에 배고픈데 알려줘,O O O O
주변 배고픈데 뭐 있어,O O O O
그럼 주변에 배고픈데 뭐 있어,O O O O O
배고픈데 주변에 뭐 있을까,O O O O
그럼 배고픈데 주변에 뭐 있을까,O O O O O
배고픈데 먹고 싶다,O O O
그럼 배고픈데 먹고 싶다,O O O O
배고픈데 먹고 싶어,O O O
그럼 배고픈데 먹고 싶어,O O O O
배고파 가고 싶어,O O O
그럼 배고파 가고 싶어,O O O O
배고파 추천해줘,O O
그럼 배고파 추천해줘,O O O
주변에 밥 알려줘,O O O
그럼 주변에 밥 알려줘,O O O O
주변 밥 뭐 있어,O O O O
그럼 주변에 밥 뭐 있어,O O O O O
밥 주변에 뭐 있을까,O O O O
그럼 밥 주변에 뭐 있을까,O O O O O
밥 먹고 싶다,O O O
그럼 밥 먹고 싶다,O O O O
밥 먹고 싶어,O O O
그럼 밥 먹고 싶어,O O O O
밥 가고 싶어,O O O
그럼 밥 가고 싶어,O O O O
밥 추천해줘,O O
그럼 밥 추천해줘,O O O
Intro
안녕하세요 @hyunwoongko 님! 한국어 챗봇 프레임워크를 필요로 했는데, 너무 잘 만드신 것 같습니다! 코드와 자세한 docs를 읽어보며 감탄했습니다. 덕분에 원하는 기능의 챗봇을 만들 수 있을 것 같습니다.
문제 상황
[DistanceClassifier]
학습을 완료한 후, 이런 에러가 발생합니다. (아마 OOD를 이용해 classification metrics report 파일을 만드는 과정인 것 같습니다.)저의 생각
kochat/utils/metrics.py
의Metrics.report()
함수를 보면classification_report()
함수를 호출하고 있습니다.classification_report()
함수 정의는 다음과 같습니다. 에러는 해당 코드의 맨 마지막 줄에서 발생합니다.즉,
labels
와target_names
의 길이가 달라서 에러가 발생하는 것으로 보입니다.labels
는classification_report()
함수에서 일부러None
값이 들어가도록 따로 값을 적어 호출하지 않으신 것 같아서labels
는unique_labels(y_true, y_pred)
로 정의됩니다.unique_labels()
함수의 설명 속 예시는 다음과 같습니다.즉,
unique_labels(y_true, y_pred)
는y_true
와y_pred
를 합집합 하는 연산이라 보입니다.문제는 이때
y_true
와y_pred
가 모두 동일한label
인1
, 즉out_dist
을 가지고 있을 때 발생합니다. (학습을 충분히 시키지 않은 문제도 있지만, 모두 OOD로 분류되더라도 학습은 진행되어야 하는 것 아닌가요?)y_true
와y_pred
를 출력해보면 각각[1 1 1 ... 1 1 1]
과[1 1 1 ... 1 1 1]
로, 길이는 동일합니다.해당 에러는 어떻게 해결할 수 있을까요? 열심히 제 나름대로 저의 시행착오를 정리했는데 두서가 없는 점 죄송합니다 ㅠㅠ 멋진 프레임워크를 공유해주셔서 다시 한 번 감사합니다.