com.mayabot.nlp.segment.plugins.collector.CollectorApi.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mynlp Show documentation
Show all versions of mynlp Show documentation
Maya Nlp subproject :mynlp
package com.mayabot.nlp.segment.plugins.collector
import com.mayabot.nlp.segment.WordTerm
import com.mayabot.nlp.segment.wordnet.Wordnet
import com.mayabot.nlp.segment.wordnet.Wordpath
import java.util.function.Consumer
/**
* Mynlp WordTerm 收集器
*
*
* 从wordPath、wordnet这两个数据结构中获得最终的分词结果。
*
*
* 通过这个接口,可以让相同的分词器,获得不同的用途的分词结果。
*
* @author jimichan
*/
interface WordTermCollector {
/**
* 收集分词结构
*
* @param txtChars 词图
* @param KeepChar 词图
* @param wordnet 词图
* @param wordPath 最后的WordPath路径
* @param consumer 接受WordTerm的消费者
*/
fun collect(txtChars:CharArray?,wordnet: Wordnet, wordPath: Wordpath, consumer: Consumer)
var pickUpSubword: PickUpSubword?
var fillSubword: FillSubword?
/**
* 感知机、crf等分词,wordnet中没有子词信息。那么通过这个接口在收集结果之前,通过词典新增子词信息。
* @author jimichan
*/
interface FillSubword {
fun fill(wordnet: Wordnet, wordPath: Wordpath)
}
/**
* 从wordnet中计算出子词的方法。
* @author jimichan
*/
interface PickUpSubword {
fun pickup(term: WordTerm, wordnet: Wordnet, wordPath: Wordpath)
}
}