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 twitter와 ckonlpy twitter token 결과 문의 #20

Open
violetJMoon opened this issue Jun 24, 2019 · 2 comments
Open

konlpy twitter와 ckonlpy twitter token 결과 문의 #20

violetJMoon opened this issue Jun 24, 2019 · 2 comments

Comments

@violetJMoon
Copy link

violetJMoon commented Jun 24, 2019

사용자사전을 추가해 pos, token 결과 비교해보고 있는데 결과가 다른 부분이 있어 문의드립니다.

print(twitter_original.pos('육성재가 출연하는 프로그램은 집사부일체이다'))
konlpy의 기본 twitter로 위의 문장을 분석한 결과 아래와 같이 나옵니다.
[('육성재', 'Noun'), ('가', 'Josa'), ('출연', 'Noun'), ('하는', 'Verb'), ('프로그램', 'Noun'), ('은', 'Josa'), ('집사부', 'Noun'), ('일체', 'Noun'), ('이다', 'Josa')]

그리고 ckonlpy의 twitter로 분석한 결과 아래와 같이 나옵니다.
[('육성재', 'Noun'), ('가', 'Josa'), ('출', 'Verb'), ('연하', 'Noun'), ('는', 'Josa'), ('TV', 'Alpha'), ('프로그램', 'Noun'), ('은', 'Josa'), ('집', 'Noun'), ('사부일체', 'Noun'), ('이다', 'Josa')]

위의 konlpy twitter 처럼 '출연'이란 단어를 Noun으로 주고, 프로그램을 하나의 명사로 만들어주기 위해
twitter.add_dictionary(['집사부일체','TV'], 'Noun')
twitter.add_dictionary('출연', 'Noun')
위와 같이 add_dictionary를 수행했습니다.

print(twitter.pos('육성재가 출연하는 TV 프로그램은 집사부일체이다'))
그리고 결과를 보기위해 위와 같이 ckonlpy에 넣어 확인했는데 '출연' 부분이 수정되지 않았습니다.
[('육성재', 'Noun'), ('가', 'Josa'), ('출', 'Verb'), ('연하', 'Noun'), ('는', 'Josa'), ('TV', 'Noun'), ('프로그램', 'Noun'), ('은', 'Josa'), ('집사부일체', 'Noun'), ('이다', 'Josa')]

왜 반영이 되지 않는 것인지 반영하고자 하면 어떻게 바꿔줘야 하는지 궁금합니다.

@violetJMoon violetJMoon changed the title add_dictionary type error 가 납니다 konlpy twitter와 ckonlpy twitter token 결과 문의 Jun 24, 2019
@kimutak0000
Copy link

안녕하세요. 같은 문제가 발생합니다.
twitter.add_dictionary('삼성', 'Company', force=True)를 할 경우
print(twitter.pos('삼성은 우리나라의 위대한 기업이다.'))
[('삼성', 'Noun'), ('은', 'Josa'), ('우리나라', 'Noun'), ('의', 'Josa'), ('위대', 'Noun'), ('한', 'Josa'), ('기업', 'Noun'), ('이다', 'Josa'), ('.', 'Punctuation')]

명사태그에 삼성이 이미 존재하여 반영이 되지 않는 것 같은데 어떠한 방법으로 바꿀 수 있는지 궁금합니다.

@whdk999
Copy link

whdk999 commented Jan 20, 2020

사용자사전을 추가해 pos, token 결과 비교해보고 있는데 결과가 다른 부분이 있어 문의드립니다.

print(twitter_original.pos('육성재가 출연하는 프로그램은 집사부일체이다'))
konlpy의 기본 twitter로 위의 문장을 분석한 결과 아래와 같이 나옵니다.
[('육성재', 'Noun'), ('가', 'Josa'), ('출연', 'Noun'), ('하는', 'Verb'), ('프로그램', 'Noun'), ('은', 'Josa'), ('집사부', 'Noun'), ('일체', 'Noun'), ('이다', 'Josa')]

그리고 ckonlpy의 twitter로 분석한 결과 아래와 같이 나옵니다.
[('육성재', 'Noun'), ('가', 'Josa'), ('출', 'Verb'), ('연하', 'Noun'), ('는', 'Josa'), ('TV', 'Alpha'), ('프로그램', 'Noun'), ('은', 'Josa'), ('집', 'Noun'), ('사부일체', 'Noun'), ('이다', 'Josa')]

위의 konlpy twitter 처럼 '출연'이란 단어를 Noun으로 주고, 프로그램을 하나의 명사로 만들어주기 위해
twitter.add_dictionary(['집사부일체','TV'], 'Noun')
twitter.add_dictionary('출연', 'Noun')
위와 같이 add_dictionary를 수행했습니다.

print(twitter.pos('육성재가 출연하는 TV 프로그램은 집사부일체이다'))
그리고 결과를 보기위해 위와 같이 ckonlpy에 넣어 확인했는데 '출연' 부분이 수정되지 않았습니다.
[('육성재', 'Noun'), ('가', 'Josa'), ('출', 'Verb'), ('연하', 'Noun'), ('는', 'Josa'), ('TV', 'Noun'), ('프로그램', 'Noun'), ('은', 'Josa'), ('집사부일체', 'Noun'), ('이다', 'Josa')]

왜 반영이 되지 않는 것인지 반영하고자 하면 어떻게 바꿔줘야 하는지 궁금합니다.

안녕하세요. ckonlpy 사용자 입니다.

'출연하는'이란 것은 아마
출연 - 명사,
하는(원형 '하다') - 동사로 나와야 할 것 같습니다.
그런데 출연을 명사로 등록하였는데도 안나온 것은
아마 '하'라는 글자가 분리 될 수 없어서(?)가 아닌가 싶습니다.

twitter.add_dictionary('하는', 'Verb')로 등록하면 원하시는 결과가 나오는 것 같습니다.^^

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

No branches or pull requests

3 participants