99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
色玖玖导航| 久久只有18视频| 永久天堂日本| 色综合色色| 五月天另类图片| www.黄色片-久久成人国产精品在线播放-999AV | 激情 久久 婷婷| 国产激情婷婷| 狠狠色婷婷六月激情网| 美妞av| 九月av在线| CHINESE熟女老女人HD视频| 久久美女五月天| 九九成人精品| 色色色在线播放| 久久人操-久草婷婷-成人AV| 91a片爽| 99久久99九九99九九九| 99热播放| 4438激情网| 欧美性丁香色色五月天| 婷婷色五月激情| 五月婷婷成人| se.久久视频在线观看| www久久久| 天天色,天天操,天天射| 亚洲欧洲色色| 青青.com| www.久久| 亚洲精品色色| 99久久婷婷国产综合精品青桔| 欧在线一区| 久久这里只有精品视频26| 五月天成人综合| 丁香九月色| 天天天天干| 91干| 色吧五月婷婷| 99操碰| 99碰网站| 国产亚洲在线观看| 激情五月天影院| 久久综合影院 | 五月天婷婷网站888| 久久九九蜜| 日 日干 日日做| 91婷婷丁香五月天免费视频网站| 免费做A爰片77777| 欧美激情综合色综合啪啪五月| 五月天婷婷爱| 久久久久久欧美精品se一二三四| 久久综合99| 五月婷婷激情久久| 色色A| www.91九色| 日韩1区2区| 丁香五月婷婷天| 婷婷丁香一月| 国产色五月| 噜噜噜噜在线| 婷婷五月情天| 亚洲性视频| 天天色天天日| 丁香五月欧美成人| 国产全是老熟女太爽了| 五月婷色丁香| 色婷婷免费观看| 久久婷婷色综合| 欧美激情伊人| 啪啪一区| 欧洲激情五月天| 美女婷婷六月色| 婷婷热婷婷色| 4399高清无码视频| 开心久久五月天| 男人的天堂999| www.sd-xiangsu.cpm| 亚洲天堂亚洲色色色| 凹凸7777操操操| 热的国产,热的综合,热的有码 | 色婷小说| 久久久久久99精品无码| 婷五月天天| 日韩抽插操逼| 五月丁香综合在线| 99九九久久| 九九亚洲| 超碰伊人碰婷婷五月| 伊人网啪啪| 婷婷五月天堂| 思思w99| 婷婷五月色情天| 婷婷六月综合基地| 中文字幕丰满孑伦无码专区| 日韩有码久久| www.av视频xx999.com| 久久这里只有精品视频26| 六月丁香婷婷色69| 成人欧美日韩| 久久综合站| 操人91| 色播五月| 午夜婷婷久久 | 五月婷婷很很色| 丁香六月青青草| 久婷婷| 天天综合色丁香| 精品免费99| 色婷六月| 91干婷婷| 亚洲五月丁香综合网| 色婷婷六月精品| 激情五月丁香亭亭| 国产精品18久久久| 99色婷婷视频| 婷婷婷婷婷开心无码播放| 色婷婷9| 丁香五月成人| 婷婷丁香花五月天| www.色五月.com| 色色色色色色色色综合网| 午夜精品人妻无码一区二区三区| 中文字幕人妻在线| 亚洲va在线∨a天堂va欧美va| 无码色| 婷婷97C| 成人精品一区日本无码网 | 亚洲丁香五月天视频| 狠狠操狠狠插| 情色五月天网站| 六月丁香五月激情网| 丁香五月网址| 久久99三级在线视频| 色婷五月婷婷| 日本色道视频网站| 97碰久久| av在线免费网站 | AV堂狠狠干| 丁香 婷婷 亚洲 熟女| 噜噜噜狠狠色综| 99热 日韩| 狠狠操综合| www五月天com| 婷婷色色亚洲| 色婷婷丁香五月观看| 爽极品色| 香蕉网久久| 丁香五月婷婷六月婷| 五月天丁香网站| 人操91在线| 天堂久久久久天堂网| 丁香五月手机在线| www.色五月| 99久久九九视频| www,久久久| 五月婷婷六月丁香在线视频| 欧美色图片88| 婷婷丁香五月噜噜噜| 丁香五月天视频| 婷婷色啪| 日良久久| 色婷婷色99国产综合精品| 热久久99热欧美国产亚洲| 亚洲精品又粗又大又爽A片| 久热91| 丁香五月六月| 91九色欧美| 丁香婷婷五月基地| 久久182| 五月婷婷综合潮喷| 色婷婷五月丁香色| 婷婷亚洲五月| 亚洲综合一区二区| 激情五月少妇| 激情五月综合久久| 久久激情五月| 97操在线视频| 99综合| 在线五月婷婷小电影| 婷婷久久精品| 久热大香蕉| 国产色网站| 伊人婷婷色| 激情久久久久久久久| 啪啪亚洲综合| 91九色丨国产丨爆乳| 婷婷五月综合体验看| 性色av大香综合| 婷婷成人视频| 碰99在线| 欧美日本黄色| 五月婷婷激情四季| 在线播放人妻| 色色五月婷婷久久| 五月婷婷五月丁香综合| 日韩成人精品中文字幕电影| 五月天婷婷丁香| 狠狠色丁香婷婷五月| 婷婷色导航| 91久久精品无码一区二区三区| 欧美在线97| 婷婷丁香色五月亚洲| 五月天丁香| 少妇婷婷五月天| 色吧婷婷五月亚洲| 欧美激情五月天| 亚欧州精品视频| 97人人搞| 婷婷五月深爱五月| 色很很96| 综合伊人久久| 九月丁香很很色| 碰97久久| 亚洲色模骚货| 夜夜穞天天穞狠狠穞AV美女按摩| 五月婷婷无码专区| 亚洲婷婷丁香| 九九热在线观看视频| 黄网在线免费播放| 熟女人妻视频| 9久热在线视频精品| 日韩操人| 91热在线观看视频| 五月天激情网图片| 九九婷婷网五月天| 丁香五月天日韩无码| 久久aaaa片一区二区| 婷婷色狠狠| 久久这里有精品| 五月天婷婷色紫薇阁| 日韩在线成人电影| Www.Av网9| 五月综合久久| 狠狠干综合| 丁香婷婷五月| 日99网站| 97丁香五月| 99久99热| 色综合久久天天综合网| 丁香花五月天社区| 日本人妻伦在线中文字幕| www,26uuu,c0m,色情| 丝袜人妻| 九伊人网| 美女被操一区二区| 青草视频在线观看视频| 安息电影在线观看完整版| av婷婷丁香 六月| 久久久婷丁香五月| 艹B高清无码| 天天干天天干天天干| 久操大| 天天射影院| 日日噜狠狠色综合久久| 可以免费观看的AV| 亚洲热久久| 久久久精品99亚洲综合| 久久99久久99精品免观看粉嫩| 中文字幕无码AV| 色玖玖综合网| 99热这里都是精品| 六月 丁香 视频| 六月丁香婷婷拍拍| 999热在线视频| 91狼友视频在线观看| 五月色婷婷综合| 120分钟婬片免费看| 色婷久久| 丁香五月天婷婷大香蕉| 天天天天天天天操| 日操五月婷| PORNY九色9l自拍视频成人| 99色在线观看视频者| 婷婷狠狠操| 99久在线精品99re5热视频| 另类国产综合| 亚洲 无码 中文字幕 中出| 日本色色色| 色婷婷AⅤ| 婷婷五月天VI| 亚洲无码 图片区| 五月丁香| 中字幕视频在线永久在线观看免费| AV色婷婷| 婷婷五月av| 九九综合| 色婷婷五月综合色婷婷| 禁片二区| 九九色热| 九九视频这里有精品| 日日夜夜天天综合| www.99视频| 99热这里有精品| 亚洲综合五月天婷婷| 另类图片五月天激情| 中文在线成人| 妇激情基地| 婷婷五月六月| 亚洲激情综| 伊人玖玖网| 天天插天天射| 91精品无码| 狠狠色综合网| a久久| 超碰91在线| 97人人干| 一本到不卡高清DVD| 五月成人丁香av91| 五月婷婷9| 五月天婷婷乱论小说| 91久久婷婷人人澡草| 性爱网五月天| 欧美成人猛片AAAAAAA| 日本理论久久| 天天干,天天舔| 丁香激惜男女| 啪色综合| 激情婷婷五月社区| 天天拍天天做视频| 99在线爽| 日熟女| 91干| 五月噜噜| 99re热在线视频观看| 婷婷久久99| 久久只有18视频| 日本99久久| 综合色色五月| 天天综合五月天| 丁香激情网| 丁香综合婷婷开心激情网| 俺也去婷婷五月天第五色| 久婷五月| 色婷婷成人做爰A片免费看网站| 欧美日韩国产一区二区| 色噜综| 色婷婷a v| 丁香五月激情五月| 99久久国产成人精品| 99色五月| 九九热这里只有精品12| 国产9色在线/日韩| 日韩av手机在线观看| 久热久re| 天天激情视频| 天天做天天爽| WWW.国产| 狠狠色丁香婷婷久久综合| 91九色精品熟女内射| 五月婷婷亚洲综合网| 五月婷婷啪啪啪啪| 亚洲精品国产精品乱码视99| 亚洲精品无码一区二区| 小视频在线亚洲| 色综合色五月| 玖玖色综合网| 99在线精品观看99| 五月丁香啪啪网| 99操无码视频观看| 婷婷爱爱蜜臀天天操| 日韩AV大全| 91九色偷拍| 情欲综合网| 欧美交换配乱吟粗大25P| 九九操操| 97色婷婷| 色播婷婷五月天| 夜夜嗨一区二区三区直播内容 | 日本五月婷婷| 久久只有精| 91九色在线| 精品成人在线观看| 五月丁香777| 色欲人妻综合aaaaaaaa网| 婷婷射丁香| 男人視頻站| 俺也去综合| 在线超碰免费| 五月婷婷中文字幕AV| 婷婷久久天堂网| ji'qi'luan'ren'lun| 久久99免费视频| 激情五月婷婷开心网| 日本99视频精品免费播放| 五月激情婷婷在线| 91se在线视频| 中文成人在线| 五月天成人网在线观看| 色综合色综合网| 超碰99热| 天天日夜夜帕| 亚洲综合字幕色色| 日本性视频| 开心五月网 | 久久久97| 国产精品涩涩涩视频网站| 亚洲色色色色| 色九九九九| 激情小说五月天| 国产裸舞福利资源在线视频| 色色丁香色五月| 9热在线观看| 97色碰| 9色91视频| 日韩在线婷婷五月天综合| 超碰国产AV| 26uuu精品国产| 六月丁香综合网| 国产超碰av| 五月婷在线观看| 天天色一道本综合婷婷| 99热高清在线| 黄色片久久| 丁香五月婷婷偷拍| 五月丁香六月婷婷免费视频| 久久性刺激| 超碰99在线观看| 亚洲色激情| 91超级碰碰| 好叼操在线观看| 99热国产精品| 婷婷五月激情五月激情| 亚洲俩性性爱图片久久第六页 | 日本色99| 丁香99| 久久人操| 99爱在线视频观看| 狠狠色婷婷| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 久久婷婷五月天懂色| 少妇性BBB搡BBB爽爽爽视頻| 久草A片| 日日肏天天操| 亚洲一色色色色色色色色| OUMEIRIHANCHENGREN| 国产精品色色| 婷色五月| 久草A片| 婷婷色爱| 久久人人人人妻| 色欲人妻综合aaaaaaaa网| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 成人在线日韩| 五月丁香亭亭| 亚洲精品国产精品乱码视99| 日日做天天操夜夜爽| 99色在线视频| 色播六月| 天天久综合网永久入口17v| 丁香婷婷老熟女综合网| 婷婷丁香18| 五月婷婷六月情| 婷婷六月激情丁香| 99爱视频| 超碰九色| 婷婷成人五月天| 99久.| 狠狠干天天日| 综合成人小说婷婷| 激情综合激情综合| 色五月婷婷九月| 懂色AⅤ| 第一区久久网站| 亚洲va日| 丁香六月av| 丁香丁婷五月激情| 丁香五月婷婷久久综合激情网| 丁香六月婷婷综合啪啪| 久9免费视频| 午夜成人在线免费视频| 色婷婷四色| 免费人人操| 小视频一区| 丁香五月电影院在线观看| 99热精品中文字幕| 婷婷亚洲欧美丁香五月| 色婷婷综合视频| 伊人狠狠操| 亚洲AV第二区国产精品| 三男玩一女三A片| 热思思| 婷婷丁香五月综合| 久草丁香婷婷五月天婷| 大香蕉久久久| 丁香婷婷五月天色综合| 五月婷婷综合色啪首页| 婷婷噜噜| 亚洲第一成人无码A片| 99riAV国产精品视频| 成人av免费观看| 五月婷婷在线免费观看| 国产成人精品一区二三区熟女在线| 香蕉久久国产AV一区二区| 欧美性猛交99久久久久99按摩| 野战J办公桌椅H| www.seqingwuyuetian| 丁香五月激情啪啪啪啪| 久热AA| 色综天天综合| 激情五月综合网最新| 色综合色| 99热欧| 激情五月六月丁香| 99九九热视频| 色婷婷电影网| 五月丁了香蕉综合| 五月丁香龟婷婷| 热久久91| 蜜桃婷婷狠狠久久| 亚洲激情六月丁香| 久久加勤综合| 国外亚洲成AV人片在线观看 | 婷婷五月情色| 97色碰| 九九99在线视频| 超碰色碰碰| 伊人婷婷五月天| 狠狠爱婷婷爱| 67194中文字幕| av中文网站| 色综合久久88色综合中文字幕| 久久99热免费最新版| 五月天开心激情综合网| 梁铮版蜘蛛女在线观看| 五月天激日本色情在线| 天天插天天狠| 久久久婷婷五月亚洲97号色| 丁香五月婷婷色综合| 99在线精品观看99| 99ri在线视频| 丁香五月天电影| 9久精品| 中文无码婷婷| 五月丁香| 日日爽夜夜爽| 丁香五月婷婷色| 五月激情影院| 九九Av| 中文字幕在线免费观看视频| 99热精品在线播放| 极品少妇XXXX精品少妇偷拍| www.久久99| 美日韩成人| 欧美日韩999| 色久综合| 免费无码毛片一区二区A片| 激情五月天婷婷五月天| 五月天色综合| 国产成人精品一区二区三区视频 | 99热免费看| 五月草影视| 婷婷五月天激情丁香| 丁香婷婷激情网站| 婷婷五月色播放| 九色 在线| 2025最新亚洲激情在线| 久久婷婷色| 99热1| 第五色婷婷| ztEJj| 国产精品五月丁香| www久久99| 色欲天天综合| 99热精品观看| 五月丁香好婷婷A片网| www天天爽| 七月丁香婷婷 色色| 在线综合婷婷| 这里只有精品96| 欧美天天干五月丁香| 91色色色| 日韩砖区| 变态 另类 在线 | 99热精这里只有精品| 五月天社区| 婷婷久久午夜网| 少妇激情五月天| www久久99| 久激情网| WWW·天天操·视频?| 激情婷婷五月| 99久久黄色顶级视频| 婷婷操逼| 久久性爱网站| yw.av| 丁香婷婷视频| 9精品视频在线观看| 强伦轩人妻一区二区电影| 色色97丁香婷婷五月天| 婷婷六月激情丁香| 亚洲AV电影美洲AV电影| 五月婷婷色播| 五月婷久久| 99这里只有精品| 欧美激情丁香五月天久久婷婷一区| 亚洲 日韩色色| 图片区 小说区 区 亚洲五月| 99热无码精品| 亚洲9久久精品| 婷婷五月天精品| 亚洲婷婷婷| 97操视频| 人人射av| 色婷久| 婷婷色中文字幕| 在线视频色五月| 91九九九九| 狠狠xx| 综合另类视频| 97干干干丁香| 日本婷婷| 激情五月天在线| 综合久久婷婷99| 久草热在线视频| 久99久视频| 国产又爽又猛又粗的视频A片| 色狠狠色综合| 丁香成人五月天| 密着浓厚中出乚交尾GvG935| 五月天婷婷激情| 丁香五月天网站| 可以免费观看的AV| 五月天久久婷婷婷| 思思99久久| 精品一二三区久久AAA片| 99热在线只有精品| 天天摸天天爽| 91se在线观看| 国产乱妇无乱码大黄AA片| 激情五月开心五月丁香五月| caopeng超碰| 五月丁了香蕉综合| 欧美顶级少妇做爰HD| 五月丁香影视| 爱婷婷久久视频| 狠狠综合网| 99热99日天天干| 99色色视频| 亚洲无码色色| 六月香五月婷| 婷婷色色五月| 第四色网婷婷| 五月天久久婷| 99人人干| 日韩另类| www.狠狠操| wwwxxx五月婷婷小说| 超碰人人超碰| 亚洲AV无码成人精品区电影网| 欧美日韩成人在线| 色婷婷亚洲婷婷| 丁香婷婷色六月| 亚洲国产精品成人免费一区久久久在线观看AAAA| 激情五月综合| 人人爱国产| 天堂中文国产| 久久99热免费最新版| 开心五月丁香婷婷| 国产阿姨日皮艹逼内射视频 | 开心婷婷中文字慕| 欧美图片丁香五月天| 亚洲成人日韩无码精品| 岛国在线观看91| 婷婷丁香六月天| 性爱网五月天| 丁香婷婷九月| 五月天婷婷激情| 久久久久丁香婷婷五月天| 开心五月深爱五月婷| 天堂爱爱| 夜夜骑日日操| 亚洲视频在线观看99| 人妻AV在线| 婷婷色九月| 久久综合激情| 国产亚洲在线观看| 91人妻视频| 十二区无码| 九九这里都是精品| 99噜噜| 激情视频网址| 26uuu四色| 热91久| 五月婷婷丁香综合网| 99re在线免费视频| 在线天堂9| 2017人人操| 涩丁香91| 久久久久婷婷| 四川女人毛多水多A片| 欧美久久一级内射wwwwww.| 亚洲中文字幕在线观看| 婷婷婷婷婷婷婷婷婷婷丁香| 五月婷婷综合成人| 东北黄色一级| PORNY九色9l自拍视频成人| 91色在线/日韩| 久热无码| 婷婷五月天欧美图片在线播放电驴| 这里只精品热在线18| 人妻爽爽爽久久久久久久久| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 久久伊人日日夜夜| 五月丁香激情综合网| 大香蕉久久婷婷精品综合| 99久热这里只有精品| 亚洲精品亚洲人成人网| 99欧美热| 伊人天天色| 久久一级免费黄色片| 五月丁香香蕉| 色综合网综合| 久久激情五月婷婷| 蜜臀AV在线观看| 精品乱码久久久久| 国庆精品久久| 色色九区| 欧美性猛交 XXXX 乱大交| 婷婷色情六月| 婷婷丁香六月综合激情站| 色婷婷中文字母五月丁香| 天天人人综合| 99色亚洲| 丁香五月AV| 一片AV片免费播放| 六月丁香婷婷五月天| 夜夜爱伊人| 日操五月婷| 大香蕉五月天| 99在线免费观看| 婷婷五月天激情电影小说| 超碰在线99| 日韩成人无码片| 色婷婷婷婷| 欧美成人色婷婷| 噜噜噜狠狠色综| 亚洲无码99| 九九99热久久精品66中文字幕| 影音先锋色色色资源色资源色| 中文字幕精品推荐免费在线观| 五月丁香六月婷婷网| 99热精品在线免费观看| 五婷婷六月合| www.五月婷婷| 色射7856五月天激情四射| 欧美槡BBBB槡BBB少妇| enecarbon-materials.com污K127封锁请涟系@wip1688 | 综合 激情 婷婷| 精品综合爱| 欧美性丁香色色五月天| 日本色道视频网站| 伊人久久大香线蕉AV最新午夜| 久久久妻人人人| 99热这里都是精品| 99久久婷婷国产综合精品电影| 久久三级视频| 99久久精品国产色欲| 九九爱精品网站| 色五月天中文字幕| 丁香六月在线| 大香线蕉伊人| 97色色色| 亚洲欧美日韩另类| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 丁香六月婷婷综情欧美| 久99视频在线观看| 人人操9| 亚洲激情AV| 日熟女| 亚洲午夜成人av电影网| 综合激情啪啪| 丁香色五月天| 色情综合| 另类视频在线| 久久香蕉影院| 激情五月综合网| 久久久99视频| 激情六月丁香| 久久久久久9| 91凹凸在线| 久草五月天| 丁香六月综合激情| 五月天激情网址| 另类视频五月天| 丁香视频| 棕合影院色色| AV在线观看网站| 九热...av| 中文资源在线a| 久久久99视频| www.99在线| 丁香五月色| 五月天合网| 丁香六月婷婷久久综合| 婷丁香五月天| 成人五月天综合网| 综合婷婷五月丁香在线观看| 伊人久热91网| 在线观看亚洲AV| 亚洲视频码| 激情五月婷婷啪啪| 91人人爱| 人妻内射视频| 亚洲av日韩无码| 99热这里只| 深爱五月婷婷开心中文字幕| 欧美三级巜人妻互换| 丁香六月天婷婷开心综合| 精品九九久久| 色综合久久中文| 午夜丁香婷婷| 亚洲V国产V欧美V久久久久久| 五月四色婷婷| 九九偷拍网| 99综合久久| Se.婷婷五月天| 久久久高清| 免费97碰碰| 日日天天天| 五月丁香色停停啪啪啪| 久久九九国产精品怡红院| 激情久久五月天| 99噜噜噜在线播放| 色情综合网| AV在线观看网站| 色五月天在线观看| 狠狠色五月| www.婷婷com| 99视频激情四射| 国产噜一噜天天噜| 亚洲av网址| 另类激情中文| 亚洲男女激情| 丁香六月色香蕉视频| 日韩大片艹艹| 九九综合久久| 99热这里精| 丁香激情网| 日韩成人影片网站| www.色99| 这里只有精品9| 久久久妻人人人| 热久91| 六月婷婷色色网| 91色噜噜狠狠狠狠色综合| 99热这是里只有精品| 亚洲va欧洲va国产va不卡| 色欲丁香| 婷婷五月天av小说| 99视频在线| 亚洲国产va| 久久久精品色| 狠狠色噜噜色狠狠狠综合色| 99热99ai| 五月婷婷中文字幕AV| 开心五月天激情网| 99人妻碰碰碰久久久久| 六月婷婷AV| 色婷婷导航| 夜夜爽天天干| 777精品成人a v久久| 欧美影院婷婷| 99ri在线播放| 国产免费av网站| 久久AV无码精品人妻系列试探| 97婷婷狠狠| 久久成人人妻| 五月五丁香婷婷| www.zbzhongsen.com| 波多野结衣AV无码Porn| 色域五月丁香| 精品久久久91久久影视网| 丁香五月激情综合| 婷婷五月丁香综合激情| 久久婷婷五月国产色综合激情| 日韩精品视频中文字幕| 免费视频99| 97久久人人| 六月婷婷色色色| 色视频五月天| 色综合色综合色综合| 五月综合777| 五月天婷婷激情网| 91热99| 99乱视频| 伊人碰碰婷婷| 久久亚洲无码| 操日本三片99| 亚洲成人九九九| 日韩AV在线电影| 婷婷五月成人社区| 五月停视频天堂| 超碰免费人| 日本欧美成人片AAAA| 99精品久久| 亚洲综合婷婷| 久99| 欧美内射AAAAAAXXXXX| 99色综合| 99在线精品免费视频| 狠狠干综合| 六月丁香啪啪啪| 日本天天操| 麻豆AV一区二区三区| 亚洲亚洲人成综合网络| 蜜桃人妻无码AV天堂三区| 九九热在线视频| 日产精品久久久久久久蜜臀| 极品人妻VIDEOSSS人妻| 日本精品人妻无码77777| 成人短视频在线| 丁香五月六月| 色婷婷AV在线| 深爱激情五月婷婷| 五月丁香六月婷综合成人综合| 久久婷婷五月天| 性做久久久久久久免费看| 欧美搡BBBBB摔BBBBB| 七月婷婷色香综合网| 依人大香蕉在钱1| 丁香六月婷婷色XXXXX| AV在线收看| 九九九九毛片| 欧美色色色色色色色色色色影视| 日韩欧美四五区| 色婷婷丁香五月综合| 六月婷婷色| 久婷婷| 高清一区二区三区日本久| 成人片黄网站色大片免费毛片| 色婷插| 丁香五月天婷婷91| 五月婷婷无码| 亚洲看av的网站| WWW.婷婷| 99热这里有精力| 色网五月婷婷| 欧美性久| 99热老网站| 五月天自拍网| 久久婷婷五月综合色丁香| 亚洲久热无码| 婷婷五月天激情诱惑| 97色片| 少妇水多A片太爽了| 欧美超碰亚洲| 五月色综合网欧美网| 五月天性色| 激情亚洲婷婷| 欧美三级巜人妻互换| 色一情一乱一乱一区9| 丁香5月激情网| 俺去啦综合网| 国产激情久久久| 激情亚洲五月| 99ri在线观看视频| 五月开心激情网| 婷婷九月激情| 91操人人操| 天天操B| 丁香婷婷伊人| 九九热精品| 97碰 在线视频观看| 97综合在线| 亚洲欧美999| 日日日日日| 色五月综合97| 五月天色综合服务平台| 色五狠狠| 色色免费网站| 五月丁香婷婷伊人日韩| 啪啪91| 激情五月小说婷婷| 99热免费| 五月天丁香网| 丁香五月婷婷五月天| 激情玖玖sh| 天天爽爽日日做做| 日韩在线一级| yw国产AV| 无码网| 日本不卡中文字幕| 97久操| 天堂婷婷丁香六月网| 岛国AV网| 夜夜大香蕉婷婷丁香| 99热这里只有精品无码| 狠狠操狠狠爱| 91婷婷| 97热精品| 日韩成人综合| 久久99这里| 色99视频| 成人VAV视频在线观看| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 91爱啪啪| 五月天成人在线视频网站| 婷婷综合仓库中文| 亚洲第一色网站| 婷婷综合五月| 婷婷性爱网| 无码动漫av| 色原狠狠综合| 91精品综合久久久久久五月丁香 | 思思久久网| 五月天丁香网站| 99热丁香五月| 五月婷婷中文字幕AV| 久在线综合69| 婷婷五月天在婷| 国产乱人偷精品人妻A片| 强伦轩人妻一区二区电影| 丁香六月婷婷综合欧美| A片天天| 5月丁香婷婷| 99性爱| 五月色丁香综合| 噜噜在线| 综合激情五月综合激情五月激情1| 五月天色影院| 亚洲综合在线伊人婷| 激情五月天网| 成人 九九九九| 天天摸天天做天天爱天天爽| 岛囯综合激情网| 插少妇综合网| 久久91久久精品久久| 999热成人在线综合网| 五月天婷婷无码| 超碰1999| 欧美,日韩成人在线| 丁香婷婷视频一区二区| 日韩精品一区二区三区,四区,五区视频 | 啪啪色区| 日韩精品999| 九九色综合| 伊人久久婷婷| 狠狠色无码| 国内久久婷婷| 狠狠操狠狠插| 99久在线精品| www.99在线| 99久久成人| 超级久久久| 免费97碰碰| 久久视这里只有精品| 欧美私人家庭影院| 六月久久狠狠| 日本九九视频| 五月婷婷开心网| 五月天色五月天| AV中文字幕夜夜操b天天摸bb | 在线不卡视频| 国产精产国品一二三在观看| 五月天堂在线| 4438成人电影| 青青草五月天| 五月天激情美女久久| 久久99久久久| 97热这里只有精品| 1995年关宝慧版蜘蛛女| 狠狠草网| 天天肏夜夜肏| 九九99视频| 97操在线视频| 国产一区二区av免费| 五月天色婷婷综合| 五月天丁香成人社| 99综合免费视频| 久久综合丁香五月| www...com黄在线观看| 久久婷婷综合五月趴| 九九五月天| 啪啪综合网| 99热这里只| 九九热只有这里精品| 五月天小说激情| 99色婷婷| 开心五月深爱婷婷| 九九黄色网| 91久久18| 婷婷色中文字幕| 综合在线色婷婷| 五月婷婷狠天天色综合| 日本专区久久| 亚洲精品V天堂中文字幕| 涩涩五月天| 色婷婷综合五月| 99精品久久久久久久| 国产黄色在线观看| 91婷婷丁香| 激情五月综合网最新 | 中文字幕在线观看视频www| 五月婷视屏在线观看| 五月丁香综合网色欲| 激情丁香久久| 国产午夜成人AV在线播放| 啪啪 综合网| 99热只有精| 久久精品在线| 亚洲婷婷91丁香| 五月丁香天堂| 精品无码久久久久久久久| 亚洲第一成人无码A片| 欧美色色色色色色色| 精品五月丁香| 青青操成人福利| 亚洲精品婷婷| 噜噜五月天综合| 色综合五月在线| 天天爱天天做天天日| 欧美A片在线视频免费观看| 激情丁香婷婷| 久热91| 婷婷五月天丁香社区| 亚洲成人噜噜| 99福利视频| 激情网 五月天| 五月天狠狠网站| 五月丁香综合激情网| 欧美啪啪五月天| 亚洲AV无码成人电影| 风流少妇A片一区二区蜜桃 | 日本欧美成人片AAAA| 久久久精品人妻| 亚洲成人免费电影| 日韩在线视频中文字幕| 狠狠色成人影片| 婷婷色五月色| 五月天基地| 色五月色综合| 婷婷五月天亚洲天堂| www。狠狠干。com| 五月份婷婷| 久久久人妻不卡| 色婷婷基地| 亚洲激情在线| 久久草大香蕉| 五月丁香影院| 丁香九月婷| 日本色道视频网站| 久久大香蕉视频| 综合久久十| 99在线精品视频| 国产精产国品一二三在观看| 亚洲激情综合| 少妇大叫太大太粗太爽了A片| 少妇高潮呻吟A片免费看软件| 婷婷99狠狠| 熟妇人妻中文字幕无码老熟妇 | 亚洲免费99| 婷婷伊人| 天天插天天插| 99精品偷自拍| 婷婷五月在线影院| 五月精品99综合| www.久久久久久久久久.com| 激情五月天.色网| 99视频极品在线香蕉| 色婷婷四色| 久久丁香五月婷婷| 91婷婷丁香五月| 影音先锋91| 99亚洲精品视频在线观看| 色婷婷综合五月| 五月婷婷之综合激情| www.射伊蕉婷婷| 伊人在线视频| 亚洲成AV人片在线观看| 亚洲婷婷五月| 凹凸7777操操操| 99热这里只要精品免费| av在线观看网站| 亚州美女| 五月伊人婷婷999| 色婷婷XXXXX| 日日夜夜综合| 狠狠色婷婷777| aV直接看| 九九热自拍| 五月综合激情综合久| 天天搞天天色综合| 国外亚洲成AV人片在线观看| 激情啪啪五月天| 亚洲小视频免费播放| 婷婷六月插屄激情| 人妻内射视频| 丁香五月人妻| 91人人爱| 99操中文视频| 欧美天天性| 98色花堂98t.R| 99精品偷自拍| 日韩无码乱轮| 99热 这里只有精品 国产 日韩| 中国AV性爱观看| 五月天色五月| 激情小说五月天| 久久大香免费| 综合五月天亚洲婷婷| 欧美一级操逼视频| 亚州操人在线视频| 一级片无码| 激情综合亚洲| 这里只有精品网站| 久色视频| 色情五月| www.久久五月天.com| 日韩啪啪视频| 成人丁香| 亚洲激情另类| 人人97操| www久久五月com| 日婷婷| 26uuu国产| 色欲久久久久久综合网综合网| 全网最新网黄大秀直播高清,主播国产录屏在线 | av色婷婷| 婷婷五月天激情综合深爱激情| 99热免| 香蕉97碰碰碰欧美| 久久精典| 无码操B| 日韩AV无码影片| 成人丁香五月| 激情五月久久| 成人精品免费在线观看| 激情婷婷五六月天| 99色性爰网络| 日韩人妻在线观看| 狠狠色成人影片| 色色色色色日韩午夜激情| 99热这里有精品24| 这里只有精品久久| 99亚色色色| 日本五月婷婷| caop在线视频| 日本啪啪网| 色婷婷五月天偷拍| 色色色色色网| 欧美激情 日韩无码 婷婷 五月天| 亚洲行行色色| 男人先锋久久| 日日射天天射| 亚洲国产精品二二三三区| 夜夜骑日日操| 日本色五月| 四月婷婷五月色综合| 开心五月激情网| 色婷婷六月天| 婷婷99中文字幕| 久久人人九九| 无码人妻电影| 五月丁香色色网| 深爱五月激情| 丁香六月婷婷综合色| 九九热精品在线| 五月花综合网| 久久九九99| 综合激情综合啪啪| 精品国产AV色一区二区深夜久久| 激情五月天综合图片小说网站| 少妇AB又爽又紧无码网站| 草AV9999| 丁香六月综合| 激情网婷婷五月天|