일본어 형태소 해석기 Sudachi를 Mac에 설치해 보았다

일본어 형태소 해석기 Sudachi를 Mac에 설치해 보았다

2022-10-04 last update

5 minutes reading 스다치 Mac NLP 형태소 분석
  • WorksApplications가 Sudachi라는 일본어 형태소 분석기를 공개하고 있기 때문에 제목대로 Mac에 설치해 보았습니다.
  • 일본어 형태소 분석기는 일본어 문장과 문자열에서 명사와 형용사를 추출하는 것입니다.
  • 그 밖에 유명한 것에는 MeCab나 kuromoji등이 있습니다
  • MeCab과 비교하면 정규화가 가능하다는 것입니다 (자세한 대응표는 GitHub의 README를 참조하십시오).

  • 이번에는 자신이 가지고있는 환경 인 Mac에 설치했지만 Java로 작성되었으므로 brew 설치 부분을 변경하면 Windows에서도 가능할 것이라고 생각합니다.

    환경


  • macOS Sierra
  • RAM 16GB

  • Sudachi 설치



  • Java 설치
  • Maven이 관리하는 저장소이기 때문에 Java가 필요합니다.
  • 이미 들어있는 분은 다음으로 진행하십시오
  • 공식에서 jdk의 최신 버전 dmg를 다운로드하여 설치했습니다
  • $ java -version
    java version "1.8.0_144"
    

  • Git LFS 설치
  • Git Large File Storage

  • homebrew가 설치되어 있다면 brew install git-lfs

  • Maven 설치
  • brew install maven 편하고 좋을 것 같아요
  • $ brew install maven
    $ mvn -version
    Apache Maven 3.5.0
    

  • Sudachi의 코드를 복제하여 사전을 빌드합니다.
  • GitHub 소스 코드를 복제하여 사전을 빌드합니다.
  • 이번에는 Sudachi의 README에 쓰여진대로 빌드하고 싶습니다
  • 사전을 다운로드하기 때문에 유선으로하는 것이 좋다고 생각합니다 (무선으로 하면 20 분 걸렸다)
  • $ git clone https://github.com/WorksApplications/Sudachi.git
    $ cd Sudachi/
    $ mvn package
    
  • 이때 Git LFS가 설치되어 있지 않으면 사전이 다운로드되지 않았기 때문에 빌드가 이끼
  • 그렇다면 먼저 git lfs pull를 한 다음 mvn package를 사용하여 빌드 할 수 있습니다

  • 만든 jar 파일 실행
  • target 폴더를 확인하면 sudachi-0.1-SNAPSHOT.jar 가 되어 있으므로 조속히 실행
    $ java -jar target/sudachi-0.1-SNAPSHOT.jar
    Exception in thread "main" java.io.FileNotFoundException: system.dic 
    (No such file or directory)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at  
    com.worksap.nlp.sudachi.JapaneseDictionary.readSystemDictionary(JapaneseDictionary.java:91)
    at com.worksap.nlp.sudachi.JapaneseDictionary.<init>(JapaneseDictionary.java:56)
    at com.worksap.nlp.sudachi.JapaneseDictionary.<init>(JapaneseDictionary.java:48)
    at com.worksap.nlp.sudachi.DictionaryFactory.create(DictionaryFactory.java:34)
    at com.worksap.nlp.sudachi.SudachiCommandLine.main(SudachiCommandLine.java:155)
    

  • 오류, 분명히 system.dic라는 파일을 찾을 수없는 것 같습니다.
  • @matsuda_vla 씨 가르쳐 주셔서 감사합니다
  • sudachi-0.1-SNAPSHOT.jar와 같은 계층 구조로 할 수 있습니다. sudachi-0.1-SNAPSHOT-executable.zip
  • unzip하고 디렉토리에 들어가서 실행해보십시오.
    $ unzip sudachi-0.1-SNAPSHOT-executable.zip
    Archive:  sudachi-0.1-SNAPSHOT-executable.zip
    creating: sudachi-0.1-SNAPSHOT/
    inflating: sudachi-0.1-SNAPSHOT/LICENSE-2.0.txt
    creating: sudachi-0.1-SNAPSHOT/licenses/
    inflating: sudachi-0.1-SNAPSHOT/licenses/javax.json-1.1.txt
    inflating: sudachi-0.1-SNAPSHOT/README.md
    inflating: sudachi-0.1-SNAPSHOT/javax.json-1.1.jar
    inflating: sudachi-0.1-SNAPSHOT/sudachi-0.1-SNAPSHOT.jar
    inflating: sudachi-0.1-SNAPSHOT/system.dic
    inflating: sudachi-0.1-SNAPSHOT/char.def
    inflating: sudachi-0.1-SNAPSHOT/unk.def
    
    $ cd sudachi-0.1-SNAPSHOT
    $ ls
    LICENSE-2.0.txt  char.def            licenses                  system.dic
    README.md        javax.json-1.1.jar  sudachi-0.1-SNAPSHOT.jar  unk.def
    $ java -jar sudachi-0.1-SNAPSHOT.jar
    コミュニケーション
    コミュニケーション 名詞,普通名詞,サ変可能,*,*,*  コミュニケーション
    EOS
    コミニケーション
    コミニケーション    名詞,普通名詞,サ変可能,*,*,*  コミュニケーション
    EOS
    シュミレーション
    シュミレーション    名詞,普通名詞,サ変可能,*,*,*  シミュレーション
    EOS
    シミュレーション
    シミュレーション    名詞,普通名詞,サ変可能,*,*,*  シミュレーション
    EOS
    
  • 움직였습니다 표기 흔들림도 수정되어있는 것 같습니다


  • 설치 절차에 대해 잘못되었거나 더 좋은 정보를 가르쳐 주시기 바랍니다.

    참고


  • 작동 방식 정보 SlideShare
  • Sudachi의 GitHub 저장소