2017.11.20) Konlpy를 활용한 야민정음 해석기 part.2

2017. 11. 20. 18:15프로젝트(완료)/야민정음 해석기

필자는 2017 15인치 맥북 터치바, 

(

i7 - 7700hq

radeon pro 555

LPDDR3 16gb

APPLE SSD 256gb

)

파이참, 

파이썬 3.6 환경에서 구동하였다.


mecab 태그 방식을 이용하여 문장 분석

+ "ㄹ"은 항상 "근" 으로 통용되기 때문에 단순히 replace를 활용해 바꿔줌

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
import konlpy
 
def yamin():
    print("입력 : ")
    __input = input()
    __input = __input.replace('ㄹ','근')
 
    rtn = []
 
    rtn.append(__input)
 
    return rtn
 
_input = yamin()
 
words = []
for arr in _input:
    words.append(konlpy.tag.Mecab().pos(arr))
 
 
print("Mecab")
for i in range(0,len(words)):
    print(words[i])
    for j in range(0len(words[i])):
        for k in words[i][j][1].split('+'):
 
            if k == 'NNG':
                print('일반 명사 : ' + words[i][j][0])
 
            if k == 'NNP':
                print('고유 명사 : ' + words[i][j][0])
 
            if k == 'NNB':
                print('의존 명사 : ' + words[i][j][0])
 
            if k == 'NR':
                print('사 : ' + words[i][j][0])
 
            if k == 'NP':
                print('대명사 : ' + words[i][j][0])
 
            if k == 'VV':
                print('동사 : ' + words[i][j][0])
 
            if k == 'VA':
                print('형용 : ' + words[i][j][0])
 
            if k == 'VX':
                print('보조 용언 : ' + words[i][j][0])
 
            if k == 'VCP':
                print('긍정 지정사 : ' + words[i][j][0])
 
            if k == 'VCN':
                print('부정 지정사 : ' + words[i][j][0])
 
            if k == 'MM':
                print('관형사 : ' + words[i][j][0])
 
            if k == 'MAG':
                print('일반 부사 : ' + words[i][j][0])
 
            if k == 'MAJ':
                print('접속 부사 : ' + words[i][j][0])
 
            if k == 'IC':
                print('감탄사 : ' + words[i][j][0])
 
            if k == 'JKS':
                print('주격 조사 : ' + words[i][j][0])
 
            if k == 'JKC':
                print('보격 조사 : ' + words[i][j][0])
 
            if k == 'JKG':
                print('관형격 조사 : ' + words[i][j][0])
 
            if k == 'JKO':
                print('목적격 조사 : ' + words[i][j][0])
 
            if k == 'JKB':
                print('부사격 조사 : ' + words[i][j][0])
 
            if k == 'JKV':
                print('호격 조사 : ' + words[i][j][0])
 
            if k == 'JKQ':
                print('인용격 조사 : ' + words[i][j][0])
 
            if k == 'JC':
                print('접속 조사 : ' + words[i][j][0])
 
            if k == 'JX':
                print('보조사 조사 : ' + words[i][j][0])
 
            if k == 'EP':
                print('선어말어미 : ' + words[i][j][0])
 
            if k == 'EF':
                print('종결 어미 : ' + words[i][j][0])
 
            if k == 'EC':
                print('연결 어미 : ' + words[i][j][0])
 
            if k == 'ETN':
                print('명사형 전성 어미 : ' + words[i][j][0])
 
            if k == 'ETM':
                print('관형형 전성 어미 : ' + words[i][j][0])
 
            if k == 'XPN':
                print('체언 접두사 : ' + words[i][j][0])
 
            if k == 'XSN':
                print('명사 파생 접미사 : ' + words[i][j][0])
 
            if k == 'XSV':
                print('동사 파생 접미사 : ' + words[i][j][0])
 
            if k == 'XSA':
                print('형용사 파생 접미사 : ' + words[i][j][0])
 
            if k == 'XR':
                print('어근 : ' + words[i][j][0])
 
            if k == 'SF':
                print('마침표 물음표 느낌표 : ' + words[i][j][0])
 
            if k == 'SE':
                print('줄임표 ... : ' + words[i][j][0])
 
            if k == 'SSO':
                print('여는 괄호 : ' + words[i][j][0])
 
            if k == 'SSC':
                print('닫는 괄호 : ' + words[i][j][0])
 
            if k == 'SC':
                print('구분자 : ' + words[i][j][0])
 
            if k == 'SY':
                print('기타 기호 : ' + words[i][j][0])
 
            if k == 'SH':
                print('한자 : ' + words[i][j][0])
 
            if k == 'SL':
                print('외국어 : ' + words[i][j][0])
 
            if k == 'SN':
                print('숫자 : ' + words[i][j][0])
 
 
cs