파이썬에서 MeCab 사용 (Windows10 64bit)

소개



이 기사에 쓰는 것
  • MeCab 설치 방법
  • MeCab 샘플 프로그램 (Python)

  • MeCab이란?



    일본 태생의 형태소 해석 엔진입니다.
    h tp // 타쿠 910. 기주 b. 이오 / 메카 b /

    형태소 해석이란?



    형태소 해석이란, 언어학에 있어서의 단어가 변화·활용하지 않는 부분을 최소 단위의 「소」라고 파악해, 그 소마다 단어를 분해해 가는 수법이다.
    weblio 사전 - 형태소 분석

    예 : 저는 순수한 일본인입니다.
    → "나"는 "생생"의 일본인입니다

    설치 전제


  • OS: Windows10 Home 64bit
  • Python : Python 3.6.5 (Anaconda로 설치)
  • 실행 환경: Visual Studio Code 1.28.2

  • MeCab 설치



    64bit용의 인스톨러를 작성하는 쪽이 있는 것 같기 때문에 고맙게 사용시켜 줍니다.
    다운로드가 완료되면 설치를 실행합니다.
    htps : // 기주 b. 코 m/이케가미 유키노/메카 b/레아세 s/타 g/v0.996
    >mecab-0.996-64.exe


    MeCab을 환경 변수로 설정



    환경 변수 [Path]에 MeCab을 설치한 폴더의 경로를 설정합니다.
    예: C:\Program Files\MeCab\bin

    설정 후 명령 프롬프트에서 다음을 실행하여 경로가 통과했는지 확인합니다. 문자 깨지는하고 있습니다만, MeCab 자체는 동작하고 있는 것 같기 때문에 OK입니다.
    C:\Users\nannd>mecab
    私の名前はあああです。
    私の名  險伜捷,荳€闊ャ,*,*,*,*,*
    O       蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,*
    はあああ        險伜捷,荳€闊ャ,*,*,*,*,*
    ナ       蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,*
    キ       險伜捷,荳€闊ャ,*,*,*,*,*
    B       蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,*
    EOS
    

    파이썬으로 MeCab 가져오기



    명령 프롬프트에서 다음을 수행합니다.
    C:\Users\(username)>pip install mecab-python-windows
    

    그런 다음 MeCab 설치 대상/bin에 있는 "libmecab.dll"을 복사하여 붙여넣습니다.
    복사 원본: C:\Program Files\MeCab\bin
    복사 예: C:\ProgramData\Anaconda3\Lib\site-packages

    파이썬으로 MeCab을 움직여보세요



    형태소 해석 대상 파일 작성



    사전 준비로서 형태소 해석의 처리 대상으로 하는 텍스트를 작성해 둡니다. 문장은 무엇이든 괜찮습니다.

    mecab_text.txt
    実践ドメイン駆動設計。エリック・エヴァンスが確立した理論を実際の設計に応用する。
    

    파이썬에서 형태소 해석 수행



    샘플 프로그램을 움직입니다.

    mecab_test.py
    import MeCab
    import sys
    import re
    from collections import Counter
    
    # ファイル読み込み
    infile = 'C:\\Users\\nannd\\mecab_text.txt' # ※txtファイルの格納場所は各自変えてください
    with open(infile ,encoding="utf-8") as f:
        data = f.read()
    
    parse = MeCab.Tagger().parse(data)
    lines = parse.split('\n')
    items = (re.split('[\t,]', line) for line in lines)
    
    # 形態素解析の結果を表示
    for item in items:
        print(item)
    

    실행 결과
    ['実践', '名詞', 'サ変接続', '*', '*', '*', '*', '実践', 'ジッセン', 'ジッセン']
    ['ドメイン', '名詞', '一般', '*', '*', '*', '*', 'ドメイン', 'ドメイン', 'ドメイン']
    ['駆動', '名詞', 'サ変接続', '*', '*', '*', '*', '駆動', 'クドウ', 'クドー']
    ['設計', '名詞', 'サ変接続', '*', '*', '*', '*', '設計', 'セッケイ', 'セッケイ']
    ['。', '記号', '句点', '*', '*', '*', '*', '。', '。', '。']
    ['エリック・エヴァンス', '名詞', '一般', '*', '*', '*', '*', '*']
    ['が', '助詞', '格助詞', '一般', '*', '*', '*', 'が', 'ガ', 'ガ']
    ['確立', '名詞', 'サ変接続', '*', '*', '*', '*', '確立', 'カクリツ', 'カクリツ']
    ['し', '動詞', '自立', '*', '*', 'サ変・スル', '連用形', 'する', 'シ', 'シ']
    ['た', '助動詞', '*', '*', '*', '特殊・タ', '基本形', 'た', 'タ', 'タ']
    ['理論', '名詞', '一般', '*', '*', '*', '*', '理論', 'リロン', 'リロン']
    ['を', '助詞', '格助詞', '一般', '*', '*', '*', 'を', 'ヲ', 'ヲ']
    ['実際', '副詞', '助詞類接続', '*', '*', '*', '*', '実際', 'ジッサイ', 'ジッサイ']
    ['の', '助詞', '連体化', '*', '*', '*', '*', 'の', 'ノ', 'ノ']
    ['設計', '名詞', 'サ変接続', '*', '*', '*', '*', '設計', 'セッケイ', 'セッケイ']
    ['に', '助詞', '格助詞', '一般', '*', '*', '*', 'に', 'ニ', 'ニ']
    ['応用', '名詞', 'サ変接続', '*', '*', '*', '*', '応用', 'オウヨウ', 'オーヨー']
    ['する', '動詞', '自立', '*', '*', 'サ変・スル', '基本形', 'する', 'スル', 'スル']
    ['。', '記号', '句点', '*', '*', '*', '*', '。', '。', '。']
    ['EOS']
    ['']
    

    그런 결과가 돌아왔습니다! 형태소 해석이 실행되어 그 결과가 배열에 격납되고 있군요.

    참고 자료

    좋은 웹페이지 즐겨찾기