한국어 분석(형태소 분석)
2018. 5. 17. 04:53ㆍPython-이론/python-인공지능
한국어 분석(형태소 분석)
형태소 분석이란 한국어를 의미를 갖는 최소 단위로 분할하고, 품사를 판별하는 작업입니다. 우리가 이러한 기능을 직접구현 하려면 어렵겠죠 ..... 하지만 이러한 기능은 모듈로 이미 만들어져있어서 편리하게 사용할 수 있습니다.
모듈 다운로드 방법
apt-get install g++ openjdk-7-jdk python-dev python3-dev
만약 jpype오류가 발생한다면 pip3 install jpype1을 다운로드 해주세요.
konlpy 설치
pip3 install konlpy
안정적이게 설치가 됩니다. 그럼 이제부터 예제 코드를 실행시켜 보겠습니다.
예제 코드
from konlpy.tag import Twitter twitter = Twitter() print("구분할 문장을 입력해주세요") text = input() #norm은 현대적인말 그래욬ㅋㅋㅋ 같은 것을 그래요로 바꾸어 주는 것이다. #stem은 그래요를 그렇다처럼 원형으로 바꾸어 주는 것이다. classifiedData = twitter.pos(text,norm=True,stem=True) print(classifiedData)
위의 예제와 달리 조금 응용해서 사용 해보겠습니다.
from konlpy.tag import Twitter import codecs from bs4 import BeautifulSoup text = codecs.open("toji.txt",'r',encoding = "utf-16") bsData = BeautifulSoup(text,'html.parser') body = bsData.select_one("body > text") text = body.getText() twitter = Twitter() text = text.split('\n') dic = {} for line in text: malist = twitter.pos(line) for word in malist: if word[1] == "Noun": if word[0] not in dic: dic[word[0]] = 0 dic[word[0]]+=1 sortedDic = sorted(dic.items(), key=lambda k :k[1], reverse=True) for word, count in sortedDic[:30]: print("{0}({1})".format(word,count))
'Python-이론 > python-인공지능' 카테고리의 다른 글
베이즈의 정리를 통해 텍스트 구분하기 (0) | 2018.05.19 |
---|---|
word2vec 사용해서 한 단어와 연관된 단어들 찾아보기 (0) | 2018.05.17 |
pandas와 numpy 다루기 (0) | 2018.05.11 |
Tensorboard 사용해보기 (0) | 2018.05.08 |
텐서플로우로 머신러닝 하기(bmi 구하기) (0) | 2018.05.08 |