国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web頁面?zhèn)€性化搜索系統(tǒng)設(shè)計

2015-03-02 12:13:57董富江
軟件導(dǎo)刊 2015年1期
關(guān)鍵詞:關(guān)鍵字頁面個性化

董富江

摘要:提出一個Web頁面?zhèn)€性化搜索系統(tǒng)架構(gòu),給出了系統(tǒng)中用戶個性化信息存儲方法;設(shè)計了關(guān)鍵字個性化推薦和頁面排名個性化算法。

關(guān)鍵詞:Web頁面;個性化搜索系統(tǒng);個性化排名算法;關(guān)鍵詞:個性化

DOIDOI:10.11907/rjdk.143631

中圖分類號:TP311.5

文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:16727800(2015)001007002

0 引言

目前的搜索引擎大多不具備個性化信息搜索能力,因為不同的用戶輸入相同的檢索詞,所得到的搜索結(jié)果基本上也相同,原因是搜索引擎主要依賴于關(guān)鍵詞:索引方式查詢信息,這種方法對于復(fù)雜的層次化結(jié)構(gòu)特征信息或非結(jié)構(gòu)化信息力不從心。如何提高信息獲取的精度和效率,滿足用戶的個性化需求,是信息搜索領(lǐng)域重要的研究方向。本文基于開源搜索引擎Nutch設(shè)計和實(shí)現(xiàn)了一個個性化搜索系統(tǒng),具有頁面?zhèn)€性化排名和關(guān)鍵詞:個性化推薦功能。

1 系統(tǒng)架構(gòu)

圖1是基于開源搜索引擎Nutch實(shí)現(xiàn)的一個個性化搜索系統(tǒng)框架,具有索引更新、索引刪除、查詢優(yōu)化、網(wǎng)絡(luò)蜘蛛、分詞、索引庫、Nutch Core等模塊。

圖1 基于Nutch的個性化搜索系統(tǒng)架構(gòu)

這幾個模塊中除Nutch Core模塊外,其它模塊都是需要實(shí)現(xiàn)或配置的。圖1中的實(shí)線箭頭表示模塊間的調(diào)用關(guān)系,虛線箭頭表示調(diào)用是通過修改配置文件實(shí)現(xiàn)的。其中個性化信息庫模塊是為了收集、儲存?zhèn)€性化信息,并利用其設(shè)計個性化搜索。為了實(shí)現(xiàn)個性化搜索,需要對Nutch的搜索模塊進(jìn)行修改,將修改后的模塊稱為搜索優(yōu)化模塊。Nutch默認(rèn)的分詞模塊是英文的,因此在Nutch中配置了IKAnalyzer中文分詞器,在網(wǎng)頁抓取和信息檢索中實(shí)現(xiàn)中文分詞。

用戶的個性化信息存儲使用了MySQL開源數(shù)據(jù)庫系統(tǒng),主要設(shè)計了以下幾個數(shù)據(jù)表:①用戶基本信息表:用來存儲用戶的基本信息,用戶每次使用搜索引擎進(jìn)行一次搜索,即更新最近訪問時間:②用戶搜索表:用來存儲用戶近期使用系統(tǒng)進(jìn)行的搜索信息;③用戶興趣表:用來存儲用戶某次搜索輸入的關(guān)鍵字:④用戶訪問url表:用來存儲用戶某次訪問的URL信息。考慮到系統(tǒng)的存儲壓力,要對每個用戶的搜索數(shù)量、關(guān)鍵字?jǐn)?shù)量及每個關(guān)鍵字對應(yīng)的URL數(shù)量進(jìn)行限制。例如可以將每個用戶的關(guān)鍵字存儲數(shù)限定為1 000個,用戶查詢一個新的關(guān)鍵字時,就將原有的1 000個里面最早存入的第一個關(guān)鍵字刪除,將新的關(guān)鍵字插入,對URL個數(shù)也采取這種限制辦法。

2 頁面?zhèn)€性化排名算法

Nutch自帶的頁面排序算法類似于Google的PageRank算法,計算公式如下:

PR(A)=(1-d)+d(PR(1)/C(1)+…PR(n)/C(n))(1)

本文設(shè)計的個性化排名算法基于用戶行為,用戶在一段時間內(nèi)對某頁面點(diǎn)擊次數(shù)越多,或者在某頁面停留時間越長,頁面得分越高。為了實(shí)現(xiàn)個性化頁面排名,本文在Nutch頁面排名算法的基礎(chǔ)上,結(jié)合數(shù)據(jù)庫存儲的用戶個性化信息,實(shí)現(xiàn)搜索結(jié)果的個性化排名。改進(jìn)后的頁面排名算法如下:

PageScore(A)=w1×PR(A)+w2×PP(A)(2)

其中w1和w2為權(quán)重,PR(A)為Nutch算法的頁面得分,PP(A)為根據(jù)用戶個性化信息計算出來的分值,計算方法如下:

