Amazon Linux2에 형태소 분석 엔진 설치 (mecab, mecab-ipadic-NEologd)

Amazon Linux2에 형태소 분석 엔진 설치 (mecab, mecab-ipadic-NEologd)

자연 언어 처리를 위해 형태소 해석 엔진의 mecab을 도입했기 때문에, 선정 이유와 인스톨 순서를 기재합니다.

Why Mecab?


  • 옛날부터 사용되어 온 실적 충분한 형태소 해석 엔진

  • mecab-ipadic-NEologd 더 풍부한 어휘를 사용할 수 있습니다
  • 비교적 자료가 많이 구축·운용이 용이

  • 막히는 곳 2021년 현재 "헤매었을 때는 이것으로 해 두면 OK"인 철판의 형태소 해석 엔진입니다. 시용시의 결과도 양호했기 때문에, 그대로 채용했습니다.

    Install



    mecab 본체, IPADIC, mecab-ipadic-NEologd를 설치합니다. OS는 AWS에서 사용하는 것을 기반으로 Amazon Linux2입니다.

    Mecab 및 사전 설치



    공식 문서는 여기 .
    $ cd
    $ sudo yum update -y
    $ sudo yum groupinstall -y "Development Tools"
    $ wget 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE' -O mecab-0.996.tar.gz
    $ tar xzf mecab-0.996.tar.gz
    $ cd mecab-0.996
    $ ./configure --with-charset=utf8
    $ make
    $ make check
    $ sudo make install
    

    버전을 확인할 수 있으면 OK.
    $ mecab --version
    mecab of 0.996
    

    그러나 이 시점에서 mecab을 시작해도 작동하지 않습니다. 사전이 없기 때문입니다.
    $ mecab
    param.cpp(69) [ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc
    

    그런 다음 사전을 설치합니다.
    $ cd
    $ wget 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM' -O mecab-ipadic-2.7.0-20070801.tar.gz
    $ tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz 
    $ cd mecab-ipadic-2.7.0-20070801/
    $ ./configure --with-charset=utf8
    $ make
    $ sudo make install
    

    이것으로 형태소 해석을 할 수 있습니다.
    $ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab
    8       名詞,数,*,*,*,*,*
    月      名詞,一般,*,*,*,*,月,ツキ,ツキ
    3       名詞,数,*,*,*,*,*
    日      名詞,接尾,助数詞,*,*,*,日,ニチ,ニチ
    に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
    放送    名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
    さ      動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
    れ      動詞,接尾,*,*,一段,連用形,れる,レ,レ
    た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
    「      記号,括弧開,*,*,*,*,「,「,「
    中居    名詞,固有名詞,人名,姓,*,*,中居,ナカイ,ナカイ
    正広    名詞,固有名詞,人名,名,*,*,正広,マサヒロ,マサヒロ
    の      助詞,連体化,*,*,*,*,の,ノ,ノ
    金曜日  名詞,副詞可能,*,*,*,*,金曜日,キンヨウビ,キンヨービ
    の      助詞,連体化,*,*,*,*,の,ノ,ノ
    スマイル        名詞,一般,*,*,*,*,スマイル,スマイル,スマイル
    たち    名詞,接尾,一般,*,*,*,たち,タチ,タチ
    へ      助詞,格助詞,一般,*,*,*,へ,ヘ,エ
    」      記号,括弧閉,*,*,*,*,」,」,」
    EOS
    

    하지만 고유 명사가 필요 이상으로 분해되는 느낌이 있습니다.

    mecab-ipadic-NEologd 설치



    그래서 mecab-ipadic-NEologd를 설치합니다. 공식 문서는 여기 .
    cd
    git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
    cd mecab-ipadic-neologd
    ./bin/install-mecab-ipadic-neologd -n -a -y
    

    끝나면 사전 위치를 얻고
    $ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
    /usr/local/lib/mecab/dic/mecab-ipadic-neologd
    

    기동시에 그 장소를 지정하면서 기동하면 이대로.
    $ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
    8月3日  名詞,固有名詞,一般,*,*,*,8月3日,ハチガツミッカ,ハチガツミッカ
    に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
    放送    名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
    さ      動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
    れ      動詞,接尾,*,*,一段,連用形,れる,レ,レ
    た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
    「      記号,括弧開,*,*,*,*,「,「,「
    中居正広の金曜日のスマイルたちへ        名詞,固有名詞,一般,*,*,*,中居正広の金曜日のスマイルたちへ,ナカイマサヒロノキンヨウビノスマイルタチヘ,ナカイマサヒロノキンヨービノスマイルタチヘ
    」      記号,括弧閉,*,*,*,*,」,」,」
    EOS
    

    매번 지정하는 것이 번거로울 때는 디폴트의 시스템 사전을 변경합니다.
    $ sudo cp /usr/local/etc/mecabrc /usr/local/etc/mecabrc.back
    $ sudo vi /usr/local/etc/mecabrc
    
    
    ; dicdir =  /usr/local/lib/mecab/dic/ipadic <-- comment out
    dicdir = /usr/local/lib/mecab/dic/mecab-ipadic-neologd
    

    사전 지정을 하지 않아도 mecab-ipadic-neologd를 이용하게 됩니다.
    $ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab
    8月3日  名詞,固有名詞,一般,*,*,*,8月3日,ハチガツミッカ,ハチガツミッカ
    に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
    放送    名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
    さ      動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
    れ      動詞,接尾,*,*,一段,連用形,れる,レ,レ
    た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
    「      記号,括弧開,*,*,*,*,「,「,「
    中居正広の金曜日のスマイルたちへ        名詞,固有名詞,一般,*,*,*,中居正広の金曜日のスマイルたちへ,ナカイマサヒロノキンヨウビノスマイルタチヘ,ナカイマサヒロノキンヨービノスマイルタチヘ
    」      記号,括弧閉,*,*,*,*,」,」,」
    EOS
    

    이상.