• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Lucene和協(xié)同過(guò)濾算法的知識(shí)推送

    2016-12-13 05:55:01唐東凱孫境棋劉澤豪
    關(guān)鍵詞:關(guān)鍵字權(quán)值檢索

    肖 巍,唐東凱,孫境棋,劉澤豪

    (長(zhǎng)春工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,吉林 長(zhǎng)春 130012)

    ?

    基于Lucene和協(xié)同過(guò)濾算法的知識(shí)推送

    肖 巍,唐東凱,孫境棋,劉澤豪

    (長(zhǎng)春工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,吉林 長(zhǎng)春 130012)

    將Lucene檢索技術(shù)、IKAnalyzer分詞器以及Tika文本提取技術(shù)相結(jié)合進(jìn)行智能文件檢索及分類(lèi)。然后根據(jù)用戶(hù)的檢索結(jié)果對(duì)文件關(guān)鍵字進(jìn)行權(quán)值設(shè)置,用戶(hù)關(guān)注度越高,則關(guān)鍵字權(quán)值越大。使用協(xié)同過(guò)濾算法根據(jù)用戶(hù)查找的內(nèi)容對(duì)用戶(hù)關(guān)注度高的文件進(jìn)行推送。

    Lucene; IKAnalyzer; Tika; 協(xié)同過(guò)濾算法

    0 引 言

    互聯(lián)網(wǎng)上的學(xué)術(shù)論文、期刊文獻(xiàn)、專(zhuān)利數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)媒體、社交平臺(tái)(微信、微博、博客、論壇)等載體上蘊(yùn)藏著大量的專(zhuān)家研究成果、學(xué)術(shù)觀點(diǎn)、工作動(dòng)態(tài)及最新言論等信息。在知識(shí)的不斷增加過(guò)程中,由于知識(shí)的來(lái)源不同、用途不同、載體不同等,往往導(dǎo)致知識(shí)的時(shí)間鏈條錯(cuò)亂、關(guān)聯(lián)知識(shí)無(wú)法有效檢索、各類(lèi)知識(shí)無(wú)法綜合運(yùn)用等問(wèn)題的出現(xiàn),伴隨知識(shí)的持續(xù)積累,這種問(wèn)題愈發(fā)突出。如何能夠在快速有效地檢索出所需知識(shí)的同時(shí)推送相關(guān)知識(shí)內(nèi)容已經(jīng)成為目前研究的重點(diǎn)。

    1 智能知識(shí)檢索(LUCENE+IKAnalyzer+TIKA)

    智能檢索采用Lucene搜索技術(shù)、IKAnalyzer分詞器以及Tika文本提取三大技術(shù)相結(jié)合,提高了檢索精度,節(jié)省了檢索時(shí)間。Lucene是一個(gè)高性能的全文檢索工具[1]。Lucene包含了兩個(gè)主要的服務(wù):索引和檢索。

    1.1 Tika文本提取

    文本索引是Lucene重點(diǎn)構(gòu)造的一個(gè)索引區(qū)域,為高性能內(nèi)容查詢(xún)而創(chuàng)建的知識(shí)庫(kù),并提供了豐富的API,可以與存儲(chǔ)在索引中的內(nèi)容交互,但是Lucene在創(chuàng)建索引時(shí)無(wú)法滿(mǎn)足深入到文件內(nèi)容中建立文件內(nèi)容的索引[2-3]。

    使用Tika文本提取技術(shù)對(duì)文件內(nèi)容進(jìn)行索引。當(dāng)一個(gè)文件傳到Tika檢測(cè)文件類(lèi)型時(shí),一旦文檔類(lèi)型是已知的,從解析器庫(kù)中選擇合適的解析器解析文件內(nèi)容,提取文本。通過(guò)使用Tika文本提取技術(shù),Lucene就可以對(duì)文件里面的內(nèi)容創(chuàng)建索引,提高了檢索的精度。

    1.2 檢索過(guò)程

    Lucene技術(shù)中存在著大量的檢索方式,可以進(jìn)行精確搜索以及模糊搜索[4-5]。采用Lucene中的BoolenQuery()為整體框架,通過(guò)向其中傳入BooleanClause.Occur.MUST,BooleanClause.Occur.SHOULD,BooleanClause.Occur.MUST_NOT等參數(shù),控制搜索結(jié)果中是否包含所輸入的關(guān)鍵字,同時(shí)在BoolenQuery()中嵌入TermQuery()搜索,根據(jù)選擇的范圍進(jìn)行精確搜索,例如文章的標(biāo)題、作者、內(nèi)容等。BoolenQuery()中又嵌入了FuzzyQuery(),選擇模糊搜索時(shí),通過(guò)調(diào)節(jié)模糊的程度,自動(dòng)向FuzzyQuery()中傳遞兩個(gè)參數(shù),分別控制搜索關(guān)鍵字的至少匹配字?jǐn)?shù)和文字間的間隔,從而實(shí)現(xiàn)模糊搜索。在BoolenQuery()中加入了TermRangeQuery(),通過(guò)向其中傳入上限及下限兩個(gè)數(shù)值來(lái)控制搜索某一區(qū)間的文件,如文件大小、日期等。

    1.3 IKAnalyzer分詞器

    Lucene中自帶了多種分詞器,但是對(duì)于中文來(lái)說(shuō)效果并不是很好[6]。WhitespaceAnalyzer僅僅是去除空格,對(duì)字符沒(méi)有l(wèi)owcase化,不支持中文,并且不對(duì)生成的詞匯單元進(jìn)行其他規(guī)范化處理;SimpleAnalyzer會(huì)去掉數(shù)字類(lèi)型的字符;StopAnalyzer不支持中文?;谏鲜鰡?wèn)題,選擇IKAnalyzer分詞器對(duì)中文分詞效果比較好。具體如下:

    IKAnalyzer分詞器采用了特有的“正向迭代最細(xì)粒度切分算法”,具有60萬(wàn)字/s的高速處理能力;采用了多子處理器分析模式,支持中文等多種分詞處理;支持用戶(hù)詞典擴(kuò)展定義。針對(duì)Lucene全文檢索優(yōu)化的查詢(xún)分析器IKQueryParser;采用歧義分析算法優(yōu)化查詢(xún)關(guān)鍵字的搜索排列組合,能極大地提高Lucene檢索的準(zhǔn)確率。

    1.4 知識(shí)圖譜

    對(duì)所有知識(shí)進(jìn)行分類(lèi),根據(jù)不同分類(lèi)畫(huà)出知識(shí)圖譜,如圖1所示。

    圖1 知識(shí)圖譜

    根據(jù)用戶(hù)的檢索結(jié)果對(duì)文件關(guān)鍵字進(jìn)行權(quán)值設(shè)置,用戶(hù)關(guān)注度越高,則關(guān)鍵字權(quán)值越大。在用戶(hù)檢索某一關(guān)鍵字時(shí),先根據(jù)知識(shí)分類(lèi)在該領(lǐng)域內(nèi)判斷,然后再根據(jù)關(guān)鍵字的用戶(hù)關(guān)注度進(jìn)行推送。

    2 協(xié)同過(guò)濾算法

    協(xié)同過(guò)濾算法是推送系統(tǒng)領(lǐng)域最著名的算法[7-8]。簡(jiǎn)單來(lái)說(shuō),就是當(dāng)一個(gè)用戶(hù)A需要個(gè)性化推送時(shí),先找到和他興趣相似的用戶(hù)群體G,然后把G關(guān)注的、并且A沒(méi)有關(guān)注過(guò)的知識(shí)推送給A[9-10]。

    可以將該算法分為兩個(gè)步驟進(jìn)行:

    1)發(fā)現(xiàn)興趣相似用戶(hù)。使用余弦相似度計(jì)算兩個(gè)用戶(hù)之間的相似度。設(shè)N(u)為用戶(hù)u關(guān)注的知識(shí)集合,N(v)為用戶(hù)v關(guān)注的知識(shí)集合,那么u和v的相似度可以用下式計(jì)算:

    (1)

    假設(shè)目前共用4個(gè)用戶(hù)A、B、C、D;共有5條知識(shí)a、b、c、d、e。用戶(hù)與知識(shí)的關(guān)系(用戶(hù)關(guān)注知識(shí))如下:

    A:abc

    B:ac

    C:be

    D:cde

    為了能更好地計(jì)算用戶(hù)之間的相似度,需要建立“知識(shí)-用戶(hù)”的倒排:

    a:AB

    b:AC

    c:BD

    d:AD

    e:CD

    然后對(duì)于每條知識(shí),關(guān)注他的用戶(hù)兩兩之間相同知識(shí)加1。例如關(guān)注知識(shí)a的用戶(hù)有A和B,那么在矩陣中他們兩兩加1,即

    計(jì)算用戶(hù)兩兩之間的相似度,上面的矩陣僅僅代表公式的分子部分。整體矩陣表示為:

    計(jì)算所有用戶(hù)的相似度,找到與目標(biāo)用戶(hù)興趣相似的用戶(hù)集合。

    2)推薦知識(shí)。首先需要從矩陣中找出與目標(biāo)用戶(hù)u最相似的K個(gè)用戶(hù),用集合S(u,K)表示,將S中用戶(hù)關(guān)注的知識(shí)全部提取出來(lái),并去除u已經(jīng)關(guān)注的知識(shí)。對(duì)于每個(gè)知識(shí)i,用戶(hù)u對(duì)它感興趣的程度按下式計(jì)算:

    (2)

    式中:rvi——用戶(hù)v對(duì)i的關(guān)注程度。

    假設(shè)現(xiàn)在要給A推薦知識(shí),選取K(K=3)個(gè)相似用戶(hù),相似用戶(hù)則是B、C、D,那么他們關(guān)注過(guò)并且A沒(méi)有關(guān)注過(guò)的知識(shí)有c、e,分別計(jì)算p(A,c)和p(A,e):

    得出用戶(hù)A對(duì)c和e的關(guān)注程度一樣,根據(jù)得分排序,找出K個(gè)與目標(biāo)用戶(hù)最相似的鄰居。

    在這些鄰居關(guān)注的知識(shí)中,根據(jù)鄰居與用戶(hù)的遠(yuǎn)近程度算出每一條知識(shí)的推薦度。根據(jù)每一條知識(shí)的推薦度高低給目標(biāo)用戶(hù)推送知識(shí)。

    3 實(shí)驗(yàn)結(jié)果

    使用30萬(wàn)條數(shù)據(jù)對(duì)Lucene+IKanalyzer+Tika和Lucene檢索的準(zhǔn)確度和速度進(jìn)行測(cè)試,測(cè)試結(jié)果見(jiàn)表1。

    表1 檢索準(zhǔn)確度及速度結(jié)果

    使用30萬(wàn)條數(shù)據(jù)對(duì)檢索后進(jìn)行推送和未經(jīng)過(guò)檢索處理進(jìn)行推送測(cè)試,測(cè)試結(jié)果見(jiàn)表2。

    表2 推送準(zhǔn)確度結(jié)果 %

    實(shí)驗(yàn)結(jié)果表明,使用Lucene+IKanalyzer+Tika三種技術(shù)比使用Lucene的準(zhǔn)確度更高,速度更快。檢索后使用協(xié)同過(guò)濾算法進(jìn)行推送比不進(jìn)行檢索使用協(xié)同過(guò)濾推送的準(zhǔn)確率高。

    4 結(jié) 語(yǔ)

    使用Lucene檢索技術(shù)、IKAnalyzer分詞器以及Tika文本提取三種技術(shù)相結(jié)合的方式進(jìn)行智能檢索并對(duì)文件進(jìn)行分類(lèi),分類(lèi)后根據(jù)用戶(hù)的檢索結(jié)果對(duì)文件關(guān)鍵字進(jìn)行權(quán)值設(shè)置,用戶(hù)關(guān)注度越高,則關(guān)鍵字權(quán)值越大。實(shí)驗(yàn)結(jié)果表明,使用三種技術(shù)結(jié)合比只使用Lucene一種檢索速度更快,準(zhǔn)確度更高?;谌N技術(shù)結(jié)合檢索后的結(jié)果,并根據(jù)用戶(hù)查找的內(nèi)容和知識(shí)的關(guān)注度,使用協(xié)同過(guò)濾算法進(jìn)行推薦,推薦的結(jié)果更滿(mǎn)足用戶(hù)的需求。

    [1] 李永春,丁華福.Lucene的全文檢索的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(2):12-15.

    [2] 鄭榕增,林世平.基于Lucene的中文倒排索引技術(shù)的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(3):80-83.

    [3] 王歡,孫瑞志.基于領(lǐng)域本體和Lucene的語(yǔ)義檢索系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用,2010,30(6):1655-1657.

    [4] 高文舉,李曉偉,孫春燕,等.基于全文檢索Apache Lucene引擎的原理與流程研究[J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2008,29(4):424-427.

    [5] 張俊,李魯群,周熔.基于Lucene的搜索引擎的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(6):230-232.

    [6] 義天鵬,陳啟安.基于Lucene的中文分析器分詞性能比較研究[J].計(jì)算機(jī)工程,2012,38(22):279-282.

    [7] Zhao X,Niu Z,Chen W. Opinion-based collaborative filtering to solve popularity bias in recommender systems[C]//International Conference on Database and Expert Systems Applications. Springer Berlin Heidelberg,2013:426-433.

    [8] Yoshida T,Irie G,Satou T,et al. Improving item recommendation based on social tag ranking[C]//International Conference on Multimedia Modeling. Berlin:Springer Berlin Heidelberg,2012:161-172.

    [9] 孫光福,吳樂(lè),劉淇,等.基于時(shí)序行為的協(xié)同過(guò)濾推薦算法[J].軟件學(xué)報(bào),2013,24(11):2721-2733.

    [10] 劉青文.基于協(xié)同過(guò)濾的推薦算法研究[D].合肥:中國(guó)科技大學(xué),2013.

    Knowledge push based on Lucene and collaborative filtering algorithm

    XIAO Wei,TANG Dongkai,SUN Jingqi,LIU Zehao

    (School of Computer Science & Engineering,Changchun University of Technology,Changchun 130012,China)

    Combing Luceneindexing with IKAnalyzer and Tika,intelligent document retrieval and classification is realized. The document keyword weight is setaccording to the classification. The higher the user attention degree,the greater the weight of the keywords. With the collaborative filtering algorithm,the knowledge with more attention will be pushed forward.

    Lucene; IKAnalyzer; Tika; collaborative filtering algorithm.

    2016-06-20

    國(guó)家自然科學(xué)基金資助項(xiàng)目(61303132)

    肖 巍(1980-),女,漢族,吉林長(zhǎng)春人,長(zhǎng)春工業(yè)大學(xué)講師,碩士,主要從事數(shù)據(jù)挖掘與人工智能方向研究,E-mail:xiaowei@ccut.edu.cn.

    10.15923/j.cnki.cn22-1382/t.2016.5.18

    TP 316

    A

    1674-1374(2016)05-0503-04

    猜你喜歡
    關(guān)鍵字權(quán)值檢索
    一種融合時(shí)間權(quán)值和用戶(hù)行為序列的電影推薦模型
    履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤(pán)點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
    CONTENTS
    成功避開(kāi)“關(guān)鍵字”
    2019年第4-6期便捷檢索目錄
    基于權(quán)值動(dòng)量的RBM加速學(xué)習(xí)算法研究
    專(zhuān)利檢索中“語(yǔ)義”的表現(xiàn)
    基于用戶(hù)反饋的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵字查詢(xún)系統(tǒng)
    國(guó)際標(biāo)準(zhǔn)檢索
    國(guó)際標(biāo)準(zhǔn)檢索
    平陆县| 黔东| 建宁县| 通城县| 游戏| 神池县| 嵊州市| 静海县| 镇坪县| 高密市| 枝江市| 五莲县| 突泉县| 新丰县| 罗源县| 遂平县| 寻甸| 吴川市| 武川县| 孟州市| 手游| 阜阳市| 富川| 长沙市| 无为县| 永春县| 永昌县| 铅山县| 霸州市| 商丘市| 织金县| 密云县| 青田县| 龙里县| 桐乡市| 调兵山市| 吉木萨尔县| 峨山| 红安县| 根河市| 鹰潭市|