KoNLPy를 써보았다

박수빈·2021년 11월 25일
0

교수님 프로젝트 때문에 포커스 그룹 인터뷰를 녹화하고, 이 내용을 분석하는 경험을 하게 되었다.
드디어 해보는 nlp!!!!

인터뷰가 스크립트가 되기까지

사실상 내가 한 건 없었다.
Naver Clova note가 그냥 개쩐다
무료로 600분을 쓸 수 있다.
그냥 음성파일을 넣고, 회의 참여자가 몇명인지 입력하면 참여자1, 참여자2 의 형식으로 구분을 해준다.
이것도 진짜 UX가 잘 되어 있는게, 한번에 다 바꿀 수도 있고, 하나하나 수정도 가능해서 순식간에 스크립트를 뽑았다.

놀라울 정도로 사투리나.. 여러사람의 음성이 한번에 겹친 것 까지 잘 기록해줬다.

스크립트에서 명사 뽑기

사실 처음에는 그냥 띄어쓰기를 기준으로 split 하려고 했는데,
중요한, 중요, 중요하다, 중요하니까 등등 이런 식으로 단어가 다 다르게 쓰여서 형태소 분석이 필수적임을 깨닫게 되었다..

Konlpy를 사용하기 위해서 jpype를 설치하고...
데이터 분석 다신 안할 줄 알고, 새 노트북엔 깔지 않았던 pands, matlablib, numpy.. 이런애들도 다시 깔았다..

konlpy에는
1. Hannanum: 한나눔. KAIST Semantic Web Research Center 개발
2. Kkma: 꼬꼬마. 서울대학교 IDS 연구실 개발
3. Komoran: 코모란. Shineware에서 개발.
4. Mecab: 메카브. 일본어용 형태소 분석기를 한국어를사용할 수 있도록 수정
5. Open Korean Text: 오픈소스 한국어 분석기. 과거 트위터 형태소 분석기
이렇게 5가지 알고리즘이 있다.

깊게 차이들을 알아보진 않았고, 한나눔을 이용해서 명사만 추출을 했다.
한 글자 명사는 의미없는게 많을 것 같아서 (한, 것..) 두 글자 이상부터 추출했는데, 그래도 무의미한게 너무 많았다..!
대표적으로 경우, 생각, 말씀, 것들, 감사...ㅋㅋㅋ

단어 사이 연관도를 분석하라구요?

교수님이 갑자기 연관도도 분석해 달라고 하셨다..^^!
이전에 추출해둔 명사를 가지고 apriori 알고리즘으로 연관도를 분석했다.
사실 어떤 이유로 이런 연관도가 나오는건지 전혀 모르겠는데...... 일단 했다......

대체적으로 연관도가 0.2를 넘지 못했는데, 표본이 작기때문에 그럴 수 있다고 괜찮다고 하셨다.
블로그 따라하느라 처음에 min_support=0.2 이런식으로 코드를 썼는데, 그래서 결과를 한개도 얻지 못했다..ㅋㅋㅋㅋ...ㅋ...

이후에 이 값과 NetworkX 알고리즘을 이용해서 네트워크 그림을 그렸다.
빈도에 따라 노드의 반지름이 달라졌고, 노드들 사이에 선으로 관계를 나타내는 그래프였다.

마치며

오랜만에 데이터 만지니까 조금 재미있는 것 같기도 하고....
내가 알고리즘 만들거 아니고, 가져다 쓰는 정도라면 데이터 할 수 있을 것 같기도 하고...
그런 저런 생각이 들었다..
그리고 진짜 뉴튼처럼 그냥 나는 거인의 어깨위에 있을 뿐이고,,
아는건 없지만 쓰는건 가능해(?)

profile
개발자가 되고 싶은 학부생의 꼼지락 기록

0개의 댓글