package com.qxueyou.scc.base.util;
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
|
import com.caucho.hessian.client.HessianProxyFactory;
|
//import com.qxueyou.scc.base.service.IConfigService;
|
|
/**
|
* 使用远程服务HanLP引擎,处理文本,包括分词,转拼音,提取摘要,词频统计,关键字提取
|
* @author xiadehu
|
*
|
*/
|
public final class WordProcessUtils {
|
|
private static WordProcessClient client;
|
|
private static Logger log = LogManager.getLogger(WordProcessUtils.class);
|
|
private static void buildClient() {
|
try {
|
// String url = SpringUtil.getBean(IConfigService.class).getConfig("word-process-url");
|
String url = null;
|
HessianProxyFactory hessianFactory = new HessianProxyFactory();
|
client = (WordProcessClient) hessianFactory.create(WordProcessClient.class, url);
|
} catch (Exception e) {
|
log.error(e, e);
|
}
|
}
|
|
|
/**
|
* 分词,如果传入null,则返回空
|
* @param text 原文
|
* @return 分词后的结果
|
*/
|
public static String segment(String text){
|
if (client == null) {
|
buildClient();
|
}
|
return client.segment(text);
|
}
|
|
/**
|
* 转拼音,无分隔符
|
* @param text 原文
|
* @return 转拼音的结果
|
*/
|
public static String toPinyin(String text){
|
if (client == null) {
|
buildClient();
|
}
|
return client.toPinyin(text);
|
|
}
|
|
/**
|
* 转拼音
|
* @param text 原文
|
* @param seperator 分隔符
|
* @return 转拼音的结果
|
*/
|
public static String toPinyin(String text,String seperator){
|
if (client == null) {
|
buildClient();
|
}
|
return client.toPinyin(text,seperator);
|
|
}
|
|
interface WordProcessClient {
|
String segment(String text);
|
|
String toPinyin(String text);
|
|
String toPinyin(String text,String seperator);
|
}
|
|
}
|