{"id":39081737,"url":"https://github.com/lovit/komoran3py","last_synced_at":"2026-01-17T18:31:00.207Z","repository":{"id":84920037,"uuid":"139690003","full_name":"lovit/komoran3py","owner":"lovit","description":"Komoran 3 in Python ","archived":false,"fork":false,"pushed_at":"2018-12-10T08:14:26.000Z","size":11543,"stargazers_count":11,"open_issues_count":5,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-13T10:49:11.866Z","etag":null,"topics":["komoran","korean-nlp","python-wrapper"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lovit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-07-04T08:08:26.000Z","updated_at":"2023-01-04T02:45:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"ea3030dd-209d-4b82-aa93-3c9238983c7f","html_url":"https://github.com/lovit/komoran3py","commit_stats":{"total_commits":20,"total_committers":2,"mean_commits":10.0,"dds":"0.19999999999999996","last_synced_commit":"eca40c1e59caf4bf144856cb37c840338fd1953e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lovit/komoran3py","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovit%2Fkomoran3py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovit%2Fkomoran3py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovit%2Fkomoran3py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovit%2Fkomoran3py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lovit","download_url":"https://codeload.github.com/lovit/komoran3py/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovit%2Fkomoran3py/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28515738,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T18:28:00.501Z","status":"ssl_error","status_checked_at":"2026-01-17T18:28:00.150Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["komoran","korean-nlp","python-wrapper"],"created_at":"2026-01-17T18:30:58.340Z","updated_at":"2026-01-17T18:30:59.524Z","avatar_url":"https://github.com/lovit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Komoran 3 in Python\n\nKomoran 은 Java 로 구현된 한국어 형태소 분석기입니다. 이 프로젝트는 Junsoo Shin 님의 [github](https://github.com/shin285/KOMORAN) 에 공개되어 있습니다. \n\nKomoran 에는 사용자 사전 추가 기능이 있습니다. 이 기능을 Python 환경에서도 이용할 수 있도록 하였습니다. [KoNLPy](http://konlpy.org/) 의 version 0.4.5 까지는 Komoran 2.x 기능을 제공하였습니다. 2018-08-01 이후 KoNLPy 는 0.5.1 로 버전이 올라갔으며, Komoran 에 한하여 사용자 사전의 추가 기능이 제공됩니다. KoNLPy 의 사용자 사전 추가 기능의 이용 방법은 README 의 하단을 참고하세요.\n\n이 repository 역시 KoNLPy 처럼 Python 에서 Java 로 구현된 라이브러리를 이용하기 위한 방법을 포함하고 있습니다. jvm.py 파일의 형식은 KoNLPy 를 참고하였습니다. JPype 를 이용하여 Python 에서 Java 라이브러리들을 이용하기 위한 방법을 알고 싶다면 jvm.py 파일과 [블로그](https://lovit.github.io/nlp/2018/07/06/java_in_python/) 를 보시기 바랍니다.\n\n## Requirements\n\nJpype1 \u003e= 0.6.2\n\n## Basic usage\n\nKoNLPy 의 함수명을 따라갑니다.\n\n```python\nfrom komoran3py import KomoranPy\nkomoran = KomoranPy()\n\nsent = '청하는아이오아이멤버입니다'\nkomoran.pos(sent)\n```\n\n단어 '아이오아이'는 미등록단어로, 제대로 인식이 되지 않습니다.\n\n    [('청하', 'VV'),\n     ('는', 'ETM'),\n     ('아이오', 'NNP'),\n     ('아이', 'NNP'),\n     ('멤버', 'NNP'),\n     ('이', 'VCP'),\n     ('ㅂ니다', 'EC')]\n\n사용자 사전을 만듭니다. 사용자 사전은 tap separated 텍스트 파일입니다. \u003c단어, 품사\u003e 형식으로 입력합니다. 만약 품사를 입력하지 않으면 명사 취급이 됩니다.\n\n    아이오아이\tNNP\n\n사전을 추가하여 다시 형태소 분석을 수행합니다.\n\n```python\nkomoran.set_user_dictionary('./user_dictionary.txt')\nkomoran.pos(sent)\n```\n\n단어 '아이오아이'가 제대로 인식됩니다.\n\n    [('청하', 'VV'),\n     ('는', 'ETM'),\n     ('아이오아이', 'NNP'),\n     ('멤버', 'NNP'),\n     ('이', 'VCP'),\n     ('ㅂ니다', 'EC')]\n\nkomoran instance 를 새로 만들면, 사용자 사전의 정보는 초기화됩니다.\n\n```python\nkomoran = KomoranPy()\nkomoran.pos(sent)\n```\n\n다시, 단어 '아이오아이'가 제대로 인식되지 않습니다.\n\n    [('청하', 'VV'),\n     ('는', 'ETM'),\n     ('아이오', 'NNP'),\n     ('아이', 'NNP'),\n     ('멤버', 'NNP'),\n     ('이', 'VCP'),\n     ('ㅂ니다', 'EC')]\n\n\n## Word position and flatten\n\nflatten=False 로 설정하면 띄어쓰기 기준으로 nested list 형태의 결과를 return 합니다. 기본값은 flatten = True 입니다. 어절 단위의 단어를 확인할 수 있습니다.\n\n```python\nsent = '청하는 아이오아이 멤버입니다'\nkomoran.pos(sent, flatten=False)\n```\n\n    [[('청하', 'VV'), ('는', 'ETM')],\n     [('아이오아이', 'NNP')],\n     [('멤버', 'NNP'), ('이', 'VCP'), ('ㅂ니다', 'EC')]]\n\nposition = True 로 설정하면 각 단어의 position 을 알 수 있습니다. 기본값은 position = False 입니다.\n\n```python\nkomoran.pos(sent, flatten=False, position=True)\n```\n\n    [[('청하', 'VV', 0, 2), ('는', 'ETM', 2, 3)],\n     [('아이오아이', 'NNP', 4, 9)],\n     [('멤버', 'NNP', 10, 12), ('이', 'VCP', 12, 13), ('ㅂ니다', 'EC', 12, 15)]]\n\nflatten = True 로 설정하였을 때에도 position = True 설정이 가능합니다.\n\n```python\nkomoran.pos(sent, flatten=True, position=True)\n```\n\n    [('청하', 'VV', 0, 2),\n     ('는', 'ETM', 2, 3),\n     ('아이오아이', 'NNP', 4, 9),\n     ('멤버', 'NNP', 10, 12),\n     ('이', 'VCP', 12, 13),\n     ('ㅂ니다', 'EC', 12, 15)]\n\n\n## KoNLPy update\n\nKoNLPy 0.5.0 에 코모란3가 업데이트 되었습니다. 0.5.0 부터 사용자 사전 추가 기능이 제공됩니다. KoNLPy 의 Komoran 에 사용자 사전을 추가하는 예시코드입니다.\n\n```python\nfrom konlpy.tag import Komoran\n\ndicpath = 'YOUR_DICPATH' # 텍스트 파일주소로, 사용자 사전의 구조는 위와 같습니다.\nkomoran = Komoran(userdic=dicpath)\nkomoran.pos(sent)\n```\n\n단, flatten 이나 position 에 대한 기능은 KoNLPy 의 인터페이스와 맞지 않아 업데이트 하지 않았습니다.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovit%2Fkomoran3py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flovit%2Fkomoran3py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovit%2Fkomoran3py/lists"}