반응형
import nltk
from nltk.corpus.reader import PlaintextCorpusReader
#Plaintext Corpus Reader을 활용하여 사용자 말뭉치 사용 'word_tokenizer= ' 이용해서 테스트 데이터는 wiki에서 긁어서 만든 txt 파일
wiki = PlaintextCorpusReader(root='wiki/', fileids=['turing.txt','jobs.txt'], encoding='utf-8')
wiki.fileids()
['turing.txt', 'jobs.txt']
#words로 토큰화 해보지만 조사 등을 잘라낼 수 없다.
fid = wiki.fileids()[0]
wiki.raw(fileids=fid)
print(wiki.words()[:50])
['앨런', '매티슨', '튜링', '(', '영어', ':', 'Alan', 'Mathison', 'Turing', ',', 'OBE', ',', 'FRS', ',', '1912년', '6월', '23일', '~', '1954년', '6월', '7일', ')', '은', '영국의', '수학자', ',', '암호학자', ',', '논리학자이자', '컴퓨터', '과학의', '선구적', '인물이다', '.', '알고리즘과', '계산', '개념을', '튜링', '기계라는', '추상', '모델을', '통해', '형식화함으로써', '컴퓨터', '과학의', '발전에', '지대한', '공헌을', '했다', '.[']
한국어 토큰기를 사용해야 함.
아래와 같은 오픈소스를 설치하여 활용 가능
import pyko
ko_tokenizer = pyko.OpenKoreanTextProcessor()
text = '홍길동이 진행하는 파이썬 자연어 처리 입문입니다. ㅋㅋㅋ'
ko_tokenizer.tokenize(text)
['홍길동', '이', '진행', '하는', '파이썬', '자연어', '처리', '입문', '입니다', '.', 'ㅋㅋㅋ']
wiki = PlaintextCorpusReader(root='wiki/', fileids=['turing.txt','jobs.txt'], encoding='utf-8', word_tokenizer=ko_tokenizer)
print(wiki.words()[:50])
print(len(wiki.words()))
['앨런', '매티', '슨', '튜링', '(', '영어', ':', 'Alan', 'Mathison', 'Turing', ',', 'OBE', ',', 'FRS', ',', '1912년', '6월', '23일', '~', '1954년', '6월', '7일', ')', '은', '영국', '의', '수학자', ',', '암호학자', ',', '논리학자', '이자', '컴퓨터', '과학', '의', '선구', '적', '인물', '이다', '.', '알고리즘', '과', '계산', '개념', '을', '튜링', '기계', '라는', '추상', '모델'] 633
#정규표현식 사용 가능 wiki = PlaintextCorpusReader(root='wiki/', fileids='.+\.txt$', encoding='utf-8', word_tokenizer=ko_tokenizer) print(wiki.words()[:50]) print(len(wiki.words()))
반응형
'Data > Python' 카테고리의 다른 글
자연어 처리 영사전 만들어 비교하기 (0) | 2018.12.12 |
---|---|
한글 말뭉치 리더기 만들기 (세종) (0) | 2018.12.11 |
Corpus type - Categories, Tagged, UDHR (0) | 2018.12.11 |
말뭉치Corpus 다루기, Pandas 기초 (0) | 2018.12.11 |
파이썬 자연어 처리 기초(NLTK) (0) | 2018.12.10 |