반응형
반응형

[python] konlpy 하다가 그래프에 한글 안나올때, 어제는 안되고 오늘은 되네.


https://www.lucypark.kr/courses/2015-dm/text-mining.html


맥북에서 그래프에 한글 계속 안나오다가, 오늘 해보니까 또 나오네. 뭔 조화인가? 오타인가? 



Troubleshooting: For those who see rectangles instead of letters in the saved plot file, include the following configurations before drawing the plot:

from matplotlib import font_manager, rc
font_fname = 'c:/windows/fonts/gulim.ttc'     # A font of your choice
font_name = font_manager.FontProperties(fname=font_fname).get_name()
rc('font', family=font_name)

Some example fonts:

  • Mac OS: /Library/Fonts/AppleGothic.ttf








.

반응형
반응형
자유, 평등, 박애 그리고 지금, “연결되지 않을 권리.” – <워싱턴포스트>

연결되지 않을 권리의 법제화는 한국에서도 시급해 보인다. 한국은 프랑스보다 노동환경이 열악하다. 프랑스는 주 35시간 노동제를 도입했지만 한국은 주 40시간으로 규정된 법정근로시간조차 제대로 지켜지지 않고 있다. 한국의 평균 노동시간(2015년 기준 연간 2113시간)은 경제협력개발기구(OECD) 중 멕시코에 이어 두 번째로 길다. 장시간 노동은 ‘카카오톡’ 등 SNS를 통해 극대화되고 있다.

한국노동연구원이 2016년 발표한 자료에 따르면 전체 노동자 10명 중 7명이 퇴근 후에도 스마트폰 등으로 업무를 하는 것으로 나타났다. 평일에는 평균 86.24분 더 일했고, 휴일에는 95.96분 일했다. 업무시간 이외에도 스마트기기를 통한 노동시간이 주당 11시간(677분)이 넘는 셈이다.

한국의 노동환경은 카카오톡 등 SNS를 통해 시·공간을 넘어 확장된다. ‘단체카톡방(단톡방)’을 통한 상사의 지시는 노동자를 ‘SNS 사무실’에 가둔다. 이에 따라 한국에서도 ‘연결되지 않을 권리’에 대한 논의가 활발해지고 있다. 지나친 업무 스트레스라는 입장과 사규 정도로 정하면 될 악습을 굳이 법으로 규제하는 것은 지나치다는 입장으로 찬반이 갈리기도 하지만, 대체로 연결되지 않을 권리에 대해 우호적인 반응을 보이고 있다.

한국언론진흥재단 미디어연구센터가 직장인 1천명을 대상으로 실시한 조사 결과에 따르면 응답자의 대다수인 86.6%가 연결되지 않을 권리를 인정하거나 존중하는 것으로 나타났다. 법제화·내규화로 명시해야 한다는 의견에 찬성한 비율도 85%나 된다. 이런 여론에 힘입어 연결되지 않을 권리 관련 법안과 정책도 논의되고 있다.

2016년 6월22일 신경민 더불어민주당 의원 대표 발의로 연결되지 않을 권리를 명시한 근로기준법 개정안이 발의됐다. 근로시간 이외에 전화, 문자 메시지, SNS 등 각종 통신수단을 이용해 업무 지시를 못하게 하는 내용을 담았다. 이 법안은 국회 환경노동위에 계류 중이다. 제19대 대통령선거 과정에서 바른정당 유승민 후보는 ‘퇴근 후 SNS 업무지시 제한’을 주요 공약으로 발표하기도 했다.

연결에서 벗어나기 위한 ‘세컨드폰’

법과 제도가 바뀌는 데는 시간이 걸린다. 개인적 차원에서 연결에서 벗어나기 위한 움직임도 있다. 그 가운데 하나가‘세컨드폰’이다. 퇴근 후 스마트폰을 통한 연결에서 벗어나기 위해 최근 젊은층 사이에서는 세컨드폰이 인기를 끌고 있다. 스마트기기를 통한 연결로부터 사생활을 간섭받지 않기 위한 목적으로 기존에 사용하는 스마트폰 이외에 다른 휴대폰을 사용하는 것이다.

세컨드폰을 사용하는 데는 두 가지 방법이 있다. ‘알뜰폰’ 등 중저가 휴대폰을 추가로 사는 방법과, 단말기 하나로 2개의 전화번호를 사용하는 방법이다. 즉, 세컨드폰은 공적인 용도의 휴대폰과 사적인 용도의 휴대폰을 구분해, 사생활을 침범하는 ‘연결’에서 벗어난 물리적 환경을 만드는 방식으로 연결되지 않을 권리를 실현한다.

