자연어 처리, 형태소 분석, 텍사노미, 시소러스에 대한 정리

파이썬 형태소 분석기 mecab, kkma, komoran, hannanum, okt에 대한 결과


  •  목차
    • 자연어처리(NLP)
    • 형태소분석
    • 텍사노미
    • 시소러스
    • 파이썬 텍스트 분석

  • 자연어 처리 NLP
    • 정의
      • 자연어(natural language): 우리가 쓰는 일상 언어. ex) 오늘 밥먹고 카페 감ㅋㅋㅋ
    • 활용
      • 음성 인식, 내용 요약, 번역, 감성 분석, 텍스트 분류 작업(스팸, 카테고리), 질의 응답 시스템, 챗봇

  • 형태소
    • 정의
      • 형태소: 일정한 의미가 있는 작은 말의 단위(최소 의미의 말 단위) + 문법적, 관계적인 단어 성분
      • (품사)태깅: 문맥을 고려하여 형태소 분석기의 중의성을 해결하는 과정
    • 구성: 어근, 조사, 접사, 어미
      • 어근(실질형태소): 실질적 의미의 중심이 되는 부분(9품사 중 조사를 제외한 8품사는 실질적 의미를 나타내는 중심부분이다)
      • 접사(형식형태소): 단독으로 쓰이지 않고, 접두사와 접미사가 있다.
  • 형태소의 분류
    • 실질형태소와 형식형태소
      • 실질형태소: 구체적인 대상, 동작, 상태를 표시하는 형태소
      • 형식형태소: 관계, 문법을 표시하는 형태소(조사, 접사, 어미)
    • 자립형태소와 의존형태소
      • 자립형태소: 다른 말에 의존하지 않고 혼자 사용 가능한 형태소
      • 의존형태소: 다른 말에 의존하여 쓰이는 형태소

  • 텍사노미(Taxonomy)
    • 정의: 분류(tassein) + 과학(nomos)
    • Q. 바이럴마케팅과 같은 허위 댓글의 다수를 모두 긁어오는것에 대한 방지책이 있을까?

  • Linguistic Rule
    • 거리에 기반한 언어 분석

  •  시소러스
    • 정의
      • 동의어, 유의어로 구축된 사전이 본 뜻이나, 텍스트분석에서는 용어의 계층관계를 나타낸다.
    • 활용
      • 동의어, 유의어를 추천하거나, 반의어를 보여주거나, 동음이의어를 통제하는 방식으로 활용

  • 파이썬 형태소 분석기 성능 비교 및 속도 비교
from konlpy.tag import Kkma
from konlpy.tag import Komoran
from konlpy.tag import Hannanum
from konlpy.tag import Okt
from konlpy.tag import Mecab # 해당 코드는 윈도우에서 되지 않는다.
import MeCab # 윈도우 mecab 불러오기
import re # 정규표현식

# 형태소 분석을 위한 객체 생성.
kkma = Kkma()
komoran = Komoran()
hannanum = Hannanum()
okt = Okt()
mecab = MeCab.Tagger()

# 띄어쓰기로 직장 잘리는거 주의
text1 = "무지개같은사장님"
text2 = "아저씨발냄새나요"
text3 = "아버지가방에들어가신다"


# 각각의 분석기에 대한 결과 출력
print(f'\n---------------------"{text1}"에 대한 분석------------------------\n')
print("꼬꼬마 : %s\n" % kkma.pos(text2))
print("코모란 : %s\n" % komoran.pos(text2))
print("한나눔 : %s\n" % hannanum.pos(text2))
print("Okt : %s\n" % okt.pos(text2))
print("mecab : %s\n" % mecab_pos(text2))


print(f'\n---------------------"{text2}"에 대한 분석------------------------\n')
print("꼬꼬마 : %s\n" % kkma.pos(text2))
print("코모란 : %s\n" % komoran.pos(text2))
print("한나눔 : %s\n" % hannanum.pos(text2))
print("Okt : %s\n" % okt.pos(text2))
print("mecab : %s\n" % mecab_pos(text2))


print(f'\n---------------------"{text3}"에 대한 분석------------------------\n')
print("꼬꼬마 : %s\n" % kkma.pos(text2))
print("코모란 : %s\n" % komoran.pos(text2))
print("한나눔 : %s\n" % hannanum.pos(text2))
print("Okt : %s\n" % okt.pos(text2))
print("mecab : %s\n" % mecab_pos(text2))

# 속도 비교를 위한 장문의 뉴스 글
news = """윤태호 중앙사고수습본부 방역총괄반장은 1일 정부세종청사에서 열린 중앙재난안전대책본부 브리핑에서 전공의들의 의대정원 확대 정책 철회 요구와 관련해 "정부는 이미 어떠한 조건도 걸지 않고 교육부 정원 통보 등 의사 수 확대 정책의 추진을 중단해 둔 상태"라고 말했다.

윤 방역총괄반장은 "코로나19의 위기 극복 이후에 모든 가능성을 열어놓고 협의를 하자는 제안을 지속해서 제시한 바 있다"며 "전공의단체가 새로운 정책 대안을 제시한다면 정부도 진정성을 갖고 논의에 임할 것"이라고 했다.

그러면서 "정부의 양보와 제안에도 불구하고 의사 수 확대 철회라는 요청이 환자들의 생명과 안전을 위협하는 집단적인 진료 거부까지 강행할 만큼 중요하고 시급한 것인지 재고해 달라"고 말했다.

정부는 의대정원 확대와 관련해서는 모든 가능성을 열어두고 논의해가겠다는 입장을 '대통령 약속'이라고 언급하면서 업무 복귀를 촉구했다.

윤 방역총괄반장은 "어제 문재인 대통령도 코로나19의 위기가 해소된 이후 정부가 약속한 협의체와 국회의 협의기구 등을 통해 의료계와 충분한 협의를 추진하겠다고 말했다"며 "대통령까지 약속한 협의를 믿고 조속히 진료현장으로 돌아와 달라"고 말했다.

또 정부는 전날 지방의 한 수련병원의 업무개시명령 현장조사 과정에서 벌어진 시위와 관련해서는 의사 표현 방식의 일환으로 보고, 공무집행방해죄 적용 등을 검토하지 않겠다는 입장을 밝혔다. 현재로서는 추가 현장조사도 계획하지 않고 있다.

아울러 정부는 업무개시명령 위반으로 고발된 전공의들에 대해서는 곧바로 사법처리가 이뤄지는 것이 아니라 적법성, 고의성 등에 대한 추가 검증이 진행될 예정이라고 전했다.

또 수련병원에서 전공의 근무를 파악하는 과정에서 착오가 있었던 사례가 발견된 만큼 검증 과정을 체계화할 방침이다."""
%%time
print(kkma.pos(news)[:5])

%%time
print(komoran.pos(news)[:5])

%%time
print(hannanum.pos(news)[:5])

%%time
print(okt.pos(news)[:5])

%%time
print(mecab_pos(news)[:5])

 

kkma 꼬꼬마
komoran 코모란
hannanum 한나눔
okt
mecab

 

 

너 김치 먹어 봤니?

처음엔 좀 맵지 않았어?

그거 떡이라고 부르지 않아?

맞아. 대부분의 한국인들이 즐겨먹는 간식이야


 

Have you ever tried kimchi?

wasn't it a bit spicy for you at fisrt?

Don't you call them Dduck?

That's correct. it's a type of snack food most koreans enjoy.

'영어 > English with YouTube' 카테고리의 다른 글

09.12 Today's English  (0) 2020.09.12
09.11 Today's English  (0) 2020.09.12
08.26 Today's English  (0) 2020.08.26
영어 초보가 영어 잘하는 법 규칙 딱 2가지  (0) 2020.08.23
08.23 Today's English  (0) 2020.08.23

+ Recent posts