본문 바로가기
  • On the ball
Data/Python

자연어 처리 한글사전 만들어 비교하기

by pub-lican-ai 2018. 12. 12.
반응형

import nltk

import pandas as pd

from pyko.reader import SejongCorpusReader

sejong = SejongCorpusReader(root='corpus/sejong/', fileids=r'(spoken|written)/word_tag/.+\.txt$')

len(sejong.fileids())

733

tagged_tokens = sejong.words(tagged=True)
print(tagged_tokens[1])
('타고', (('타', 'VV'), ('고', 'EC')))

세종 말뭉치에서 단어 원형 사전 만들기

1)원형을 찾아 변환해야할 대상들은 단어조각이 2개이상인 것

2) 2개 이상이면서 2번째 형태소가 어미유형(tagset.xlsx에서 E로시작하는분류)


word_snippet, morp = tagged_tokens[1]

len(morp)

2


fids = sejong.fileids()[0]

tagged_tokens = sejong.words(fids, tagged=True)

word_stem_dict = {}

for word_snippet, morp in tagged_tokens:

    if len(morp) < 2:

        continue

    #두 번째 형태소가 어말어미인 경우

    word_snippet = word_snippet.strip('..?')

    stem, pos = morp[0]

    ending, pos = morp[1]

    if pos.startswith('E'):

        word_stem_dict[word_snippet] = stem +'다'

print(word_stem_dict)

{'타고': '타다', '가': '가다', '가는데': '가다', '가면은': '가다', '타고,': '타다', '늦게': '늦다', ...}


반응형