트위터 한국어 분석기
Scala library to process Korean text. twitter-korean-text currently provides Korean normalization and tokenization. Please join our community at Google Forum.
스칼라로 쓰여진 한국어 분석기입니다. 현재 텍스트 정규화와 형태소 분석을 지원하고 있습니다. 본 프로젝트는 아직 기초적인 단계에 있습니다. 참여하시고 싶은 분은 Google Forum에 가입해 주세요. 사용법을 알고자 하시는 초보부터 코드에 참여하고 싶으신 분들까지 모두 환영합니다.
Gunja Agrawal kindly created a test API webpage for this project: http://gunjaagrawal.com/langhack/
To include this in your Maven-based JVM project, add the following lines to your pom.xml:
Maven을 이용할 경우 pom.xml에 다음의 내용을 추가하시면 됩니다:
<dependency>
<groupId>com.twitter.penguin</groupId>
<artifactId>korean-text</artifactId>
<version>2.0</version>
<dependency>
The maven site is available here http://twitter.github.io/twitter-korean-text/ and scaladocs are here http://twitter.github.io/twitter-korean-text/scaladocs/
Clone the git repo and build using maven.
Git 전체를 클론하고 Maven을 이용하여 빌드합니다.
git clone https://github.com/twitter/twitter-korean-text.git
cd twitter-korean-text
mvn compile
Open 'pom.xml' from your favorite IDE.
You can find these examples in examples folder.
examples 폴더에 사용 방법 예제 파일이 있습니다.
from Scala
import com.twitter.penguin.korean.TwitterKoreanProcessor
import com.twitter.penguin.korean.tokenizer.KoreanTokenizer
object ScalaTwitterKoreanTextExample {
def main(args: Array[String]) {
// Tokenize into List<String>
val parsed: Seq[String] = TwitterKoreanProcessor.tokenizeToStrings("한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ")
println(parsed)
// ArraySeq(한국어, 를, 처리, 하다, 예시, 이다, ㅋㅋ)
// Tokenize with Part-of-Speech information
val parsedPos: Seq[KoreanTokenizer.KoreanToken] = TwitterKoreanProcessor.tokenize("한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ")
println(parsedPos)
// ArraySeq(한국어Noun, 를Josa, 처리Noun, 하다Verb, 예시Noun, 이다Adjective, ㅋㅋKoreanParticle)
// Tokenize without normalization and stemming
val parsedPosParsingOnly: Seq[KoreanTokenizer.KoreanToken] = TwitterKoreanProcessor
.tokenize("한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ", normalizization = false, stemming = false)
println(parsedPosParsingOnly)
// ArraySeq(한국어Noun, 를Josa, 처리Noun, 하는Verb, 예시Noun, 입Noun, 니Josa, 닼Noun*, ㅋㅋㅋㅋㅋKoreanParticle)
}
}
from Java
import java.util.List;
import com.twitter.penguin.korean.TwitterKoreanProcessorJava;
import com.twitter.penguin.korean.tokenizer.KoreanTokenizer;
public class JavaTwitterKoreanTextExample {
public static void main(String[] args) {
// Tokenize with normalization + stemmer
TwitterKoreanProcessorJava processor = new TwitterKoreanProcessorJava.Builder().build();
List<String> parsedStrings = processor.tokenizeToStrings("한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ");
System.out.println(parsedStrings);
// output: [한국어, 를, 처리, 하다, 예시, 이다, ㅋㅋ]
List<KoreanTokenizer.KoreanToken> parsed = processor.tokenize("한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ");
System.out.println(parsed);
// output: [한국어Noun, 를Josa, 처리Noun, 하다Verb, 예시Noun, 이다Adjective, ㅋㅋKoreanParticle]
// Tokenize with neither normalization nor stemmer
processor = new TwitterKoreanProcessorJava.Builder()
.disableNormalizer()
.disableStemmer()
.build();
parsedStrings = processor.tokenizeToStrings("한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ");
System.out.println(parsedStrings);
// output: [한국어, 를, 처리, 하는, 예시, 입, 니, 닼, ㅋㅋㅋㅋㅋ]
parsed = processor.tokenize("한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ");
System.out.println(parsed);
// output: [한국어Noun, 를Josa, 처리Noun, 하는Verb, 예시Noun, 입Noun, 니Josa, 닼Noun*, ㅋㅋㅋㅋㅋKoreanParticle]
TwitterKoreanProcessor.scala is the central object that provides interface for all the features.
TwitterKoreanProcessor.scala에 지원하는 모든 기능을 모아 두었습니다.
mvn test
will run our unit tests
We provide tools for quality assurance and test resources. They can be found under src/main/scala/com/twitter/penguin/korean/qa and src/main/scala/com/twitter/penguin/korean/tools.
Refer to the general contribution guide. We will add this project-specific contribution guide later.
- Will Hohyon Ryu (유호현): https://github.com/nlpenguin | https://twitter.com/NLPenguin
Copyright 2014 Twitter, Inc.
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0