khaiii
khaiiiλ "Kakao Hangul Analyzer III"μ 첫 κΈμλ€λ§ λͺ¨μ λ§λ μ΄λ¦μΌλ‘ μΉ΄μΉ΄μ€μμ κ°λ°ν μΈ λ²μ§Έ ννμλΆμκΈ°μ λλ€. λ λ²μ§Έ λ²μ μ ννμλΆμκΈ° μ΄λ¦μΈ dha2 (Daumkakao Hangul Analyzer 2)λ₯Ό κ³μΉν μ΄λ¦μ΄κΈ°λ ν©λλ€.
ννμλ μΈμ΄νμμ μΌμ ν μλ―Έκ° μλ κ°μ₯ μμ λ§μ λ¨μλ‘ λ°ν체 λ΄μμ λ°λ‘ λΌμ΄λΌ μ μλ κ²μ λ§ν©λλ€. μ¦, λ λΆμνλ©΄ λ»μ΄ μμ΄μ§λ λ§μ λ¨μμ λλ€. ννμλΆμκΈ°λ λ¨μ΄λ₯Ό λ³΄κ³ ννμ λ¨μλ‘ λΆλ¦¬ν΄λ΄λ μννΈμ¨μ΄λ₯Ό λ§ν©λλ€. μ΄λ¬ν ννμλΆμμ μμ°μ΄ μ²λ¦¬μ κ°μ₯ κΈ°μ΄μ μΈ μ μ°¨λ‘ μ΄ν ꡬ문 λΆμμ΄λ μλ―Έ λΆμμΌλ‘ λμκ°κΈ° μν΄ κ°μ₯ λ¨Όμ μ΄λ£¨μ΄μ ΈμΌ νλ κ³Όμ μΌλ‘ λ³Ό μ μμ΅λλ€. (νκ΅μ΄ μν€νΌλμμμ μΈμ©)
λ°μ΄ν° κΈ°λ°
κΈ°μ‘΄ λ²μ μ΄ μ¬μ κ³Ό κ·μΉμ κΈ°λ°ν΄ λΆμμ νλ λ° λ°ν΄ khaiiiλ λ°μ΄ν°(νΉμ κΈ°κ³νμ΅) κΈ°λ°μ μκ³ λ¦¬μ¦μ μ΄μ©νμ¬ λΆμμ ν©λλ€. νμ΅μ μ¬μ©ν μ½νΌμ€λ κ΅λ¦½κ΅μ΄μμμ λ°°ν¬ν 21μΈκΈ° μΈμ’ κ³ν μ΅μ’ μ±κ³Όλ¬Όμ μ ν¬ μΉ΄μΉ΄μ€μμ μ€λ₯λ₯Ό μμ νκ³ λ΄μ©μ μΌλΆ μΆκ°νκΈ°λ ν κ²μ λλ€.
μ μ²λ¦¬ κ³Όμ μμ μ€λ₯κ° λ°μνλ λ¬Έμ₯μ μ μΈνκ³ μ½ 85λ§ λ¬Έμ₯, μ²λ§ μ΄μ μ μ½νΌμ€λ₯Ό μ¬μ©νμ¬ νμ΅μ νμ΅λλ€. μ½νΌμ€μ νμ¬ μ²΄κ³μ λν μμΈν λ΄μ©μ μ½νΌμ€ λ¬Έμλ₯Ό μ°Έκ³ νμκΈ° λ°λλλ€.
μκ³ λ¦¬μ¦
κΈ°κ³νμ΅μ μ¬μ©ν μκ³ λ¦¬μ¦μ μ κ²½λ§ μκ³ λ¦¬μ¦λ€ μ€μμ Convolutional Neural Network(CNN)μ μ¬μ©νμμ΅λλ€. νκ΅μ΄μμ ννμλΆμμ μμ°μ΄μ²λ¦¬λ₯Ό μν κ°μ₯ κΈ°λ³Έμ μΈ μ μ²λ¦¬ κ³Όμ μ΄λ―λ‘ μλκ° λ§€μ° μ€μν μμλΌκ³ μκ°ν©λλ€. λ°λΌμ μμ°μ΄μ²λ¦¬μ λ§μ΄ μ¬μ©νλ Long-Short Term Memory(LSTM)μ κ°μ Recurrent Neural Network(RNN) μκ³ λ¦¬μ¦μ μλ λ©΄μμ νμ©λκ° λ¨μ΄μ§ κ²μΌλ‘ μμνμ¬ κ³ λ € λμμμ μ μΈνμμ΅λλ€.
CNN λͺ¨λΈμ λν μμΈν λ΄μ©μ CNN λͺ¨λΈ λ¬Έμλ₯Ό μ°Έκ³ νμκΈ° λ°λλλ€.
μ±λ₯
μ νλ
v0.3
CNN λͺ¨λΈμ μ£Όμ νμ΄νΌ νλΌλ―Έν°λ λΆλ₯νλ €λ μμ μ μ’/μ° λ¬Έλ§₯μ ν¬κΈ°λ₯Ό λνλ΄λ win κ°κ³Ό, μμ μλ² λ©μ μ°¨μμ λνλ΄λ emb κ°μ λλ€. win κ°μ {2, 3, 4, 5, 7, 10}μ κ°μ κ°μ§λ©°, emb κ°μ {20, 30, 40, 50, 70, 100, 150, 200, 300, 500}μ κ°μ κ°μ§λλ€. λ°λΌμ μ΄ λ κ°μ§ κ°μ μ‘°ν©μ 6 x 10μΌλ‘ μ΄ 60κ°μ§λ₯Ό μ€ννμκ³ μλμ κ°μ μ±λ₯μ 보μμ΅λλ€. μ±λ₯ μ§νλ μ νλ₯ κ³Ό μ¬νμ¨μ μ‘°ν νκ· κ°μΈ F-Scoreμ λλ€.
win νλΌλ―Έν°μ κ²½μ° 3 νΉμ 4μμ κ°μ₯ μ’μ μ±λ₯μ 보μ΄λ©° κ·Έ μ΄μμμλ μ€νλ € μ±λ₯μ΄ λ¨μ΄μ§λλ€. emb νλΌλ―Έν°μ κ²½μ° 150κΉμ§λ μ±λ₯λ κ°μ΄ λμμ§λ€κ° κ·Έ μ΄μμμλ λ³ μ°¨μ΄κ° μμ΅λλ€. μ΅ μμ 5μ μ€ λΉκ΅μ μμ λͺ¨λΈμ win=3, emb=150μΌλ‘ F-Score κ°μ 97.11μ λλ€. μ΄ λͺ¨λΈμ large λͺ¨λΈμ΄λΌ λͺ λͺ ν©λλ€.
v0.4
λμ΄μ°κΈ° μ€λ₯μ κ°κ±΄ν λͺ¨λΈμ μν μ€νμ ν΅ν΄ λͺ¨λΈμ κ°μ νμμ΅λλ€. v0.4 λͺ¨λΈμ λμ΄μ°κΈ°κ° μ λμ΄μμ§ μμ μ λ ₯μ λν΄ λ³΄λ€ μ’μ μ±λ₯μ 보μ΄λλ° λ°ν΄ μΈμ’ μ½νΌμ€μμλ λ€μ μ νλκ° λ¨μ΄μ§λλ€. μ΄λ¬ν μ μ 보μνκΈ° μν΄ base λ° large λͺ¨λΈμ νλΌλ―Έν°λ₯Ό μλμ κ°μ΄ μ‘°κΈ λ³κ²½νμ΅λλ€.
- base λͺ¨λΈ: win=4, emb=35, F-Score: 94.96
- large λͺ¨λΈ: win=4, emb=180, F-Score: 96.71
μλ
v0.3
λͺ¨λΈμ ν¬κΈ°κ° 컀μ§λ©΄ μ νλκ° λμμ§κΈ΄ νμ§λ§ κ·Έλ§νΌ κ³μ°λ λν λ§μμ Έ μλκ° λ¨μ΄μ§λλ€. κ·Έλμ μ λΉν μ νλλ₯Ό κ°λ λͺ¨λΈ μ€μμ ν¬κΈ°κ° μμ μλκ° λΉ λ₯Έ λͺ¨λΈμ base λͺ¨λΈλ‘ μ μ νμμ΅λλ€. F-Score κ°μ΄ 95 μ΄μμ΄λ©΄μ λͺ¨λΈμ ν¬κΈ°κ° μμ λͺ¨λΈμ win=3, emb=30μ΄λ©° F-Scoreλ 95.30μ λλ€.
μλλ₯Ό λΉκ΅νκΈ° μν΄ 1λ§ λ¬Έμ₯(μ΄ 903KB, λ¬Έμ₯ νκ· 91)μ ν μ€νΈλ₯Ό λΆμν΄ λΉκ΅νμ΅λλ€. base λͺ¨λΈμ κ²½μ° μ½ 10.5μ΄, large λͺ¨λΈμ κ²½μ° μ½ 78.8μ΄κ° 걸립λλ€.
v0.4
λͺ¨λΈμ ν¬κΈ°κ° 컀μ§μ λ°λΌ μλμ κ°μ΄ base, large λͺ¨λΈμ μλλ₯Ό λ€μ μΈ‘μ νμΌλ©° v0.4 λ²μ μμ λ€μ λλ €μ‘μ΅λλ€.
- base λͺ¨λΈ: 10.8 -> 14.4
- large λͺ¨λΈ: 87.3 -> 165
μ¬μ©μ μ¬μ
μ κ²½λ§ μκ³ λ¦¬μ¦μ μμ λ§νλ λΈλλ°μ€ μκ³ λ¦¬μ¦μΌλ‘ κ²°κ³Όλ₯Ό μ μΆνλ κ³Όμ μ μ¬λμ΄ λ°λΌκ°κΈ°κ° μ½μ§ μμ΅λλ€. κ·Έλμ μ€λΆμμ΄ λ°μν κ²½μ° λͺ¨λΈμ νλΌλ―Έν°λ₯Ό μμ νμ¬ λ°λ₯Έ κ²°κ³Όλ₯Ό λ΄λλ‘ νλ κ²μ΄ λ§€μ° μ΄λ ΅μ΅λλ€. μ΄λ₯Ό μν΄ khaiiiμμλ μ κ²½λ§ μκ³ λ¦¬μ¦μ μλ¨μ κΈ°λΆμ μ¬μ μ λ·λ¨μ μ€λΆμ ν¨μΉλΌλ λ κ°μ§ μ¬μ©μ μ¬μ μ₯μΉλ₯Ό λ§λ ¨ν΄ λμμ΅λλ€.
κΈ°λΆμ μ¬μ
κΈ°λΆμ μ¬μ μ λ¨μΌ μ΄μ μ λν΄ λ¬Έλ§₯μ μκ΄μμ΄ μΌκ΄μ μΈ λΆμ κ²°κ³Όλ₯Ό κ°λ κ²½μ°μ μ¬μ©ν©λλ€. μλ₯Ό λ€μ΄ μλμ κ°μ μνΈλ¦¬κ° μλ€λ©΄,
μ λ ₯ μ΄μ | λΆμ κ²°κ³Ό |
---|---|
μ΄λ리μ* | μ΄λ리μ/NNP |
λ¬Έμ₯μμ μ΄λ리μ
μΌλ‘ μμνλ λͺ¨λ μ΄μ μ μ κ²½λ§ μκ³ λ¦¬μ¦μ μ¬μ©νμ§ μκ³ μ΄λ리μ/NNP
λ‘ λμΌνκ² λΆμν©λλ€.
μΈμ’ μ½νΌμ€μμ λΆμ λͺ¨νΈμ±μ΄ μλ μ΄μ λ€λ‘λΆν° μλμΌλ‘ κΈ°λΆμ μ¬μ μ μΆμΆν κ²½μ° μ½ 8λ§ κ°μ μνΈλ¦¬κ° μμ±λ©λλ€. μ΄λ₯Ό μ μ©ν κ²½μ° μ½κ°μ μλ ν₯μλ μμ΄μ base λͺ¨λΈμ μ μ©νλ©΄ μ½ 9.2μ΄λ‘ 10% μ λ μλ ν₯μμ΄ μμμ΅λλ€.
κΈ°λΆμ μ¬μ μ κΈ°μ λ°©λ² λ° μμΈν λ΄μ©μ κΈ°λΆμ μ¬μ λ¬Έμλ₯Ό μ°Έκ³ νμκΈ° λ°λλλ€.
μ€λΆμ ν¨μΉ
μ€λΆμ ν¨μΉλ μ¬λ¬ μ΄μ μ κ±Έμ³μ μΆ©λΆν λ¬Έλ§₯κ³Ό ν¨κ» μ€λΆμμ λ°λ‘μ‘μμΌ ν κ²½μ°μ μ¬μ©ν©λλ€. μλ₯Ό λ€μ΄ μλμ κ°μ μνΈλ¦¬κ° μλ€λ©΄,
μ λ ₯ ν μ€νΈ | μ€λΆμ κ²°κ³Ό | μ λΆμ κ²°κ³Ό |
---|---|---|
μ΄ λ€λ₯Έ κ² | μ΄/JKS + _ + λ€/VA + λ₯Έ/MM + _ + κ²/NNB | μ΄/JKS + _ + λ€λ₯΄/VA + γ΄/ETM + _ + κ²/NNB |
λ§μ½ khaiiiκ° μ "μ€λΆμ κ²°κ³Ό"μ κ°μ΄ μ€λΆμμ λ°μν κ²½μ°μ νν΄ λ°λ₯Έ λΆμ κ²°κ³ΌμΈ "μ λΆμ κ²°κ³Ό"λ‘ μμ ν©λλ€. μ¬κΈ°μ "_"λ μ΄μ κ° κ²½κ³, μ¦ κ³΅λ°±μ μλ―Έν©λλ€.
μ€λΆμ ν¨μΉμ κΈ°μ λ°©λ² λ° μμΈν λ΄μ©μ μ€λΆμ ν¨μΉ λ¬Έμλ₯Ό μ°Έκ³ νμκΈ° λ°λλλ€.
λΉλ λ° μ€μΉ
khaiiiμ λΉλ λ° μ€μΉμ κ΄ν΄μλ λΉλ λ° μ€μΉ λ¬Έμλ₯Ό μ°Έκ³ νμκΈ° λ°λλλ€.
Contributing
khaiiiμ κΈ°μ¬νμ€ λΆλ€μ CONTRIBUTING λ° κ°λ°μλ₯Ό μν κ°μ΄λ λ¬Έμλ₯Ό μ°Έκ³ νμκΈ° λ°λλλ€.
Slack
khaiiiμ μ¬λ μ£Όμλ https://khaiii.slack.com μ λλ€. μ¬λ κ°μ μμ² νμ΄μ§λ https://join-khaiii.herokuapp.com μ λλ€. μ€μΉ μ λ°μν λ¬Έμ μ λν΄ μ§λ¬Ένμκ±°λ, κ°λ°μ μ°Έμ¬νμ€ λΆλ€μ νΈνκ² κ°μ νμ μ κ°μ΄ λ§μ λλμκΈΈ λ°λλλ€.
License
This software is licensed under the Apache 2 license, quoted below.
Copyright 2018 Kakao Corp. http://www.kakaocorp.com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.