의도적으로 기능을 최소화한 휴대폰도 출시되고 있다. ‘더라이트폰(The Light Phone)’은 통화 기능만 탑재한 휴대폰이다. 크라우드펀딩 서비스 ‘킥스타터’를 통해 2015년 처음 선보였다. 현재는 투자에 참여하지 않은 사람도 더라이트폰을 구매할 수 있다. 더라이트폰 측은 “더 많은 ‘연결’이 우리를 더 행복하게 만들 수 없다”라고 통화만 가능한 휴대폰을 만든 배경을 밝혔다.

신용카드 크기만한 더라이트폰의 기능은 단순하다. 전화를 받고 거는 것과 시간을 확인하는 기능만 들어 있다. 전화번호도 최대 9개까지만 저장할 수 있다. 문자나 이메일도 확인할 수 없다. 블루투스 기능 역시 빠졌으며, 스마트폰과 연동되지도 않는다. ‘세컨드폰’인 더라이트폰은 잠시나마 스마트폰으로부터 떨어진 환경을 제공하기 위해 기획됐다.

더라이트폰 측은 “기술은 우리를 노예화하지 않고 우리에게 봉사해야 한다”라며 “우리는 반기술을 지향하지 않는다. 우리는 인간을 지향하며 우리의 삶을 되찾고자 한다”라고 자신들의 홈페이지를 통해 전했다. 흰색과 검은색 두 색상으로 판매되는 더라이트폰은 현재 미국에서만 사용할 수 있다.


.

반응형
반응형

잘못된 방향으로 힘차게 걷느니

절뚝거리더라도 옳은 방향으로

느릿하게 가는 것이 낫다.

- 마르쿠스 아우렐리우스 


속도가 아니라 방향입니다.

잘못된 방향으로 빨리 가면 더 빨리 망하게 됩니다.

방향을 제대로 잡고 우직하게 걸어가다 보면,

언젠가는 목적지에 도달하게 됩니다.

동료들과 한 방향을 보며 손잡고 함께 가면

더 빨리 갈 수 있습니다.



.

반응형
반응형

당신의 현재 모습을 

인정하는 것부터 시작하라.

영혼의 성장은 수양을 통해 연마되고 

완성된다. 그것은 악기처럼 연주되어야 한다.  

길처럼 걸어갈 수 있어야 한다. 인생 자체가 

영혼의 여행이다.


- 켄트 너번의《세상을 보는 16가지 지혜, 작은 유산》중에서 -


* 몸이 자라면서

영혼도 함께 자라야 합니다.

몸은 아무리 자라도 2m 안팎에 머물지만 

영혼이 자라면 하늘에 닿을 수 있습니다.

하늘에 닿는 길이 기도와 명상이고,

그것이 내 영혼을 성장시키는

영혼의 여행길입니다. 



.

반응형

'아침편지' 카테고리의 다른 글

눈부신 깨달음의 빛  (0) 2017.06.20
꿈이 있는 아내는...  (0) 2017.06.19
창조 작업  (0) 2017.06.15
'그림 같다'  (0) 2017.06.14
내 몸을 알자  (0) 2017.06.13
반응형

파이썬으로 영어와 한국어 텍스트 다루기

https://www.lucypark.kr/courses/2015-dm/text-mining.html




문서 전처리


https://datascienceschool.net/view-notebook/3e7aadbf88ed4f0d87a76f9ddc925d69/



모든 데이터 분석 모형은 숫자로 구성된 고정 차원 벡터를 독립 변수로 하고 있으므로 문서(document)를 분석을 하는 경우에도 숫자로 구성된 특징 벡터(feature vector)를 문서로부터 추출하는 과정이 필요하다. 이러한 과정을 문서 전처리(document preprocessing)라고 한다.


BOW (Bag of Words) 


문서를 숫자 벡터로 변환하는 가장 기본적인 방법은 BOW (Bag of Words) 이다. BOW 방법에서는 전체 문서  {D1,D2,…,Dn}{D1,D2,…,Dn}  를 구성하는 고정된 단어장(vocabulary)  {W1,W2,…,Wm}{W1,W2,…,Wm}  를 만들고  DiDi 라는 개별 문서에 단어장에 해당하는 단어들이 포함되어 있는지를 표시하는 방법이다.


 만약 단어 Wj가 문서Di 안에 있으면 ,→xij=1

 만약 단어 Wj가 문서Di 안에 있으면 ,→xij=1

 

