• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Asp.net/C#中利用SCWS中文分词

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

中文分词太麻烦了,也有些中文分词组件也不错,但要自己维护词库,我还是觉得麻烦,我尝试用SCWS中文分词,直接调用他的api,我什么都不需要做了,在此感谢一下。

 废话不多说了,直接上菜。

  1  /// <summary>

 2     /// 利用SCWS进行中文分词
 3     /// [email protected]
 4     /// </summary>
 5     /// <param name="str">需要分词的字符串</param>
 6     /// <returns>用空格分开的分词结果</returns>
 7     public static string Segment(string str)
 8     {
 9         System.Text.StringBuilder sb = new System.Text.StringBuilder();
10         try
11         {
12             string s = string.Empty;
13             System.Net.CookieContainer cookieContainer = new System.Net.CookieContainer();
14             // 将提交的字符串数据转换成字节数组           
15             byte[] postData = System.Text.Encoding.ASCII.GetBytes("data=" + System.Web.HttpUtility.UrlEncode(str) + "&respond=json&charset=utf8&ignore=yes&duality=no&traditional=no&multi=0");
16 
17             // 设置提交的相关参数
18             System.Net.HttpWebRequest request = System.Net.WebRequest.Create("http://www.ftphp.com/scws/api.php"as System.Net.HttpWebRequest;
19             request.Method = "POST";
20             request.KeepAlive = false;
21             request.ContentType = "application/x-www-form-urlencoded";
22             request.CookieContainer = cookieContainer;
23             request.ContentLength = postData.Length;
24 
25             // 提交请求数据
26             System.IO.Stream outputStream = request.GetRequestStream();
27             outputStream.Write(postData, 0, postData.Length);
28             outputStream.Close();
29 
30             // 接收返回的页面
31             System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse;
32             System.IO.Stream responseStream = response.GetResponseStream();
33             System.IO.StreamReader reader = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
34             string val = reader.ReadToEnd();
35 
36             Newtonsoft.Json.Linq.JObject results = Newtonsoft.Json.Linq.JObject.Parse(val);
37             foreach (var item in results["words"].Children())
38             {
39                 Newtonsoft.Json.Linq.JObject word = Newtonsoft.Json.Linq.JObject.Parse(item.ToString());
40                 sb.Append(word["word"].ToString() + " ");
41             }
42         }
43         catch
44         {
45         }
46 
47         return sb.ToString();
48     }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net中计算两个日期之间的相差的天数的方法(vb)发布时间:2022-07-10
下一篇:
ASP.NETExcel文件导入与导出实例发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap