当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp中利用CSW中文分词组件来实现自己网站的内容关键词自动提取

ASP
ASP编程菜鸟易犯的一个错误
ASP申请单动态添加实现方法及代码
经验总结:ASP与存储过程解析
学以致用 驳“ASP低能论”
使用ASP脚本技术
ASP、Request对象与SQL注入
判断访问是否来自搜索引擎的ASP函数
ASP判断数据库值是否为空的通用函数
大刀阔斧扔掉ASP,充分准备学习ASP.NET
关于创建多级文件夹的ASP函数实例
ASP正则判断取出HTML的图片地址的函数
网页不存在自动给管理员发邮件的ASP代码
ASP教程:等差数列和等比数列通项公式
Recordset对象和Command对象的区别
Filter与updatebatch混合使用实现批量更新
ASP实例:检测整数和长整数的函数
在不支持FSO的服务器上使用XMLDOM创建HTML文件
汉字转拼音ASP函数
网页输出N行N列表格的ASP实现方法
ASP操作数据库的类

ASP 中的 asp中利用CSW中文分词组件来实现自己网站的内容关键词自动提取


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 209 ::
收藏到网摘: n/a

比如标题是:腾讯QQ 2006 珊瑚虫集成版 v4.5b
分词后:[此资源关键词:腾讯 QQ 珊瑚虫 集成 ]
并且把关键词做成专题,可以为每个内容页面生成相关连接了
用CSW中文分词组件
下载:http://www.vgoogle.net/Product_CSW.asp
下面是我的ASP代码,比较粗浅,但实用
codecsw 得到输出的所有分词结果,用它的组建里面有个ASP文件,你一看就知道怎么得到分词结果了,这个不详细说了。
复制代码 代码如下:

fcon=split(htm," ")
fcs=ubound(fcon)
for fci=0 to fcs
if fci mod 2=0 then
fcn=fcn&fcon(fci)&"$fc^#$" '我这里用$fc^#$来分割每个分词
else
fcw=fcw&fcon(fci)&"$fc^#$"
end if
next
fcn=left(fcn,len(fcn)-12) '去掉最前面的$fc^#$
fcw=left(fcw,len(fcw)-6) 去掉最后面的$fc^#$
don=split(fcn,"$fc^#$")
donn=split(fcw,"$fc^#$")
dos=ubound(don)
for doi=0 to dos
fcname=don(doi) '得到分词
fcsx=donn(doi) '得到分词属性
'下面是判断分词符合我所提出的属性,比如名词、名动词、动词等,排除了数词、状词和连接词等。
if fcsx="/b" or fcsx="/nz" or fcsx="/n" or fcsx="/an" or fcsx="/nx" or fcsx="/f" or fcsx="/i" or fcsx="/l" or fcsx="/ng" or fcsx="/nr" or fcsx="/ns" or fcsx="/nt" or fcsx="/nz" or fcsx="/v" or fcsx="/vn" or fcsx="/s" or fcsx="/g" then
if len(fcname)>1 then
if instr(fcname1,fcname&"$") then
else
if fcname<>" " and fcname<>"" then
fcname=replace(replace(replace(trim(fcname),chr(10),""),chr(13),""),chr(10)&chr(13),"") '去除分词的换行和回车键
if len(fcname)>1 then
'这里是分词入库,我的分词库只有三个字段,自动ID、分词名称和分词所属的内容ID
Set Rs = CreateObject("ADODB.Recordset")
sql="select top 1 * from fc where fcname='"&fcname&"'"
rs.open sql,conn,1,3
if rs.eof then
rs.addnew
end if
rs("fcname")=fcname
if instr(rs("mid"),","&id&",") then
else
rs("mid")=rs("mid")&","&id&","
end if
rs.update
rs.close
set rs=nothing
'分词入库结束
end if
end if
response.write fcname&"("&fcsx&")<br>"
mfc=mfc&fcname&","
end if
fcname1=fcname1&fcname&"$"
end if
end if
next
'这里是将分词添加到内容表,在内容表我只多加了一个分词字段mfc
if right(mfc,1)="$" then mfc=left(mfc,len(mfc)-1)
Set Rs = CreateObject("ADODB.Recordset")
sql="select top 1 mfc from m where mid="&id
rs.open sql,conn,1,3
rs("mfc")=mfc
rs.update
rs.close
set rs=nothing
end if

就这样实现了,呵呵,在分词表的内容ID都是用,来分割的,读取的时候自己研究下就可以