discuz文章关键字提取服务

作者: Robin 分类: Asp.net 发布时间: 2012-07-15 13:30

discuz在线分词是一个在线免费的提词接口。后有数十万中文论坛、supsite用户,对于语境、细胞词库的完善有更多的数据。 这个小程序是基于discuz在线分词批量更新已发内容的keywords(tag),如果数据量大(大于5万)的或者虚拟主机用户的话,最好环境搭到本地。速度会快一点。
中文分词越来越收到重视,可是如何去收集一个庞大的词库呢?又如何能够通过词库做好合理的中文分词呢?这些问题困扰着我们很长时间了。现在我来提供一个简单的分词方法,不需要提供词库就可以进行分词。还可以转编码呢?呵呵
http://keyword.discuz.com/related_kw.html?title=你的标题&content=你的内容&ics=输入时的编码&ocs=输出时的编码。
例子:
http://keyword.discuz.com/related_kw.html?title=寻斌的博客
就会返回一个XML,默认编码为GB2312.里面会拆分为 discuz、在线、中文三个词
这样只需要解析这个XML,就可以拿到拆分后的分词了,是不是很简单啊?呵呵。
protected void GetKeyword(string Title,CheckBoxList cb)
{
string url = "http://keyword.discuz.com/related_kw.html?title=" + Server.UrlEncode(Title);
Uri httpURL = new Uri(url);
HttpWebRequest httpReq = WebRequest.Create(httpURL) as HttpWebRequest;
httpReq.Method = "GET";
httpReq.KeepAlive = false;
HttpWebResponse httpResp = null;
StreamReader reader = null;
string respHTML = null;
try
{
httpResp = httpReq.GetResponse() as HttpWebResponse;
using (reader = new StreamReader(httpResp.GetResponseStream(), Encoding.Default))
{
respHTML = reader.ReadToEnd();
XElement root = XElement.Parse(respHTML);
var result = from c in root.Descendants(XName.Get("item")) select c.Value;
cb.DataSource = result;
cb.DataBind();
reader.Close();
}
}
catch (Exception ex) { }

}
protected void btnGetKeyword_Click(object sender, EventArgs e)
{
GetKeyword(txtTitle.Text,cblKeyword);
}

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签云