Raspberry Pi에서 Node.js에서 mecab-ipadic-NEologd 사용
환경
mecab 설치
솔직하게
apt-get
를 사용합니다.$ sudo apt-get install mecab
$ sudo apt-get install libmecab-dev
$ sudo apt-get install mecab-ipadic
$ mecab
サミュエルLジャクソン
サミュエル 名詞,固有名詞,人名,名,*,*,サミュエル,サミュエル,サミュエル
L 名詞,固有名詞,組織,*,*,*,*
ジャクソン 名詞,固有名詞,人名,姓,*,*,ジャクソン,ジャクソン,ジャクソン
EOS
mecab-ipadic-neologd 설치
Raspberry Pi에 직접 설치해도 오류가 발생하기 때문에 포기했습니다. (용량이 원인이라고 생각
Expand Filesystem
Mac에는 인스톨 할 수 있었으므로, 「어라? 이것 카피하면 좋잖아?」라고 생각해 보면 잘 갔습니다.
neologd/mecab-ipadic-neologd - GitHub
여기에서 Mac에 설치하면 다음 디렉토리에 사전이 생성됩니다.
/usr/local/lib/mecab/dic/mecab-ipadic-neologd
이것을 zip 파일로 만듭니다.
sftp (나는 Filezilla를 사용)를 사용하여 홈 디렉토리에 업로드.
업로드 후 압축을 풉니다.
$ unzip dic.zip
mecab 사전의 위치로 이동합니다.
$ sudo mv -v /home/pi/dic /usr/lib/mecab
`/home/pi/dic' -> `/usr/lib/mecab/dic'
사전을 지정하여 실행합니다. (Mac과는 계층이 다르기 때문에 조금 주의가 필요합니다)
$ mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd
サミュエルLジャクソン
サミュエルLジャクソン 名詞,固有名詞,一般,*,*,*,サミュエル・L・ジャクソン,サミュエルエルジャクソン,サミュエルエルジャクソン
EOS
'사무엘 엘 잭슨'이 고유 명사로 인식되고 있습니다. 잘 갔다.
mecab-async로 사용하기
아래의 라이브러리를 이용하겠습니다.
hecomi/node-mecab-async - GitHub
이쪽도 그대로 설치하면 에러가 나오므로 다음과 같이 설치합니다.
전역 영역에 설치합니다.
$ sudo npm install mecab-async -g
모든 폴더의 모듈로 이동합니다.
$ sudo mv -v /usr/local/lib/node_modules/mecab-async /home/pi/mecab-async/node_modules
`/usr/local/lib/node_modules/mecab-async' -> `/home/pi/mecab-async/node_modules/mecab-async'
이제 모듈을 사용할 수 있습니다. 시험에 이런 파일을 준비했습니다.
app.js
var MeCab = new require('mecab-async')
var mecab = new MeCab();
MeCab.command = "mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd"
var text = process.argv[2]
//注:パースコマンドを利用する時 "MeCab.~"と大文字にしないと動かないみたいです
MeCab.parseFormat(text, function(err, morphs) {
if (err) throw err;
morphs.map(function(morph) {
if (morph.lexical === '感動詞') {
console.log(morph.lexical + ' : ' + morph.original);
}
if (morph.compound === '固有名詞') {
console.log(morph.compound + ' : ' +morph.original);
}
});
});
'감동사'와 '고유명사'를 추출합니다. 실행해 보겠습니다.
$ node app.js こんにちは、サミュエルLジャクソンです。
感動詞 : こんにちは
固有名詞 : サミュエル・L・ジャクソン
마침내 잘 어울렸습니다. 그럼.
Reference
이 문제에 관하여(Raspberry Pi에서 Node.js에서 mecab-ipadic-NEologd 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/PonDad/items/2214c1b6211ab2513323텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)