구어체 (카카오톡 채팅 대화)에서 필요한 품사(pos tag)만 뽑아내기.
구어체는 일상대화 텍스트이기 때문에 문어체와 다른 특징들이있다.
구어체 : 입말체. 구어체(口語體)는 일상생활에서 실제 입으로 발화되는 말을 문장으로 나타낸 것을 말한다.
문어체 : 문어체(文語體)란 일상생활에서 사용되지 않고 문서에 한하여 쓰이는 문체를 말한다.
그래서 불용어 또한 문어체와 구어체에 따라서 다르게 구별해야한다고 생각한다.
한국어는 불용어에 대한 정의가 없어서 구어체를 기준으로 샘플데이터를 가지고
주관적인 불용어 품사들을 걸러내어 보고자한다.
이 자료가 누군가에게 도움이 되었으면 좋겠다.
품사 태깅 기준은 꼬꼬마(kkm) 형태소 분석기로 진행함.
이유는 엘라스틱서치에 nori 토크나이저의 품사들이 꼬꼬마와 유사하고 품사들의 종류가 다양하게 있기 때문이다.
꼬꼬마(kkm) 한국어 형태소 분석기 : http://kkma.snu.ac.kr/
데이터 샘플
샘플은 AI-HUB에 SNS 데이터 셋을 직접 정제한 데이터들을 가지고 진행했다.
이 데이터들은 카카오톡 채팅 데이터를 사람이 직접 어노테이션한 데이터들이다.
출처 : https://aihub.or.kr/aidata/30718
이 데이터중 10,000개의 샘플을 뽑아 형태소 분석을 진행했다.
빈도 수 상위 TOP 10 품사
품사 | 빈도 수 |
NNG : 일반 명사 | 22,661 |
VV : 동사 | 15,446 |
MAG : 일반 부사 | 6,385 |
ECD : 의존적 연결 어미 | 6,253 |
SW : 기타 기호 | 5,667 |
ETD : 관형형 전성 어미 | 4,417 |
UN : 알수없음(명사로 추정) | 4,352 |
ECS : 보조적 연결 어미 | 4,181 |
JX : 보조사 | 3,393 |
EMO : 이모션 | 3,243 |
*채팅 데이터라 "이모션" , "기타기호" , "알수없음" 이 많은 빈도 수를 차지했다.
품사 분석
1. 체언
품사 | 예시 | 사용 여부 | 이유 |
NNG : 일반 명사 | '사진','집','오늘','사람','생각','밥' | 사용 | |
NNP : 고유 명사 | '제주도','한강','미국','월드','신한' | 사용 | |
NNB : 의존 명사 | '거','것','수','데','듯' | 미사용 | 의미 없음 |
NR : 수사 | '2','하나','오','억','1900' | 부분 사용 | 조건 : 수사는 통일해서 수사라는 것만 알려주도록 사용하는것이 좋아보임 수가 몇인지 중요한게 아니라 숫자가 들어가는 대화라는 표시정도 필요해보임 |
NP : 대명사 | '나','뭐','너','우리','그거' | 미사용 | 대명사는 주최를 나타내는 중요한 역할을 하지만 불필요하게 검색이 많이될거 같아 비사용 |
2. 용언
품사 | 예시 | 사용 여부 | 이유 |
VV : 동사 | '하','먹','보','아','알','가' | 사용 | |
VA : 형용사 | '같','없','좋','그렇','많' | 사용 | |
VX : 보조 용언 | VXV(보조 동사) : '주','있','않','보','지' VXA(보조 형용사) : '싶','만하','뻔하','않' |
VXV : 사용 VXA : 미사용 |
보조 형용사 : 의미 없음 |
VCP : 긍정 지정사 | '이' | 미사용 | '이' 만 해당됨 |
VCN : 부정 지정사 | '아니' | 사용 | 부정 지정사는 전체 문맥이 부정적임을 나타낼 수 있는 중요한 역할이라고 생각함. |
3. 관형사
품사 | 예시 | 사용 여부 | 이유 |
MDT : 일반 관형사 | '이','그','몇','뭔','저','이런' | 미사용 | 의미 없음 |
MDN : 수 관형사 | '네','한','두','세','오' | 미사용 | 시간 앞에만 자주 쓰이기 때문에 미 사용 |
4. 일반 부사
품사 | 예시 | 사용 여부 | 이유 |
MAG : 일반 부사 | '많이','같이','바로','진짜','엄청','안' | 사용 | |
MAC : 접속 부사 | '그래서','하지만','그리고','그러니까' | 미사용 | 의미 없음 |
5. 감탄사
품사 | 예시 | 사용 여부 | 이유 |
IC : 감탄사 | '아냐','앗','엥','음','넵' | 사용 | 의미는 없지만 구어체 특징에 따라 감탄사가 중요한 의미가 된다고 생각함. |
6.조사
품사 | 예시 | 사용 여부 | 이유 |
JKS : 주격 조사 | '이','가','는','은','라서' | 미사용 | 의미 없음 |
JKC : 보격 조사 | '가','이' | ||
JKG : 관형격 조사 | '의' | ||
JKO : 목적격 조사 | '을','를','한테','ㄹ','와' | ||
JKB : 부사격 조사 | 샘플 내 없음 | ||
JKV : 호격 조사 | 샘플 내 없음 | ||
JKQ : 인용격 조사 | '고','라고' | ||
JX : 보조사 | '는','도','은','만','야','까지' | ||
JC : 접속 조사 | '랑','나','이랑','니' |
7. 선어말 어미 / 어말 어미
품사 | 예시 | 사용 여부 | 이유 |
EPH : 존칭 선어말 어미 | '시','으시' | 미사용 | 의미 없음 |
EPT : 시제 선어말 어미 | '었','겠','았','였','더' | ||
EPP : 공손 선어말 어미 | 샘플 내 없음 | ||
EF : 종결 어미 | '네','다','어요','야','더라' | ||
EC : 연결 어미 | '고','면','ㄴ데','자','나' | ||
ETN : 명사형 전성 어미 | 'ㅁ','기','음' | ||
ETM : 관형형 전성 어미 | 샘플 내 없음 |
8. 접두사
품사 | 예시 | 사용 여부 | 이유 |
XPN : 체언 접두사 | '엇','햇','대','맞','드' | 미사용 | 의미 없음 |
XPV : 용언 접두사 | 샘플 내 없음 |
9. 접미사
품사 | 예시 | 사용 여부 | 이유 |
XSN : 명사 파생 접미사 | '들','네','님','어','고' | 미사용 | 의미 없음 |
XSV : 동사 파생 접미사 | '하','되','시키','혀','허' | ||
XSA : 형용사 파생 접미사 | '하','롭','만하','스럽','답' |
10. 어근
품사 | 예시 | 사용 여부 | 이유 |
XR : 어근 | '궁금','대단','비슷','당연','신기' | 사용 | 파생접사를 제거한 나머지 요소(중심 키워드) |
11. 부호
품사 | 예시 | 사용 여부 | 이유 |
SF | 마침표,물음표,느낌표 | 부분 사용 | 물음표 , 느낌표는 구어체에서 중요한 의미를 전달함 |
SP | 쉼표, 가운뎃점, 콜론 , 빗금 | 미사용 | 의미 없음 |
SS | 따옴표,괄호표,줄표( ')' , '>','[') | ||
SE | 줄임표(...,...,..) | ||
SO | 붙임표(물결) | ||
SW | 기타기호(논리수학기호,화폐기호) | 부분 사용 | '♥♥' , '♡' 포함되어있음 |
12. 기타(분석 불능 , 한글 이외)
품사 | 예시 | 사용 여부 | 이유 |
UN : 알수없음 | 'ㅋ','웅','ㅠ','응','ㅜ' : 의미 있음 '쟈','ㅌ','랫','슈','닝' : 의미 없음 |
부분 사용 | *자주 등장하는 오타의 경우 전처리해서 위 사용 품사들의 포함시키도록 유도할 수 있음 |
OL : 외국어 | 'A','c','top','the' | 부분 사용 | *의미있는 외국어만 전처리해서 사용 |
OH : 한자 | '刁','亥' | 미사용 | 큰 의미 없음 & 빈도 수 낮음 |
ON : 숫자 | 샘플 내 없음 | 미사용 |
샘플 데이터들을 살펴본 주관적 최종 결과
1. 꼬꼬마(kkm) 형태소 분석기
사용 품사 | 일반 명사(NNG) , 고유 명사(NNP), 동사(VV) , 형용사(VA), 보조 동사(VXV) , 부정 지정사(VCN), 일반 부사(MAG) , 감탄사(IC) , 어근(XR) |
미사용 품사 | 의존 명사(NNB) , 대명사(NP) , 보조형용사(VXA) , 긍정 지정사(VCP) , 일반 관형사(MDT) , 수 관형사(MDN) , 접속 부사(MAC) , 조사,어미, 접미사,접두사, 부호(SP,SS,SE,SO), 한자(OH),숫자(ON) |
부분 사용 품사 | 수사(NR) ,부호(SF,SW) , UN(알수없음) , OL(외국어) |
2. 노리(Nori) 형태소 분석기
사용 품사 | 감탄사(IC) , 일반 부사(MAG) , 일반명사(NNG) , 고유명사(NNP) ,부호(SF) , 외국어(SL), 형용사(VA), 부정 지정사(VCN) , 동사(VV), 보조용언(VX), 어근(XR) |
미사용 품사 | 마침 문장(E) , 마침표(J) , 접속 부사(MAJ) , 관형사(MM), 알 수 없음(NA) , 의존명사(NNB), 단위를 나타내는 명사(NNBC) , 대명사(NP), 수사(NR), 구분자(SC) , 줄임표(SE), 한자(SH), 숫자(SN), 공백(SP), 괄호(SSC,SSO), 심벌(SY), 알 수 없음(UNA,UNKNOWN,VSV), 긍정 지정사(VCP) , 접두사(XPN) , 접미사(XSA,XSN,XSV) |
엘라스틱 서치 노리(nori) 토크나이저에 적용하기
PUT nori_analyzer
{
"settings": {
"index":{
"analysis":{
"tokenizer":{
"nori_base_tokenizer":{
"type": "nori_tokenizer",
"decompound_mode":"mixed"
}
},
"analyzer":{
"nori_token_analyzer":{
"type":"custom",
"tokenizer":"nori_base_tokenizer",
"filter":[
"nori_posfilter"
]
}
},
"filter":{
"nori_posfilter":{
"type":"nori_part_of_speech",
"stoptags":["E","J","MAJ","MM","NNB","NP","NR","SC",
"SE","SH","SN","SP","SSC","SSO","VCP","UNA","UNKNOWN","VSV",
"XPN","XSA","XSN","XSV"]
}
}
}
}
}
}
'Machine learning > NLP' 카테고리의 다른 글
[NLP]. 챗봇 답변 Top-k sampling 구현 (0) | 2022.09.27 |
---|---|
[NLP]. 임베딩 벡터(embedding vector)를 문자열로 저장하는 방법(feat. byte type , base85 ) (0) | 2022.06.21 |
[NLP]. 도로명 주소 & 지번 주소 인식 정규표현식 (0) | 2022.01.11 |
[NLP] Fine-tuning(파인튜닝)과 in-context learning(인컨텍스트 러닝) (0) | 2021.12.14 |
[annotation]. 텍스트 데이터 라벨링 꿀팁(2) (0) | 2021.11.12 |