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

时间:2021-05-28

比如标题是:腾讯QQ2006珊瑚虫集成版v4.5b
分词后:[此资源关键词:腾讯QQ珊瑚虫集成]
并且把关键词做成专题,可以为每个内容页面生成相关连接了
用CSW中文分词组件
下载:http://www.vgoogle.net/Product_CSW.asp
下面是我的ASP代码,比较粗浅,但实用

codecsw得到输出的所有分词结果,用它的组建里面有个ASP文件,你一看就知道怎么得到分词结果了,这个不详细说了。
复制代码 代码如下:
fcon=split(htm,"")
fcs=ubound(fcon)
forfci=0tofcs
iffcimod2=0then
fcn=fcn&fcon(fci)&"$fc^#$"'我这里用$fc^#$来分割每个分词
else
fcw=fcw&fcon(fci)&"$fc^#$"
endif

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)
fordoi=0todos
fcname=don(doi)'得到分词
fcsx=donn(doi)'得到分词属性
'下面是判断分词符合我所提出的属性,比如名词、名动词、动词等,排除了数词、状词和连接词等。
iffcsx="/b"orfcsx="/nz"orfcsx="/n"orfcsx="/an"orfcsx="/nx"orfcsx="/f"orfcsx="/i"orfcsx="/l"orfcsx="/ng"orfcsx="/nr"orfcsx="/ns"orfcsx="/nt"orfcsx="/nz"orfcsx="/v"orfcsx="/vn"orfcsx="/s"orfcsx="/g"then
iflen(fcname)>1then
ifinstr(fcname1,fcname&"$")then
else
iffcname<>""andfcname<>""then
fcname=replace(replace(replace(trim(fcname),chr(10),""),chr(13),""),chr(10)&chr(13),"")'去除分词的换行和回车键
iflen(fcname)>1then
'这里是分词入库,我的分词库只有三个字段,自动ID、分词名称和分词所属的内容ID
SetRs=CreateObject("ADODB.Recordset")
sql="selecttop1*fromfcwherefcname='"&fcname&"'"
rs.opensql,conn,1,3
ifrs.eofthen
rs.addnew
endif
rs("fcname")=fcname
ifinstr(rs("mid"),","&id&",")then
else
rs("mid")=rs("mid")&","&id&","
endif
rs.update
rs.close
setrs=nothing
'分词入库结束
endif
endif
response.writefcname&"("&fcsx&")<br>"
mfc=mfc&fcname&","
endif
fcname1=fcname1&fcname&"$"
endif
endif
next
'这里是将分词添加到内容表,在内容表我只多加了一个分词字段mfc
ifright(mfc,1)="$"thenmfc=left(mfc,len(mfc)-1)
SetRs=CreateObject("ADODB.Recordset")
sql="selecttop1mfcfrommwheremid="&id
rs.opensql,conn,1,3
rs("mfc")=mfc
rs.update
rs.close
setrs=nothing
endif

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章