PP(A)=k1×visit_times(A)max(visit_times(doc))+k2×site_time(A)max(site_time(doc))+k3×visit_time(A)(3)

其中k1、k2、k3為權(quán)重,visit_times為用戶近3個月訪問該頁面的次數(shù),max(visit_times(doc))為用戶近3個月訪問最多的網(wǎng)頁次數(shù);site_time為用戶近3個月在頁面停留的時長,max(site_time(doc))為用戶近3個月網(wǎng)頁停留最長時間,visit_time為用戶最近一次訪問該頁面的時間,實(shí)際計算時將該時間轉(zhuǎn)換成整數(shù)。

當(dāng)用戶輸入q查詢到相關(guān)頁面后,利用公式(2),結(jié)合用戶的歷史搜索信息,計算這些頁面的PP和PageScore,然后在Nutch源代碼中找到類DistributedAnalysisTool.java進(jìn)行修改。

3 關(guān)鍵詞:個性化推薦

3.1 用戶關(guān)鍵字矩陣生成

利用數(shù)據(jù)庫表存儲的歷史訪問信息生成用戶關(guān)鍵字矩陣hq:

w11w12…w1nw21w22…w2n…………wm1wm2…wmn(4)

該矩陣為m行n列,代表該用戶近期進(jìn)行了m次搜索,并且在近期搜索了n個關(guān)鍵字。矩陣中wij計算方法如下:

wij=0若用戶第i次搜索使用了關(guān)鍵字j1若用戶第i次搜索未使用關(guān)鍵字j(5)

在實(shí)際中為了加快查詢速度,可以定期離線計算并保存該關(guān)鍵字矩陣和用戶模型。

3.2 關(guān)鍵字個性化推薦

用戶搜索的關(guān)鍵字出現(xiàn)在其興趣表中,該搜索q可以表示為:

q={kw1,kw2,…kwn} (6)

可以將歷史搜索中與該搜索相似度最大的搜索推薦給用戶,否則將關(guān)鍵詞:加入關(guān)鍵詞:集合。相似度計算方法如下:

sim(q,hq(i))=cos(q,hq(i))=q×hq(i)|q|2×|hq(i)|2(7)

其中hq(i)即為hq矩陣的第i行,為當(dāng)前用戶的第i次搜索。

在實(shí)際設(shè)計中,向用戶推薦的搜索與用戶當(dāng)前搜索共同作用,可以更加精確地概括用戶的搜索傾向,進(jìn)一步縮小搜索范圍。

4 系統(tǒng)實(shí)現(xiàn)

在Windows下可以使用Cygwin和Nutch自帶的蜘蛛抓取頁面和建立索引,也可以通過一些設(shè)置,使得抓取的信息為某一個主題信息。抓取結(jié)束后可以使用Luke工具查看建立好的索引,也可以使用Luke工具進(jìn)行信息檢索。實(shí)現(xiàn)頁面?zhèn)€性化排名算法和關(guān)鍵字個性化推薦算法后,將Nutch重新進(jìn)行編譯,部署到JSP容器(如Tomcat)后即可進(jìn)行非個性化信息檢索。部署好后啟動Tomcat,打開瀏覽器,輸入:http://localhost:8080/nutch,回車,即可看到Nutch搜索頁面。

5 結(jié)語

本文實(shí)現(xiàn)的頁面?zhèn)€性化排名和頁面?zhèn)€性化推薦算法具有一定的應(yīng)用價值。進(jìn)一步研究Nutch的實(shí)現(xiàn)機(jī)制和Web數(shù)據(jù)挖掘技術(shù),使用分布式技術(shù),以更好地實(shí)現(xiàn)信息的個性化搜索和個性化頁面推薦,提高檢索系統(tǒng)的性能,還有很多工作要做。

猜你喜歡
關(guān)鍵字頁面個性化
大狗熊在睡覺
刷新生活的頁面
履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個關(guān)鍵字,盤點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
華人時刊(2022年1期)2022-04-26 13:39:28
堅持個性化的寫作
文苑(2020年4期)2020-05-30 12:35:12
成功避開“關(guān)鍵字”
新聞的個性化寫作
新聞傳播(2018年12期)2018-09-19 06:27:10
上汽大通:C2B個性化定制未來
滿足群眾的個性化需求
基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
同一Word文檔 縱橫頁面并存
泗水县| 千阳县| 沙河市| 长治县| 元朗区| 峨山| 甘谷县| 安西县| 崇州市| 盐城市| 中江县| 河津市| 阳信县| 前郭尔| 辽阳县| 秭归县| 德庆县| 图木舒克市| 炎陵县| 象州县| 高州市| 南充市| 嘉鱼县| 西林县| 山东省| 深州市| 武清区| 南岸区| 桂东县| 高青县| 友谊县| 武山县| 汕头市| 车致| 韶山市| 吴忠市| 敦化市| 日土县| 区。| 噶尔县| 洛南县|