All Projects → crizin → korean-romanizer

crizin / korean-romanizer

Licence: MIT license
한국어를 입력하면 로마자로 변환해주는 Java 라이브러리

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to korean-romanizer

unihandecode
unihandecode is a transliteration library to convert all characters/words in Unicode into ASCII alphabet that aware with Language preference priorities
Stars: ✭ 71 (+86.84%)
Mutual labels:  korean, romanization
BERT-embedding
A simple wrapper class for extracting features(embedding) and comparing them using BERT in TensorFlow
Stars: ✭ 24 (-36.84%)
Mutual labels:  korean
awesome-spacer
Automatic Korean word spacing with TensorFlow 2.0 + Keras
Stars: ✭ 42 (+10.53%)
Mutual labels:  korean
korean-dev-books
📚 한국어 개발/CS 서적 큐레이션 리스트
Stars: ✭ 51 (+34.21%)
Mutual labels:  korean
Android-DarkTheme-CodeLab
코드랩 가이드 문서 👉
Stars: ✭ 18 (-52.63%)
Mutual labels:  korean
Garam-Interpreter
"훈민정음은 디자인이다" 가람은 튜링 완전 프로그래밍 언어입니다.
Stars: ✭ 23 (-39.47%)
Mutual labels:  korean
PyKOMORAN
(Beta) PyKOMORAN is wrapped KOMORAN in Python using Py4J.
Stars: ✭ 38 (+0%)
Mutual labels:  korean
kss
Kss: A Toolkit for Korean sentence segmentation
Stars: ✭ 198 (+421.05%)
Mutual labels:  korean
tutorials-kr
🇰🇷파이토치에서 제공하는 튜토리얼의 한국어 번역을 위한 저장소입니다. (Translate PyTorch tutorials in Korean🇰🇷)
Stars: ✭ 271 (+613.16%)
Mutual labels:  korean
KoreanTextMatcher
한글 음절 근사 매칭/초성 검색 라이브러리
Stars: ✭ 39 (+2.63%)
Mutual labels:  korean
National-Petition
청와대 국민청원 분석으로 국민의 생각 알아보기 📈🔬
Stars: ✭ 45 (+18.42%)
Mutual labels:  korean
nodejs-support
한국어 형태소 및 구문 분석기의 모음인, KoalaNLP의 Javascript(Node.js) 버전입니다.
Stars: ✭ 81 (+113.16%)
Mutual labels:  korean
autocorr kr
리브레오피스(LibreOffice) 자동 교정(Autocorrect)기능에 대한 말모이 저장소
Stars: ✭ 15 (-60.53%)
Mutual labels:  korean
FCH-TTS
A fast Text-to-Speech (TTS) model. Work well for English, Mandarin/Chinese, Japanese, Korean, Russian and Tibetan (so far). 快速语音合成模型,适用于英语、普通话/中文、日语、韩语、俄语和藏语(当前已测试)。
Stars: ✭ 154 (+305.26%)
Mutual labels:  korean
hama-py
🦛 파이썬 한글 처리 라이브러리. Python Korean Morphological Analyzer
Stars: ✭ 16 (-57.89%)
Mutual labels:  korean
IreneBot
Irene Bot for Discord in Python
Stars: ✭ 15 (-60.53%)
Mutual labels:  korean
NavilIME
Windows Hangul (Korean) Input Method Editor based on TSF
Stars: ✭ 79 (+107.89%)
Mutual labels:  korean
Hikari
simple discord.js music bot using distube 🎵 | Stage channel support!
Stars: ✭ 19 (-50%)
Mutual labels:  korean
hangul-online
Hangul fonts storage and viewer
Stars: ✭ 16 (-57.89%)
Mutual labels:  korean
iOS-Programming-Documents
iOS Programming Documents in Korean
Stars: ✭ 64 (+68.42%)
Mutual labels:  korean

Build Status Codacy Badge MIT

Korean Romanizer

소개

한국어를 입력하면 로마자로 변환해주는 Java 라이브러리. 국립국어원 로마자 표기법을 기반으로 구현되었고 많은 부분이 커버 가능하지만 한국어의 특성상 단어별 사전 데이터가 존재하지 않으면 100% 구현이 어렵기 때문에 완벽하지는 않다.

