免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

SSM+協(xié)同過(guò)濾旅游推薦平臺(tái):ItemCF與余弦相似度從原理到落地

SSM+協(xié)同過(guò)濾旅游推薦平臺(tái):ItemCF與余弦相似度從原理到落地 簡(jiǎn)介一款基于協(xié)同過(guò)濾的在線通用旅游平臺(tái)網(wǎng)站源碼面向Java畢業(yè)設(shè)計(jì)學(xué)生及SSM框架初學(xué)者提供可直接運(yùn)行的前后端完整項(xiàng)目。項(xiàng)目集成MySQL數(shù)據(jù)庫(kù)按模塊實(shí)現(xiàn)了景點(diǎn)推薦管理、精選路線管理、用戶信息管理、系統(tǒng)公告與留言管理等主要功能其中景點(diǎn)信息可進(jìn)行增刪改查精選路線可針對(duì)游客需求靈活配置能夠直觀展示協(xié)同過(guò)濾推薦算法在旅游平臺(tái)中的落地過(guò)程。資源共1288個(gè)文件主要包括java源碼、jsp頁(yè)面、xml配置、jar依賴包、js/css前端腳本以及sql數(shù)據(jù)庫(kù)文件等壓縮包約52.7MB目錄結(jié)構(gòu)完整便于按模塊閱讀、調(diào)試和二次開(kāi)發(fā)。目前已有58人學(xué)習(xí)使用適合需要快速搭建旅游推薦系統(tǒng)原型、完成畢業(yè)設(shè)計(jì)或提升SSM項(xiàng)目實(shí)戰(zhàn)能力的開(kāi)發(fā)者參考。 做 java 畢業(yè)設(shè)計(jì)的人最怕的不是寫不出來(lái)而是打開(kāi)一套源碼發(fā)現(xiàn)能跑但講不清里面的推薦是怎么算出來(lái)的?;趨f(xié)同過(guò)濾的在線通用旅游平臺(tái)這套 SSM 畢設(shè)恰好把三類東西壓在一起SSMSpring SpringMVC MyBatis做業(yè)務(wù)、協(xié)同過(guò)濾做推薦、前端頁(yè)面做呈現(xiàn)?!巴ㄓ谩币馕吨唤壎骋粋€(gè)景區(qū)而是把不同城市的景點(diǎn)、路線、餐飲當(dāng)成可推薦的物品用用戶的歷史行為去預(yù)測(cè)下一步想去哪里。它適合三類人準(zhǔn)備 java 課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)的學(xué)生、剛學(xué) SSM 整合的初級(jí)工程師以及想看看協(xié)同過(guò)濾在真實(shí)業(yè)務(wù)表上怎么落地的 java 開(kāi)發(fā)。這套源碼不是給你抄完就交的而是讓你有一個(gè)能講清楚的骨架。2. 算法選型與評(píng)分矩陣構(gòu)造旅游場(chǎng)景為什么先做 ItemCF 而不是 UserCF協(xié)同過(guò)濾不是一套算法而是兩類思路。UserCF 先找“和我興趣相似的人”再把這些相似的人喜歡的景點(diǎn)推給我ItemCF 則先找“和我看過(guò)的景點(diǎn)相似的景點(diǎn)”直接推相似內(nèi)容。選哪一邊取決于平臺(tái)里用戶和物品的數(shù)量關(guān)系以及反饋數(shù)據(jù)的稀疏程度而不是哪個(gè)名字聽(tīng)著更高級(jí)。2.1 UserCF 與 ItemCF 怎么選一張表看完適用邊界旅游平臺(tái)的特點(diǎn)是景點(diǎn)數(shù)量遠(yuǎn)小于用戶數(shù)量且大多數(shù)用戶只去過(guò)幾個(gè)地方評(píng)分記錄非常稀疏。UserCF 要維護(hù)用戶間的相似度矩陣用戶一多、行為一稀疏矩陣?yán)锎罅渴恰皼](méi)交集”的用戶對(duì)算出來(lái)的相似度可信度很低ItemCF 只需要算景點(diǎn)之間的相似度景點(diǎn)數(shù)量小一個(gè)量級(jí)計(jì)算量可控而且“去過(guò)杭州的人也會(huì)去蘇州”這類解釋在旅游場(chǎng)景里比“和你相似的人喜歡這里”更直觀。維度UserCFItemCF最小計(jì)算單元用戶-用戶相似度物品-物品相似度適合規(guī)模用戶少、物品多、行為稠密用戶多、物品少、行為稀疏實(shí)時(shí)性用戶行為變化需重算相似用戶物品相似度可離線定時(shí)算可解釋性“和你興趣相似的張三也去過(guò)”“你看過(guò)西湖也可能會(huì)喜歡黿頭渚”旅游場(chǎng)景匹配度一般冷啟動(dòng)嚴(yán)重高推薦結(jié)果更穩(wěn)實(shí)際寫這套畢設(shè)時(shí)我一般把相似度計(jì)算放到一個(gè)單獨(dú)的 Service 里白天跑業(yè)務(wù)、凌晨定時(shí)算一次物品相似度緩存到 Redis 或本地內(nèi)存。答辯時(shí)這是加分點(diǎn)你不僅會(huì)調(diào)包還知道相似度要離線算不能每次請(qǐng)求都現(xiàn)算。2.2 評(píng)分從哪來(lái)把瀏覽、收藏、評(píng)論折算成統(tǒng)一評(píng)分協(xié)同過(guò)濾的輸入是一個(gè)用戶-物品評(píng)分矩陣但旅游網(wǎng)站通常沒(méi)有“打分”這個(gè)強(qiáng)反饋入口。常見(jiàn)做法是把三類隱式行為折算成分?jǐn)?shù)用戶瀏覽某個(gè)景點(diǎn)詳情記 1 分收藏記 3 分發(fā)表評(píng)論按評(píng)論星級(jí)記 1 到 5 分。把這些統(tǒng)一寫入 rating 表字段帶上行為類型和創(chuàng)建時(shí)間方便后面做時(shí)間衰減和調(diào)試。CREATE TABLE travel_rating ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, scenic_id INT NOT NULL, behavior_type TINYINT NOT NULL COMMENT 1-瀏覽 2-收藏 3-評(píng)論, score DECIMAL(2,1) NOT NULL DEFAULT 1.0 COMMENT 折算后的分?jǐn)?shù), create_time DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX idx_user_scenic (user_id, scenic_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;這表里的score不是讓前端傳的而是在 Service 層根據(jù)behavior_type折算后寫入。例如瀏覽行為寫入 1.0收藏寫入 3.0評(píng)論把 star 字段直接透?jìng)鳌V苑珠_(kāi)存behavior_type和score是為了調(diào)參時(shí)不改前端業(yè)務(wù)你覺(jué)得“瀏覽”不該有分把 Service 里那個(gè)常量從 1.0 改成 0 就行歷史數(shù)據(jù)不用回刷。2.3 余弦相似度計(jì)算一段可以直接用的 Java 方法評(píng)分矩陣構(gòu)造好以后下一步是算相似度。余弦相似度把每個(gè)景點(diǎn)看成一個(gè)向量向量維度是評(píng)過(guò)分的用戶集合兩個(gè)景點(diǎn)相似度就是這兩個(gè)向量的夾角余弦值。一段能直接放進(jìn)工具類的實(shí)現(xiàn)如下public class CosineSimilarity { /** * 計(jì)算兩個(gè)物品的余弦相似度 * param item1Ratings keyuserId value用戶對(duì)item1的評(píng)分 * param item2Ratings keyuserId value用戶對(duì)item2的評(píng)分 */ public static double calculate(MapInteger, Double item1Ratings, MapInteger, Double item2Ratings) { // 取兩個(gè)物品共同被評(píng)分過(guò)的用戶集合 SetInteger commonUsers new HashSet(item1Ratings.keySet()); commonUsers.retainAll(item2Ratings.keySet()); if (commonUsers.size() 2) { return 0.0; // 共同評(píng)分人數(shù)太少相似度直接判0 } double dotProduct 0.0; double norm1 0.0; double norm2 0.0; for (Integer userId : commonUsers) { double r1 item1Ratings.get(userId); double r2 item2Ratings.get(userId); dotProduct r1 * r2; norm1 r1 * r1; norm2 r2 * r2; } if (norm1 0.0 || norm2 0.0) { return 0.0; } return dotProduct / (Math.sqrt(norm1) * Math.sqrt(norm2)); } }這里有個(gè)容易被忽略的參數(shù)commonUsers.size() 2時(shí)直接返回 0。很多教程不寫這個(gè)判斷導(dǎo)致只有一兩個(gè)共同評(píng)分的景點(diǎn)對(duì)算出 1.0 的高相似度推薦列表里全是“只有一個(gè)用戶碰巧同時(shí)看過(guò)”的噪聲。代碼里的retainAll是求兩個(gè)評(píng)分 Map 的交集復(fù)雜度 O(min(n, m))先取共同用戶再算點(diǎn)積避免把整個(gè)矩陣的零值都遍歷一遍。3. SSM 代碼落地從數(shù)據(jù)庫(kù)表到旅游推薦接口的完整鏈路算法能跑通和項(xiàng)目能跑通是兩回事。這一章把 SSM 的骨架按“數(shù)據(jù)表 → Spring 配置 → 推薦 Service”的順序拆開(kāi)每部分都是可以直接往自己項(xiàng)目里搬的寫法。3.1 表結(jié)構(gòu)設(shè)計(jì)用戶、景點(diǎn)與行為評(píng)分三張核心表除了上一章的 rating 表還需要用戶表和景點(diǎn)表。用戶表存基礎(chǔ)登錄信息景點(diǎn)表存景點(diǎn)名稱、城市、分類、封面圖 URL、描述和熱度。熱度字段很關(guān)鍵冷啟動(dòng)時(shí)期評(píng)分?jǐn)?shù)據(jù)不足推薦模塊可以直接按熱度字段降序輸出默認(rèn)榜。CREATE TABLE travel_user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(64) NOT NULL, nickname VARCHAR(50), city VARCHAR(50), create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; CREATE TABLE travel_scenic ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, city VARCHAR(50) NOT NULL, category VARCHAR(30) NOT NULL COMMENT 自然風(fēng)光/人文古跡/主題樂(lè)園等, cover_url VARCHAR(255), description TEXT, heat INT DEFAULT 0 COMMENT 熱度用于冷啟動(dòng)兜底推薦, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;設(shè)計(jì)要點(diǎn)在travel_scenic.city和category兩個(gè)字段。城市維度用于推薦結(jié)果的多樣性控制——相似度計(jì)算時(shí)可以只取同城市或相鄰城市的景點(diǎn)減少跨地區(qū)推薦造成的“不相關(guān)感”分類字段則是給 ItemCF 做物品過(guò)濾的候選集。如果兩個(gè)景點(diǎn)一個(gè)在杭州一個(gè)在新疆評(píng)分交集少相似度天然低不需要額外處理。3.2 SSM 三件套配置Spring、SpringMVC、MyBatis 的啟動(dòng)順序SSM 整合最容易被絆倒的地方是配置文件各管各的Spring 管 Service 和 DAOSpringMVC 管 ControllerMyBatis 的 Mapper 還要聲明掃描路徑。我習(xí)慣把配置拆成三個(gè)文件職責(zé)邊界清楚出問(wèn)題也好定位。!-- applicationContext.xml數(shù)據(jù)源 SqlSessionFactory Mapper 掃描 -- context:property-placeholder locationclasspath:jdbc.properties/ bean iddataSource classcom.alibaba.druid.pool.DruidDataSource property namedriverClassName value${jdbc.driver}/ property nameurl value${jdbc.url}/ property nameusername value${jdbc.username}/ property namepassword value${jdbc.password}/ property nameinitialSize value5/ property namemaxActive value20/ property nametestWhileIdle valuetrue/ property namevalidationQuery valueSELECT 1/ /bean bean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBean property namedataSource refdataSource/ property nametypeAliasesPackage valuecom.example.travel.entity/ property nameconfiguration bean classorg.apache.ibatis.session.Configuration property namemapUnderscoreToCamelCase valuetrue/ /bean /property /bean mybatis:scan base-packagecom.example.travel.dao/這段配置里最容易漏的是mapUnderscoreToCamelCase。數(shù)據(jù)庫(kù)字段user_name要自動(dòng)映射成 Java 屬性u(píng)serName必須把這個(gè)開(kāi)關(guān)打開(kāi)否則 MyBatis 查出實(shí)體后 nickname、createTime 全是 null。mybatis:scan標(biāo)簽負(fù)責(zé)掃 DAO 接口沒(méi)有它 Controller 注入 Mapper 時(shí)會(huì)在啟動(dòng)階段直接報(bào)“No qualifying bean of type”。SpringMVC 部分要單獨(dú)配一個(gè) spring-mvc.xml重點(diǎn)處理靜態(tài)資源和注解驅(qū)動(dòng)!-- spring-mvc.xml只掃 Controller 層 -- context:component-scan base-packagecom.example.travel.controller/ mvc:annotation-driven/ mvc:resources mapping/static/** location/static//mvc:resources是很多畢設(shè)源碼翻車的重災(zāi)區(qū)。web.xml里把 DispatcherServlet 映射到/之后所有請(qǐng)求都會(huì)先進(jìn) SpringMVCHTML、CSS、JS 如果不做靜態(tài)資源放行頁(yè)面打開(kāi)時(shí)只剩赤裸裸的 HTML 結(jié)構(gòu)樣式和腳本全部 404。你要做的不是把映射改成*.do而是把 static 目錄放行給默認(rèn) Servlet。3.3 推薦服務(wù)實(shí)現(xiàn)Mapper 查數(shù)加內(nèi)存計(jì)算不引額外中間件這個(gè)畢設(shè)規(guī)模在幾百個(gè)用戶、幾百個(gè)景點(diǎn)量級(jí)完全不需要引入 Hadoop、Spark 之類的東西。推薦 Service 的做法是一次查出所有評(píng)分記錄在內(nèi)存里組裝成MapscenicId, MapuserId, score然后算相似度、取 TopK。Service public class RecommendService { Autowired private RatingMapper ratingMapper; Autowired private ScenicMapper scenicMapper; public ListScenic recommend(Integer userId, int topK) { // 1. 查出全部行為評(píng)分組裝成物品-用戶評(píng)分的倒排結(jié)構(gòu) ListRating allRatings ratingMapper.selectAll(); MapInteger, MapInteger, Double itemRatingsMap new HashMap(); MapInteger, MapInteger, Double userRatingsMap new HashMap(); for (Rating r : allRatings) { itemRatingsMap .computeIfAbsent(r.getScenicId(), k - new HashMap()) .put(r.getUserId(), r.getScore()); userRatingsMap .computeIfAbsent(r.getUserId(), k - new HashMap()) .put(r.getScenicId(), r.getScore()); } // 2. 找出當(dāng)前用戶評(píng)過(guò)分的景點(diǎn)列表 MapInteger, Double myRatings userRatingsMap .getOrDefault(userId, Collections.emptyMap()); // 3. 候選集用戶沒(méi)去過(guò)的景點(diǎn) MapInteger, Double scores new HashMap(); for (Integer itemId : itemRatingsMap.keySet()) { if (myRatings.containsKey(itemId)) { continue; // 去過(guò)的景點(diǎn)不重復(fù)推薦 } double totalScore 0.0; for (Integer ratedItemId : myRatings.keySet()) { double sim CosineSimilarity.calculate( itemRatingsMap.get(itemId), itemRatingsMap.get(ratedItemId)); totalScore sim * myRatings.get(ratedItemId); } scores.put(itemId, totalScore); } // 4. 按預(yù)測(cè)分?jǐn)?shù)降序取前 topK 個(gè)景點(diǎn)返回 return scores.entrySet().stream() .sorted(Map.Entry.Integer, DoublecomparingByValue().reversed()) .limit(topK) .map(entry - scenicMapper.selectById(entry.getKey())) .collect(Collectors.toList()); } }這段代碼的查詢邏輯是當(dāng)前用戶評(píng)分過(guò)的每一個(gè)景點(diǎn)都和候選景點(diǎn)算相似度再用“用戶對(duì)該景點(diǎn)的評(píng)分”作為權(quán)重累加。這個(gè)加權(quán)累加就是 ItemCF 的預(yù)測(cè)分公式。參數(shù)topK控制最終返回幾個(gè)推薦在 Controller 層我一般固定傳 10。如果候選集為空用戶什么都沒(méi)看過(guò)Service 里要兜底返回scenicMapper.selectByHeatLimit(10)熱度榜就是冷啟動(dòng)階段的兜底方案。4. SSM 旅游平臺(tái)部署避坑五個(gè)常見(jiàn)運(yùn)行期問(wèn)題與排查過(guò)程這套源碼的價(jià)值在“能跑”但 SSM 項(xiàng)目跑起來(lái)的過(guò)程基本上就是和配置、依賴、序列化搏斗的過(guò)程。下面五條都是實(shí)際跑項(xiàng)目時(shí)反復(fù)出現(xiàn)的坑每條按現(xiàn)象、原因、解決的順序?qū)憽?.1 頁(yè)面樣式全部丟失或 JS 不執(zhí)行現(xiàn)象Tomcat 啟動(dòng)成功首頁(yè) HTML 能打開(kāi)但所有 CSS、JS、圖片都 404頁(yè)面裸奔。原因DispatcherServlet 的 url-pattern 配置成/把所有請(qǐng)求都攔進(jìn)了 SpringMVC靜態(tài)資源沒(méi)有放行。如果你在 JSP 里寫的是相對(duì)路徑css/style.css還要注意頁(yè)面請(qǐng)求路徑的層級(jí)否則路徑拼接后也會(huì) 404。解決在 spring-mvc.xml 里加mvc:resources mapping/static/** location/static//并確保前端資源放在webapp/static/下。如果你的頁(yè)面用了link hrefcss/style.css最好改成${pageContext.request.contextPath}/static/css/style.css防止在二級(jí)路由下路徑錯(cuò)亂。4.2 Jackson 序列化堆棧溢出或懶加載異?,F(xiàn)象用 AJAX 請(qǐng)求一個(gè)返回景點(diǎn)的接口瀏覽器直接 500后臺(tái)日志出現(xiàn)StackOverflowError或could not initialize proxy - no Session。原因?qū)嶓w類之間有雙向關(guān)聯(lián)。景點(diǎn)實(shí)體里放了評(píng)論列表評(píng)論實(shí)體里又引用了用戶用戶再引用評(píng)論Jackson 序列化時(shí)無(wú)限遞歸。懶加載導(dǎo)致的 no Session 是另一個(gè)變種事務(wù)在 Service 層關(guān)閉后Controller 才去序列化未加載的關(guān)聯(lián)對(duì)象。解決在實(shí)體類的多的一側(cè)加JsonIgnore或者在返回對(duì)象上單獨(dú)建 VO只序列化需要展示的字段。我一般偏向建 VO不用動(dòng)實(shí)體類結(jié)構(gòu)也順便把密碼等敏感字段擋在外面。懶加載問(wèn)題就調(diào)整事務(wù)邊界把查詢?cè)u(píng)論的方法挪到事務(wù)內(nèi)或者用EntityGraph這類方案主動(dòng)抓取關(guān)聯(lián)數(shù)據(jù)。4.3 協(xié)同過(guò)濾算相似度時(shí)內(nèi)存溢出現(xiàn)象部署后第一次觸發(fā)“為你推薦”接口日志出現(xiàn)java.lang.OutOfMemoryError: Java heap space重啟后過(guò)幾天又出現(xiàn)。原因相似度計(jì)算是雙重循環(huán)物品數(shù) M、評(píng)分?jǐn)?shù) N 的規(guī)模下復(fù)雜度接近 O(M2·N)。數(shù)據(jù)量上去之后每一對(duì)物品都要建 HashMap、算交集堆內(nèi)存很快撐滿。解決兩個(gè)方向。一是先過(guò)濾無(wú)行為物品只對(duì)至少有 2 個(gè)人評(píng)過(guò)分的景點(diǎn)做候選二是把相似度計(jì)算改成離線任務(wù)用 Spring 的Scheduled每天凌晨算一次并緩存結(jié)果請(qǐng)求時(shí)只查緩存。畢設(shè)答辯時(shí)能講到這兩點(diǎn)比貼一段“調(diào)大 -Xmx”更有說(shuō)服力。4.4 MyBatis 查詢結(jié)果全是 null 或者日期字段異常現(xiàn)象景點(diǎn)列表接口返回 200但每條數(shù)據(jù)的 city、description 全是 null只有 id 有值。原因數(shù)據(jù)庫(kù)字段是下劃線風(fēng)格cover_url、create_time實(shí)體類是駝峰風(fēng)格coverUrl、createTimeMyBatis 默認(rèn)不自動(dòng)映射下劃線到駝峰不匹配的字段全部留空。解決在 sqlSessionFactory 配置里開(kāi)啟mapUnderscoreToCamelCase已經(jīng)在前一章配置代碼里給過(guò)。如果你不想動(dòng)全局配置也可以在 Mapper XML 里給每個(gè)字段寫 resultMap 顯式映射。日期字段出現(xiàn)格式問(wèn)題的檢查一下數(shù)據(jù)庫(kù)連接 URL 有沒(méi)有加serverTimezoneAsia/Shanghai不加會(huì)在解析 DATETIME 時(shí)直接報(bào)錯(cuò)。4.5 隔夜或一段時(shí)間后數(shù)據(jù)庫(kù)連接失效現(xiàn)象項(xiàng)目剛啟動(dòng)時(shí)一切正常第二天第一次請(qǐng)求報(bào)Communications link failure刷新一下又好了。原因MySQL 的wait_timeout默認(rèn) 8 小時(shí)空閑超過(guò)這個(gè)時(shí)間的連接會(huì)被服務(wù)端斷開(kāi)。Druid 連接池默認(rèn)不主動(dòng)探測(cè)連接池里還躺著那些失效連接第一次請(qǐng)求把它拿出去用自然報(bào)錯(cuò)。解決在 Druid 配置里加testWhileIdletrue、validationQuerySELECT 1并把timeBetweenEvictionRunsMillis設(shè)成 60000讓連接池每分鐘檢測(cè)一次空閑連接。這里有一個(gè)血淚經(jīng)驗(yàn)testOnBorrow不要開(kāi)加上之后每次請(qǐng)求都多一次 ping高并發(fā)下反而拖慢接口。5. 驗(yàn)證推薦效果用離線評(píng)測(cè)與參數(shù)調(diào)優(yōu)把推薦做“看得見(jiàn)”推薦算法不是跑通就結(jié)束而是要回答“推得準(zhǔn)不準(zhǔn)”。最直接的辦法是拿歷史評(píng)分做離線切分把每個(gè)用戶的評(píng)分按時(shí)間分成訓(xùn)練集和測(cè)試集用訓(xùn)練集學(xué)相似度再預(yù)測(cè)測(cè)試集里的景點(diǎn)最后算召回率。5.1 用離線數(shù)據(jù)集估算準(zhǔn)確率與召回率先寫一條 SQL 把每個(gè)用戶最后一條評(píng)分當(dāng)作測(cè)試集其余當(dāng)訓(xùn)練集然后用前面的 RecommendService 給測(cè)試用戶生成 Top10 推薦再檢查測(cè)試集景點(diǎn)是否出現(xiàn)在推薦列表里。import pymysql conn pymysql.connect(hostlocalhost, userroot, password123456, databasetravel_db, charsetutf8mb4) cur conn.cursor() cur.execute( SELECT r1.user_id, r1.scenic_id FROM travel_rating r1 JOIN ( SELECT user_id, MAX(create_time) AS max_time FROM travel_rating GROUP BY user_id ) r2 ON r1.user_id r2.user_id AND r1.create_time r2.max_time ) test_pairs cur.fetchall() # 推薦列表從 RecommendService 導(dǎo)出后再做命中判斷 hit sum(1 for user_id, scenic_id in test_pairs if scenic_id in recommend_map.get(user_id, [])) recall hit / len(test_pairs) print(f召回率: {recall:.2f})這段腳本把“每個(gè)用戶的最近一次行為”當(dāng)標(biāo)準(zhǔn)答案命中率就是召回率。邏輯說(shuō)明MAX(create_time)找最近行為如果推薦列表里有這個(gè)景點(diǎn)說(shuō)明算法命中實(shí)際跑下來(lái)召回率在 0.2 到 0.4 都是正常范圍畢竟旅游低頻、行為稀疏不要指望推得全中。5.2 兩個(gè)值得先調(diào)的參數(shù)相似度閾值與鄰居數(shù) K參數(shù)范圍影響調(diào)整策略相似度閾值0.2 ~ 0.4太低則噪聲多太高則候選集為空先固定在 0.3看召回率再微調(diào)鄰居數(shù) K10 ~ 30K 太小結(jié)果隨機(jī)太大熱門效應(yīng)明顯數(shù)據(jù)少時(shí)用 10數(shù)據(jù)多了調(diào)到 20 到 30兜底熱度榜條數(shù)5 ~ 10緩解冷啟動(dòng)無(wú)行為用戶直接返回?zé)岫劝裾{(diào)參的次序先調(diào)相似度閾值再調(diào) K。一開(kāi)始我把閾值寫成 0.1推薦出來(lái)的全是只有一個(gè)人評(píng)過(guò)分的冷門景點(diǎn)用戶完全沒(méi)聽(tīng)過(guò)改成 0.3 之后候選集干凈了很多。后來(lái)我發(fā)現(xiàn)一個(gè)更穩(wěn)的做法先給每個(gè)景點(diǎn)按城市和分類過(guò)濾只對(duì)同城或同類景點(diǎn)算相似度召回率比單純調(diào)閾值提升更明顯。這里我踩過(guò)最大的坑是把閾值調(diào)太高導(dǎo)致推薦列表經(jīng)常不足 10 個(gè)后來(lái)加了兜底邏輯不足時(shí)用熱度榜補(bǔ)齊。這個(gè)項(xiàng)目給我最大的教訓(xùn)是協(xié)同過(guò)濾的代碼只有幾十行難的是讓數(shù)據(jù)、參數(shù)、兜底策略匹配業(yè)務(wù)。面試時(shí)被問(wèn)到協(xié)同過(guò)濾不要上來(lái)背公式先從“評(píng)分?jǐn)?shù)據(jù)怎么構(gòu)造”講起再講“相似度用什么算、閾值怎么定、冷啟動(dòng)怎么兜底”這幾層講完面試官基本就認(rèn)可你是真寫過(guò)而不是背過(guò)八股。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色99在线观看| 高清一区二区三区日本久| 日韩人妻无码专区| 色www久视频| 狠狠狠狠狠狠| 这里只有精彩亚洲视频推荐| 久久婷五月| 九九热最新| 亚洲成人在线五月天| 婷婷伊人综合中文字幕| 野外99热| www,99热在线观看| 99视频| 激情www| 色VA| 激情久久久| 97伦乱| 久久丁香五月| 欧美婷婷五月丁香| 色五月色五天色情网| 激情综合丁| 天天综合网、天天综合色 | 久久aaaa片一区二区| 伊人玖玖网| 亚洲妇女熟BBW| 高清视频一区| 玖玖爱伊人| 久久黄色片| 婷婷五月天视| 91色呦哟| 欧美日韩欧美| 无码激情AAAAA片-区区| 风流少妇A片一区二区蜜桃 | 日本一级黄色片。| 搡BBBB搡BBB搡18 | 超碰免费人| 日韩操人| BBWCUCKOLD精品熟妇| 久久久8| 丁香婷婷色| 五月激情精品视频| 91色在线| 大香蕉久久久| 丁香五月六月久久综合 | 99热激情| 六月天婷婷| 996热re视频精品视频| 深爱婷婷丁香五月激情| 九九视频在线| 欧美Va婷色| 狠狠干综合网| 九九这里是免费的视频5| 深爱五月网| 99秘 在线| 熟妇人妻中文字幕无码老熟妇| 五月社区婷婷激情| 99爱视频免费看| 婷婷五月综合欧美在线播放| tingting五月天亚洲| 天天开心天天色| 久久久99免费视频| WWW五月婷婷| 97操在线视频| 色欲影香| 九九精品热播| 99re热精品视频国| 五月婷综合性中心| 天天爱综合网| 欧美性爱五月天| 狠狠色婷婷| 五月丁香婷婷啪啪| 亚洲xx在线| 五月桃花网综合| 九月色婷婷婷| 成人短视频在线观看| www.久久爱| 丁香色色网| 成人午夜免费电影| 亚洲12p| 国产欧美日韩性爱| 九九热视频精品999| 欧美成人精品A片免费一区99| 中文成人在线| 站长推荐无码播放| 白人荫道BBWBBB大荫道| 国精产品一区一区三区免费视频| 99热在线观看| 人人爽欧美婷婷久久久五月丁香| 久久爱婷婷| 99热丁香| Blackedraw视频一区二区| 亚洲丁香五冃97色| 婷婷永久在线| 永久精品| 成人无码精品1区2区3区免费看| 无码区婷婷五月花开| 综合AV在线| 久久久久久久人妻| 伊人www22综合色| 色网站99| 五月停亭六月,六月停亭的英语| 综合网五月| 国产成人+综合亚洲+天堂| 99色亚洲| 久久激情五月天| 天天爽—爽| 99热66| 色婷婷九月| 色涩视频久久| 婷婷五月天激情综合深爱| www夜夜| 996热| 激情六月丁| 五月综合色| 国产精品电| WWW免费视频碰碰碰碰| av在线超清中文| 啪到高潮激情丁香五月| 色视频五月天| 91大操| 超碰女人天堂| 欧美色色色色色色| 99热99操| 婷婷五月激情小说| 99热官网精品在线| 五月丁香六月婷婷手机无线| 五月婷婷99热| 日本天堂爱爱| 久久综合丁香| 大香蕉天堂| 激情色情五月天| 天天综合在线网| 伊人天堂婷婷| 色婷婷色婷婷五月| 超碰五月婷婷五月天| 丁香五月婷婷五月天在线| 色婷婷久综合久久一本国产AV| 人妻少妇色综合| 疯狂做受XXXX高潮A片动画| 五月天丁香婷婷社区| 热久久视频99| 五月丁香五月综合欧美| 日本三级黄色大片| 99久久99九九99九九九| 九九视频网| 婷婷综合五月天| 一婬一伦一区二区三区| www.99热这里精品| 一区二区免费看| 在线超碰精品| www.9797国产| 思思久热6| 五月天伊人| 亚洲成人AV在线播放| 国产激情综合五月久久| 人妻久久婷婷| 五月丁香激情综合网| 色婷婷久久综合久色综| 五月婷婷综合激情| 色爱99| 色婷婷亚洲婷婷| 色五月综合在线| 91黄址| 91丨九色丨大屁股| 天天 日综合| 99综合网| 欧美噜一噜| 亚洲精品又粗又大又爽A片 | 色99自拍| 九九在线精点品| 婷婷综合五月天| 91婷婷丁香五月| 99久在线观看| 色婷婷香蕉| 超碰9| 深夜男女福利刺激影院一区完整| 射区导航| 五月婷婷六月激情在线| 国产成人亚洲综合亚洲| 99综合免费视频| 久久婷婷五月综合一| 91午夜激情| av在线观看网址| 天天爽天天| 伊人大综合| 这里只有精彩亚洲视频推荐| 91久久综合亚洲噜噜成人在线| 这里只有精品9| 婷婷五月综合网激情| 色噜噜狠狠一区二区三区| 激情五婷网| 色五月婷婷老师| 五月丁香六月婷婷综合网| 天天精品视频免费观看| 国产一二三四五六七八视频| 丁香婷婷久久| 日日操夜夜操中国无码| 99热免费精品| 涩综合婷婷| 色综合婷婷| 色婷婷国产精品综合在线观看| 丁香五月 性爱| 婷婷五月天AV| 九色成人AV在线| 天天综合色丁香| 五月天婷婷色| 日韩情色在线观看| 五月Huangsewang| 天天综合在线网| 丁香五月色| 99婷五月| 五月天久久婷婷| 婷婷的久久网站| 最近免费中文字幕大全高清大全1| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 999热这里只有精品| 天天日天天摸天天| 中美日韩成人在线| 五月婷婷综合影院| 丁香五月成人网| 亚洲va欧美va国产综合久久久| www.ywav| 人妻熟女一区二区AV| 成人免费va| 九九热亚洲中文在线观看免费| 看片视频在线免费日产在线看| 久99热| 中文字幕欧美精品久久| 婷婷五月天免费99| 五月花亭亭| 蜜桃婷婷狠狠久久| 亚洲激情五月| 九九中文色色| 综合欧美五月婷婷| 无码免费人妻A片AAA毛片西瓜 | 丁香五月婷婷动漫| 亚洲色情久久| av网址在线| 9999综合99综合人| 激情五月婷色| 婷婷情色五月| 五月天婷婷激情六月久久| 五月天桃色深爱网| 色99在线观看| 99热这里有精品| h亚洲| 视色综合| 色婷婷五月天偷拍| 亭亭玉月丁香| 九九精品免费| 九热免费视频| 丁香六月五月婷婷| 久久这里只有精品视频1| 婷婷五月丁香六月伊人网| 女人天堂久久| 8区视频在线| 久久99国产综合精品免费 | 免费超碰在线观看| 丁香五月婷婷操逼| 97在线视频 欧美| 色香蕉婷婷| 久久AV无码精品人妻系列试探| 99热这里只有精品5| 久久婷青青草原| 五月婷婷电影院| 久久精品熟女亚洲AV麻豆| 色欲一区二区三区精品A片| 久久美女五月天| 天天舔天天摸天天透| 99热国内精品| 色婷婷五月天中文字幕| 丁香婷婷少妇| 日日日天天干| 久久92| 日韩高清成人| 无码少妇高潮喷水A片免费| 91狠狠色丁香婷婷综合久久| 激情综合网激情五月俺也去| 色综合狠狠色| 五月花综合| 99久久99热| 中文精品在| 色99色| 九九99精品视频| www.maotanji.com| www.精品99| 久久婷婷五月综合激情国产| www.狠狠艹| 色偷偷综合| www.五月天色色.com| 久久网日本| 激情综合婷婷| 亚洲视频在线网| 久久婷婷五月天大香蕉| 超级碰碰91| WWW.天天日| 另类亚洲2| 激情五月图| 夜夜操天天爽| 五月天色婷婷综合| 亚洲成人在线观看网址| 天天日天天添| 九热在线这里有精品6| 欧美综合在线五月天色婷婷| 五月丁香综合影院| 青草青草视频2免费观看| 婷婷五月色| 影音先锋 萱萱| 9九色首页| 婷婷丁香五月天色播网站| 99思思热只有在这里看| 久久激情网| 以及AA大片看看| 丁香婷婷九月| 色色色.COM| 九九色影院| 婷婷五月天久草在线| 亚洲成人网站在线| 人人人人人人人草| 九九Av| 99热欧美精品| 99在这里有精品| 亚洲中文字幕av| 亚洲正能量欧美| 日本综合色图| 九九热99熟女| 第1影院之五月婷婷| 久婷婷五月丁香在线观看| 丁香婷婷婷五月| 天天综合精品| 婷婷激情四射| 亚洲高清在线| 91九色中文字幕女在线观看| 婷婷免费视频| 亚洲无码九九| 五月婷A V在线| 99色激| 天天日 天天草| 99ER热精品视频| 在线中文字幕视频| 婷婷色五月激情| 狠狠色噜噜狠狠亚洲A∨| 丁香五月婷婷动漫视频| 三级三久久线久久99久目本WW| 99精品偷自拍| 久久在这里有精品| 国产精品18久久久| 开心五激情网| 色欧美一级| 日韩砖区| 天天模,夜夜模夜夜爽| 综合另类视频| 大香蕉啪啪| 久久久久婷| 大香蕉娱乐| 色婷婷丁香五月天| 在线一起草av| 丁香五月六月综合欧美| 国产色香蕉精品五夜婷| 综合网五月| 97热超碰| 五月激情天| 综合激情sV| 婷婷开心激情五月激情网| 色综合网址| 丁香婷色| 99色色网| 欧洲亚洲激情五月天在线| 搡BBBB搡BBB搡18 | 99热精品在线免费观看| 久9视频免费播放| 亚洲精品婷婷| 午夜天堂啪啪| 免费无码毛片一区二区A片 | 欧美成综合在线观看| 永久地址 色| 99re资源在线视频导航| 天天干天天干天天干天天干天天干| 99色在线观看| 色色色色色爱| 五月丁香成人| 国产色色网站网址| 97偷拍对白视频| 婷婷五月天激情五月天深爱五月天| 激情综合网五月天| www,五月丁,com| 丁香六月成人| 99久久久久久www| 午夜爱插插| 综合色五月| 五月天另类综合网| 东北黄色一级| 久9视频| 色综合久久伊伊婷婷五月| 色哟呦av| 男人天堂99| wuyuedingxiang99| 欧美婷婷丁香五月| 亚洲天天操| 情五月亚洲婷婷| 免费在线观看av网站| 五月婷婷亚洲色视频| 亚洲第一黄网| 92久久久| 九九成人视频| 91seav| 婷婷性爱无码视频| 成人精品人妻| 婷婷丁香五月社区亚洲| 日本色视| 夜夜操少妇| 五月天停婷基地| 热久久这里只有精品| 成人丁香婷婷五月天| 五月桃花网综合| 十一月婷婷激情四射| 五月婷婷在线短视频| 丁香婷婷狠狠97| 色婷婷综合久久久久| 99热99色| 中文在线成人| 日日夜夜九九| 6080av| 国产精产国品一二三在观看| 黄网免费看| 五月涩涩网| 午夜激情综合| 婷婷五月中文字幕| 色情成人五月天| 亚洲色无码| 色五月婷婷五月丁香五月激情五月视频| 五月婷婷在线视频| 成人在线视频一区| 五月情色天| 免费日韩99| 色婷婷综合亚洲| 一区二区无码视频| 天天色综网| 丁香在线视频| 五月丁香啪啪网| 久久丁香五月天| 啄木鸟黑丝一区二区| 国产26uuu视频| 久久99精品久久久久久噜噜| 极品五月天| 超碰人人插| 国产日韩欧美| 日韩成人电影AV| 综合色情网| 99热激情| 五月婷婷啪啪综合网| 人妻操操色| 色婷婷内射| 99在线视频精品| 葵花AV在线| 激情网婷婷婷| 婷婷综合五月| 色啪影院| 色色日韩网| 一起草Av| 他改变了拜占庭| 伊人碰碰碰| se99热久久一本| 五月丁香A片| 久久久这里有精品| 天天操天天插| 色噜噜五月天| 91色婷婷综合久久中文字幕二区| 色五月影视| 99热无码| 色色a| 色偷偷五月天| 久久色婷婷| 大香蕉五月婷婷| 91人妻视频| 色播丁香| 啪啪啪啪五月天| 五月伊人视频在线看| 五月夜丁香| 狠狠干总合| 日韩不卡DvD| 日本一级黄色电影| 99热 在线观看| 亚洲色欲欧美一区二区三区| 婷婷色色狠狠| 人人操A| 亚洲成人在线五月天| 国产激情综合五月久久| 97人人草| 亚洲av| 狠狠色综合久久久久| 九九综合五月欧美| 久久九九99| 五月婷婷影院| 69久热| 影音先锋四区| 日韩av干| 五月丁香婷在线| 玖玖热视频| 丁香五月综合| 蒲京久久无码视频| caop在线| 毛片毛片毛片毛片| 播播网色播播| 天天网曰日曰夜夜综合永久免费| 中文在线视频久9| 婷婷五月丁香综合| ss视频xx91| 色五月婷婷综合在线| 久久精品人妻| 99er热精品视频| 五月丁香六月综合情在线观看| 久99| 婷婷五月激情丁香| 精品一二三区久久AAA片| 五月婷婷日本| 欧美色色色| 99综合一区| 4399成人黄A片| 亚洲天堂婷婷| 天天天操天天天爰| 亚洲在线操| 91丁香色| 五月激情综合激情五月| 色优久久| 久大香蕉| 十月丁香婷婷| 色综合色色| 91美女啪啪| www久久五月com| 啄木鸟黑丝一区二区| 丁香 久久| 五月婷久久久久综合| 久久丁香| 99九九在线| 美女被肏网站在线看| 激情婷婷五六月天| 五月天涩涩| 91综合在线| 丁香五夜激情四射夜夜夜| 婷婷五月天成人动漫 | 天天肏高清在线| 亚洲黄色网址| 激情婷婷综合网| 台湾综合丁香五月蜜桃| 五月天婷婷社区| 色99www.| 99超在线| 五月天激情四射| www.久久99精品| 婷婷六月中文字幕| www.色婷婷| 婷婷激情在线| 丁香婷婷五月六月久久| 99热99思午夜精品| 色婷婷五月在线| 深爱激情综合网| 91无码色色| 天天日夜夜夜操操操操| 人妻久久久久久| 国产综合色婷婷精品久久| 综合激情视频| 微拍92| 99热精品在线观看| VA婷婷| 色婷久久| www99热| 曰曰久久| www.henhenl| 久久伦乱| 玖玖爱资源站| 少妇搡BBBB搡BBB搡毛茸茸 | 永久热91| 99热在线播放| 97精品欧美91久久久久久久| 婷婷五月丁香综合| 丁香成人五月天| 婷婷五月天精品| 99视频自拍| 人人色婷婷| 4438全国最大视频成人网站在线观看| 日操| 嫩草AV久久伊人妇女超级A| 天天做天天爱天天爽夜夜揉| 俺去也五月天婷婷| 亚洲热久| 9 1超碰九色| 久草五月| 色五月,com| 丁香五月激情视频| 免费超碰在线| 色爱99| 丁香五月手机在线| 青青草成人网| 丁香五月激情棕合| 九九色色| 91九色丨国产丨爆乳| 亚洲欧美婷婷五月色综合| 人妻人人操| 五月天色综合| 秋霞网在线观看理论91| 色婷婷色丁香色欲av| 婷婷免费视频| 激情AV中文| 亚洲激情婷婷| 深爱激情中文五月天av| 成人无码髙潮喷水A片| 丁香久久五月天视频在线观看 | 婷婷爱五月天| 五月婷婷在线网站| 欧美久久网| 五月天网站免费欧美| av激情在线| 在线观看的av| 屁股翘好撅高迎合跪趴| 久热中文字幕在线线观看| 99视频在线观看地址| 日本操逼九九九九58日本操逼| 午夜少妇在线观看视频| 影音先锋激情网| 久久综合香蕉国产国产蜜臀AV| 99视频色在线观看| 日本97人人| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 99热在线看| 激情啪啪五月| 另类视频丁香五月| 99自拍视频在线| 色欲一区二区三区精品A片| 国产精品在线视频| 狠狠久综合| 中文无码婷婷| 99热只有这里才是精品| 色色综合院| 99国产精品久久久久久久久久久 | 超碰人妻在线| 五月婷婷网站| 婷婷五月亚洲激情| 99国产精品久久久久久久久久久| 九九成人精品| 婷婷综合日本| 亚洲国产精品VA在线看黑人| 五月综合六月婷婷| 丁香五月婷婷久久综合激情网 | 99视频这里只有精品10| 激情五月天久久丁香| 2015在线中文字幕| 五月综合激情网| 五月婷婷六月情| 能看的AV网站| 五月婷在线影院| 中文字幕婷婷在线| 五月婷网站| 五月开心婷婷极品激情| 五月婷婷七月丁香| 欧美色五月| 久久六月天| 婷婷五月天天爽| 丁香5月婷婷| 狠狠色丁香综合| 欧美日韩精品一区二区三区钱| 天天综合色| www夜夜操wwwcon| 97亚洲色 torrent magnet| 激情五月天的婷婷| 色~性~乱~伦~噜| AV79| 秋霞电影理论| 99超在线| 久久网站观看免费欧洲国产| 亚洲综合色婷婷| 色情综合| 久久综合激情| 91啪啪视频| 99碰网站| 日韩aⅴ视频| 97涩婷婷婷婷基地| 丁香六月成人| 99在线看视频| 丁香五月激情五月| 色吊丝99| 操逼综合网| 影音先锋男人av资源站| 亚州色综合| 丁香av网| 97人人干。| 日韩av高清| 九九美女视频| 国产综合久久久777777| 久久天堂精品| 成人电影AV在线观看| 色欲影香| 久久九九综合| WWW.激情| 99色丁香婷婷综合网| 丁香六月激情网C0W| 99r这里| se.久久视频在线观看| 超级久久久| 冬月かえでAV无码播放| 久久久久久99精品无码| 婷婷的99视频网站| 日本五月丁香| 久久 视频这里只有精总| 婷婷六月久久综合导航| 五月欧美丁香在线观看| 99热这里只有精品无码| 五月丁香中文| 婷婷涩五月| 大地9中文在线观看免费高清| 99热这里都是精品| 99视频在线| co超碰在线观看| 精品久久久中文字幕大豆网推荐理由| 大香蕉九九| 色色五月婷婷狠狠| 丁香六月婷婷开心| 五月激情久久综合| 激情综合网址| 成人无码精品1区2区3区免费看| 深爱激情丁香| 雪千夏麻豆| 婷婷操久久| 亚洲mm色| 五月狠狠| 果冻传媒A片一二三区| 色欲影香| 国产人妻操逼| 丁香五月天啪啪激情综和网| 五月天色网站| 伊人啪啪网| 一区二区成人电影免费播放| 色欲天天综合网| 日日操,夜夜撸| 亚洲成人av在线| 成人免费120分钟啪啪| 亚洲国产精品二二三三区| 99视频网址| 97丁香五月天| 日本色色色| 3p九色在线| 亚洲综合色色| 婷婷5月九九| 99热这里有精品| 免费观看高清无码| 91综合在线视频| 亚洲va在线| 99精品久久| 婷婷色五月大香蕉在线| 91精品久久久久久综合五月天| 色之综合网| 久久久月丁香| 97碰久久| 天天插操| 99热这里有精品6| 色啪影院| 99热高清在线| 99re26视频| 9色在线| 在线看黄色| 婷婷色丁香五月| 91无码高清| 玖玖激情网| 五月婷六月丁| 色色色五月天婷婷| 五月丁香美女| 丁香六月婷婷久久综合| 超碰97干| 日韩人妻在线观看| 九九精品re免费视频| 久久这里这里有精品免费视频| 色五月丁香激情视频| 色亚洲激情| 丁香五月婷婷影院| 青草激情在线| 激情综合九| 噜噜噜色噜噜| 丁香88AV五月婷婷| 开心亚洲久久开心| 欧美激情综合色综合啪啪五月| 婷婷在线视频| 夜夜爱伊人| 欧美熟女99| 婷婷网影院| AV在线大香蕉| 内射综合网| 五月丁香六月婷综合成人综合| 色婷婷丁香花五月天| 日逼免费视频| 久久婷婷六月综合国际| 丁香开心深爱| 无码激情AAAAA片-区区| 五月天激情站| 丝袜大香蕉| 欧美日朝成人| 婷婷免费视频| 国产婷婷五月天| 人妻久久久久久久 | 丁香六月婷婷久久综合| 日本一级黄色电影| www.色五月| 狠狠大香婷婷爱| 五月婷婷啪啪| 久久婷婷丁香六月天| 在线观看视频1区| 色色五月天婷婷丁香| 色婷婷久久天天性爱| 五月婷婷成人| 日本五月丁香| 国产精品久久久爽爽爽麻豆色哟哟| 色综合com| 六月综合婷婷开心伊人| 99热6这里只有精品6| 成人av在线网址| 玖玖伦理电影| 五月丁香六月婷婷久久| 天天日夜夜夜操操操操| 久久五月视频| 狠狠干综合网| 色综合天堂| 亚洲精品久久久无码| 超碰97人人操| 热91久| 玖玖资源在线视频| 欧美va精品va老师va| 午夜天堂一区人妻| 99视频只有精品| 色五月,婷婷大香蕉| 国产亚洲99久久精品| 亚洲激情高潮| 骚五月婷婷| 99热都是精品| 成年人看Va免费视频| 91精品刘玥| 激情五月婷婷网| 久热最新视频 | 99热在线极品极品| 五月婷婷丁香五月| 伊人综合网4| 丁香六月婷婷开心婷婷网| 五月婷婷色| 国产午夜精品久久久观看| 丁香啪啪| 91日综合欧美| 无码免费人妻A片AAA毛片西瓜| 五月色欧洲| 996re热精品视频| 欧美日韩一区二区三区四区| 欧美日本va| 狠狠干狠狠色| 国产免费av在线| 中文字幕无码人妻少妇免费视频| 婷婷五月激情在线| 99热超碰在线| 亚洲色激情| 国产精品美女久久久久AV超清| 播五月丁香六月| 午夜丁香婷婷| 婷婷爱爱蜜臀天天操| 久久综合九色综合97婷婷| 亚洲啪啪啪啪| 五月天婷婷激情小说电影| 日日干夜夜撸夜夜骑| 超级黄色片| 亚洲成av人影院| 午夜丁香五月天综合| 中文字幕欧美久久| 超碰人人插| 26UUU精品一区二区| 思思久久96热在精品国产,| 91干99| 五月天偷拍| 99热最新| 久久人妻精品| 99这里只有精品在线| 五月丁香六月在线欧美| 激情五月婷婷啪啪| 天天干天天日天天操| 五月丁香激情婷婷| 久久爱综合| 玖玖婷婷色欲| 色综合婷婷| 五月天激情国产综合婷婷| 99视频精品全部观看10| 激情五月天婷婷丁香| 亚洲人妻一区二区 | 深爱激情五月天色婷婷| 亚洲激情无码久久| 俺来也综合网精品一区| 婷婷之玖玖| 91色色色18| 激情六月婷婷| 五月丁香综合久久| 丁香五月图片| 色婷婷五月影视| 久久激情四射| 亚洲热久久| 日韩色色视频| 激情噜噜噜| 五月婷婷丁香五月| 天天色天天| 丁香激情六月天婷婷| 9有码中文| 天天操无码| 九九久久99| 综合激情网五月激情| 超碰京东热av男人的天堂| 九九久久高清| 色欧美日| 五月婷婷 自拍| 欧美成人猛片AAAAAAA| 婷婷丁香激情五月天色色色| 99ree6| 婷婷五月天综合亚洲| 超碰成人黄色网| 99五月香婷婷丁香在线视频| 丁香激情综合| 色天使久久综合| 无人区码一码二码三码医生系列| 国产激情视频在线观看| 亚洲第一成人无码A片| 97色热| 99无码视频| 国产精产国品一二三在观看| 丁香五月天社区婷婷| 看逼中文字幕| 99久久亚洲精品视频| 色激情五月| 久久嘟嘟丁香| 色狠狠综合| 色情·com| 九九色逼| 五月天激情综合在线| 99热国产国产| 五月丁香婷婷免费视频| 在线色色| www.91五月| AA片在线观看视频在线播放| 新久久五月天激情| 激情综合无码| 色综合爱综合| 五月开心深深爱激情综合| 九九热精品视频| 爱操人妻| 亚洲精品无人区| 五月色激情综合网| 婷婷99狠狠躁天天| 六月丁香啪啪| 开心五月综合激情综合五月| 亚洲五月婷天天操| 国产激情综合五月久久| 丁香色婷婷五月天| 日产精品一线二线三线芒果| 在线视频九色97| 丁香五月停停基地| 天天干天天日日| 五月丁香啪啪拍| 991国产精选视频在线播放下载| 亚洲第一综合| 五月激情小说网| 五月婷婷色在线| 婷婷色婷婷亚洲成人| 小视频一区| 五月婷婷五月| 熟女91九色| www..com色爱| 超碰人人色| 91呦呦呦| 91丨九色丨熟女| 狠狠狠激情网| 色婷狠狠| 国产精品99久久久久久久女警 | 日日操天天操| 五月天丁香网| 欧美伊人9| 另类小说婷婷色| 大香蕉五月天婷婷| 97碰 在线视频观看| 99小视频在线| 思思热在线精品视频| 久久久久久久人妻| 丁香久久五月婷综合| 丁香五月天五码婷婷| 91中文在线| 亚洲黄色网址| 五月丁香六月婷婷亚洲激情综合| 99热这里只有精品18| 日韩啊啊啊| 99精品国产在热久久婷婷| 色人五月婷婷| 激情五月影院| 国产视频福利| 逼里香不卡| 超碰妻人人| 综合激情五月综合激情五月激情1| www,婷婷五月天777me,com| www.91色| 在线天堂9| 久色欧美| 五月综合视频| 激情婷婷五月| 成人五月天丁香| 精品爆操| 国产精品色婷婷AV综合色色| 综合欧美五月婷婷| 另类五月婷婷| 日本五月天激情| 人碰人人人玩91| 五月色俺婷婷| 婷婷色色网站| 五月天婷婷7米| 亚洲字幕AV一区二区三区四区| 国产精品国产成人国产三级| 色婷婷99| 啪啪啪综合网| 久久99热这里| 婷婷色中文字幕| 欧美在线骚货| 91久久| 99天堂网| 五月叮香啪| 91超碰在线观看| 五月婷在线观看| 婷婷丁香亚洲色综合91| 久久狠狠干| 九九AV在线| 99自拍视频网站| 无码色| 免费色色色| 久久人妻少妇嫩草AV| 五月丁香综合啪啪対白| 亚洲欧洲中文日韩久久AV乱码| 婷婷激情六月中文| 五月天综合影院| 婷婷九月在线| 五月天精品综合在线| 九月婷婷激情久久| 婷婷激情小说| 黄色录像网点| 色情五月综合婷婷| 啪啪色区| 伊人久久艹| 婷婷五月天99| 天天综合区| 五月综合激情| 午夜福利8055| 五月丁香婷庭在线| 九热精品| 激情丁香婷婷六月天| 色综合色五月| 国产精品人妻在线网址| 色色a| 五月婷婷免费视频| www.99视频| 欧美色小说婷婷| 色色六月| 99爱在线免费视频| 色五月婷婷大| 久久精品五月| 亚洲AV网址| 五月激情五月丁香| 色综啪啪啪啪啪啪| 超碰人人射| 天天天天天色| 桃色激情五月天| 开心五月网| 这里只有精品视频99| 99re热99| 成人综合网站| 激情五月天综合网| 91丨熟女丨首页| 婷婷五月精品| 亚洲精品成人| 五月天综合区| 99在线热| 一区二区成人电影免费播放| 日韩AAAAA| 久久丝丝热| 九九香蕉网| 亚洲婷婷欧美婷婷| 97干在线看| 日狠狠| 五月永久激情| 中文字幕婷婷在线| 五月婷婷色| 丁香五月Av| 人妻自慰在线| 激情五月天电影| 欧美VA在线| 激情伍月 欧美| 日本人人草草| 最近中文字幕大全免费版在线| 五月天色五月天| 五月丁香大相交| 亚洲最大视频网站| 97av在线视频| 99久久久久| 欧美亚洲婷婷五月| 激情综合五月天| 五月激情婷婷国产精品久久久久久| 亚洲在线操| 日韩啪啪自拍| 激情内射人妻1区2区3区| 久久婷婷五月综合伊人| 婷婷丁香人妻| 五月天天丁香婷婷在线中| 日都一级A片| 五月天色色色网| AV在线不卡播放| 伊人五月天在线| 久9久9热久热| 激情网婷婷婷| 免费人人操| 国产亚洲99久久精品熟女| 欧洲一区二区| 欧美丁香五月| 色色色色色色网| 五月丁香另类网| 色五月视频无码播放| 亚洲婷婷丁香五月天激情小说| 丁香婷婷综合影院| 激情网五月天| 五月丁香成人视频| 呦呦v线| 思思99re这里只有| 99精品视频免费在线播放| 激情五月婷婷丁香六月| 丁香六月亚洲| 操老逼综合网| 色六月 婷婷| 婷婷色色欧美综合网| 成人无码髙潮喷水A片| 99热婷婷| 国产精品爽爽久久久久久| 人草人人| 五月天网站免费欧美| 亚洲夜夜操| 就去涩涩丁香五月天| 日本五月视频| 91chinese在线| 色9999日韩国产| 久操大| 美女黄频aⅴ视频| 色色色五月| 久久婷婷五月综合色天| 激情影院69| 激情综合婷婷久久| 色伦专区97中文字幕| 日日夜夜干| 色色色色色色综合网| 国产麻豆视频| 久久婷婷五月天丁香| 99无码精品| 午夜少妇在线观看视频| 操91| 丁香五月激情啪啪综合| 狠狠色综合久久久久| 激情五月天福利| 色色亚洲99com| 97偷拍对白视频| 婷婷五月丁香人妻无码高清| 7777精品伊人久久久大香线蕉最新版| 久久婷婷五月综合色丁香花| 五月激情婷婷丁香| 五月丁香影视| 婷婷伊人中文字幕| 99精品视频在线观看| 七月婷婷色香综合网| 99∨VTV| 96色婷婷| 99色热视频| 伊人丁香五月| 思思久日精品视频| 怡红院一二三| 日本久久性| 99精品在线观看视频| av婷婷六月丁香社区在线观看| 成AV人片一区二区三区久久| 99re思思热久久| 337p大胆噜噜噜噜噜91Av| 国产偷人爽久久久久久老妇APP| 色区久久| 六月激情综合| 激情综合五月| 在线中文字幕免费视频| 九热精品| 婷婷 激情 五月| 丁香婷婷偷拍| 久久综合五月天| 五月婷婷六月情| 99热久| 成人va在线| 九九操操| 97色色色色色色色色色色色色色| 亚洲综合色丁香婷婷六月| 天天谢天天操| 综合啪啪| 狠狠色综合久久久久| 婷婷激情人妻| 五月激情精品视频| 无码任你操| 免费观看亚洲AV片| 丁香五月激情六月综合| 思思热精品在线观看| 婷婷五月天久久| 婷婷在线日韩综合| 婷婷爱爱蜜臀天天操| 欧美性丁香色色五月天综合爱爱| 九九国产精视频| 丁香五月激情婷婷| 熟女网站久久| 丁香六月婷婷激情| 只有精品在线观看| 青青热久精品视频在线观看| 色婷婷精品视频| 激情性爱五月天网页| 丁香五月天AV在线| 97碰| 久久五月天激情| 91丨九色丨大屁股| 欧美操逼天堂| 丁香婷婷六月在线资源观看| 天天肏视频| 啪啪九九色| 激情二色月| 五月丁香六月激情在线| 五月天久久色| 日本啪啪网| 婷婷五月天国产| 亚洲无码影音| 精品久久二6| 亭亭色色五月天| 色色色五月| 欧洲亚洲免费视频9| 五月丁香六月婷婷在线播放| 天天做天天爱天天高潮| 色五月偷偷| 五月婷婷开心亚州在线| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 久操人妻| 久久婷婷婷| 99精品偷自拍| 色婷婷五月影视| 99ri国产在线| 99九九99九九九视频精彩| 色婷婷色五月天| 大陆极品少妇内射AAAAAA| 婷婷六月激情小说网| 性色99| 91操片| 久久久久视剧HD| 丁香五月激情综合啪啪| 色色五月婷婷| 538任你爽视频不一样的| 日日操夜夜骑| 网站免费一站二站| 97视频.干com| rr天天操| 国内精品免费一区二区2009| 六月婷婷狠狠| 免费看欧美成人A片无码| 色婷婷综合五月| 国产99久久久国产精品免费看| 玖玖99精品视频| 亚洲操精品| 一级片sese片.COM|