반응형
nltk에서 제공하는 아래 영어 말뭉치 리더기 오픈소스를 수정하여 한글 말뭉치 리더기 만들기
영국 말뭉치 http://www.natcorp.ox.ac.uk/
국립국어원 세종말뭉치 프로젝트 언어정보나눔터 https://ithub.korean.go.kr/user/main.do
from nltk.corpus.reader.bnc import BNCCorpusReader
bnc_reader = BNCCorpusReader(
root='corpus/BNC/2554/download/Texts/',
fileids=r'[A-Z]/.+/.+\.xml$')
fids = bnc_reader.fileids()
print(len(fids))
fid = bnc_reader.fileids()[0]
fid
4049
bnc_reader.words(fileids=fid) #양이 많음
bnc_reader.tagged_words(fileids=fid)
#BNC에 있는 hw(원형 정보만 불러오기)
bnc_reader.words(fileids=fid, stem=True)
['factsheet', 'what', 'be', 'aids', '?', 'aids', '(', ...]
#이렇게 재정의 하고 사용해야함
class SejongCorpusReader(nltk.corpus.reader.XMLCorpusReader):
def words(self):
#TODO
return
def tagged_words(self):
#TODO
return
from pyko.reader import SejongCorpusReader
sejong_reader = SejongCorpusReader(
root='corpus/sejong/',
fileids=r'(spoken|written)/word_tag/.+\.txt$')
fids = sejong_reader.fileids()
len(fids)
733
sejong_reader.words()
['뭐', '타고', '가?', '지하철.', '기차?', '아침에', ...]
sejong_reader.words(tagged=True)
[('뭐', (('뭐', 'NP'),)), ('타고', (('타', 'VV'), ('고', 'EC'))), ('가?', (('가', 'VV'), ('ㅏ', 'EF'), ('?', 'SF'))), ('지하철.', (('지하철', 'NNG'), ('.', 'SF'))), ('기차?', (('기차', 'NNG'), ('?', 'SF'))), ('아침에', (('아침', 'NNG'), ('에', 'JKB'))), ...]
반응형
'Data > Python' 카테고리의 다른 글
자연어 처리 한글사전 만들어 비교하기 (0) | 2018.12.12 |
---|---|
자연어 처리 영사전 만들어 비교하기 (0) | 2018.12.12 |
사용자 정의 말뭉치 읽고 처리 (0) | 2018.12.11 |
Corpus type - Categories, Tagged, UDHR (0) | 2018.12.11 |
말뭉치Corpus 다루기, Pandas 기초 (0) | 2018.12.11 |