Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

konlpy에서 다음과 같은 에러가 나옵니다. TypeError: No matching overloads found for kr.lucypark.okt.OktInterface.tokenize(list,java.lang.Boolean,java.lang.Boolean), options are: public java.util.List kr.lucypark.okt.OktInterface.tokenize(java.lang.String,java.lang.Boolean,java.lang.Boolean) #288

Closed
sophiaanderic opened this issue Jan 19, 2020 · 8 comments

Comments

@sophiaanderic
Copy link

안녕하세요 처음 글 써보는거라 이렇게 쓰는게 맞는지 모르겠습니다.

저는 워드클라우드 연습을 위해 파이썬에서 다음과 같은 코드를 쳤습니다.

`from konlpy.tag import Okt
from konlpy import jvm
from konlpy.corpus import kolaw
import nltk
from collections import Counter

twitter=Okt()

file = open("d:/study/test.txt", 'r')
data = file.readlines()
file.close()
data

news_word=twitter.nouns(data)`

konlpy는 홈페이지에 나온 순서대로 깔았으며, java는 1.8버전으로 JAVA_HOME 지정까지 홈페이지에 나온대로 설정해 두었습니다.

그런데

news_word=twitter.nouns(data)

이 부분에서 자꾸 에러가 나는데요.
다음과 같은 에러가 뜹니다 ㅠㅠ

TypeError: No matching overloads found for kr.lucypark.okt.OktInterface.tokenize(list,java.lang.Boolean,java.lang.Boolean), options are:
public java.util.List kr.lucypark.okt.OktInterface.tokenize(java.lang.String,java.lang.Boolean,java.lang.Boolean)

at JPMethod::findOverload(native\common\jp_method.cpp:242)
at JPMethod::findOverload(native\common\jp_method.cpp:245)
at JPMethod::invoke(native\common\jp_method.cpp:253)
at PyJPMethod::__call__(native\python\pyjp_method.cpp:167)

자바도 버전별로 몇번이나 지웠다 깔아봤고, konlpy관련된 것들도 파이썬 버젼에 맞게 깔았습니다.
왜 이런 현상이 발생하는 지 모르겠습니다 ㅠㅠ 혹시 아시는 분 계시다면 완전 초보라 자세한 설명 부탁드리겠습니다.

@sophiaanderic sophiaanderic changed the title TypeError: No matching overloads found for kr.lucypark.okt.OktInterface.tokenize(list,java.lang.Boolean,java.lang.Boolean), options are: public java.util.List kr.lucypark.okt.OktInterface.tokenize(java.lang.String,java.lang.Boolean,java.lang.Boolean) konlpy에서 다음과 같은 에러가 나옵니다. TypeError: No matching overloads found for kr.lucypark.okt.OktInterface.tokenize(list,java.lang.Boolean,java.lang.Boolean), options are: public java.util.List kr.lucypark.okt.OktInterface.tokenize(java.lang.String,java.lang.Boolean,java.lang.Boolean) Jan 19, 2020
@minhoryang
Copy link
Member

@sophiaanderic
현재 data는 test.txt의 각 줄을 원소로 하는 문자열 배열입니다.

Konlpy의 함수는 배열을 인자로 받지 않고, 보통 문자열을 받습니다.
이 경우에는 data를 for문을 돌면서 사용하셔야 합니다.

for data in line:
    news_word = twitter.nouns(line)

이렇게 얻은 news_word를 적절히 활용하시면 됩니다.

@aeddung
Copy link

aeddung commented Jan 25, 2020

저도 똑같은 문제가 발생하네요.. ㅠㅠ
image

@minhoryang
Copy link
Member

@aeddung 해당문제는 다른 문제입니다. #291 에서 이어서 이야기하겠습니다.

@HaeyoonJo
Copy link

혹시 도움될까싶어서 저같은 경우엔, 데이터프레임 두개의 컬럼을 합친 후 토큰화하는 과정에서 값이 NaN일 경우 이 오류가 떳었습니다 :)

@jiyeong1006
Copy link

TypeError: No matching overloads found for kr.lucypark.okt.OktInterface.tokenize(float,java.lang.Boolean,java.lang.Boolean), options are:
public java.util.List kr.lucypark.okt.OktInterface.tokenize(java.lang.String,java.lang.Boolean,java.lang.Boolean)

저는 용량이 크면 이런문구가 나오고 20줄 이하로 쓰면 잘되는데 이유가 있을까요?

@minhoryang
Copy link
Member

@jiyeong1006 type mismatch로 보이는데요. 입력하는 데이터에 float type이 껴있지 않은지요.

@DrumDong
Copy link

TypeError: No matching overloads found for kr.lucypark.kkma.KkmaInterface.extractNoun(float), options are:
public org.snu.ids.ha.index.KeywordList kr.lucypark.kkma.KkmaInterface.extractNoun(java.lang.String)

혹시 이것도 특정 문자열에 숫자로 되어있어서 그런가요?

@DrumDong
Copy link

TypeError: No matching overloads found for kr.lucypark.kkma.KkmaInterface.extractNoun(float), options are:
public org.snu.ids.ha.index.KeywordList kr.lucypark.kkma.KkmaInterface.extractNoun(java.lang.String)

혹시 이것도 특정 문자열에 숫자로 되어있어서 그런가요?

NaN값 떄문에 그렇군요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants