main.kr.bydelta.koala.daon.ext.kt Maven / Gradle / Ivy
@file:JvmName("Util")
@file:JvmMultifileClass
package kr.bydelta.koala.daon
import kr.bydelta.koala.POS
/**
* 세종 품사 표기를 Daon의 품사로 변환합니다.
*
* * 변환표는 [여기](https://docs.google.com/spreadsheets/d/1OGM4JDdLk6URuegFKXg1huuKWynhg_EQnZYgTmG4h0s Conversion Table (Korean))에서 볼 수 있습니다.
*
* ## 사용 예
* ### Kotlin
* ```kotlin
* POS.NNG.fromSejongPOS()
* ```
*
* ### Scala + [koalanlp-scala](https://koalanlp.github.io/scala-support)
* ```scala
* POS.NNG.fromSejongPOS()
* ```
*
* ### Java
* ```java
* Util.fromSejongPOS(POS.NNG)
* ```
*
* @since 1.x
* @return 변환된 품사.
*/
fun POS.fromSejongPOS(): String =
when (this) {
POS.XSM -> "XSB"
POS.NNM -> "NNB"
else -> this.toString()
}
/**
* Daon의 품사를 세종 품사표기로 변환합니다.
*
* * 변환표는 [여기](https://docs.google.com/spreadsheets/d/1OGM4JDdLk6URuegFKXg1huuKWynhg_EQnZYgTmG4h0s Conversion Table (Korean))에서 볼 수 있습니다.
*
* ## 사용 예
* ### Kotlin
* ```kotlin
* "NNG".toSejongPOS()
* ```
*
* ### Scala + [koalanlp-scala](https://koalanlp.github.io/scala-support)
* ```scala
* "NNG".toSejongPOS()
* ```
*
* ### Java
* ```java
* Util.toSejongPOS("NNG")
* ```
*
* @since 1.x
* @return 변환된 세종 품사표기
*/
fun String?.toSejongPOS(): POS =
when (this?.toUpperCase()) {
null -> POS.NA
"XSB" -> POS.XSM
else -> POS.valueOf(this.toUpperCase())
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy