lovit / komoran3py

Komoran 3 in Python
11 stars 1 forks source link

안녕하세요 코모란3를 사용하고싶은 초보자입니다. #1

Open Hansool opened 6 years ago

Hansool commented 6 years ago

본 파일들을 다 다운받았습니다. 하지만 실행하는 방법을 잘 모르겠습니다.. 혹시 죄송하지만 실행하는 방법좀 부탁드릴게요 밑에 적어주신 설명은 python실행후 하는 것인가요 아니면 main을 따로 만들어 실행하는 방식인가요.. main만드는 방식이라면 어떻게 하는지 부탁드리겠습니다.

lovit commented 6 years ago

안녕하세요 hansool 님, komoran3py 는 pypi 에는 등록하지 않았고, git clone 이나 파일을 다운하신 상태에서만 사용가능합니다.

이미 다운은 받으신것이라 생각되며, import 문제를 겪고 계신것이라 생각됩니다. python 에서 특정 폴더의 패키지를 쓰고 싶으시면 system path 에 해당 폴더를 등록해주면 됩니다.

예를 들어 /root/abc/komoran3py/ 라는 폴더에 해당 파일을 받으셨다면 아래의 코드를 입력하세요.

komoran3py 폴더는 아래의 파일들을 포함한 폴더입니다.

import sys sys.path.append('/root/abc/komoran3py/')

그 이후에 아래처럼 코드를 넣으시면 다운 받으신 패키지를 이용하실 수 있습니다.

from komoran3py import Komoran komoran = Komoran()

또한, 해당 기능은 konlpy >= 0.5.0 에도 포함되어 있습니다. 2018.8.1 에 KoNLPy 는 0.5.0 버전 업데이트를 하였습니다. KoNLPy 에서는 다음과 같이 이용하셔야 합니다.

from konlpy.tag import Komoran

dicpath = 'YOUR_DICPATH' # 텍스트 파일주소로, 사용자 사전의 구조는 위와 같습니다. komoran = Komoran(userdic=dicpath) komoran.pos(sent)

KoNLPy 는 pip install 로 설치가 가능합니다.

pip install konlpy

한 가지, JPype1 와 Java 가 반드시 설치하셔야 합니다.

pip install JPype1 을 반드시 하세요. 이와 관련된 설명은 KoNLPy 의 document 에도 잘 나와있습니다. ( http://konlpy.org/en/latest/install/ )

Hansool commented 6 years ago

import sys sys.path.append('/Users/hansol/Desktop/komoran/komoran3py/') from komoran3py import Komoran

이렇게 파이썬에서 입력을 했을때, Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'komoran3py' 이러한 에러가 뜨게 됩니다.

어떻게 하면 좋을까요? 또한 komoran3py에 있는 komoran.py의 파일의 self._komoran = package.Komoran(model_path)에서 model_path부분을 수정할 필요는 없나요??

번거롭게 해서 죄송합니다. 형태소 분석기중 komoran이 좋아 사용하려는데 어려움이 있어서요.. 빠른 답변 감사했습니다!!

lovit commented 6 years ago

"ModuleNotFoundError: No module named 'komoran3py' 에러가 떴다면, path 가 제대로 append 되지 않은 것입니다. komoran3py 안의 파일들이 제가 말씀드린 그 파일들이 모두 있는 폴더가 맞나요? komoran3py 폴더 안에 komoran3py 라는 폴더가 또 있다면 거기까지 path 에 넣어줘야 합니다. hansool 님의 상황에서는 아마 이 주소가 아닐까 싶네요.

sys.path.append('/Users/hansol/Desktop/komoran/komoran3py/komoran3py/')

폴더의 내용물을 먼저 살펴보시기를 바랍니다.

또한 "model_path = os.path.dirname(os.path.realpath(file)) + '/models/' 여기에서 os.path.realpath(file) 은 이 코드를 실행하는 파일의 폴더 주소를 가져옵니다. 그리고 models 는 이 파일이 포함되어 있는 폴더의 하위폴더입니다.

즉 model_path 는 파일을 다운받으신 폴더를 직접 찾아서 models 폴더 주소를 선택하기 때문에 사용자가 직접 model_path 를 수정할 필요는 없습니다.

Hansool commented 6 years ago

komoran3py의 경로는 터미널에서 경로를 따서 입력하였습니다. 혹시나 잘못했을수도 있어 한번더 확인을 한 후, 입력도 해보았으며, komoran3py를 한번 더 입력도 해보았으나 똑같은 결과값을 나타냅니다.

또한 komoran3py안에는 init, java, jvm, komoran, models, tagset이 있습니다.

저도 왜 안되는 것인지 의문입니다... 파일 내부를 수정한 적도 없구요

문맥상 경로도 맞았고, 제대로 append만 되었다면 import 하는것엔 무리가 없어보이는데.. 이상하네요..

lovit commented 6 years ago

혹시 python 2 에서 이용중이신가요? python 2 에서 확인해본적은 없어서요.

그것이 아니라면 komoran3py 가 이용하는 다른 패키지들이 제대로 설치 되지 않으면 komoran3py 가 import 되지 않습니다.

일단 자바 확인하셔야 합니다. 윈도우 키 > cmd > java -version 을 입력해서 자바버전 확인해보세요. 자바도 버전 1.7 이상이어야 합니다. 만약 에러난다면 자바설치가 제대로 안되어있거나 path 가 안잡혀 있는겁니다.

두번째, 파이썬만 키셔서 아래의 명령어를 입력해보세요.

import jpype

jpype 가 import 되지 않으면 이를 다시 깔아야 합니다.

만약, anaconda 를 이용중이시라면 pip install 하는 anaconda 가상환경의 이름과 테스트 python 을 켜는 가상환경의 이름도 같아야 합니다.

지금 생각되는 원인은 이것들일 것 같습니다.

Hansool commented 6 years ago

jihansol-ui-MacBook-Pro:desktop hansol$ java -version java version "9.0.1" Java(TM) SE Runtime Environment (build 9.0.1+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode) jihansol-ui-MacBook-Pro:desktop hansol$ python Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.

import jpype

두가지 다 문제가 없는것 같습니다. anaconda를 사용중이지도 않구요.. 파이썬 버전도 3.6.1 입니다.

lovit commented 6 years ago

혹시나해서 저도 다시 git clone 하여 실행시켜봤는데 문제없이 잘 작동합니다.

혹시나하여, komoran3py 라는 폴더가 다른 곳에 있을 수도 있습니다. Python 은 sys.path 안의 디렉토리에서 가장 먼저 komoran3py 라는 패키지를 찾으면 그곳의 파일을 가져옵니다. 우선순위를 가장 높이려면 아래처럼 append 대신 insert 를 이용할 수 있습니다.

sys.path.insert(0, '/Users/hansol/Desktop/komoran/komoran3py/komoran3py/')

이것도 원인이 아니라면 그다음은 정말 예상이 안되네요. 보내주신 정보들을 바탕을 제가 예상할 수 있는 이유는 여기까지입니다.