-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathabout project
22 lines (15 loc) · 2.03 KB
/
about project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
해당 KIWI 형태소 분석기는 두가지의 프로그래밍 언어로 구성되어있음.
우선 해당 프로그램의 결과 도출 과정을 써보자면,
1. 세종 계획 말뭉치를 Python으로 처리하여 형태소 등장 확률, 품사 간 전이확률, 형태소가 특정 품사일 확률을 추출한다.
2. 어미 등이 동사에 붙어 형태가 변할 수 있으므로 그 변이규칙을 작성하고, Python 코드로 가능한 모든 결합형태를 나열한다.
3. C++로 아호-코라식 알고리즘을 구현하여, 특정 한글 텍스트가 어떤 형태소로 분할될 수 있는지 나열하도록 한다.
4. 1번에서 계산된 베이즈 확률 모델을 가지고 입력 텍스트가 해당 형태소 조합으로 분할될 확률을 추론하여 가장 큰 녀석을 반환한다.
출처: https://bab2min.tistory.com/560 [개발자의 블로그]
이다.
따라서 전체적인 모두의 코드보다는 부분 부분 중요한 알고리즘과 확률을 추론하는 방법, 그리고 베이즈 확률 모델에 대해 공부하여 분석하도록 하겠다.
=> 2번의 결합 형태에 대해 자세히 알아보면,
모든 결합할때 나타나는 활용 형태에 대해 분석해내고 함수를 작성하는 것은 불가능(ex. 어간과 어미가 결합하여 불규칙으로 바뀌는 활용들..등등..)
하지만 대체로 한글의 형태소 결합은 특정한 규칙을 따라서 이루어짐.(ex. '오다'의 과거형 '왔다'의 경우 오 + 았 + 다 로 이루어짐. 여기서는 'ㅗ' 와 'ㅏ'가 결합하여 'ㅘ' 가 되는 규칙이 적용된거라고 볼 수 있음.)
따라서 패턴을 검색할때 'ㅘ'를 보면 이것이 암 ㅗ + ㅏ 에서 왔을거라고 추정하고 분해해서 분석을 하도록 코딩을 하여 함수를 작성해야 함.
따라서 그 규칙에 맞춰서 모든 한국어 형태소 결합 규칙을 작성하고, 이를 통해 가능한 모든 결합을 찾아서 작성해놓기로 함.
출처 :https://bab2min.tistory.com/561?category=686456 [개발자의 블로그]