mahout查詢詞推薦應(yīng)用方案_第1頁
mahout查詢詞推薦應(yīng)用方案_第2頁
mahout查詢詞推薦應(yīng)用方案_第3頁
mahout查詢詞推薦應(yīng)用方案_第4頁
mahout查詢詞推薦應(yīng)用方案_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

了...”。用戶基本思想就是計算用戶/word的關(guān)系,為用戶推薦搜索word用戶可以是的用戶,或者根據(jù)瀏覽器標(biāo)識的臨時用戶是鄰居,因此可以給u3推薦word1。 用戶 ,并設(shè)置到請求參數(shù)中給solr日志組件使用。{HttpServletRequestreqw=Stringsessionid=reqw.getSession().getId();Stringip=reqw.getRemoteHost();reqw.getParameterMap().put("session",newString[]{sessionid});reqw.getParameterMap().put("ip",newString[]{ip});chain.doFilter(reqw,rsp);}值或者使用mahout的Boolean模型類-GenericBooleanPrefDataModel。BasicDataSourceds//獲取BasicDataSourceds//獲取JDBCFastByIDMap<FastIDSetdatanewFastByIDMap<FastIDSet>();//推薦模型的內(nèi)存數(shù)據(jù)集Statementstmt=...//JDBCStringsql="SELECTDISTINCTSESSION,QUERYFROMsolr_logdata"+"WHERELOGTYPE='QUERY'orderbydatedesc";ResultSetrs=while(rs.next())Stringuser=rs.getString("SESSION");Stringword=rs.getString("QUERY");FastIDSetitemIDsdata.get(uid);//用戶的wordif(itemIDs==null){itemIDs=newFastIDSet();data.put(uid,itemIDs);}}DataModelmodel=newmap對象來保存此映射關(guān)系,以用戶-Long的映射為例,提供2個方法如下:publicstaticsynchronizedLonggetUserId(Stringuser)if(user==null)user="NULL";Longlid=if(lid==null)lid=new}return}publicstaticStringgetUserById(Long{ tor<String>it= while(it.hasNext()){Stringkey=it.next();Longid=if(id!=null&&return}return}MySQLBooleanPrefJDBCDataModel等已經(jīng)實現(xiàn)的類。mender()throwsUserSimilaritysimilarity=newLogLikelihoodSimilarity(model);,mender=new } 與基于用戶的CFItemSimilaritysimilarity=newLogLikelihoodSimilarity(model);}mender= privateprivatestaticmender()throwsLonguidnew 的用戶 mender mendations for mendedItemritem }}黃島千佛山由于本場景中使用了用戶的session作為標(biāo)識,其的是用戶與搜索引擎的一段會話交CF推薦,也就是“搜索了此的用戶也搜索了...”。publicstaticDataModelupdateModel(DataModelmodel,Stringuser,Stringitem)publicstaticDataModelupdateModel(DataModelmodel,Stringuser,Stringitem)ExceptionLonguid=getUserId(user); returnGenericBooleanPrefDataModelgb_model=FastByIDMap<FastIDSet>FastByIDMap<FastIDSet>data=gb_model.getRawUserData();FastIDSetitemIDs=data.get(uid);if(itemIDs==null){itemIDs=newFastIDSet();data.put(uid,itemIDs);}returnnew}或者使用jdbc <ponentmender"<ponentmender"ponent" 修改數(shù)據(jù)模型的功能,即支持setPreference()方法的操作。要求此類必須是單例對象,以保證用戶、查詢詞與Long實 實現(xiàn)solr查詢詞的推薦,內(nèi)部封裝GenericBoolean mend方法,先進(jìn)行用戶名稱、物品名稱到Long的轉(zhuǎn)換,然publicTasteExceptionmend(Stringuser,String[]items,publicTasteExceptionmend(Stringuser,String[]items,inthowMany)Longuid= mendedQuerys=newArrayList< Long[]itemids=wrapper.getItemIds(items);ifif(itemids!=for(Long,,}}mendedItemsmendedItems==nullmendedItems.size()< mendedQueryq=} } 返回的XML2、現(xiàn)在采用的推薦算法是實時計算的,即每次調(diào)用mend方法時對模型的所有數(shù)據(jù)比如"濟(jì)南大明湖"和"濟(jì)南大明湖"實際都是相同的查詢,但在本方案中是2Item。對此也應(yīng)CF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論