免费国产精品自在自线-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
返回資訊列表
天天综合网站| 色综合丁香婷婷| 国产婷婷色综合AV蜜臀AV| 99爱爱网| 岛国在线观看91| 国产精品VA在线| 99re视频在线播放| 91av无码| 九九99精品视品| www五月| 五月天婷婷激情在线色图| 婷婷综合色色| 人妻久久久久久| 黄色片久久| 丁香五月成人婷婷| 国产午夜精品久久久观看| 丁香五月最新地址| 91色色色视频| 综合AV网| 伊人无码高清| 91久久久久久久久18| 五月丁香在线综合| 色丁香在线视频| 五月丁香婷婷激情四射迷人| 五月丁香六月激情| 思思热在线视频精品| 午夜成人av在线| 就爱射中文字幕资源网| 婷婷另类开心| ss五月天激情| 六月丁香啪啪| 狠狠干在线| 丁香五月天视频| 99热在线只有精品| 玖玖热视频| 激情六月下句是什么| 人妻在线网站| 色综合网页| 婷婷丁香人妻天天爽| 人人做天天爱| 婷婷五月天.com| 色婷婷AⅤ| 国产精品VIDEOSSEX久久发布| 婷婷五月天综合网| 天天干天天日天天操| 国产99热在线看| 综合视频久久| 国产99久久久| 120分钟婬片免费看| 激情婷婷五月天丁香| 婷婷色色五月天| 8区视频在线| 夜夜综合色| 欧美韩日AAA网站| 欧美操人| 天天插天天草人人玩| 91精产品自偷自偷综合| 99ri国产| 天天爽夜夜爽夜夜爽精品| 97日本在线| 去色色五月天| 午夜婷婷久久 | 天天天天干| 婷婷在线激情| 丁香五月区| 激情网婷婷五月天| 97资源碰碰| 欧美色五月| 激情五月天小说| 久久99美女精彩视频| 激情合网婷婷| 五月婷婷真爱激情网| 九九性视频| 人妻精品久久久久久久| 婷婷日欧美在线观看| 丁香五月综合AV在线| 日本九九热| 777精品成人a v久久| 亚洲婷婷开心五月| 激情婷婷五月天日本系列| 丁香六月天色婷婷| 人人干人人看| 草草视频91| 26UUU精品一区二区| 五月天激情视频| 97人人干人人操| 啊v视频在线观看| 爆乳熟妇一区二区三区爆乳| 九月婷婷久久| 久草丁香婷婷1024| 五月天天堂久久| 欧洲不卡视频| 五月丁香六月婷婷久久久综合| 人人舔天天| 成人丁香婷婷五月天| 日日夜夜狠狠操| 99热综合网| 婷婷色色丁香五月天| www久久99| 无码髙清| 久久久天堂国产精品女人| 丁香五月影| 五月综合激情图片| 精品视频99看在线视频| 九九热短视频在线观看| 五月天色色网站| 另类激情综合| 人人性久久| 伊人99热| 逼逼AV| 26uuuavcom| 五月丁香六月婷婷综合网缴情| 婷婷五月激情图片| 中文字幕丰满孑伦无码专区| 天天插天天射天天干| 婷婷色激情网| 婷婷久久精品| 97超级免费无码| 五月天综合久久丁香91| 亚洲色婷婷五月| 另类 在线| 操91| 91人人网| 激情六月色| 大香蕉婷婷| 亚洲AV在线免费看| 九月婷婷综合八月丁香在线观看| 九九99九九99| a片在线免费观看一区| 欧美色图天堂网| 五月噜噜| 国产69久久久欧美黑人A片 | 婷婷久久亚洲| 熟女少妇内射日韩亚洲| 伊人久久艹| 99热这里只有免费| 碰97 久| 色婷婷在线播放| 天天综合天天玩夜夜玩天天玩夜夜玩| 亚洲日日日| 雪千夏麻豆| 梁铮版《蜘蛛女侠》在线 | 婷婷激情性爱| 亚洲无码猫咪| 色婷丨日丨天丨综合久久| 日日操,夜夜撸| www久久99| 国产成人精品123区免费视频| 久久丁香社| 天天日夜夜B久久| 婷婷五月天六月丁香| 精品一二三区久久AAA片| 欧美在线看| 日日爱699| 99天堂网| 综合欧美五月婷婷| 99热这里只有精品中文字幕| 人人97碰| 久99久精品视频| 日韩青青| 战争与艾拉电影免费观看| 亚洲激情五月天| 日本黄色在线观看| 99热这里只有精品青草| 久久九九囯产| 丁香桃色网| 五月婷婷六月基地| 五月综合激情啪啪啪啪啪| 永久无码色| 狼人婷婷久久| 久久网日本| 五月丁香六月婷婷姐| 久久久久9久无码视频| 色婷婷综合久色AV五色最新| 99久久这里只有精品| 91人人网| 五月天成人综合| AV在线大香蕉| 亚洲精品午夜国产va久久成人| 成年视频免费观看| AV79| 日韩成人电影Av| 伊人久久五月天| 五月天综合在线| 婷婷丁五月| 久久五月天色婷婷| 精品久久99码| 婷婷五月香蕉| 在线五月婷婷小电影| 97久久人人| 丁香花婷婷五月天| 综合网啪啪| 日熟女| 人妻久久久| 色婷婷性爱| 天天爽天天操| 99热18| WWW,色五月| 天天干狠狠| 色婷婷99| 香蕉久日夜| 婷婷五月综合啪| 999热在线观看视频| 日日夜夜小色哥| AV在线免费观看不卡| 久久精品小视频| 综合久久婷婷99| 亚洲激情免费视频| 婷婷综合97| 香蕉狠狠爱视频| 欧美婷婷六月丁香综合色| 国产小精品| 亚洲色婷婷视频| 久久99久久久| 国产做A爰片毛片A片美国| 婷婷五月免费在线| 五月丁香婷草| 色婷婷av在线观看| 人人人操97| 99在线播放| 综合性爱网| 国产精品人妻欲求不满| 六月婷婷毛片| 国产在线黄色| 涩五月丁香| 在线观看视频1区| www.婷婷.com| 9er热在线精品视频| 成人国产网站在线免费看| 婷五月丁香| 激情九月丁香婷婷| 9九热视频| 蜜臀久久99精品久久久久久酒店| 久久丁香五月天| 狠狠色情婷婷| 中文字幕在线免费观看视频| 国产全是老熟女太爽了| 狠狠色综合久久| 9婷婷内射| 丁香五月人妻| 久久婷婷精品| 婷婷丁香久久网| 色碰碰| 99热国产这里只有| 五月丁香在线观看99| 久久伊人五月天| 特级片神马电影| 色综合综合色| 色www.con| 开心五月色婷婷综合开心网| 六月丁香五月婷婷| 久久人人九九| 激情五月影院| 婷婷草| 婷婷色五月综合丁香| 中文字幕婷婷在线| 香港九九六区八区99| 色色com| 激情久久丁香| 五月天 无码| 99re在线观看视频| 激情综合青草| 激情综合网丁香| 亚洲AV免费国产电影| 婷婷五月天BBw| 大香蕉婷婷丁香天堂AV| 精品人妻在线| 99九九视频| 精品综合网在线| 国产精品99久久久久久久女警| 97资源碰碰| 亚洲情欲| 婷婷九月丁香| 99热免费| xx久久| 婷婷无码五月天| 大香蕉院线| 久久一热免费视频| 久月丁香爱婷婷综合| 五月天婷婷av| 久99| 美女五月天婷婷| 久久久久久欧美精品se一二三四| 久婷婷| 香蕉久久六月| 99操中文视频| 亚洲另类婷婷五月丁香在线播放| site:wpjngj.com| 色情五月综合婷婷| 99热综合| 激情五月丁香综合蜜桃| 久久久人人人妻丝丝丝| www.成人婷婷综合| 天天爽天天日| www久| 色99视频| 欧美槡BBBB槡BBB少妇| 色五月婷婷在线| 色色色色色色色色综合网| 婷婷综合色图| 日本综合久久| 九九爱激情| 国产成人综合电影| 婷婷五月欧美| 色综合网址| 激情九月婷婷| 五月丁香婷婷AV天堂| 丁香五月AV综合| 欧美天天综合网站上去吧| 亚洲色爽| 婷婷五月综合视频免费播放| www.久久久.com| 婷婷久久综合| 国产一级视频a| 丁香婷婷天堂| 玖玖激情五月天| 97干97色| 婷婷五月天免费| 直接看的AV网站| 激情六月天婷婷| 久操综合| 婷婷激情五月综合基地| 五月丁香色| 99精品一二三四视频| 精品久久久人妻| 日本欧美成人片AAAA| 人人肏逼视频在线一区二区| 天天综合网91| 狠狠色噜噜狠狠狠888了| 激情VA视频| 猫咪伊人久久| 强壮的公次次弄得我高潮A片日本 | 91干婷婷| 久久六月天| 天天爽天天日人人爱| 婷婷日日天天| 91热在线| 色婷婷啪啪综合网| site:hcxsz888.com| 极品 少妇 内射| 天天影院色| 五月婷婷无码| 国产操B视频| 欧洲激情网站| 婷婷五月激情中文字幕| 国产精品久久久久久久久久免费| 色婷成人狠干| 亚洲婷婷六月天| 色婷久久| 激情综合色婷婷啪啪五月天| 那里有AV网址| 欧美这里只有精品| 伊人在线视频| 婷婷色五月丁香六月欧美啪| 久久人妻伊人| 婷婷丁香五月天中文字幕| 99精品性爱| 99性视频| 欧美综合123区| 亚洲99手机免费看视频| 91久久婷婷| 婷婷五月丁香综合瑟瑟| 精品视频99看在线视频| 综合啪啪| 色婷婷瘦婷婷日韩| 亚洲国产色色| 99精品国产在热久久| 亚洲六月色婷婷| 久99久热只有精品国产99| 国产 亚洲 在线| 丝雨一区二区| 婷婷五月永远18免费久久久| 五月天婷婷无码| 激情综合婷婷久久| 女力报到正好爱上你| 日本色五月| 激情婷婷九月| 五月丁香啪啪综合| 猫咪伊人AV| 激情 五月 婷婷 丁香| 99这里| 操操操B| 欧美日韩成人在线| 殴美日比视频| 人人性久久| 婷婷五月丁香基地| 99热伊人综合| 狠狠插日日干撸| 日韩免费视频| 成人五月天在线视频在线观看| 成人AV在线网站| 丁香六月久久| 大香蕉五月婷婷| 色五月天在线观看| 91九色无码内射| 日本激情五月天‘| 亚洲精品无码A片一区二区| 天天摸,天天爽| 狠狠做深爱婷婷久久综合一区| 婷婷99狠狠躁天天躁中文| 色色五月婷婷丁香| 久草视频大香蕉99| 婷婷丁香五月色| 欧美日韩精品一区二区三区钱| 婷婷日日天天| YW无码| 久热精品视频| 激情色情五月天| 五月天成人小说网| 九热视频精品| 国产成人av在线播放| 欧美日韩成人高清在线| 一起草Av| 深爱 五月天| 中文字幕在线日亚洲9| 色婷婷丁香五月| 丁香婷婷影院| 丁香色啪综合| 99精品久| 激情六月天婷婷| 国产av影片| 91欧美日韩综合| 丁香九月激情| 丁香五月婷婷五月| 天天草天天日| 91色在线 | 日韩| 欧美色97| 五月花婷婷在线精品视频| 丰满人妻一区二区三区| 丁香六月天婷婷开心综合| 精品日本视频444| 婷婷草| 国产AV不卡福利| 色综合大香蕉| 99热6这里之有精品| 一本大道熟女人妻中文字幕在线| 丁香五月亚洲| 玖玖无码中文| 人人色人人弄人人操| 99久久精品视频女神1| 久草视频大香蕉99| 婷婷五月天综合网| 六月丁香婷婷天堂| 色综合色色色色| 操操人人| 伊人婷婷色激情丁香| 九九综合五月欧美| 五月丁香婷婷色| 色月视频| 久久丁香婷婷五月| 久色网| 狠狠操婷婷| 九九人人精品| 九九九激情综合| 婷婷五月丁香五月综合网| 最新久久网址| 色级停停| 日韩欧美五月丁综合| 日韩av手机在线观看| 六月丁香啪啪啪| 99热在线爱| 久久久精品婷婷五月天| 久久激情网| 26uuu亚洲欧美| 超碰在线观看9| 极品少妇高潮啪啪AV无码| 日日爽日日爽| 婷婷色五月综合丁香| wwww.色婷婷| 亚洲操B| 六月丁香社区| 日韩成人网站精品久久大全| 婷婷终合色图| 色五月婷婷成人| 91碰视频| 在线观看中文字幕| 五月婷婷,六月激情| 99精品高潮| 狠狠CAO日日穞夜夜穞AV| 噜噜吧天天爱| 亚洲精品五月| 五月天激情站| 日本3级片偷拍网站| 97色精品视频| 色婷婷丁香五月| 天天爱天天操| 日韩操逼小电影| 亚洲色精彩| 激情丁香五月AV| 国产乱妇无乱码大黄AA片| 91丁香五月| 狠狠插狠狠| 99久久66| 成人av播放| 69人人操人人爽| 色婷婷丁香五月| 一级精品999WWW| 亚洲第一精品成人999久久精品| 99热 免费| 九热...av| 婷婷五月激情综合啪啪| 色欲五月丁香| 色色欧美色色| 欧美搡BBBBB摔BBBBB| 97久久人人| jiZZdr| 99久久精品视频女神1| 人妻性爱| 免费日韩99| 九九碰九九爱97| 99热网址| 182TV亚洲| 熟美女麻豆| 日本色啪| 欧在线一区| 三级毛片视频| 男同91| 国外亚洲成AV人片在线观看| 亚洲乱码日产精品BD在线观看| 五月丁香啪啪网| 九九热re99re6在线精品| 六月丁香五月天| 久久A V无码视频| 色噜综| 亚洲mm色| A网在线欧洲| 五月婷婷伊人久久| 99思思热只有在这里看 | 丁香五月六月久久综合 | 嫩草综合网| 久久AAAA片一区二区| 激情五月综合色| 久久九区| 六月亚洲婷婷6月中文字幕| 婷婷六月色| 久久久人妻不卡| 色10月婷婷视频| 久热99| 狠狠做六月爱婷婷综合aⅴ| 色婷婷丁香五月| 丁香久久| 俺五月| 五月久久亚洲| 很很干天天干| 日日噜噜夜夜狠狠久久丁香六月| 婷婷五月色| 久久久久9| 婷婷丁香五月综合| 日韩啪啪视品| 人人操女人| 丁香大香蕉| ww亚洲ww在线观看| 思思久久96热在精品国产,| 婷婷五月天亚洲精品| 欧美狠狠地| 免费视频99| 五月伊人网| 婷婷五月天伊人| 国产精品18久久久| 性色综合网| 日韩不卡DvD| 蜜臀av无码久久久久久久久| 婷婷综合六月| 色99日韩| 日日做A爰片久久毛片A片英语| 激情综合视频| 国产综合视频婷婷| 日日干夜夜撸夜夜骑| 亚洲成人va| www.jiujiujiu| 激情综合久久| 色婷婷五月影视| 99这里有精品视频| 丁香5月啪啪| 五月丁香婷婷AV| 9久热| 99婷婷狠狠成为人免费视频| 久9精品| 亚洲 综合中文| 久热中文字幕在线线观看| 欧美日本另类| 禁欲电影完整版在线播放| 久久五月丁香综合| 五月天激情综合在线| 色婷五月天网站| 国产精品色| 九九综合| 婷婷五月网图片区| 五月综亚洲| 婷婷刺激综合| av操逼网| 99欧美| 五月丁香六月婷婷开心网| 大香蕉五月天婷婷| 九一九九黄色| 狠狠人人| 婷婷五月av| 另类小说五月天综合网| 亚洲av免费在线| 亚洲狠狠爱婷婷| 中文精品在| 天天色天天爱天天爽| 五月丁香婷中文| 久久婷婷五月综合色丁香花| 五月总合激情网| 玖玖资源在线视频| 国产肥白大熟妇BBBB视频| 久久WW| VA婷婷亚洲| 久热这里只有精品6| 综合玖玖偷拍| 色天天综合| 久久婷婷精品| 伊人婷婷综合| 99视频在线观看网址| 久久人人做人人妻人人玩精品va| 亚洲综合在线视频| 五月天另类激情在线| 日韩在线观看网址| 97丁香花五月天激情小说| 97热在线精品| 99在线爽| 99热这里只有是亚洲国产| 成人国产欧美大片一区| 欧亚洲在线高清视频| 五月精品| 五月婷婷97| 乱轮A片| 精品人妻伦九区久久AAA片| 亚洲综合视频在线| 丁香狠狠色婷婷| 色综合色综合色综合| 五月亭亭激情综合| 天天插天天插| 天天插天天插天天日| 色五月91| 色射影院| 五月天婷婷基地| 狠狠综合网| 色狠狠综合入口| 激情五婷网| 99色在线观看视频者| 第六色在线| 熟妇人妻中文字幕无码老熟妇| 五月婷婷深深的爱| 五月婷婷六月丁香综合在线| 综合色图区| 欧美久久婷婷| 日日噜狠狠| 亚洲av综合网| 色五月综合激情| 日韩黄黄| 五月色婷婷在线观看| 婷婷五月天电影网| 五月花综合网| 国产成人精品一区二三区熟女在线| 男人天堂伊人五月丁香| 色狠狠色噜噜AV天堂五区| www。88热在线视频免费观看| 天天干天天做| www.sd-xiangsu.cpm| 超碰在线成人| 婷婷五月天影视| 666555。COm毛片| 五月丁香婷婷伊人| 热久久这里只有三级视频| 99热精品在线免费观看| 久久视频婷婷| 67194国产| 欧美成性色| 少妇高潮呻吟A片免费看软件| 色的色综合| 久久加勤综合| 亚洲国产精品VA在线看黑人| 婷婷99热| 六月丁香啪啪啪| 精品色色网| 1769在线观看欧美国产| 99色精品| 丁香六月 婷婷六月| 欧美69久成人做爰视频| 婷婷六月五月| 欧美精产国品一二三区| 五月天婷婷久色| 99热99精品在线观看| 九九热最新地址| 9操在线| 五月综合久久| 丁香五月六月婷婷怡红院| 999久久久国产精品| 丁香综合网| 5月丁香婷婷| www.久久久久久久久久.com| 婷婷丁香97| 99热成人精品| 碰碰碰97免费精彩视频| 五月婷色| 丁香婷婷综合激情五月色| 金品在线视频99| AVDV久久| 99re鈥哸鈥唙| 在线观看熟女少妇| 久久五月天精品视频| 色婷婷综合久久久久| 岛国资源网| 激情久久丁香| .精品久久久麻豆国产精品| 五月婷婷激情综合网 | 婷婷久综合| 久久免费操| 五月婷丁香在线视频在线| 日韩精品无码AV| 亚洲激情av| 日韩AAAAAAAAAAA片| 人人草成人视频| 久久五月婷综合网| 中文字幕在线免费观看视频| 九九99久久| 99热在这里只有免费精品| 超碰AV成人| 另类少妇人与禽zOZZ0性伦| 五月婷婷色播| 激情久久天天| 久久XX| 久久机热探花| 亚洲V国产V欧美V久久久久久| 婷婷色在线视频| 天天综合亚洲综合| 99热成人| 狠狠色噜噜狠狠狠狠综合| 婷婷五月偷拍| 婷婷色五月婷婷姐妹| 综合久久久婷| 九九丁香社区欧美激情| 激情深爱五月天| 五月丁香六月在线| 91dy.av| 亚洲sesesese| 久久精品系列| 五月婷久久综合| 色婷婷成人做爰A片免费看网站| AV网站免费在线| 五月天激情无码| 全国最新疫情| 欧美色色色色色色色色色色影视| 婷婷伊人综合中文字幕| 欧美熟妇一区二区三区| 久久国产成人9999久久久久| BBWCUCKOLD精品熟妇| 99热.com| 九九热中文| 婷婷丁香六月天| 欧美色五月天| 五月婷婷六月奇米网丁香| 色婷婷中文字母五月丁香| 99色视频在线观看最新| 91久久色| 97婷婷在线| 日本欧美999久久久三级片| 色六月 婷婷| 亚洲亚洲人成综合网络| 狠狠操狠狠| 色婷网| 夜夜干天天操| 99这里只有精品|v| 五月丁香香蕉| 五月天激情四射| 乱码操操| 激情小说视频图片| 丁香六月啪| 久9久9热久热| 九色婷婷| 亚洲精品婷婷| 99热精品在线观看| 99这里只有精品| 久久久久久久久久8888| 曰韩五月丁香色婷婷无码| WWW.开心五月天.COM| 97色碰碰公开视频| 人操综合| 亚洲视频另类| 亚洲成人中文字幕| 久99精品视频| 天天操天天曰天天射| 77777亚洲午夜久久| 激情亭亭五月| 婷婷伊人综合中文字幕| 99无码超碰| 26uuu欧美日韩| 精品无码色| 日在线V视频在线播放| 五月天婷婷色小说| 丁香婷婷激情网站| 激情综合五月婷婷| 激情久久肏屄视频| 思思热精品在线| 99热这里是精品| 日韩AV无码影片| 91 久热| 色婷婷香蕉丁丁网| 欧洲亚洲午夜| 亚洲精品网站色视频| 丁香五月婷婷色五月| 东北婷婷五月天| 常久最新免费的色吊丝| 性色天| 高清无码视频网址| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 久久国产成人9999久久久久| 日韩淑女人妻luan伦激情精品一区二| 99热亚洲| 婷婷久久免费看| 五月花丁香婷婷| 99操免费视频| 欧美成人精品A片免费一区99| 人与禽A片啪啪| 婷婷五月天渟渟| 久热黄色| 天天干夜夜b| 色屌丝中文字幕| 丁香六月婷婷综合| 五月天久久色| 波多野结衣AV无码Porn| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 91婷婷视频| 五月丁香毛片| www.xtbsty.cn.com蜜乳AV| 狠狠干狠狠干狠狠干狠狠干| 天天操天天干天天日| 天天日天天摸| 91狠狠色色丁香婷婷综合久久| 色色色com| 色婷婷亚洲综合天堂| 五月丁香精品| 五月婷婷狠狠干| 婷婷成人综合| 91大屁股在线| 日本色色网| 五月天婷婷人妻| 婷婷午夜天| 五月丁香天堂| 六月丁香成人| 婷婷五月色播| 精品国产乱码久久久久久免费| 九热视频精品| 久久99久久99精品免视看婷婷| 丁香五月婷婷亚洲色图| 国产亚洲精品久久久久苍井松 | 成熟妇人A片免费看网站| 美腿丝袜AV天堂网| 色五月aV| 久久丁香五月婷婷| 91 久热| 激情五月黄色小说| 五月丁香六月天| 色天堂婷婷| 久操热| 婷婷六月丁香五月| 欧美性生交XXXXX无码小说| 26UUU欧美激情一区二区| 婷婷丁香亚洲五月天| 亚洲高清在线| 99热久97| 五月婷久久在线| 96丁香六月婷婷蜜桃综合久久| 91干网| 人妻在线中文字幕久久| 国产精品电影| 香蕉网久久| www.av骚货| 人妻AV在线| 五月婷婷啪啪啪| 丁香五月六月婷婷殴美综合| 国产亚洲精品久久久久久郑州| 久久婷丁香五月| 久久久久er热| 99色人| 色婷綜合网| 久久久久久人妻| 久婷久婷| 开心婷婷五月| 激情五月天福利| 丁香五月第四色88| 中文字幕日产A片在线看| 色五月天激情| 99热免费精品| 色九月国产| 五月婷精品| 男人大jjc女人免费视频| 久热2025无码| 五月丁香激情综合| 色五月首页| 色情丁香五月婷婷精品| 伊人三级激情| 91久久精品无码一区二区三区| 婷婷五月天美女视频| 亚洲最大成人综合网720P| 久鲁鲁色网| 亚洲九九视频| 亚洲婷婷在线播放十月| 婷婷久久大香蕉| 五月天综合激情网| 中文字幕,综合,91| 无码橾| 色婷婷亚洲婷婷在线观看| 色色综合五月| 久草五月天| 一级韩国产精品毛| 可以看的AV网站| 日本全黄一级999| 天天综合在线网| 在线综合91| 亚洲日日日| 丁香五月大香蕉AV| 91久久电影| w婷婷五月婷婷w| 久色网址| 久思思久视频| 青青青在线视频国产| 六月婷婷视频| 九九九九操逼| 久久激情五月天| 久婷视频| 91婷婷丁香五月| 亚洲精品电影| 久久99热这里只频精品6学生| 99热免费精品热久久66| 激情五月天网| 婷婷色色网| Av在线资源| 日韩一级网站| 97久久久| 婷婷精品| A网在线欧洲| 97在线日本| 99精品在线观看视频| 亚洲操逼网| 婷婷亚洲天堂| www.lingjunshare.com| 97在线干| 大香蕉九九| 色婷婷五月基地在线| 五月丁香本色在线观看| 婷婷五月丁香综合激情| 九九热啪啪| 激情六月婷婷| 五月天自拍视频| 丁香五月婷婷少妇| 日本超碰在线| 色婷婷丁香五月在线| 特黄三级又爽又粗又大| 91视频一起草| 久草久青福利| 亚洲99一级无嗎特制在线| 亚洲av日韩无码| 久久亚洲色导航| 五月色情婷婷| 97av在线视频| 69激情小说| 亚洲碰碰碰| 26uuu国产| 六月丁香六月婷婷欧美| 丁香五月性| 五月婷婷久草| 大香蕉九操| 综合性视频99| 五月久久婷婷天堂视频| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 丁香网五月天激情| 欧美影院婷婷| 日B日潘金莲BB| 激情图片亚洲| 337久久| 特黄三级片| 激情五月天色爱| 熟女网站久久| 婷婷五月天天| 久久精典| 2025年最新亚洲在线欧美| 草一草avb| 五月婷婷黄色网址| 秋霞性爱AV| 丁香五月停停av| 天天性视频| 久久人视频| 欧美性做爰大片免费看办公室| 欧洲亚洲精品| 婷婷五月天xxx| 天天综合五月天| 女人被躁到高潮嗷嗷叫小| 99色中文| 韩国三级五月天婷婷。| 18av天堂| 丁香五月色五月| 久久久全国免费视频| 色色射| 九九这里有精品| 六月婷五月丁香| AV在线免费播放| 色亭亭丁香五月天| 99亚洲天堂| 五月婷婷人人人操| 五月婷婷啪啪啪啪| 色婷婷成人在线| 五月婷婷色色色| 色婷婷影音| 五月激香蕉网| 天天干天天插| 日韩成人免费电影| 亚洲VA口| 激情丁香五月婷婷啪啪| 久久99热这里| 99re在线观看| 六月婷婷色色色| 亚洲不卡123| 亚洲亚洲人成综合网络| 婷婷丁香十月| 欧美视频五区| 另类激情综合| 丁香激情综合| 99热777| 五月天自拍网| 色之综合网| 超碰在线成人| 久久大香蕉同僚| 婷婷五月天丁香成人社区| 日韩不卡123| 中文字幕 中文字幕明步| 丁香五月偷拍| 夜夜撸天天操| 色色婷婷五月天| 91干视频| 99毛片| 噜一噜在线| 五月天最新网| 99热6精品| 五月草视频| 亚洲欧美999| 丁香六月亭亭久久综合| 亚洲国产精品综合色区| 色色色色av777| 99热这里只有精品一| 天天色天天爱天天舔| www色婷婷久久综合久色| 99五月丁香丁| 四色综合网| 99在线观看视频免费| 99re99在线看| 天天爽夜夜爽夜夜爽精品| 五月香婷婷| 六月丁香婷婷五月天| 另类专区在线观看| 日日爽夜夜爽| 久久久GOGO无码啪啪艺术| 色综合久| 中国女人做爰A片| 国产真人做爰视频免费| 极品人妻VIDEOSSS人妻| 日本色色影片| 婷婷六月成人| 丁香五月www| 操碰久| 色婷婷丁香综合中文字幕| 日韩成人中文字幕| 好好干Av| 欧美精品久久久久久视频观看| 天天舔天天摸天天射| 色狠狠六月| 婷婷五月丁香综合人妻| 久久婷婷六月综合综合色| 天天插天天日| 91热99| 91操操| 精品一区久热| 99热99天堂| 香蕉狠狠爱视频| 婷婷色播色五月五色五月天色妇| 五月丁香亭亭成人电影| 五月丁六月婷| 99re6久热只有精品6在线直播| 超碰猛烈的性猛交| 狠狠操狠狠操AV| 免费观看全黄做爰的视频| 99视频免费播放| 色婷婷AⅤ| 99热伊人| 99久久成人| 亚洲色优| 色五月在线观看| 婷婷丁香社区| 九九美女视频| 丁香色色网| 五月激情综合激情五月| 色综合色综合色综合| 激情久久久久久久久久| 久久这里有精品| 成人网在线观看视频| 日韩有码久久| 色色综合网站| 欧美婷婷五月天综合| www.激情五月| 日本三级日本三级99| 久久99大| 色婷婷综合久久久久| 五月天成人伊人| 99网99热| 97人人干| 1024你懂的欧美曰韩| 九九99精品| 亚洲综合色五月| 婷婷激情性爱| 天天揷综合网| 久久五月激情综合| 婷婷五月激情欧美大胆视频| 国产精品色婷婷久久久精品| 婷婷大香蕉| 欧美日韩国产一区二区| 怕怕av| 五月天另类激情在线| 五月天开心网| 婷婷综合色网| 激情婷婷五月黑人| 97色永久免费视频| 综合aV在线| VA色婷婷| 99热精品在线播放| 亚洲精品亚洲人成人网| 五月丁香亭亭AV女优| 99这里只有免费的精品| 婷婷五月婷婷| 最近免费中文字幕大全高清大全1| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 狠狠色噜噜狠狠狠777奇米| 91欧美日韩综合| 五月天婷婷丁香六月| 色五月欧美| 欧美婷婷精品激| 亚洲激情电影五月天色婷婷丁香一起草 | Av狠狠色丁香婷| 五月停亭六月,六月停亭的英语| 五月天成人在线播放丁香| 思思精品视频| 伊人九九热| 五月婷婷激情中心| 久久综合人妻| 久热亚洲| 99热精地址| 激情综合五| 99热e| 狠狠操狠狠操AV| 五月婷婷六月丁香在线视频| 99精品综合| 超碰在线观看9| 亚洲色婷婷五月| 国产又爽又猛又粗的视频A片| 91精品国产91久久久久青草| 色五月激情五月天| av一级棒av| 色综久久久| 日韩视频99| 国产免费一区二区三区三州老师F1F1.CC | 99热只有| 99热碰碰热| 激情第四色| 91美女啪啪| 色五月六月婷婷| 图片区 小说区 区 亚洲五月| 欧美99热| 9久久婷婷国产综合精品性色| 岛国资源站| 久久久精品色色色| 五月天大香蕉av| 色综合播放| 色色色色综合网| www久久久| 色九网| 色色色婷婷五月天| 亚洲人妻Av| 久草狼人| 天天插天天日| 久久精品噜噜噜成人A∨色欲| 久狠日av| 99久久婷婷国产综合亚洲| 欧美色小说婷婷| 精品夜夜澡人妻无码AV| 激情五月天啪啪视频| 另类视频五月天| 亚洲婷婷视频| 夜夜骑夜夜撸| 99色热| 五月激情站| 五月亭亭六月色| 99热在线观看| www色婷婷久久综合久色| 狠狠综合网| 久久人妻乱子伦| 丁香六月综合激情| 久久久久久综合88| 五月丁香香蕉| 91ncom.色| 91超碰人人操| 小视频久久久aaa| 久久机热这里只有精品免费视频| 色五月首页| 天天开心天天色| 99成人| 五月婷婷激情四季| 免费看欧美成人A片无码| 婷婷六月丁香激情综合| 国产偷人爽久久久久久老妇APP| 亚州视频九九99| 好叼操在线观看| 亚洲日日日| 99re热在线观看| 六月婷婷激情图片| 热九九精品| 久草热8精品视频在线观看| 呦呦v线| 五月丁香六月停停停| 舔色婷婷| 五月婷婷久久久| 激情99| 99精品无码网站| 婷婷久久欧美| 婷婷五月综激情| 久热久色| 日韩二区搞逼插逼毛片| 综合激情五月天六月婷免费视频| 婷婷五月色惰| 色五月激情| 天天爽人人爽| 久久伊人婷| 国产精品成人在线| 婷婷五月天激情在线观看 | 91狠狠色| 99热6这里只有精品6| 99在线资源视频| www,com,五月色色| 思思久久网| 色色综合网www| 日本九婷婷| 国产精品久久久99视频| 色五月,com| 殴美综合激情五月天免费视频| 超碰人人色| 91 影音先锋| 天天综合精品| www.激情在线| www.久操| 九九视频这里只有精品| 99这里只有精品在线| 色九综合| 丁香六月啪| 婷婷深爱五月丁香| 婷婷丁香五月天综合AV| 色一色综合| 色九亚洲| 99热日本| 9久热在线视频精品| 99网| 色爱综合网| 婷婷在线操| 色五月婷婷综合在线| 日韩中文字幕| 婷婷五月电影| 丁香五月天五码婷婷|