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
返回資訊列表
97ai婷婷| 人人爱国产| 欧美成人AAA片一区国产精品| 国产成人VA| 午夜福利8055| 日本欧美在线| 丁香月六月| 97久久久久| 久久无码成人| 丁香五月天综合| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 婷婷五月大香蕉| 97干在线| 欧美99热| 亚洲4区国产欧美| 久久激情网| 久久精品亚洲一级牲爱综合| 久久久思思热| 激情五月综合久久| 91碰操| 色色色999| 艹| 高清不卡一区| 日本婷婷在线| wwww.色婷婷| 五月色影院| 啪啪操超碰| 熟女人妻一区二区三区免费看| 第四色激情网| 六月婷婷色| 五月婷在线| 另类激情五月天| 色五月之第四色| 狠狠爱五月婷婷| 伊人婷婷99热精品| 久热A片| 天天综合精品| 五月天六月色| 伊人激情影院| 狠狠操狠狠| 六月综合婷婷开心伊人| 色七七色九九| 婷婷六月综合基地| 亚洲天堂大香蕉| 激情丁香五月天图片| 国产99久久久| 久久九九爽| av操一操| 五月天激情久久| 色色欧美色色色| 涩综合婷婷| 丁香五月色五月| 日日爽日日| 永久99免费视频网站| Www99热| 久久AV无码精品人妻系列试探| 综合色色网| 五月综合婷婷久久在线| 精品人妻久久久久久久| 美英法精品无码免费视频| 狠狠狠激情网| 66成人网| 五月丁香影院| 天天综合色99| 婷婷情色五月天| 久婷久婷| 日本人妻丁香婷婷久久寝取熟女五月| 色婷婷丁香五月色综合网| www.色窝| 五月丁香在线观看| 99热这里只有精品在线观看| 色色婷婷综合| 色狠狠999综合| 九九av| 99区视频| 特级西西4444www无码| www,超碰| 久久久国产精品黄毛片| 碰碰操91| www.色婷婷。com| 五月婷婷在线网站| 超碰99资源站| 亚洲乱码日产精品BD| 丁香婷婷影院| 精品久色| 丁香五月婷婷色偷偷| 丁香婷婷成人网站| 亚洲精品无码一区二区| 五月婷婷国产| 激情五月天开心网丁香无码| 色五月激情五月开心五月| 激情五月综合| 丁香九月综合在线| 热这里只有精| 五月色婷婷影院| 欧美成人精品A片免费一区99| 在线不卡AC| 九九热99视频在线| 亚洲精品五月| 婷婷五月天久久| 色色色五月天婷婷| 精品99这里有| 播五月丁香三月婷婷| 超碰人人在线| 婷婷激情四射五月天| 亚洲综合字幕色色| 五月开心网| 婷婷色影院| 色综合女人99| 婷婷五月天激情视频| 丁香久月| 日韩久久日| 五月丁香婷婷综合网| 26UUU在线观看| 婷婷激情在线| 久久天堂婷婷五月| 欧美亚洲操逼| 中国丰满熟女A片免费观| 成人免费网站免费看| 五月丁婷香| 五月天激情国产综合婷婷| 九九热这里| 超碰成人影视| 婷婷亚洲激情在线观看视频| 五月婷婷大香蕉| av五月天婷婷丁香| 五月婷色丁香| 五月婷婷六月丁香| 激情五月天婷婷激情| 桃色激情网| 大香蕉婷婷| 亚洲av网址| 天天草天天舔| 婷婷色婷婷| 天天se在线视频| 天天开心AV色综合婷婷五月天| 99ri国产在线| A1片久久久| 色色五月婷婷丁香| 五月天激情亚洲| 五月天五月色婷婷综合| 久久综合丁香激情五月| 大香蕉五月丁香| 免费在线观看欧美激情xx小视频| 潮汕成人AV片在线| 色丁香五月天婷婷| 欧美天堂婷婷日韩| 青青福利网| 成人精品在线| 天天色综合色| 国产一二区爆乳_1国产日韩一区二区三-成人AV| 91视频一起草| 五月停亭六月,六月停亭的英语 | 久久综合五月天| 国产成人一区二区三区在线观看| 五月丁了香蕉综合| 成人国产欧美大片一区| 五月丁香婷婷婷婷综合网| 日本99热| 无码一区二区日韩| 亚洲第一成人无码A片| 欧亚洲在线高清视频| 香蕉视频91| 综合色婷婷| 五月激情婷婷六月| 久久国产高潮白浆免费观看99| 天天色天天舔天天爱天天爽| 色婷婷五月丁香色| 五月丁香激情综合久久| 久9热视频在线观看| 五月丁香激| 激情深爱综合网| 1级欧美日韩| 婷婷丁香一月| 狠狠色婷| 色色五月婷婷久久| 久久视这里只有精品| 在线日韩视频| 天天操夜夜玩!| 日本色色影片| 五月婷婷六月丁香在线| 婷婷六月啪啪| 99精品久久| 在线VA视频| 五月婷婷六月色| 五月天天天操天天爽夜夜操| ..真实国产乱子伦对白在线_欧 | 久草热8精品视频在线观看| 五月天婷婷午夜丁香| 亚洲无码99| 丁香五月天天日| 亚洲亚洲人成综合网络| 六月丁香综合| 国产精品久久99| 无码少妇高潮喷水A片免费| 激情亚洲婷婷六月| 五月天另类图片区99| 五月激情啪啪啪| 玖玖在线视频福利| 色婷婷在线视频观看| 亚洲天堂aaaa| 日本女天天爽| yiqicaoav| 色五月婷婷av| 99热99这里有免费的精品| 激情五月天.色网| 国产九九一区二区三区| 人人舔人人色人人高潮| 久久婷婷东京热大香樵| 免费黄色片子| 99久久玖玖| 任你爽精品免费视频6| 夜夜爽天天爽| 日婷婷| 婷婷色网站| 熟女人妻一区二区三区免费看| 色五月婷婷色五月| 久色视频首页| 日熟女| 色五月激情五月开心五月| w婷婷五月婷婷w| 激情久久月| 成片免费播放| 色色网站| 99热日本| 久久久91| 色五月婷婷天堂| 婷婷香五月天| 久色| 伊人狠狠干| 青青草原亚洲天堂| 中文字幕人妻AV| 午夜丁香| 婷婷六月激情| 婷婷五月天另类网站| 国产综合色婷婷精品久久| 粉嫩AV久久一区二区三区| 色五月婷婷五月天| 婷婷亚洲色| 在线播放中文字幕| 日熟女| 国自产拍偷拍精品啪啪一区二区| 狠狠综合网| 婷婷色丁香六月| 国产99美少妇| 久久激情五月| 中文字幕不卡+婷婷五月| 深爱激情四射| 婷婷八月激情| 超碰免费人人| 97人人看| 日本黄色在线观看| 91日婷婷在线| 超碰在线日夜| 少妇水多A片太爽了| 超碰99在线观看| 这里只有精品视频99| 狠狠色噜噜狠狠色噜噜噜999| 五月天激情图片网| 综合久久8| 嫩草AV久久伊人妇女超级A| 狠狠久久婷五月| 逼里香不卡| 丁香五月天婷婷久久| 中文字幕 码精品视频网站| 这里只有精彩视| 婷婷色五月偷拍| 伊人9在线| 99青青草99| 亚洲精品又粗又大又爽A片| 久久久久9| 国产毛片精品一区二区色欲黄A片| 亚洲精| 翔田千里aV中文字幕| 99精品国产热久久91色欲| 亚洲AV永久无码影院黑人| 天天揷综合网| 青青草伊人婷婷| 婷婷激情五月| XX色综合| 一级视频网址| 丁香九月综合在线| 丁香五月网| 99色.com| 成人电影在线免费试看| 日本3级片偷拍网站| 伊人综合色干| 超碰激情网| 婷婷欧美激情综合| 120分钟婬片免费看| www.91.com黄| 婷婷五月天堂网| 热九九精品| 午夜天堂啪啪| 97激情五月天| 99av视频| www.99日本| 久久久婷婷五月亚洲97号色| 91色色色18| 激情久久久久久| 丁香五月影视| 丁香五月天啪啪| 九九伊人网| 色婷婷成人做爰A片免费看网站| 中国丰满熟女A片免费观| 疯狂做受XXXX高潮A片动画| 少妇高潮呻吟A片免费看软件| 成人做爰A片免费看视频| 五月婷在线| 69精品人人人人| 97色婷婷| 色噜久| 久久久.COM| 婷婷99狠狠躁天天| 五月丁香婷婷久久| 五月婷婷在线播放| 五月开心激情| 5月丁香美女影院| 狠狠色婷| 六月丁香啪啪| 26uuu亚洲欧美| 色婷婷视频在线| 婷婷五月色情| 五月婷婷激情综合| 一级黄色操B| 色婷婷五月在线| 99婷婷五月天| 色色色色综合| 亚洲综合五月天| 伊久大香蕉| 888久久久| 六月丁香大香蕉| 婷婷在线五月天观看| 九九九九九九九热| 97AV在线视频| 91久女| 五月丁香婷草| 5月丁香六月情| 日本成人噜噜噜| 色99网| 色婷婷狠狠禁18久久| 婷婷影院欧美| 综合狠狠干| 色99在线| 麻豆观看夏晴子| 婷婷丁香综合| 婷婷丁香成人网址| 久热九九| 99热欧美精品| 天天色天天爱天天爽| 五月 激情视频| 97操操| 九九九九无码| 男人综合网| 六月婷婷八月丁香| 色逼综合网| 久热人妻| 狠狠搞狠狠操| 婷婷婷婷午夜| 亚洲天堂AV免费片| 久久综合干| 亚洲黄网在线| 丁香婷婷五月天色播| 婷婷五月天电影网| 26uuu色五月| 色五月天.con| 超碰日日操| 大香蕉 婷婷| 大香蕉久操| 五月天综合视频| 天天干天天干天天| 色婷婷小说| 五月天婷婷视频| 99在线免费视频| 激情久久久久久久久久| 婷婷五月综合亚洲| 五月刺激丁香月综合| 综合综合色色| 久久久久久人妻| 在线视频激情网站| 五月天婷婷在线AN| 97婷婷五月丁香| 99在线观看这里都是精品| 五月婷婷久久大香蕉| 亚洲中文字幕在线电影| 开心五月婷婷激情网| www.日日夜夜.com| 婷婷五月天影院| 狠狠干在线| 亚洲精品a成人在线播放| 思思视频久久| 日韩成人免费电影| 天天做天天视天天谢| 婷婷久久丁香五月| 熟女网站久久| 色呦呦美女| 五月天怕怕| 五月丁香花开综合网| av国产精品| 久久99热只有精品| 五月丁香六月婷综合成人综合| 国产ava| 婷婷五月天六月丁香| 热久综合| 思思re99视频在线观看| 久久区区一二三av| 五月婷婷综合在线| 99碰网站| 大香蕉九九| 欧美在线97| 99热这里只有精品99| 91综合网| 182TV大香蕉| 日韩AV在线免费观看| 饮料下药迷倒漂亮女同事强干| 91亚洲视频| 播五月丁香六月| 日操熟女| 99热66| 中文字幕激情综合| 婷婷精品视频| 国产夫妻操逼内射视频| 亚洲激情四射色| 99久久综合精品五月天| 99国产欧美视频| 五月色亚洲| 一本色道久久88加勒比—| 日韩在线一级| 五月婷五月婷伊人伊人五月婷| 久久这里只有精品热在99| 激情五月天婷婷免费观看| 日韩999| 婷婷六月激情啪啪| 婷婷色色宗合网| 婷婷五月婷婷| 99色在线视频观看| 激情九月婷婷九月| 激情五月深爱婷婷| 欧美熟妇一区二区三区| 狠狠爱激情网| 少妇丁香婷婷| 色婷婷久久9.com| 激情五月婷婷在线观看| 黄色99视频| 激情内射人妻1区2区3区| 丁香五月综合在线播放 | 色五月播五月| 26uuu四色| 婷婷综合仓库中文| 久久久精品AV| 五月丁香在线婷婷蜜桃| 欧美伊人9| 99热这里只有精品免费| www.色擼擼.com| 婷婷天堂视频| 久久久国产精品黄毛片| 99激情| 欧亚色色| www久久久久| 九九热这里| 99热这里只有精品50| 激情 婷婷| www.91久久| A久网| 婷婷情色五月天| 亚洲精品久久久久AV无码| 亚州色色色| 婷婷和五月天| 99热一本久道| 国产人妻777人伦精品HD| 国产va视频| 99热乎| 91美女啪啪| 天天操人人干| 99热只有| 婷婷五月丁香久久| 26uuu视频欧美| 婷婷婷婷婷开心无码播放| 久久伊人大香蕉| 嘿嘿视频免费看9| 亚洲六月色| 婷婷色5月激情网| 日韩无码成人电影| 99色.com| 色婷婷综合久久| 99自拍网| 99精品视频免费观看| 电影蜘蛛女| 99日精品视频| 超碰免费电影| 综合色、色综合| 无码任你操| 日本色五月婷婷| 五月丁香激情综合六月涩涩爱| 精品99在线看| 色玖玖网| 亚洲av电影在线| 99激情视频| 变态另类9| 五月天婷婷在线播放| 久久91久久精品久久| 六月丁香啪啪| 色噜噜狠狠色综合成人网| 九九色热视频| 精品少妇蜜臀91| 色五月婷婷天天干| 操人91| 91视频综合网| 色99无码| 伊人五月天久久| 久久久婷婷五月天| 香蕉久久国产AV一区二区| 天天操夜夜操| 亚洲无码99| 97人人操| 成人五月天丁香婷| 日本在线视频播放91| 五月天天天色| 五月激情综| 六月色丁香中文字幕| 日 日干 日日做| 中文字幕婷婷五月天| 超碰在线国产| 91超级碰碰碰| 丁香五月天导航| 婷婷激情四射| 色婷婷婷av | 好吊操这里只有精品| 五月天.com| 欧美啪啪9| 丁香五月婷婷五月| 天天肏高清在线| 五月天婷婷乱论小说| 色五月天在线观看| 国产精品色婷婷久久久精品| 丁香婷婷六月天| 久久狠狠干| 超碰在线中文字幕| 三级黄网站| 大香蕉啪啪啪| 噼里啪啦在线观看免费完整版视频| 饮料下药迷倒漂亮女同事强干| 婷婷五月六月| 婷婷久久网| 午夜少妇在线观看视频| 久久九久久| 国产精品黑丝| 中文字幕激情综合| 色色婷婷丁香| 日本五月丁香| 久久色这里只有精品| 天天爽,夜夜爽| 丁香五月AV| 新97人人上人人| 亚洲精品婷婷| 天天碰夜夜操| www,色综合| 另类精品视频在线观看| 激情五月天在线观看色婷婷| 天天模,夜夜模夜夜爽| 激情综合网 激情五月天| 激情五月天小说| 丁香五月激情网| 在线不卡视频| 九九9久九9国产视频| 婷婷九九色| www.婷婷,com| 天天狠狠婷婷在线| 色狠狠色狠狠| 久99| 国产精品久久久60086| www激情婷婷com| 91干在线| 人妻丰满精品一区二区A片| 天堂美国久久| 亚洲综合网 665566| 天天在线久久综合 | 91色噜噜狠狠狠狠色综合| 激情五月天婷婷五月天| 狠狠久久婷五月综合色| 婷婷久久性爱| 婷婷丁香五月激情中文字幕版| 亚洲激情网站| 伊人五月天在线| 综合久久激情久久| 日韩欧美一级大黄网站| 久久在线人妻| 色婷婷丁香五月| 五月激情综合网婷婷| 日本久久性| 狠狠色狠狠鲁| 玖玖99免费视频| 色婷婷小说| 殴美日韩成人| 99在线看片| 亚洲综合草草| 婷婷不卡基地| 夜夜躁狠狠| 丁香五月天堂网| 久久精品国产一区二区三区四区| 涩九九九九| 五六月丁香激情视频| 九九热啪啪| 夜色热久| 亚洲一色色色色色色色色| 六月丁香综合| 国产一级片色色| 婷婷五月天堂| 人妻内射视频| 欧美婷婷色| 久/久精品99看9| 激情五月丁香六月| 色欧美一级| 亚洲高清在线| 欧美日比视频| 五月天久草| 色婷激情网| 99热最新网址| 香焦网五月天| 久久这里都是精品| 99久久国产综合精品五月天喷水\| 激情九月婷婷| 婷婷色啪| 丁香五月婷婷亚洲另类| 五月丁香六月花| 97色碰| 激情综合五| 丁香五月天成人网站| 日本强伦片中文字幕免费看| 深爱婷婷基地| 久久婷婷精品| 国产ava| 五月婷婷啪啪综合网| 黄色av网站在线免费播放| 色婷婷视频| 五月花免费视频| 婷婷五月丁香91| 热久久99热欧美国产亚洲| 国产无套精品一区二区| 九九综合久久丁香婷婷,开心激情综合网| 六月久久婷婷| 99热1| 久9热视频| 免费AV在线网址| 丁香五月婷婷六月| 日本少妇AA一级特黄大片| 26uuuuuuuu国产| 婷婷五月激情四射手| 亚洲丁香五月美女| 国内一级片| 丁香五月丁香伊人| 久草婷婷网 | 五月婷婷福利| 久久激情五月| 99色在线视频观看| 天天激情欧美美女| 1024婷婷综合久久五月天| 色综合五月| 激情伊人网| 夜夜躁婷婷AV| 欧美日韩99| 色五月婷婷五月| 狠狠五月激情在线| 亚洲精品又粗又大又爽A片 | 蜜臀av粉嫩av懂色av| 九色啦蜜臀| 色婷婷偷拍| 婷婷五月电影院| 九九RE视频在线精品| 五月丁香大香蕉| 久久五月天婷婷视频| AV九九| 日本人妻丁香婷婷久久寝取熟女五月| 成人片黄网站色大片免费毛片| 婷婷五月丁香激情色情| 白度黄视频| 99视频这里有精品| 中文字幕在线日亚州9| 色五月欧美| 天天操夜夜夜拍拍拍| 日本婷婷激情四射中文字幕在线观看| 色五月在线播放| 久99久热| 五月天开心网| 综合久久人妻| 99a级片| 涩综合婷婷| 99er在线观看| 人人妻人人澡人人爽| 色婷婷婷婷| 亚洲色色图片| 九九99偷拍视频| 日本久久人人| 五月丁香六月婷婷免费| 99热观看| 六月婷婷色综合| 成人丁香婷婷五月天| 操逼巨乳91| 久久99网站| 久久这里有精品视频在线免费观看| 色五月综合在线| 干亚洲天堂| 人妻视频一区而且二区| 九久9精品| 激情综合激情五月| 91成人看片| 无码人妻少妇色欲AV一区二区| 欧美婷婷色五月| 丁香五月色色| 在线免费视频caop| 超碰AV在线| 六月婷婷国产| 色情综合| 月丁香久久久| 五月天色图| 五月久视频| 婷婷色无码| 五月婷婷丁香啪啪| 国产成人AV不卡| 欧美精产国品一二三区| 欧美综合五月丁香五月天| 99热碰碰热| 亚洲xx在线| 色五月婷婷亚洲| 五月丁香六月婷婷综合网站| 激情丁香五月婷| 色婷婷91| 亚洲精品第一国产综合亚AV| 五月激情婷婷在线| 99色热视频在线| 婷婷成人五月天一区| 99碰超| 亚洲天堂有码| 91久久日日| 综合网亚洲| 26uuu国产| 色播丁香婷婷五月激情| 亚洲中文丁香| 97久久久久| 热婷婷在线视频| 人妻丰满精品一区二区A片| 91九色熟女| 婷婷五月激情在线视频| 综合在线丁香五月| 婷婷五月综合婷婷| 91黄址| 色婷婷色综合激情91| 亚洲精品第一国产综合亚AV| 无码免费人妻A片AAA毛片西瓜| 色色色色色色色色五月先| 五月综合无码| 天天操综合网站| 五月四色色| 色色色99韩| 99 r热| 成人av中文字幕| 日本黄色在线观看| 亚洲色婷婷久久99精品91| 热久综合| 久久久久久五月天| 免费观看全黄做爰的视频| 99热这里只有精品66| 9999三级片| www,超碰| 色久影院| 欧美三日本三级少妇三99| 色五月婷婷亚洲最大| 五月丁香婷婷激情视频| 色99热| 性天天中文网| 五月天久久综合婷婷丁香| 一本综合丁香日日狠狠色| 五月天成人手机在线视频| 五月丁香啪啪拍| 亚洲 激情 中文| 五月婷婷狠天天色综合| 都市激情五月婷婷综合| 激情开心五月婷婷| 日韩AAA| 天天爽天天爽夜夜爽| 久久成人综合五月天| 婷婷精品在线| 五月花亭亭| 99re视频精品| 99爱在线免费视频| 天天综合精品| 97精品欧美91久久久久久久| 丁香婷婷基地| 99热这里有精品| 国产成人网| 日本乱子人伦在线视频| 国产av天天插天天操天天爽| 91热在线观看视频| 婷婷刺激综合| 亚洲美女高潮久久久久久69| 久久婷婷五月天激情新地址| 色色色综合视频| 超碰AAAAAAV| 新伍月婷婷| 人人爱人人草| 99久久99九九九99九他书对| 色婷婷丁香五月| 97在线观视频免费观看| 色婷婷av综合网| 成人色图情色成人网 www.5b5b5bcom 五月天 | 亚洲欧洲美女在线观| 五月婷综合| 色女人久久| 丁香五月天偷拍| 五月丁香久久激情网| 99综合色| 激情五月天视频| 日产精品一线二线三线芒果| 亚洲182在线观看| 丁香玖玖| 激情综合五月激情17| 天天干天天干天天干天天干天天干天天干天天 | 噜噜色天天开心| 99在线精品视频免费| 5月婷婷性视频| 激情五月五月婷婷| 婷婷成人视频| AV片在线观看| AV在线大香蕉| renre人人操国产超碰在线| 婷婷午夜天| 色噜噜狠狠色综合日日| 激情五月丁香五月色| 亚洲人人操| 凹凸7777操操操| www,99热| www.夜夜| 日本欧美999久久久三级片| 97中文在线| 深爱激情五月天婷婷网| 999激情视频| 丰满人妻妇伦又伦精品国产 | www.五月天社区| 999婷婷综合| 在线成人va| 狠狠狠狠狠狠色| 99热99精品在线观看| 强伦轩人妻一区二区电影| 亚洲V国产V欧美V久久久久久| 久久五月天免费网站| 天堂AV三级| 俺去也五月| 99热这里只有精品8| 色婷婷久久视屏| 五月丁香综合久久| 4399在线日本A片| 九九丁香社区欧美激情| 色五月综合网| 色爱亚洲| 色噜噜狠狠色综无码久久合欧美| 另类激情五| 五月天婷婷五月| 婷婷五月天堂| 婷婷五月18永久免费网站| 综合xx网| 日本色色图| 六月婷婷最新网址| 五月永久激情| 99精品在这里| 丁乡久久| 婷婷色五月综合| 内射爽无广熟女亚洲| 日韩在线99| 热思思| 国产欧美精品AAAAAA片| 99久视频| 99碰网站| 大香婷婷| 五月成人综合| 国产黄大片在线观看画质优化| 久久九九爽| 爽天天天天天天天| 久久婷婷五月天大香蕉| 色久婷婷网| 五月天啪啪| 久99久在线观看| 五月综合激情视频在线| 99色在线观看视频者| 婷婷六月丁香久| 久久这里只有精品8| 丁香婷婷综合激情五月色| 婷婷五月激情的图片| 骚货艹网站视频| 日本不卡一区二区三区| 狠狠操.com| 久久只有18视频| 人人干99| 激情爱爱网站| 操日视频| 国产色网站| 1024成人在线观看| 青青草成人网| 9热在线视频精品| 婷婷色五月综合| 精品热九九| 日逼免费视频| 在线中文AV| 激情五月五月五月婷婷| av国产精品| 六月丁香深深爱| 国产精品涩涩涩视频网站| 丁香六月AV| 成片免费播放| 综合激情网五月激情 | 美国色五月天婷婷资源站| 九九九激情网| 另类激情网| AV中文字幕夜夜操b天天摸bb | 操碰97| 伊人久久婷婷| 99色综合| 日韩一级片| 99热在线免费观看精品| 成熟妇人A片免费看网站| 婷婷五月俺要去| 国产人妻777人伦精品HD| 婷婷六月丁香1| 不卡在线中文字幕无| 婷婷深爱五月丁香网| 99色免费观看全部| 十月色综合| 九九99在线视频| 久久99久久99精品免观看粉嫩| 五月婷婷激情性爱| 亚洲热热视频| 六月伊人婷婷| 婷婷五月性感| 婷婷色五月在线视频| 26uuu偷拍亚洲欧洲综合| 色色色婷婷五月天| 99这里只有精品视频免费| 97精品综合| 噜噜噜色噜噜| 久久青青日本视频| 久久久99久久| 99热6这里之有精品| 超碰在线观看三级片| 玖玖资源站中文| 日本色图综合| 九九热精品视频在线观看| 这里只有精品久| www.久9| 久热婷婷| 亚洲av电影在线| 夜夜干天天干| 成人亚洲精品| 强辱丰满人妻HD中文字幕| 色综合射婷婷| 99精品热视频| 久久视频在线视频| 日日综合网| 婷婷丁香六月| 大伊香蕉精品视频在线| 深爱开心激情| 久久久精品视频79| 碰99在线| 99热99干| 激情五月五月五月婷婷| 天堂综合久久| 五月婷婷六月激情| 色 色 色综合com| 日本精品在线噜噜噜| 婷婷丁香五月天激情四射| 99色五月| 怡红院院久久| 另类激情四射| 97亚洲视频在线| 97操碰在线视频| 婷婷舔| 久久宗合影| 图片区 小说区 区 亚洲五月| 欧美成人性爱网| 伊人五月天男人的天堂在线| 日本A片一区| 激情五月婷| 色日本五月天| 热99热| 天堂爱啪啪| 亚洲国产精品VA在线看黑人| 亚洲免费观看高清完整版AV线| site:esunnet.com| 天堂综合久久| 久久婷婷七月丁香| 99精品在线| 天天爽,夜夜爽| 十月丁香婷婷| 综激情网| 婷婷丁香六月天激情四射网| 狠狠色狠狠操| 五月丁香婷婷综合网| 欧美天天综合网站上去吧| 日本色久| 97超喷视频在线观看| 色色热| 91九色中文字幕女在线观看| 色婷五月丁香久亚洲| 91啪啪视频| 久久99久久久久久久噜噜| AA片在线观看视频在线播放 | www.六月丁香看AV| 婷婷日在线观看| 精品99在线看| 久久亭亭电影| 思思久久99热只有频精品66| 97人人干| 久久99精品久久久久久三级| 久久九九在线视频| 99热这是里只有精品| 欧美人人操| 美欧成人视频| 大香蕉网 久久| 久久AAAA片一区二区| 色色色热热热| 午夜理论片最新午夜理论剧| 五月婷激情影院| www99xxxx五月丁| 久9热视频在线| 五月丁香啪啪| 五月天婷婷小说| 丁香婷婷性爱| 欧美日本国产欧美日本韩国99| 激情五月视频在线婷婷| 六月色五月天天婷婷| 亚洲成人色五月婷婷综合| 97综合在线| 国产综合视频婷婷| 激情啪啪五月| 超级碰碰碰碰视频| 色五月婷婷伊人| 爆乳熟女-区二区三区| 碰碰碰97国产| 久久五月婷综合| 91 影音先锋| 99原创自拍视频在线观看| 狠狠狠狠狠狠| 激情综合五月婷婷| 婷婷丁香五月综合| www.天天干| 五月综合色| 99色在线视频| 亚洲丁香花色| 亚洲操操操| 国产精产国品一二三在观看| 婷婷五月天激情网| 激情五月综合| 婷婷色网| 少妇人妻丰满做爰XXX| 欧美日本日韩| 日本视频久久| www.玖玖九| 超碰免费人人肏| av一区免费看| 久久婷婷东京热大香樵| 2022人人操人人看| 久久最新色| 91成人视频| 丁香婷婷六月激情文学 | 五月永久激情| 夜夜操狠狠操天天操| 久久九九大香蕉电院| 丁香色综合| 狠狠操狠狠操AV| 久热91精品| www.久久爱| 91蜜桃婷婷狠狠久久综合9色| 丁香五月综合| 久久99热网| 激情超碰网| 91精品又长又大又粗又爽又猛| 夜夜爱伊人| 九九热色视频| 激情丰满熟妇五月| 久久机热这里只有精品| 激情欧美丁香五月| 99九九在线观看免费| 婷婷六月丁香五月| 荫道BBWBBB高潮潮喷| 97色射| 97久操视频| 久久婷婷五月综合| 深爱激情九九五月天| 五月天婷婷丁香六月| 激情综合网色播五月| 日本色色色| 中国丰满熟女A片免费观| 色婷婷中文| 99碰| 国产伊人五月天| 五月婷婷激情综合视频| 99热天堂| 色五月婷婷久久| 182无码| 丁香婷婷五月综合影院| 爱之国产色情综合| www.成人婷婷综合| 丁香色色色| 少妇出轨做爰高潮A片| 热久69| 五月婷婷与六月丁香图片激情| 不卡影院午夜理论片| 欧美三日本三级少妇三99| 婷婷五月天成人网| 97婷婷五月激情六月丁香伊人| 激情色色| 色爱终和网| 97精品综合久久| 在线播放人妻| 97婷婷丁香| 草婷婷在线| 欧美 日韩 成人在线| 精品夜夜澡人妻无码AV| 97久久五月丁香婷婷| 国产精品五月丁香| 亭亭玉月丁香| 蜜桃五月天| XX久久| 欧洲综合色| 婷婷激情五月| 墨西哥毛片内射精| 美女天天艹人人爽| 丁香五月手机在线| 色综合综合网| 99热免| 97sese婷婷| 五月天婷五月天综合网在线观| 六月婷婷色综合| 极品少妇XXXX精品少妇偷拍| 久久新| 国产资源91在线| 五月婷婷开心网| 激情五月丁香色色去久久| 婷婷五月色影视先锋| 综合另类视频| 97干在线免费| 五月激情精品视频| 久久久大香蕉| 日日操无码| 色婷五月天亚洲| 91操片| 亚洲免费电影2| 夜夜骑日日夜夜| 五月丁香婷婷综合网| 最新AV在线观看| 思思热99在线| 激情六月婷婷| 99在线免费视频| 五月婷婷六月丁香色| 日本欧美成人片AAAA| 久婷婷| 91色在线 | 日韩| 99热欲| 艹| 激情综合五月| 六月丁香啪啪| 五月婷啪啪| 日都一级A片| 午夜婷婷五月天| 欧美成人AAA片一区国产精品| 99色在线观看| 9久国产精品| 激情五月天99色| 五月天深爱激情网| 中文字幕网伦射乱中文| 色婷婷婷av| 99国产在线| 91成人视频| 青青草轻轻操| 91疯狂操操操操| 亚洲热久久| 久久成人亚洲欧美电影| 激情丁香五月激情婷婷| 五月天成人综合| 久热无码| 91 九色 熟女| 五月婷婷久久久| 狠狠干综合网| 久久婷视频| 九月色婷婷综合| 婷婷久久图片| 丁香五月天色婷婷| 影音先锋91男人资源在线播放| 久久色五月天综合网| 最新无毒无码AV| 丁香激情六月天婷婷| 97色婷婷| renre人人操国产超碰在线| 色婷婷丁香A片区毛片区女人区| 色五月之第四色| 五月婷婷丁香六月| 亚洲宗合激情| 99re26视频| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 激情五月图| 五月久久五月激情| 99热最新| 五月丁香网视频| www久久99| 五月天婷婷六月激情网| 亚洲色五月婷婷| 五月天开心激情网色欲无码| 丁香六月啪啪| 五月婷婷久久综合| 国产精品第一国产精品| 99视频这里只有久久精品| 91精品久久久久久久久久| 五月丁香六月婷婷在线播放| 伊人五月婷| 五月激情六月综合| 久久色五月天| 久久色婷婷| 婷婷丁香六月五月天| 欧美在线| 色狠狠色噜噜噜a天堂一区| www.cao.com久久| 色综合天天| 久热大香蕉| 99操| 人人干AV| 99玖玖精品| 五月婷婷啪啪啪| 婷婷五月天成人导航| 日韩成人无码| 人妻久久久久久久久久久| 国产九九一区二区三区| 中文激情网| 五月激情综合婷婷| 久久久.www| 99久在线观看| 色七色九九| 一本色道久久综合狠狠躁一二三| 五月丁香五月婷婷在线观看| 五月天婷婷基地综合网| 五月丁香综合啪啪| 久久久久久丁香五月| 激情五月综合久久| 亚洲综合另类| 天天天天天久久久久久| 婷婷色啪| 免费看欧美成人A片无码 | 啪啪小说五月天| 久久伊人婷婷| 国产99久久久国产精品免费看| 天天色天天爱天天爱天天爱y| 激情综合国产| 国产欧美精品AAAAAA片| 丁香久久| 丁香五月婷婷深爱综合激情| 性欧美大战久久久久久久83| 99网99热| 热99精品视频观看| 去色色五月天| 久久六月天| 五月综合色播播丁香婷婷| 久久久精品AV| AⅤ网站在线看| 久久98热re| 天天日夜夜夜操操操操| 97碰碰在线观看视频| 熟妇内谢69XXXXXA片| 99在线免费观看| 日日婷婷不卡|