*** 바쁜척 하기 싫은데 진짜 내가 너무 게을러가지고 밀린 게 많아서ㅜㅜㅜ 일단 지금까지 확실하게 해둔 것까지 올리고 내가 오늘 밤새서라도 나머지 이따가 올리고 인규랑 for-pt도 해서 정리할게!
1. 형태소 분석 말뭉치를 선택한다.
형태소 분석 말뭉치가 굉장히 많아요. 그 중 우리는 카이스트에서 만든 Hannanum을 사용했습니다. 그 이유는 가장 성능이 좋다고 판단했기 때문이죠!
파이썬(Python) 한글 형태소 분석 : konlpy
[코엔엘파이(KoNLPy)의 설치 과정] 1) JAVA 1.7 이상의 설치 오라클(Oracle) 사이트(http://www.oracle.com/technetwork/java/javase/downloads/index.html)에서해당 OS에 맞는 JDK(Java Developement Kit)를 설치..
cceeddcc.tistory.com
더 자세한 종류들을 알고 싶으면 위 티스토리 참고해주세요.
2. Hannanum 말뭉치를 이용해서 품사 태깅을 한다.
품사 태깅은 형태소의 뜻과 문맥을 파악해서 마크업을 하는 것입니다. 우리가 걱정했던 예시로 감기는(기침이 나는 감기는 환절기에 유행합니다.) / 감기는 (눈이 감기는 시간이다.) 이런 단어들을 각각 명사와 동사로 구분을 해주는 아주 중요한 역할을 해줍니다.
3. hannanum 클래스의 pos 함수를 이용한다.
def pos(self, phrase, ntags=22, flatten=True, join=False):
"""POS tagger.
This tagger is HMM based, and calculates the probability of tags.
:param ntags: The number of tags. It can be either 9 or 22.
:param flatten: If False, preserves eojeols.
:param join: If True, returns joined sets of morph and tag.
"""
if ntags == 9:
result = self.jhi.simplePos09(phrase)
elif ntags == 22:
result = self.jhi.simplePos22(phrase)
else:
raise Exception('ntags in [9, 22]')
여기서 ntags는 태깅을 하는 범위?라고 생각하면 되는데 9로 설정하면 크게 명사N, 조사J 이런 식으로 나와서 ntags를 22로 바꿔줍니다. 그러면 내가 회의 때 보여줬던
[('견학대상자', 'NC'), ('는', 'JX'), ('한국외대', 'NC'), ('창업관련', 'NC'), ('우수활동', 'NC'), ('학생', 'NC'), ('8', 'NN'), ('명', 'NB'), (',', 'SP'), ('교직원', 'NC'), ('2', 'NN'), ('명', 'NB'), (',', 'SP'), ('교수', 'NC'), ('1', 'NN'), ('명', 'NB'), ('등', 'NB'), ('총', 'MM'), ('11', 'NN'), ('명', 'NB'), ('이', 'JP'), ('ㅂ니 다', 'EF'), ('.', 'SF')]
이런 결과가 나와요. 조사는 다 J로 했었는데 JX, JP 등으로 구분된 것이 보입니다.
4. 지금까지 한 것들을 합쳐서 필요한 단어를 뽑아내고 아닌 단어를 버린다.
22개 종류의 형태소 중에서 보통명사(NC), 수사(NN), 의존명사(NB) 등은 살리고 보조사(JX), 특수기호(SP, SF) 등은 버리며 서술격조사(JP)에는 "다"를 붙여서 출력을 하려고 합니다. 그런데 출력을 하는 부분에서 에러가 났다고 회의 때 말했고 그 이후로 다른 일 때문에 아직 손을 못대고 있어요. 오늘밤에 최대한 해가지고 업데이트 하도록 하겠습니다.
--- 여기까지가 회의 때까지 했던 작업이고 궁금한 사항 있으면 연락주세용.
'연구 > 경현 - 총무' 카테고리의 다른 글
[201018] 형태소 분석 업데이트 (0) | 2020.10.18 |
---|---|
[201007] 형태소 분석 (0) | 2020.10.07 |
[200715] STT 과제 - Google STT 활용 (20200723 수정) (1) | 2020.07.17 |