레플리
글 수 72


16 / 48
NLU 기술: 기계 학습
‘빌드’ 과정 중에는 무엇을 할까?
1. 가설을 세운다. (적당히…)
단서: 단어 “페퍼로니”가 등장한다면
 (1) OrderPizza: -3점
 (2) InformPizza:...

https://www.slideshare.net/ClovaPlatform/clova-tech-summit-2-interaction-model

 

 

 

네이버 클로바에서 자연어처리를 어떻게 하는지 설명하는 글입니다. 대부분의 챗봇 빌더에서는 패턴기반과 통계기반의 두 가지 방법을 조합해서 문장의 의도를 파악합니다. 딥러닝은 데이터가 많이 필요하기 때문에 아마 아직까지 잘 쓰이지 않을 것 같습니다.

 

 

 

패턴기반은 예시 문장과 입력 문장이 얼마나 비슷한지 유사도를 통해 검사합니다. 예를 들어, 자카드 유사도(Jaccard similarity)는 '일치하는 글자수 / 전체 글자수'로 유사도를 계산합니다.

 

A = 안녕하세요
B = 안녕하니
J(A, B) = 3 / 6 = 0.5

 

 

 

통계기반은 TF-IDF(Term Frequency-Inverse Document Frequency) 방식을 사용합니다. 각 의도의 예시 문장에 많이 나온 단어는 중요하다고 판단합니다. 하지만 모든 의도에서 공통적으로 많이 쓰이는 단어는 중요도가 낮기 때문에 역으로 곱하여 점수를 낮춥니다.

 

< 주문 >
페퍼로니 피자 주문할래
불고기 피자 보내줘
슈프림 피자 주문
포테이토 피자 보내줄래

 

< 정보 >
페퍼로니 피자 얼마야
불고기 피자 가격은?
슈프림 피자 얼마니
포테이토 피자 가격 알려줘

 

위의 예시에서 '주문, 보내'는 <주문> 의도에서, '얼마, 가격'은 <정보> 의도에서 많이 나오는 것을 볼 수 있습니다. 하지만 '피자'나 '페퍼로니, 불고기, 슈프림, 포테이토'는 모든 의도에 포함되어 있으므로 문장의 의미를 판단하는데 중요하지 않습니다.

 

 

 

통계기반 방식의 장점은 예시 문장과 입력 문장이 정확히 일치하지 않더라도 의도를 구분할 수 있다는 점입니다.

 

< 예시 문장 >
언제 배달와
몇시에 도착해

 

< 입력 문장 >
몇시에 배달와

 

예를 들어, 위와 같은 문장일때 패턴기반은 입력을 각각의 예문과 비교하기 때문에 유사도가 낮아 의도를 정확하게 파악하기 힘듭니다. 하지만 통계기반은 '몇시'와 '배달와'를 조합해서 계산하므로 좀 더 유연하게 판단할 수 있습니다.

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수
APEACH – 혐오 발화 평가데이터를 만드는 새로운 방법 깊은바다 2022-04-22 1103
윈도우에서 간편하게 Mecab 설치방법 - pyeunjeon 깊은바다 2021-06-15 497
자연어처리 벤치마크 GLUE의 한글 버전인 KLUE 공개 file 깊은바다 2021-05-22 688
모두의 말뭉치에 새로운 일상 대화 추가 file 깊은바다 2021-04-06 562
자연어처리 벤치마크인 SuperGLUE도 인간의 기록을 경신 [1] 깊은바다 2021-01-21 550
한국어 문장 분리기, KSS(Korean Sentence Splitter) 파이썬 포팅 file 깊은바다 2020-12-23 6151
파이썬 한국어 말뭉치 패키지 - Korpora file 깊은바다 2020-09-12 1510
세종 말뭉치보다 9배 더 큰 한글 코퍼스 공개 - 모두의 말뭉치 file 깊은바다 2020-08-27 3143
한국어 전처리 기법 모음 깊은바다 2020-07-31 4539
예일대의 자연어-SQL 데이터셋, Spider 깊은바다 2020-07-12 525
IBM 왓슨의 자연어처리 방식 깊은바다 2020-06-26 626
매주 한편씩 글을 작성하는 자연어처리 블로그 - 위클리 NLP 깊은바다 2020-06-12 1129
인간의 언어를 이해하는 기계, NLU에는 어떤 것이 있을까? 깊은바다 2020-06-05 417
한글 자모 분리 및 합치기 파이썬 패키지 [1] 깊은바다 2020-03-03 3241
Machine Learning for Kids로 감정분석 깊은바다 2020-02-09 932