형태소 분석 morpgs
품사 태깅 pos tagging
명사 추출 nouns
구문 분석 syntax analysis
from konlpy tag import Hannanum
hannanum = Hannanum()
print(hannanum.analyze("안녕하십니까 정지원입니다.")) # 형태소 분석
print(hannanum.morphs("안녕하십니까 정지원 입니다.")) # 형태소 단위로 분리
print(hannanum.nouns("안녕하십니까 정지원 입니다.")) # 명사 리스트 출력
print(hannanum.pos("안녕하십니까 정지원 입니다.")) # (형태소, 품사) 형태
>
# analyze 함수 출력 예시
[[
[('안녕', 'ncps'), ('하', 'XSV'), ('시', 'EPH'), ('ㅂ니까', 'EFN')],
[('안녕', 'ncps'), ('하', 'XSV'), ('시', 'EPH'), ('ㅂ니까', 'EC'), (' ', 'SPACE'), ('정지원입니다.', 'N')]
]]
>
# morphs 함수 출력 예시
['안녕', '하', '시', 'ㅂ', '니까', '정지원입니다', '.']
>
# nouns 함수 출력 예시
['안녕', '정지원입니다']
>
# pos 함수 출력 예시
[('안녕', 'N'), ('하', 'X'), ('시', 'E'), ('ㅂ니까', 'E'), ('정지원입니다', 'N'), ('.', 'S')]
from konlpy.tag import Kkma
from konlpy.utils import pprint
kkma = Kkma()
pprint(kkma.morphs('공부를 하면 할수록 모르는게 많다.')) # 형태소 별로 나뉨
pprint(kkma.sentences('네, 안녕하세요. 반갑습니다.')) # 문장별로 인식하여 출력
pprint(kkma.nouns('공부를 하면 할수록 모르는게 많다.')) # 명사 추출
pprint(kkma.pos('공부를 하면 할수록 모르는게 많다.')) # 형태소 분석
>
# 형태소 분리
['공부', '를', '하', '면', '하', 'ㄹ수록', '모르', '는', '게','많', '다']
>
# 문장 분리
['네, 안녕하세요', '반갑습니다']
>
# 명사 추출
['공부', '수록', '것']
>
#형태소 분석
[('공부', 'NNG'), ('를', 'JKO'), ('하', 'VV'), ('면', 'ECE'), ('하', 'VV'), ('ㄹ수록', 'ECD'), ('모르', 'VV'), ('는', 'ETD'), ('것', 'NNB'), ('이', 'JKS'), ('많', 'VA'), ('다', 'EFN'), ('.', 'SF')]
from konlpy.tag import Komoran
komoran = Komoran(userdic = '경로.txt')
print(komoran.pos('바람과 함께 사라지다.'))
하나의 단어로 인식하게 된다.!pip install newspaper3k
from newspaper import Article
def crawl_article(url, language='ko'):
# 현재 title과 text를 추출할 url을 프린트해줌
print("[Crawl Article]", url)
# Article을 사용하여 그 URL을 입력하고, 언어옵션지정(한글어 기본), 결과를 a에 저장
a = Article(url, language = language)
a.download()
a.parse()
# a에 해당하는 title과 본문(text)을 html 태그를 제거하여 출력한다.
return a.title, preprocessing(a.text)
# 인터넷 뉴스 parsing
from bs4 import BeautifulSoup
from urllib.request import urlopen
url = urlopen('url 경로')
soup = BeautifulSoup(url, 'lxml')
title = soup.find("div", {"class": 'article_title'}).get_text(strip=True)
contents = soup.find("div", {"class":'article_txt'}).get_text(strip=True)
print(title)
print(contents)