Maven

  <dependency>
    <groupId>net.crizin</groupId>
    <artifactId>korean-romanizer</artifactId>
    <version>2.0.1</version>
  </dependency>

온라인 데모

Online Demo

클래스 설명

KoreanCharacter

로마자 변환 옵션

KoreanCharacter.ConsonantAssimilation

자음 동화가 일어나는 부분에서 역행 동화, 순행 동화 모두 가능할 때 어느쪽을 선택할지 지정할 수 있는 옵션.

  • ConsonantAssimilation.Progressive: 순행 동화
  • ConsonantAssimilation.Regressive: 역행 동화
KoreanRomanizer.romanize("신라면", KoreanCharacter.ConsonantAssimilation.Progressive);
// => Sinnamyeon

KoreanRomanizer.romanize("신라면", KoreanCharacter.ConsonantAssimilation.Regressive);
// => Sillamyeon
KoreanCharacter.Type

단어의 성격별로 예외적인 처리를 하기 위해 단어의 타입을 지정할 수 있는 옵션.

Type.Substantives

체언에서 'ㄱ, ㄷ, ㅂ' 뒤에 'ㅎ'이 따를 때 'ㅎ'을 밝혀 적기 위해 주는 옵션.

KoreanRomanizer.romanize("묵호");
// => Muko

KoreanRomanizer.romanize("묵호", KoreanCharacter.Type.Substantives);
// => Mukho
Type.Compound

합성어에서 앞 단어의 끝이 자음이고 뒤 단어의 첫 음절 발음이 y 또는 i로 시작되는 경우 'ㄴ'을 첨가하는 옵션.

KoreanRomanizer.romanize("학여울");
// => Hagyeoul

KoreanRomanizer.romanize("학여울", KoreanCharacter.Type.Compound);
// => Hangnyeoul
Type.District

지명을 올바르게 표기하기 위한 옵션.

KoreanRomanizer.romanize("제주도");
// => Jejudo
KoreanRomanizer.romanize("효자로73번길")
// => Hyojaro73Beon-gil

KoreanRomanizer.romanize("제주도", KoreanCharacter.Type.District);
// => Jeju-do
KoreanRomanizer.romanize("효자로73번길", KoreanCharacter.Type.District)
// => Hyoja-ro 73beon-gil
Type.Name

인명을 올바르게 표기하기 위한 옵션

KoreanRomanizer.romanize("제갈공명")
// => Jegalgongmyeong

KoreanRomanizer.romanize("제갈공명", KoreanCharacter.Type.Name)
// => Jegal Gongmyeong
Type.NameTypical

Type.Name과 같지만 흔히 사용하는 성씨 표기법을 따르는 옵션

KoreanRomanizer.romanize("박보검", KoreanCharacter.Type.Name)
// => Bak Bogeom

KoreanRomanizer.romanize("박보검", KoreanCharacter.Type.NameTypical)
// => Park Bogeom
Type.Typical

위 옵션들을 지정하지 않았을 때의 기본 값.

사용법

new KoreanCharacter('A').getRomanizedString();
// => A

new KoreanCharacter('고').getRomanizedString();
// => go

new KoreanCharacter('고').getRomanizedString(new KoreanCharacter('닭'), null, ConsonantAssimilation.Regressive, Type.Typical);
// '고' 앞에 '닭'이 있을 때 '고'의 발음
// => kko

new KoreanCharacter('신').getRomanizedString(null, new KoreanCharacter('라'), KoreanCharacter.ConsonantAssimilation.Progressive, KoreanCharacter.Type.Typical)
// '신' 뒤에 '라'가 있고 순행 동화를 적용했을 때의 발음
// => sin

KoreanRomanizer

KoreanRomanizer.romanize

  • KoreanRomanizer.romanize(String)
  • KoreanRomanizer.romanize(String, ConsonantAssimilation)
  • KoreanRomanizer.romanize(String, Type)
  • KoreanRomanizer.romanize(String, Type, ConsonantAssimilation)

입력 받은 문자열을 로마자로 변환한다. 변환시 옵션을 추가할 수 있는 Overloading 메소드들도 존재한다.

type, consonantAssimilation 값을 생략했을 때는 Type.Typical, ConsonantAssimilation.Regressive가 기본값.

라이선스

MIT license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].