open-korean-text
Open-source Korean Text Processor / ์คํ์์ค ํ๊ตญ์ด ์ฒ๋ฆฌ๊ธฐ (Official Fork of twitter-korean-text)
Scala/Java library to process Korean text with a Java wrapper. open-korean-text currently provides Korean normalization and tokenization. Please join our community at Google Forum. The intent of this text processor is not limited to short tweet texts.
์ค์นผ๋ผ๋ก ์ฐ์ฌ์ง ํ๊ตญ์ด ์ฒ๋ฆฌ๊ธฐ์ ๋๋ค. ํ์ฌ ํ ์คํธ ์ ๊ทํ์ ํํ์ ๋ถ์, ์คํ ๋ฐ์ ์ง์ํ๊ณ ์์ต๋๋ค. ์งง์ ํธ์์ ๋ฌผ๋ก ์ด๊ณ ๊ธด ๊ธ๋ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์ ์ฐธ์ฌํ์๊ณ ์ถ์ ๋ถ์ Google Forum์ ๊ฐ์ ํด ์ฃผ์ธ์. ์ฌ์ฉ๋ฒ์ ์๊ณ ์ ํ์๋ ์ด๋ณด๋ถํฐ ์ฝ๋์ ์ฐธ์ฌํ๊ณ ์ถ์ผ์ ๋ถ๋ค๊น์ง ๋ชจ๋ ํ์ํฉ๋๋ค.
์ค์น ๋ฐ ์์ ํ๋ ๋ฐฉ๋ฒ ์์ธ ์๋ด
open-korean-text์ ๋ชฉํ๋ ๋น ๋ฐ์ดํฐ ๋ฑ์์ ๊ฐ๋จํ ํ๊ตญ์ด ์ฒ๋ฆฌ๋ฅผ ํตํด ์์ธ์ด๋ฅผ ์ถ์ถํ๋ ๋ฐ์ ์์ต๋๋ค. ์์ ํ ์์ค์ ํํ์ ๋ถ์์ ์งํฅํ์ง๋ ์์ต๋๋ค.
open-korean-text๋ normalization, tokenization, stemming, phrase extraction ์ด๋ ๊ฒ ๋ค๊ฐ์ง ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
์ ๊ทํ normalization (์ ๋๋ผใ ใ -> ์ ๋๋ค ใ ใ , ์ค๋ฆํด -> ์ฌ๋ํด)
- ํ๊ตญ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ์์์ ๋๋ผใ ใ ใ ใ ใ -> ํ๊ตญ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ์์์ ๋๋ค ใ ใ
ํ ํฐํ tokenization
- ํ๊ตญ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ์์์ ๋๋ค ใ ใ -> ํ๊ตญ์ดNoun, ๋ฅผJosa, ์ฒ๋ฆฌNoun, ํ๋Verb, ์์Noun, ์ ๋๋คAdjective(์ด๋ค), ใ ใ KoreanParticle
์ด๊ทผํ stemming (์ ๋๋ค -> ์ด๋ค)
- ํ๊ตญ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ์์์ ๋๋ค ใ ใ -> ํ๊ตญ์ดNoun, ๋ฅผJosa, ์ฒ๋ฆฌNoun, ํ๋คVerb, ์์Noun, ์ด๋คAdjective, ใ ใ KoreanParticle
์ด๊ตฌ ์ถ์ถ phrase extraction
- ํ๊ตญ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ์์์ ๋๋ค ใ ใ -> ํ๊ตญ์ด, ์ฒ๋ฆฌ, ์์, ์ฒ๋ฆฌํ๋ ์์
Introductory Presentation: Google Slides
Web API Service
open-korean-text-api
์ด API ์๋น์ค๋ Heroku ์๋ฒ์์ ์ ๊ณต๋๋ฉฐ(Domain: https://open-korean-text.herokuapp.com/)
ํ์ฌ ์ ๊ทํ(normalization), ํ ํฐํ(tokenization), ์ด๊ทผํ(stemmin), ์ด๊ตฌ ์ถ์ถ(phrase extract)
์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฐ ์๋น์ค์ ์ฌ์ฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
normalize
, tokenize
, stem
, extractPhrases
๊ฐ ๊ฐ ์๋น์ค์ Action ์ด ๋๋ฉฐ Query parameter ๋ text
์
๋๋ค.
Semantic Versioning
1.0.2 (Major.Minor.Patch)
Major: API change Minor: Processor behavior change Patch: Bug fixes without a behavior change
API
Maven
To include this in your Maven-based JVM project, add the following lines to your pom.xml: / Maven์ ์ด์ฉํ ๊ฒฝ์ฐ pom.xml์ ๋ค์์ ๋ด์ฉ์ ์ถ๊ฐํ์๋ฉด ๋ฉ๋๋ค:
<dependency>
<groupId>org.openkoreantext</groupId>
<artifactId>open-korean-text</artifactId>
<version>2.1.0</version>
</dependency>
Maven Repository: http://mvnrepository.com/artifact/org.openkoreantext/open-korean-text
Support for other languages.
Type | Language | Contributor |
---|---|---|
Wrapper | .net/C# | modamoda |
Wrapper | Node JS | Ch0p |
Wrapper | Node JS | Youngrok Kim |
Wrapper | Python | Jaepil Jeong |
Wrapper | Clojure | Seonho Kim |
Wrapper | Ruby for Java Version | jun85664396 |
Wrapper | Ruby for Scala Version | Jaehyun Shin |
Porting | Python | Baeg-il Kim |
Package | Python Korean NLP | KoNLPy |
Package | Elastic Search | socurites |
Package | Elastic Search | Jaehyun Shin |
Get the source / ์์ค๋ฅผ ์ํ์๋ ๊ฒฝ์ฐ
Clone the git repo and build using maven. / Git ์ ์ฒด๋ฅผ ํด๋ก ํ๊ณ Maven์ ์ด์ฉํ์ฌ ๋น๋ํฉ๋๋ค.
git clone https://github.com/open-korean-text/open-korean-text.git
cd open-korean-text
mvn compile
Open 'pom.xml' from your favorite IDE.
Basic Usage / ์ฌ์ฉ ๋ฐฉ๋ฒ
You can find these examples in examples folder. / examples ํด๋์ ์ฌ์ฉ ๋ฐฉ๋ฒ ์์ ํ์ผ์ด ์์ต๋๋ค.
Running Tests
mvn test
will run our unit tests
/ ๋ชจ๋ ์ ๋ ํ
์คํธ๋ฅผ ์คํํ๋ ค๋ฉด mvn test
๋ฅผ ์ด์ฉํด ์ฃผ์ธ์.
Contribution
Refer to the general contribution guide. We will add this project-specific contribution guide later.
์ค์น ๋ฐ ์์ ํ๋ ๋ฐฉ๋ฒ ์์ธ ์๋ด
Performance / ์ฒ๋ฆฌ ์๋
Tested on Intel i7 2.3 Ghz
Initial loading time (์ด๊ธฐ ๋ก๋ฉ ์๊ฐ): 2~4 sec
Average time per parsing a chunk (ํ๊ท ์ด์ ์ฒ๋ฆฌ ์๊ฐ): 0.12 ms
Tweets (Avg length ~50 chars)
Tweets | 100K | 200K | 300K | 400K | 500K | 600K | 700K | 800K | 900K | 1M |
---|---|---|---|---|---|---|---|---|---|---|
Time in Seconds | 57.59 | 112.09 | 165.05 | 218.11 | 270.54 | 328.52 | 381.09 | 439.71 | 492.94 | 542.12 |
Average per tweet: 0.54212 ms
Benchmark test by KoNLPy
From http://konlpy.org/ko/v0.4.3/morph/#pos-tagging-with-konlpy
Author
- Will Hohyon Ryu (์ ํธํ): https://github.com/nlpenguin | https://twitter.com/NLPenguin
Admin Staff
- Mingyu Kim (๊น๋ฏผ๊ท): https://github.com/MechanicKim
License
Copyright 2014 Twitter, Inc.
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0