Skip to content

Commit 26a39d7

Browse files
committed
Include tagsets
1 parent 57c6bbb commit 26a39d7

File tree

11 files changed

+224
-0
lines changed

11 files changed

+224
-0
lines changed

konlpy/data/tagset/hannanum.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"E": "어미",
3+
"EC": "연결 어미",
4+
"EF": "종결 어미",
5+
"EP": "선어말어미",
6+
"ET": "전성 어미",
7+
"F": "외국어",
8+
"I": "독립언",
9+
"II": "감탄사",
10+
"J": "관계언",
11+
"JC": "격조사",
12+
"JP": "서술격 조사",
13+
"JX": "보조사",
14+
"M": "수식언",
15+
"MA": "부사",
16+
"MM": "관형사",
17+
"N": "체언",
18+
"NB": "의존명사",
19+
"NC": "보통명사",
20+
"NN": "수사",
21+
"NP": "대명사",
22+
"NQ": "고유명사",
23+
"P": "용언",
24+
"PA": "형용사",
25+
"PV": "동사",
26+
"PX": "보조 용언",
27+
"S": "기호",
28+
"X": "접사",
29+
"XP": "접두사",
30+
"XS": "접미사"
31+
}

konlpy/data/tagset/kkma.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"EC": "연결 어미",
3+
"ECD": "의존적 연결 어미",
4+
"ECE": "대등 연결 어미",
5+
"ECS": "보조적 연결 어미",
6+
"EF": "종결 어미",
7+
"EFA": "청유형 종결 어미",
8+
"EFI": "감탄형 종결 어미",
9+
"EFN": "평서형 종결 어미",
10+
"EFO": "명령형 종결 어미",
11+
"EFQ": "의문형 종결 어미",
12+
"EFR": "존칭형 종결 어미",
13+
"EP": "선어말 어미",
14+
"EPH": "존칭 선어말 어미",
15+
"EPP": "공손 선어말 어미",
16+
"EPT": "시제 선어말 어미",
17+
"ET": "전성 어미",
18+
"ETD": "관형형 전성 어미",
19+
"ETN": "명사형 전성 어미",
20+
"IC": "감탄사",
21+
"JC": "접속 조사",
22+
"JK": "조사",
23+
"JKC": "보격 조사",
24+
"JKG": "관형격 조사",
25+
"JKI": "호격 조사",
26+
"JKM": "부사격 조사",
27+
"JKO": "목적격 조사",
28+
"JKQ": "인용격 조사",
29+
"JKS": "주격 조사",
30+
"JX": "보조사",
31+
"MA": "부사",
32+
"MAC": "접속 부사",
33+
"MAG": "일반 부사",
34+
"MD": "관형사",
35+
"MDN": "수 관형사",
36+
"MDT": "일반 관형사",
37+
"NN": "명사",
38+
"NNB": "일반 의존 명사",
39+
"NNG": "보통명사",
40+
"NNM": "단위 의존 명사",
41+
"NNP": "고유명사",
42+
"NP": "대명사",
43+
"NR": "수사",
44+
"OH": "한자",
45+
"OL": "외국어",
46+
"ON": "숫자",
47+
"SE": "줄임표",
48+
"SF": "마침표, 물음표, 느낌표",
49+
"SO": "붙임표(물결,숨김,빠짐)",
50+
"SP": "쉼표,가운뎃점,콜론,빗금",
51+
"SS": "따옴표,괄호표,줄표",
52+
"SW": "기타기호 (논리수학기호,화폐기호)",
53+
"UN": "명사추정범주",
54+
"VA": "형용사",
55+
"VC": "지정사",
56+
"VCN": "부정 지정사, 형용사 '아니다'",
57+
"VCP": "긍정 지정사, 서술격 조사 '이다'",
58+
"VV": "동사",
59+
"VX": "보조 용언",
60+
"VXA": "보조 형용사",
61+
"VXV": "보조 동사",
62+
"XP": "접두사",
63+
"XPN": "체언 접두사",
64+
"XPV": "용언 접두사",
65+
"XR": "어근",
66+
"XSA": "형용사 파생 접미사",
67+
"XSN": "명사파생 접미사",
68+
"XSV": "동사 파생 접미사"
69+
}

