java generate word_Java WordNet.addAll方法代码示例

import com.hankcs.hanlp.seg.common.WordNet; //导入方法依赖的package包/类

@Override

protected List segSentence(char[] sentence) {

// long start = System.currentTimeMillis();

WordNet wordNetAll = new WordNet(sentence);

// //生成词网

GenerateWordNet(wordNetAll);

// /生成词图

// System.out.println("构图:" + (System.currentTimeMillis() - start));

if (HanLP.Config.DEBUG) {

System.out.printf("粗分词网:\n%s\n", wordNetAll);

}

// start = System.currentTimeMillis();

List vertexList = viterbi(wordNetAll);

// System.out.println("最短路:" + (System.currentTimeMillis() - start));

if (config.useCustomDictionary) {

if (config.indexMode)

combineByCustomDictionary(vertexList, wordNetAll);

else

combineByCustomDictionary(vertexList);

}

if (HanLP.Config.DEBUG) {

System.out.println("粗分结果" + convert(vertexList, false));

}

// 数字识别

if (config.numberQuantifierRecognize) {

mergeNumberQuantifier(vertexList, wordNetAll, config);

}

// 实体命名识别

if (config.ner) {

WordNet wordNetOptimum = new WordNet(sentence, vertexList);

int preSize = wordNetOptimum.size();

if (config.nameRecognize) {

PersonRecognition.Recognition(vertexList, wordNetOptimum,

wordNetAll);

}

if (config.translatedNameRecognize) {

TranslatedPersonRecognition.Recognition(vertexList,

wordNetOptimum, wordNetAll);

}

if (config.japaneseNameRecognize) {

JapanesePersonRecognition.Recognition(vertexList,

wordNetOptimum, wordNetAll);

}

if (config.placeRecognize) {

PlaceRecognition.Recognition(vertexList, wordNetOptimum,

wordNetAll);

}

if (config.organizationRecognize) {

// 层叠隐马模型——生成输出作为下一级隐马输入

vertexList = viterbi(wordNetOptimum);

wordNetOptimum.clear();

wordNetOptimum.addAll(vertexList);

preSize = wordNetOptimum.size();

OrganizationRecognition.Recognition(vertexList, wordNetOptimum,

wordNetAll);

}

if (wordNetOptimum.size() != preSize) {

vertexList = viterbi(wordNetOptimum);

if (HanLP.Config.DEBUG) {

System.out.printf("细分词网:\n%s\n", wordNetOptimum);

}

}

}

// 如果是索引模式则全切分

if (config.indexMode) {

return decorateResultForIndexMode(vertexList, wordNetAll);

}

// 是否标注词性

if (config.speechTagging) {

speechTagging(vertexList);

}

return convert(vertexList, config.offset);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值