icecream0910's picture
Upload 80 files
c288dff verified
|
raw
history blame
4.29 kB
# μ‚¬μš©μž 사전 μΆ”κ°€ (Mecab-Ko-MSVC)
## μ€€λΉ„
[mecab-ko-msvc](https://github.com/Pusnow/mecab-ko-msvco)와 [mecab-ko-dic-msvc](https://github.com/Pusnow/mecab-ko-dic-msvc) 을 λ‹€μš΄λ°›μ•„ μ„€μΉ˜ν•©λ‹ˆλ‹€.
λ°˜λ“œμ‹œ `C:\mecab` κ²½λ‘œμ— μ„€μΉ˜ν•˜μ…”μ•Ό 사전 μΆ”κ°€κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.
## 사전 μΆ”κ°€
`C:\mecab\user-dic` 디렉토리 μ•ˆμ— csv ν™•μž₯자둜 사전 νŒŒμΌμ„ μΆ”κ°€ν•©λ‹ˆλ‹€.
user-dic/
β”œβ”€β”€ nnp.csv
β”œβ”€β”€ person.csv
└── place.csv
* 일반적인 고유λͺ…사 μΆ”κ°€
λŒ€μš°,,,,NNP,*,F,λŒ€μš°,*,*,*,*
ꡬ글,,,,NNP,*,T,ꡬ글,*,*,*,*
* 인λͺ… μΆ”κ°€
κΉŒλΉ„,,,,NNP,인λͺ…,F,κΉŒλΉ„,*,*,*,*
* 지λͺ… μΆ”κ°€
μ„Έμ’…,,,,NNP,지λͺ…,T,μ„Έμ’…,*,*,*,*
μ„Έμ’…μ‹œ,,,,NNP,지λͺ…,F,μ„Έμ’…μ‹œ,Compound,*,*,μ„Έμ’…/NNP/지λͺ…+μ‹œ/NNG/*
κ·Έ μ™Έμ˜ ν’ˆμ‚¬ μΆ”κ°€κ°€ ν•„μš”ν•œ κ²½μš°μ—λŠ” [ν’ˆμ‚¬νƒœκ·Έν‘œ](https://docs.google.com/spreadsheet/ccc?key=0ApcJghR6UMXxdEdURGY2YzIwb3dSZ290RFpSaUkzZ0E&usp=sharing#gid=4) λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.
## 사전 λΉŒλ“œ
**κ²½κ³ : 이 μž‘μ—…μ€ μ‚¬μš©μž μ‚¬μ „μ˜ μˆ˜μ •μ‚¬ν•­(μ½”μŠ€νŠΈ λ“±)을 μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€. μ‚¬μš©μž 사전을 μˆ˜μ •ν–ˆμ„ 경우 μ‚¬μš©μž 사전 파일(`user-xxx.csv`)λ₯Ό λ°±μ—…ν•˜κ³  λ‹€μŒ μž‘μ—…μ„ μ‹œν–‰ν•˜μ‹­μ‹œμ˜€.**
Powershell을 μ΄μš©ν•˜μ—¬ μž‘μ—…ν•˜μ…”μ•Ό ν•©λ‹ˆλ‹€. 단좕킀 `(μœˆλ„μš°ν‚€) + R` 을 λˆ„λ₯΄κ³  `powershell` 을 μž…λ ₯ν•˜λ©΄ μ‹€ν–‰ κ°€λŠ₯ν•©λ‹ˆλ‹€.
* `C:\mecab` 경둜둜 μ΄λ™ν•©λ‹ˆλ‹€.
PS C:\Users> cd C:\mecab
PS C:\mecab>
* `tools\add-userdic-win.ps1` 슀크립트λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
PS C:\mecab> tools\add-userdic-win.ps1
generating userdic...
C:\mecab\mecab-ko-dic\model.def is not a binary model. reopen it as text mode...
reading C:\mecab\user-dic\nnp.csv ...
done!
...μƒλž΅
μ•„λž˜μ™€ 같이 user-xxx.csv 사전이 μΆ”κ°€λœ λͺ¨μŠ΅μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 사싀 μ•„λž˜ νŒŒμΌμ€ 컴파일 되기 μ§μ „μ˜ 파일이며, μ‹€μ œλ‘œ sys.dic νŒŒμΌμ— λ°”μ΄λ„ˆλ¦¬λ‘œ 컴파일 λ˜μ–΄ λ“€μ–΄κ°€κ²Œ λ©λ‹ˆλ‹€.
mecab-ko-dic
β”œβ”€β”€ ....
β”œβ”€β”€ user-nnp.csv
β”œβ”€β”€ user-person.csv
β”œβ”€β”€ user-place.csv
└── ...
## 사전 컴파일
λ‹€μŒ 절차λ₯Ό 톡해 μ‚¬μš©μž 사전 νŒŒμΌμ„ λ§Œλ“€μ§€ μ•Šκ³  사전을 컴파일 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μž 사전 파일(`user-xxx.csv`)을 μˆ˜λ™μœΌλ‘œ μˆ˜μ •ν–ˆμœΌλ©΄ λ‹€μŒ 절차둜 λ³€κ²½ λ‚΄μš©(μ½”μŠ€νŠΈ λ“±)을 λ°˜μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
* `C:\mecab` 경둜둜 μ΄λ™ν•©λ‹ˆλ‹€.
* `tools\compile-win.ps1` 슀크립트λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
## μ„€μΉ˜
μ„€μΉ˜ 과정은 λ”°λ‘œ ν•„μš” μ—†μŠ΅λ‹ˆλ‹€. λ°”λ‘œ μ‚¬μš©ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.
# μ‚¬μš©μž 사전 μΆ”κ°€ (Original)
## μ€€λΉ„
[mecab-ko](https://bitbucket.org/eunjeon/mecab-ko)와 [mecab-ko-dic](https://bitbucket.org/eunjeon/mecab-ko-dic) 을 λ‹€μš΄λ°›μ•„ μ„€μΉ˜ν•©λ‹ˆλ‹€. mecab-ko-dic 을 κΌ­ μ»΄νŒŒμΌκΉŒμ§€ ν•˜μ…”μ•Ό 이후에 사전 μΆ”κ°€κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.
## 사전 μΆ”κ°€
내렀받은 mecab-ko-dic/userdic 디렉토리 μ•ˆμ— csv ν™•μž₯자둜 사전 νŒŒμΌμ„ μΆ”κ°€ν•©λ‹ˆλ‹€.
:::text
userdic/
β”œβ”€β”€ nnp.csv
β”œβ”€β”€ person.csv
└── place.csv
* 일반적인 고유λͺ…사 μΆ”κ°€
:::text
λŒ€μš°,,,,NNP,*,F,λŒ€μš°,*,*,*,*
ꡬ글,,,,NNP,*,T,ꡬ글,*,*,*,*
* 인λͺ… μΆ”κ°€
:::text
κΉŒλΉ„,,,,NNP,인λͺ…,F,κΉŒλΉ„,*,*,*,*
* 지λͺ… μΆ”κ°€
:::text
μ„Έμ’…,,,,NNP,지λͺ…,T,μ„Έμ’…,*,*,*,*
μ„Έμ’…μ‹œ,,,,NNP,지λͺ…,F,μ„Έμ’…μ‹œ,Compound,*,*,μ„Έμ’…/NNP/지λͺ…+μ‹œ/NNG/*
κ·Έ μ™Έμ˜ ν’ˆμ‚¬ μΆ”κ°€κ°€ ν•„μš”ν•œ κ²½μš°μ—λŠ” [ν’ˆμ‚¬νƒœκ·Έν‘œ](https://docs.google.com/spreadsheet/ccc?key=0ApcJghR6UMXxdEdURGY2YzIwb3dSZ290RFpSaUkzZ0E&usp=sharing#gid=4) λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.
## 사전 컴파일
:::text
$ mecab-ko-dic/tools/add-userdic.sh
μ•„λž˜μ™€ 같이 user-xxx.csv 사전이 μΆ”κ°€λœ λͺ¨μŠ΅μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 사싀 μ•„λž˜ νŒŒμΌμ€ 컴파일 되기 μ§μ „μ˜ 파일이며, μ‹€μ œλ‘œ sys.dic νŒŒμΌμ— λ°”μ΄λ„ˆλ¦¬λ‘œ 컴파일 λ˜μ–΄ λ“€μ–΄κ°€κ²Œ λ©λ‹ˆλ‹€.
:::text
mecab-ko-dic
β”œβ”€β”€ ....
β”œβ”€β”€ user-nnp.csv
β”œβ”€β”€ user-person.csv
β”œβ”€β”€ user-place.csv
└── ...
## μ„€μΉ˜
:::text
$ make install