konlpy/data/tagset/komoran.json

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"EC": "연결 어미",
3+
"EF": "종결 어미",
4+
"EP": "선어말어미",
5+
"ETM": "관형형 전성 어미",
6+
"ETN": "명사형 전성 어미",
7+
"IC": "감탄사",
8+
"JC": "접속 조사",
9+
"JKB": "부사격 조사",
10+
"JKC": "보격 조사",
11+
"JKG": "관형격 조사",
12+
"JKO": "목적격 조사",
13+
"JKQ": "인용격 조사",
14+
"JKS": "주격 조사",
15+
"JKV": "호격 조사",
16+
"JX": "보조사",
17+
"MAG": "일반 부사",
18+
"MAJ": "접속 부사",
19+
"MM": "관형사",
20+
"NA": "분석불능범주",
21+
"NF": "명사추정범주",
22+
"NNB": "의존 명사",
23+
"NNG": "일반 명사",
24+
"NNP": "고유 명사",
25+
"NP": "대명사",
26+
"NR": "수사",
27+
"NV": "용언추정범주",
28+
"SE": "줄임표",
29+
"SF": "마침표, 물음표, 느낌표",
30+
"SH": "한자",
31+
"SL": "외국어",
32+
"SN": "숫자",
33+
"SO": "붙임표(물결,숨김,빠짐)",
34+
"SP": "쉼표,가운뎃점,콜론,빗금",
35+
"SS": "따옴표,괄호표,줄표",
36+
"SW": "기타기호 (논리수학기호,화폐기호)",
37+
"VA": "형용사",
38+
"VCN": "부정 지정사",
39+
"VCP": "긍정 지정사",
40+
"VV": "동사",
41+
"VX": "보조 용언",
42+
"XPN": "체언 접두사",
43+
"XR": "어근",
44+
"XSA": "형용사 파생 접미사",
45+
"XSN": "명사파생 접미사",
46+
"XSV": "동사 파생 접미사"
47+
}

konlpy/data/tagset/mecab.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"EC": "연결 어미",
3+
"EF": "종결 어미",
4+
"EP": "선어말어미",
5+
"ETM": "관형형 전성 어미",
6+
"ETN": "명사형 전성 어미",
7+
"IC": "감탄사",
8+
"JC": "접속 조사",
9+
"JKB": "부사격 조사",
10+
"JKC": "보격 조사",
11+
"JKG": "관형격 조사",
12+
"JKO": "목적격 조사",
13+
"JKQ": "인용격 조사",
14+
"JKS": "주격 조사",
15+
"JKV": "호격 조사",
16+
"JX": "보조사",
17+
"MAG": "일반 부사",
18+
"MAJ": "접속 부사",
19+
"MM": "관형사",
20+
"NNB": "의존 명사",
21+
"NNBC": "단위를 나타내는 명사",
22+
"NNG": "일반 명사",
23+
"NNP": "고유 명사",
24+
"NP": "대명사",
25+
"NR": "수사",
26+
"SC": "구분자 , · / :",
27+
"SE": "줄임표 …",
28+
"SF": "마침표, 물음표, 느낌표",
29+
"SH": "한자",
30+
"SL": "외국어",
31+
"SN": "숫자",
32+
"SSC": "닫는 괄호 ), ]",
33+
"SSO": "여는 괄호 (, [",
34+
"SY": "기타 기호",
35+
"VA": "형용사",
36+
"VCN": "부정 지정사",
37+
"VCP": "긍정 지정사",
38+
"VV": "동사",
39+
"VX": "보조 용언",
40+
"XPN": "체언 접두사",
41+
"XR": "어근",
42+
"XSA": "형용사 파생 접미사",
43+
"XSN": "명사파생 접미사",
44+
"XSV": "동사 파생 접미사"
45+
}

konlpy/data/tagset/twitter.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"Adjective": "형용사",
3+
"Adverb": "부사",
4+
"Alpha": "알파벳",
5+
"Conjunction": "접속사",
6+
"Determiner": "관형사",
7+
"Eomi": "어미",
8+
"Exclamation": "감탄사",
9+
"Foreign": "외국어, 한자 및 기타기호",
10+
"Hashtag": "트위터 해쉬태그",
11+
"Josa": "조사",
12+
"KoreanParticle": "(ex: ㅋㅋ)",
13+
"Noun": "명사",
14+
"Number": "숫자",
15+
"PreEomi": "선어말어미",
16+
"Punctuation": "구두점",
17+
"ScreenName": "트위터 아이디",
18+
"Suffix": "접미사",
19+
"Unknown": "미등록어",
20+
"Verb": "동사"
21+
}

konlpy/tag/_hannanum.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,4 @@ def __init__(self, jvmpath=None):
101101
jhannanumJavaPackage = jpype.JPackage('kr.lucypark.jhannanum.comm')
102102
HannanumInterfaceJavaClass = jhannanumJavaPackage.HannanumInterface
103103
self.jhi = HannanumInterfaceJavaClass() # Java instance
104+
self.tagset = utils.read_json('%s/data/tagset/hannanum.json' % utils.installpath)

konlpy/tag/_kkma.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,4 @@ def __init__(self, jvmpath=None):
8585
kkmaJavaPackage = jpype.JPackage('kr.lucypark.kkma')
8686
KkmaInterfaceJavaClass = kkmaJavaPackage.KkmaInterface
8787
self.jki = KkmaInterfaceJavaClass() # Java instance
88+
self.tagset = utils.read_json('%s/data/tagset/kkma.json' % utils.installpath)

konlpy/tag/_komoran.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,4 @@ def __init__(self, jvmpath=None, dicpath=None):
9494
# FIXME: Cannot execute without sudoing
9595
# java.lang.NoClassDefFoundErrorPyRaisable: java.lang.NoClassDefFoundError: kr/co/shineware/nlp/komoran/core/analyzer/Komoran
9696
self.dicpath = os.path.join(utils.installpath, 'java', 'data', 'models')
97+
self.tagset = utils.read_json('%s/data/tagset/komoran.json' % utils.installpath)

konlpy/tag/_mecab.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,6 @@ def nouns(self, phrase):
9595
def __init__(self, dicpath='/usr/local/lib/mecab/dic/mecab-ko-dic'):
9696
try:
9797
self.tagger = Tagger('-d %s' % dicpath)
98+
self.tagset = utils.read_json('%s/data/tagset/mecab.json' % utils.installpath)
9899
except RuntimeError:
99100
raise Exception('Invalid MeCab dictionary path: "%s"\nInput the correct path when initiializing class: "Mecab(\'/some/dic/path\')"' % dicpath)

konlpy/tag/_twitter.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,4 @@ def __init__(self, jvmpath=None):
7070
tktJavaPackage = jpype.JPackage('kr.lucypark.tkt')
7171
TktInterfaceJavaClass = tktJavaPackage.TktInterface
7272
self.jki = TktInterfaceJavaClass()
73+
self.tagset = utils.read_json('%s/data/tagset/twitter.json' % utils.installpath)

konlpy/utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
from __future__ import unicode_literals
55
import io
6+
import json
67
import os
78
import pprint as pp
89
import sys
@@ -171,3 +172,8 @@ def read_txt(filename, encoding='utf-8'):
171172
"""Text file reader."""
172173
with io.open(filename, 'r', encoding=encoding) as f:
173174
return f.read()
175+
176+
def read_json(filename, encoding='utf-8'):
177+
"""JSON file reader."""
178+
with io.open(filename, 'r', encoding=encoding) as f:
179+
return json.load(f)

0 commit comments

Comments
 (0)