|
主题:[求助]自动获取关键词(tags)的问题,求程序高手解答 [收藏主题] |
科讯后台发布文章时可以自动从标题获取关键词,可是我发现获取的关键词有重复。比如标题 “科学家计划在撒哈拉沙漠兴建世界级太阳能发电站”会生成 太阳,太阳能,太阳能发电站 三个关键词,
如果我只想获取 "太阳能发电站" 这个最长的关键词。请问如何修改下程序代码。求高手解答 我知道科讯有个词库 zwck.txt,也查看它的相关KS_cls/Kesion.keycls.asp, 可惜对ASP代码不太熟,求高手对 Kesion.keycls.asp页面改动下。看能不能实现这个效果(自动获取最长关键词)。 下面是我提取的 Kesion.keycls.asp 部分代码来研究的,可是想不出好办法。 求高手看一下。 '参数:str 待检索的字符串 x 取长度 maxlen 最多返回长度 Function SplitKey(str, x,maxlen) LoadKey Dim a, b 'As String Dim i, j, flag, max, temp_str a = str '分词 For i = 1 To Len(a) For j = 1 To x a = a & Mid(a, i, j) & " " Next Next a = Split(a, " ") max = UBound(a) '过滤重复字符串 For i = 0 To max - 1 flag = a(i) For j = i + 1 To max - 1 If a(j) = flag And flag <> "" Then a(j) = "" End If Next If a(i) <> "" Then temp_str = temp_str & a(i) & " " End If Next a = Split(temp_str, " ") temp_str = "" For i=0 to Ubound(a) If Instr(KeyList,"|" & a(i) & "|")<>0 Then temp_str =temp_str & a(i) & " " If len(temp_str)>maxlen and maxlen<>0 then exit for end if Next SplitKey=replace(trim(temp_str)," ",",") End Function '判断中文 function iscn(str) Dim i i = Len(str) If i = 0 Then iscn = False Exit Function End If Do While i > 0 If Asc(Mid(str, i, 1)) < 10000 And Asc(Mid(str, i, 1)) > -10000 Then iscn = False Exit Function End If i = i - 1 Loop iscn = True end function |
|
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |