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

'ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ' 이 문자열을 분석할 때 굉장히 오래 걸립니다. #172

Open
encrypted-def opened this issue Dec 3, 2017 · 4 comments

Comments

@encrypted-def
Copy link

혹시 저만 겪는 증상인가요?

@daun-io
Copy link
Member

daun-io commented May 21, 2018

어떤 tagger를 사용하셨나요?

@forcecore
Copy link

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ
도 마찬가집니다. 저는 무한루프인줄 알았는데 끝나긴느 하나보네요.
kkma = Kkma() 로 생성되는 디폴트 태거를 씁니다.

해결책으론 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ --> ㅋㅋㅋ 이런 식으로 짧게 만들고 분석시키고 있습니다.

@hexists
Copy link
Contributor

hexists commented Apr 11, 2020

다른 이슈를 보면서 위와 동일한 현상이 나타나 남겨놓습니다.
#298

진짜 조낸 재밌다 굿굿굿굿굿굿굿굿굿굿굿굿굿굿굿굿굿굿굿굿굿굿
몰라 그냥 영화도 안봤는데 쓰레기얌 ㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂㅂ
황시욬황시욬황시욬황시욬황시욬황시욬황시욬황시욬황시욬황시욬
ㄹㅇㄴㅁㄹㅇㄴㅁㄹㅇㄴㅁㄹㅇㄴㅁㄹㅇㄴㅁㄹㅇㄴㅁㄹㅇㄴㅁㄹㅇㄴㅁㄹㅇㄴㅁ

같은 문자가 반복되는 경우면, 줄여서 사용하면 될 것 같은데, "황시욬"이 반복되는 경우에도 오래 걸리니 어떻게 해결하는 것이 좋을지 고민됩니다.

kkma를 따로 실행했을 때도 발생하는 문제라서 kkma를 고치는 것이 가장 좋을 것 같은데요.
혹시, konlpy에서 kkma를 사용할 때, 분석 시간이 너무 오래 걸릴 때, exception 처리하는 방법은 없을까요?

@combacsa
Copy link
Contributor

combacsa commented Jan 4, 2022

일부 실험 결과를 남겨둡니다.

In [14]: %timeit -r 1 kkma.pos('ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷe')
898 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)

In [15]: %timeit -r 1 kkma.pos('ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ')
3.79 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)

In [16]: %timeit -r 1 kkma.pos('ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ')
7.59 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)

In [17]: %timeit -r 1 kkma.pos('ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ')
48.7 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)

In [23]: %timeit -r 1 kkma.pos('황시욬' * 5)
1.43 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)

In [24]: %timeit -r 1 kkma.pos('황시욬' * 6)
7.31 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)

@hexists 님께서 제안하신 방법의 경우 이런 걸 응용하면 가능할 수도 있을 것 같습니다: JPype user guide - limiting execution time

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