Scikit-Learn 의 문서 전처리 기능 


Scikit-Learn 의 feature_extraction.text 서브 패키지는 다음과 같은 문서 전처리용 클래스를 제공한다.


CountVectorizer:

    문서 집합으로부터 단어의 수를 세어 카운트 행렬을 만든다.

TfidfVectorizer:

    문서 집합으로부터 단어의 수를 세고 TF-IDF 방식으로 단어의 가중치를 조정한 카운트 행렬을 만든다.

HashingVectorizer:

    hashing trick 을 사용하여 빠르게 카운트 행렬을 만든다.


from sklearn.feature_extraction.text import CountVectorizer

corpus = [

    'This is the first document.',

    'This is the second second document.',

    'And the third one.',

    'Is this the first document?',

    'The last document?',    

]

vect = CountVectorizer()

vect.fit(corpus)

vect.vocabulary_


반응형
반응형

konlpy 한국어 처리 패키지 


https://datascienceschool.net/view-notebook/70ce46db4ced4a999c6ec349df0f4eb0/



konlpy는 한국어 정보처리를 위한 파이썬 패키지이다.


http://konlpy.org/ko/latest/

https://github.com/konlpy/konlpy

konlpy는 다음과 같은 다양한 형태소 분석, 태깅 라이브러리를 파이썬에서 쉽게 사용할 수 있도록 모아놓았다.


Kkma

http://kkma.snu.ac.kr/

Hannanum

http://semanticweb.kaist.ac.kr/hannanum/

Twitter

https://github.com/twitter/twitter-korean-text/

Komoran

http://www.shineware.co.kr/?page_id=835

Mecab

https://bitbucket.org/eunjeon/mecab-ko-dic

konlpy 는 다음과 같은 기능을 제공한다.


한국어 corpus

한국어 처리 유틸리티

형태소 분석 및 품사 태깅



한국어 corpus


 - 예문 호출, 파일리스트 

from konlpy.corpus import kolaw  

kolaw.fileids()


c = kolaw.open('constitution.txt').read()

print(c[:100])


from konlpy.corpus import kobill

kobill.fileids()


d = kobill.open('1809890.txt').read()

print(d[:100])



한국어 처리 유틸리티

konlpy에는 유니코드 한글 문자열이 리스트나 딕셔너리의 내부에 있을 때도 한글 글자 모양을 정상적으로 보여주는 pprint 유틸리티 함수를 제공한다.


x = [u"한글", {u"한글 키": [u"한글 밸류1", u"한글 밸류2"]}]

print(x)


from konlpy.utils import pprint

pprint(x)



형태소 분석 

konlpy는 tag 서브패키지에서 형태소 분석을 위한 5개의 클래스를 제공한다.


Kkma

Hannanum

Twitter

Komoran

Mecab


이 클래스는 다음과 같은 메서드를 대부분 제공한다.


morphs : 형태소 추출

nouns : 명사 추출

pos : pos 태깅



from konlpy.tag import *

hannanum = Hannanum()

kkma = Kkma()

twitter = Twitter()


명사 추출 

문자열에서 명사만 추출하려면 noun 명령을 사용한다.


pprint(hannanum.nouns(c[:65]))

pprint(kkma.nouns(c[:65]))

pprint(twitter.nouns(c[:65]))


형태소 추출 

명사 뿐 아니라 모든 품사의 형태소를 알아내려면 morphs라는 명령을 사용한다.


pprint(hannanum.morphs(c[:65]))

pprint(kkma.morphs(c[:65]))

pprint(twitter.morphs(c[:65]))



품사 태깅 

pos 명령을 사용하면 품사(POS)가 붙어있는(tagging) 형태로 형태소 분석을 한다. 다만 이 때 출력되는 품사의 정의 및 기호는 형태소 분석기 마다 다르므로 각 형태소 분석기에 대한 문서를 찾아봐야 한다.


다음은 많이 쓰이는 형태소 분석기의 품사 기호를 비교한 자료이다.


Korean POS tags comparison chart : https://docs.google.com/spreadsheets/d/1OGAjUvalBuX-oZvZ_-9tEfYD2gQe7hTGsgUpiiBSXI8/edit#gid=0


pprint(hannanum.pos(c[:65]))

pprint(kkma.pos(c[:65]))

pprint(twitter.pos(c[:65]))



반응형

+ Recent posts