Deep Learning/Natural Language Processing

한국어 오픈소스 말뭉치 활용 라이브러리 코포라 Korpora

makeitworth 2022. 3. 14. 15:26

세상에!

이렇게 유용한 라이브러리가 있었다니!

한국어 오픈소스 말뭉치들의 다운로드와 전처리를 라이브러리로 불러와서 쉽게 사용할 수 있게 해주는 라이브러리 Korpora를 이제야 알게 되었다.

 

한국어 nlp 테스트를 정말 쉽고 편하게 할 수 있을 것 같다.

앞으로 더 많은 오픈소스 텍스트가 공개되고, Kopora에도 편입되어 연구와 활용에 널리 사용할 수 있게 되길 희망한다.

 

https://ko-nlp.github.io/Korpora/ko-docs/introduction/

 

코포라 소개 · Korpora

코포라 소개 Korpora는 오픈소스 말뭉치들의 다운로드와 전처리 기능을 제공하는 파이썬 라이브러리입니다. 복잡한 설명을 피하고 싶으신 분들은 ‘설치 방법'과 ‘빠른 사용법'만 읽으셔도 간편

ko-nlp.github.io

 

코포라에서 간단하게 데이터를 불러오는 샘플 코드.

기존에 작성한 코드의 테스트를 위해서 널리 알려진 네이버 영화 리뷰 데이터셋을 Korpora를 통해 불러왔다.

 

from Korpora import NSMCKorpus
nsmc_corpus = NSMCKorpus()

 

이렇게 객체 선언을 하면 데이터에 대한 description과 license가 뜬다.

 

nsmc_corpus.test[0]

[out]

LabeledSentence(text='굳 ㅋ', label=1)
.test를 통해서 들어있는 데이터를 확인할 수 있다.
위와 같이 LabeledSentence 객체이며, 본래의 텍스트와 긍정 1, 부정 0 으로 sentiment labeling된 데이터를 확인할 수 있다.
text = nsmc_corpus.get_all_texts()
sentiment = nsmc_corpus.get_all_labels()

전체 텍스트나 라벨을 얻는 메서드도 있다. 

text[:5]

[out] 

('아 더빙.. 진짜 짜증나네요 목소리', '흠...포스터보고 초딩영화줄....오버연기조차 가볍지 않구나', '너무재밓었다그래서보는것을추천한다', '교도소 이야기구먼 ..솔직히 재미는 없다..평점 조정', '사이몬페그의 익살스런 연기가 돋보였던 영화!스파이더맨에서 늙어보이기만 했던 커스틴 던스트가 너무나도 이뻐보였다')

 

이렇게 불러온 친구들을 데이터프레임으로 변환하여 활용하거나 하면 된다.

sentiment[:5]

[out]

[0, 1, 0, 0, 1]