newspaper3k : 뉴스 기사 크롤링
import newpaper
from newpaper import Article
article = Article(news_url, language='ko')
article.download()
article.parse()
print(article.title)
print(article.text)
kss : 한국어 문장 분리기, 마침표를 기준으로 문장 구분
kss.split_sentences(sent)
soynlp : 반복 문자 제거
from soynlp.normalizer import *
repeat_normalize('ㅋㅋㅋㅋㅋㅋㅋㅋ', num_repeats=2)
>>> ㅋㅋ
OrderedDict : 중복 문장 제거
from collections import OrderedDict
list(OrderedDict.fromkeys(texts))
PyKoSpacing : 한국어 띄어쓰기 처리 👉 일반적인 문장에는 불필요한 띄어쓰기가 생길 수 도 있음
https://github.com/haven-jeon/PyKoSpacing.git
from pykospacing import Spacing
spacing = Spacing()
spacing("ㅁㄴㄹㅇ")
hanspell : 맞춤법 검사기
https://github.com/ssut/py-hanspell.git
from hanspell import spell_checker
spell_checker.check(sent)
>>> Checked(result=True, original = "", checked = "", errors=2, words=OrderedDict()
spell_sent.checked
konlpy : 한국어 형태소 분석기
from konlpy.tag import Mecab
mecab = Mecab()
morphs = mecab.pos("", join=False)
👉 명사(NN), 동사(V), 형용사(J)의 포함 여부에 따라 문장 필터링. 3개가 중 하나라도 없으면 제외
hgtk : 한글 자소 분리
import hgtk
list(hgtk.text.decompose("text"))
어절 단위 : split, padding, truncation
형태소 단위 : konlpy
음절 단위
자소 단위 : hgtk
WordPiece 단위 : transformer tokenizers의 BertWordPieceTokenizer
자료
한국어 욕설 사전
https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words
https://github.com/doublems/korean-bad-words
https://github.com/organization/Gentleman/