Skip to content

Commit

Permalink
Include tagsets
Browse files Browse the repository at this point in the history
  • Loading branch information
e9t committed May 25, 2015
1 parent 57c6bbb commit 26a39d7
Show file tree
Hide file tree
Showing 11 changed files with 224 additions and 0 deletions.
31 changes: 31 additions & 0 deletions konlpy/data/tagset/hannanum.json
@@ -0,0 +1,31 @@
{
"E": "어미",
"EC": "연결 어미",
"EF": "종결 어미",
"EP": "선어말어미",
"ET": "전성 어미",
"F": "외국어",
"I": "독립언",
"II": "감탄사",
"J": "관계언",
"JC": "격조사",
"JP": "서술격 조사",
"JX": "보조사",
"M": "수식언",
"MA": "부사",
"MM": "관형사",
"N": "체언",
"NB": "의존명사",
"NC": "보통명사",
"NN": "수사",
"NP": "대명사",
"NQ": "고유명사",
"P": "용언",
"PA": "형용사",
"PV": "동사",
"PX": "보조 용언",
"S": "기호",
"X": "접사",
"XP": "접두사",
"XS": "접미사"
}
69 changes: 69 additions & 0 deletions konlpy/data/tagset/kkma.json
@@ -0,0 +1,69 @@
{
"EC": "연결 어미",
"ECD": "의존적 연결 어미",
"ECE": "대등 연결 어미",
"ECS": "보조적 연결 어미",
"EF": "종결 어미",
"EFA": "청유형 종결 어미",
"EFI": "감탄형 종결 어미",
"EFN": "평서형 종결 어미",
"EFO": "명령형 종결 어미",
"EFQ": "의문형 종결 어미",
"EFR": "존칭형 종결 어미",
"EP": "선어말 어미",
"EPH": "존칭 선어말 어미",
"EPP": "공손 선어말 어미",
"EPT": "시제 선어말 어미",
"ET": "전성 어미",
"ETD": "관형형 전성 어미",
"ETN": "명사형 전성 어미",
"IC": "감탄사",
"JC": "접속 조사",
"JK": "조사",
"JKC": "보격 조사",
"JKG": "관형격 조사",
"JKI": "호격 조사",
"JKM": "부사격 조사",
"JKO": "목적격 조사",
"JKQ": "인용격 조사",
"JKS": "주격 조사",
"JX": "보조사",
"MA": "부사",
"MAC": "접속 부사",
"MAG": "일반 부사",
"MD": "관형사",
"MDN": "수 관형사",
"MDT": "일반 관형사",
"NN": "명사",
"NNB": "일반 의존 명사",
"NNG": "보통명사",
"NNM": "단위 의존 명사",
"NNP": "고유명사",
"NP": "대명사",
"NR": "수사",
"OH": "한자",
"OL": "외국어",
"ON": "숫자",
"SE": "줄임표",
"SF": "마침표, 물음표, 느낌표",
"SO": "붙임표(물결,숨김,빠짐)",
"SP": "쉼표,가운뎃점,콜론,빗금",
"SS": "따옴표,괄호표,줄표",
"SW": "기타기호 (논리수학기호,화폐기호)",
"UN": "명사추정범주",
"VA": "형용사",
"VC": "지정사",
"VCN": "부정 지정사, 형용사 '아니다'",
"VCP": "긍정 지정사, 서술격 조사 '이다'",
"VV": "동사",
"VX": "보조 용언",
"VXA": "보조 형용사",
"VXV": "보조 동사",
"XP": "접두사",
"XPN": "체언 접두사",
"XPV": "용언 접두사",
"XR": "어근",
"XSA": "형용사 파생 접미사",
"XSN": "명사파생 접미사",
"XSV": "동사 파생 접미사"
}
47 changes: 47 additions & 0 deletions konlpy/data/tagset/komoran.json
@@ -0,0 +1,47 @@
{
"EC": "연결 어미",
"EF": "종결 어미",
"EP": "선어말어미",
"ETM": "관형형 전성 어미",
"ETN": "명사형 전성 어미",
"IC": "감탄사",
"JC": "접속 조사",
"JKB": "부사격 조사",
"JKC": "보격 조사",
"JKG": "관형격 조사",
"JKO": "목적격 조사",
"JKQ": "인용격 조사",
"JKS": "주격 조사",
"JKV": "호격 조사",
"JX": "보조사",
"MAG": "일반 부사",
"MAJ": "접속 부사",
"MM": "관형사",
"NA": "분석불능범주",
"NF": "명사추정범주",
"NNB": "의존 명사",
"NNG": "일반 명사",
"NNP": "고유 명사",
"NP": "대명사",
"NR": "수사",
"NV": "용언추정범주",
"SE": "줄임표",
"SF": "마침표, 물음표, 느낌표",
"SH": "한자",
"SL": "외국어",
"SN": "숫자",
"SO": "붙임표(물결,숨김,빠짐)",
"SP": "쉼표,가운뎃점,콜론,빗금",
"SS": "따옴표,괄호표,줄표",
"SW": "기타기호 (논리수학기호,화폐기호)",
"VA": "형용사",
"VCN": "부정 지정사",
"VCP": "긍정 지정사",
"VV": "동사",
"VX": "보조 용언",
"XPN": "체언 접두사",
"XR": "어근",
"XSA": "형용사 파생 접미사",
"XSN": "명사파생 접미사",
"XSV": "동사 파생 접미사"
}
45 changes: 45 additions & 0 deletions konlpy/data/tagset/mecab.json
@@ -0,0 +1,45 @@
{
"EC": "연결 어미",
"EF": "종결 어미",
"EP": "선어말어미",
"ETM": "관형형 전성 어미",
"ETN": "명사형 전성 어미",
"IC": "감탄사",
"JC": "접속 조사",
"JKB": "부사격 조사",
"JKC": "보격 조사",
"JKG": "관형격 조사",
"JKO": "목적격 조사",
"JKQ": "인용격 조사",
"JKS": "주격 조사",
"JKV": "호격 조사",
"JX": "보조사",
"MAG": "일반 부사",
"MAJ": "접속 부사",
"MM": "관형사",
"NNB": "의존 명사",
"NNBC": "단위를 나타내는 명사",
"NNG": "일반 명사",
"NNP": "고유 명사",
"NP": "대명사",
"NR": "수사",
"SC": "구분자 , · / :",
"SE": "줄임표 …",
"SF": "마침표, 물음표, 느낌표",
"SH": "한자",
"SL": "외국어",
"SN": "숫자",
"SSC": "닫는 괄호 ), ]",
"SSO": "여는 괄호 (, [",
"SY": "기타 기호",
"VA": "형용사",
"VCN": "부정 지정사",
"VCP": "긍정 지정사",
"VV": "동사",
"VX": "보조 용언",
"XPN": "체언 접두사",
"XR": "어근",
"XSA": "형용사 파생 접미사",
"XSN": "명사파생 접미사",
"XSV": "동사 파생 접미사"
}
21 changes: 21 additions & 0 deletions konlpy/data/tagset/twitter.json
@@ -0,0 +1,21 @@
{
"Adjective": "형용사",
"Adverb": "부사",
"Alpha": "알파벳",
"Conjunction": "접속사",
"Determiner": "관형사",
"Eomi": "어미",
"Exclamation": "감탄사",
"Foreign": "외국어, 한자 및 기타기호",
"Hashtag": "트위터 해쉬태그",
"Josa": "조사",
"KoreanParticle": "(ex: ㅋㅋ)",
"Noun": "명사",
"Number": "숫자",
"PreEomi": "선어말어미",
"Punctuation": "구두점",
"ScreenName": "트위터 아이디",
"Suffix": "접미사",
"Unknown": "미등록어",
"Verb": "동사"
}
1 change: 1 addition & 0 deletions konlpy/tag/_hannanum.py
Expand Up @@ -101,3 +101,4 @@ def __init__(self, jvmpath=None):
jhannanumJavaPackage = jpype.JPackage('kr.lucypark.jhannanum.comm')
HannanumInterfaceJavaClass = jhannanumJavaPackage.HannanumInterface
self.jhi = HannanumInterfaceJavaClass() # Java instance
self.tagset = utils.read_json('%s/data/tagset/hannanum.json' % utils.installpath)
1 change: 1 addition & 0 deletions konlpy/tag/_kkma.py
Expand Up @@ -85,3 +85,4 @@ def __init__(self, jvmpath=None):
kkmaJavaPackage = jpype.JPackage('kr.lucypark.kkma')
KkmaInterfaceJavaClass = kkmaJavaPackage.KkmaInterface
self.jki = KkmaInterfaceJavaClass() # Java instance
self.tagset = utils.read_json('%s/data/tagset/kkma.json' % utils.installpath)
1 change: 1 addition & 0 deletions konlpy/tag/_komoran.py
Expand Up @@ -94,3 +94,4 @@ def __init__(self, jvmpath=None, dicpath=None):
# FIXME: Cannot execute without sudoing
# java.lang.NoClassDefFoundErrorPyRaisable: java.lang.NoClassDefFoundError: kr/co/shineware/nlp/komoran/core/analyzer/Komoran
self.dicpath = os.path.join(utils.installpath, 'java', 'data', 'models')
self.tagset = utils.read_json('%s/data/tagset/komoran.json' % utils.installpath)
1 change: 1 addition & 0 deletions konlpy/tag/_mecab.py
Expand Up @@ -95,5 +95,6 @@ def nouns(self, phrase):
def __init__(self, dicpath='/usr/local/lib/mecab/dic/mecab-ko-dic'):
try:
self.tagger = Tagger('-d %s' % dicpath)
self.tagset = utils.read_json('%s/data/tagset/mecab.json' % utils.installpath)
except RuntimeError:
raise Exception('Invalid MeCab dictionary path: "%s"\nInput the correct path when initiializing class: "Mecab(\'/some/dic/path\')"' % dicpath)
1 change: 1 addition & 0 deletions konlpy/tag/_twitter.py
Expand Up @@ -70,3 +70,4 @@ def __init__(self, jvmpath=None):
tktJavaPackage = jpype.JPackage('kr.lucypark.tkt')
TktInterfaceJavaClass = tktJavaPackage.TktInterface
self.jki = TktInterfaceJavaClass()
self.tagset = utils.read_json('%s/data/tagset/twitter.json' % utils.installpath)
6 changes: 6 additions & 0 deletions konlpy/utils.py
Expand Up @@ -3,6 +3,7 @@

from __future__ import unicode_literals
import io
import json
import os
import pprint as pp
import sys
Expand Down Expand Up @@ -171,3 +172,8 @@ def read_txt(filename, encoding='utf-8'):
"""Text file reader."""
with io.open(filename, 'r', encoding=encoding) as f:
return f.read()

def read_json(filename, encoding='utf-8'):
"""JSON file reader."""
with io.open(filename, 'r', encoding=encoding) as f:
return json.load(f)

0 comments on commit 26a39d7

Please sign in to comment.