java实现jieba分词服务器的搭建
1.搭建一个类似于tomcat的服务器,利用结巴提供的方法对数据进行分词处理,主要用于数据的初处理,利于后期的数据分析统计.
具体要求是 利用浏览器或者程序发送一个get请求,这个服务器给我一个响应结果,通过对一个单词或者词组进行分词,返回给浏览器
先上效果图:
1.用python实现分词
简单的提一下,python使用结巴分词相对java来说真心简洁多了:
下面展示一些 内联代码片
。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import jieba #导入包
cut = jieba.cut
# bottle 是一个http 的开发工具
from bottle import route,run
# sentence :待拆分的字符串 中华人民共和国 ->
#返回值: 以空格分隔的 字符串
def token(sentence):
seg_list = list( cut(sentence) )
return " ".join(seg_list)
#路由设置
@route('/token/:sentence')
def index(sentence):
print( "====",sentence )
result = token(sentence)
return "{\"ret\":0, \"msg\":\"OK\", \"terms\":\"%s\"}" % result
#相当于 java 中的 main
if __name__ == "__main__":
#以 http://localhost:8282/token/今天是星期天 访问
run(host="localhost",port=8282)
2.java实现分词
1.首先先上配置文件
配置文件我用的xml文件,打算利用xml解析获取端口
对xml不熟悉的小伙伴可以去这看看ServerSocket 监听端口
链接: https://blog.csdn.net/weixin_44128597/article/details/106620690.
<?xml version="1.0" encoding="UTF-8"?>
<Server>
<Connector port="9090" />
</Server
2.用maven导入jieba的包
<!--结巴分词 https://mvnrepository.com/artifact/com.huaban/jieba-analysis -->
<dependency>
<groupId>com.huaban</groupId>
<artifactId>jieba-analysis</artifactId>
<version>1.0.2</version>
</dependency>
3.配置xml文件的位置以及创建日志对象
import org.apache.log4j.Logger;
public class YcConstants {
/**
* 配置server.xml文件名字
*/
public final static String SERVERCONFIG="conf/server.xml";
/**
* 日志对象
*/
public final static Logger logger=Logger.getLogger(YcConstants.class);
}
3.主程序创建套接字Socket,完成xml解析
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class KittyServer {
public static void main(String[] args) throws Exception {
KittyServer ks=new KittyServer();
ks.