亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        協(xié)同過(guò)濾推薦的高校社團(tuán)系統(tǒng)*

        2022-12-16 09:23:18李柯諭何明昌高利新王陳培
        計(jì)算機(jī)時(shí)代 2022年12期
        關(guān)鍵詞:社團(tuán)協(xié)同算法

        李柯諭,何明昌,吳 丹,高利新,王陳培

        (溫州大學(xué)數(shù)理學(xué)院,浙江 溫州 325035)

        0 引言

        目前大學(xué)生社團(tuán)規(guī)模激增,加大了社團(tuán)管理的難度,為此,有部分高校開(kāi)發(fā)了高校社團(tuán)系統(tǒng)。高校社團(tuán)系統(tǒng)的開(kāi)發(fā)并不簡(jiǎn)單,設(shè)計(jì)語(yǔ)義分析、算法[1]以及系統(tǒng)軟硬件環(huán)境的搭建。目前許多已有系統(tǒng)基本上是網(wǎng)頁(yè)版,在移動(dòng)設(shè)備上使用往往十分不便。

        本文基于協(xié)同過(guò)濾算法,開(kāi)發(fā)了移動(dòng)版高校社團(tuán)系統(tǒng),來(lái)提升社團(tuán)工作效率。

        1 技術(shù)實(shí)現(xiàn)

        1.1 開(kāi)發(fā)語(yǔ)言

        PHP 語(yǔ)言是目前最流行的編程語(yǔ)言,并且具有開(kāi)源性、數(shù)據(jù)庫(kù)連接的廣泛性等優(yōu)點(diǎn),上手容易,在補(bǔ)丁漏洞升級(jí)過(guò)程中,核心部分植入簡(jiǎn)單易行,且速度快[2],與Java、Python 等語(yǔ)言進(jìn)行對(duì)比之后,我們選擇采用PHP進(jìn)行后臺(tái)開(kāi)發(fā)。

        1.2 技術(shù)結(jié)構(gòu)

        為實(shí)現(xiàn)高校社團(tuán)組織工作交流、文件上傳下載等功能,系統(tǒng)采用Okhttp 框架,同時(shí)為增加功能多樣化,系統(tǒng)預(yù)留了功能擴(kuò)增接口;考慮到安全性和便捷性,APP 采用Ubuntu GNU/Linux 操作系統(tǒng),在登錄時(shí)采用JWT Token 進(jìn)行身份驗(yàn)證,并對(duì)重要的數(shù)據(jù)進(jìn)行MD5 加密存儲(chǔ);考慮到高校社團(tuán)數(shù)量及使用人員較多,采用CDN,以保障服務(wù)器流暢。

        1.3 Android前端

        Android 系統(tǒng)基于Linux 系統(tǒng),其具有代碼開(kāi)源的特點(diǎn),兼容性也比較好,是目前在移動(dòng)應(yīng)用使用最多的系統(tǒng)。通過(guò)Android系統(tǒng),前端采用MVP三層架構(gòu)體系,使Controller 和View 做到完全解耦,避免View具有過(guò)于復(fù)雜的業(yè)務(wù)邏輯,減少Activity或Fragment的代碼數(shù)量,這樣做可以通過(guò)創(chuàng)建接口的方式增加系統(tǒng)靈活性,降低開(kāi)發(fā)和維護(hù)的成本[3]。

        1.4 后臺(tái)架構(gòu)

        LAMP 架構(gòu)有著開(kāi)源、大量的額外組件和擴(kuò)展功能模塊、代碼簡(jiǎn)潔易于開(kāi)發(fā)、方便易用和安全穩(wěn)定等優(yōu)點(diǎn),LAMP框架的后端采用MySQL數(shù)據(jù)庫(kù)服務(wù),可以存儲(chǔ)各種賬號(hào)信息、產(chǎn)品信息、客戶資料、業(yè)務(wù)數(shù)據(jù)等,其他程序可以通過(guò)SQL 語(yǔ)句進(jìn)行查詢、更改,同時(shí)還采用PHP 語(yǔ)言解釋動(dòng)態(tài)網(wǎng)頁(yè)文件,提供Web 應(yīng)用程序開(kāi)發(fā)和運(yùn)行環(huán)境[4],所以我們后臺(tái)采用LAMP 架構(gòu),考慮到讀寫(xiě)效率和線程安全,數(shù)據(jù)存儲(chǔ)方面采用Redis非關(guān)系型數(shù)據(jù)庫(kù),這樣就可以很好彌補(bǔ)存儲(chǔ)數(shù)據(jù)讀取數(shù)據(jù)慢的不足,另外我們系統(tǒng)還引入華為云開(kāi)放云存儲(chǔ)服務(wù),以保證大量的上傳和下載視頻等文件。

        1.5 數(shù)據(jù)庫(kù)

        在系統(tǒng)后臺(tái)數(shù)據(jù)處理方面,主要涉及的數(shù)據(jù)表有用戶個(gè)人信息表、社團(tuán)信息表、用戶與社團(tuán)關(guān)系表。

        ⑴用戶個(gè)人信息表主要記錄用戶姓名、ID、賬號(hào)密碼等字段,如表1所示。

        表1 用戶個(gè)人信息表(organization_user)

        ⑵ 社團(tuán)信息表主要記錄社團(tuán)名稱(chēng),類(lèi)型等,如表2所示。

        表2 社團(tuán)信息表(organization_organization)

        ⑶用戶與社團(tuán)關(guān)系表主要記錄用戶是否加入社團(tuán)、加入的社團(tuán)id等,如表3所示。

        在除上述的三個(gè)主要的數(shù)據(jù)表之外,系統(tǒng)還設(shè)計(jì)了用戶好友表、社團(tuán)聯(lián)結(jié)表等相關(guān)表格。

        2 系統(tǒng)功能設(shè)計(jì)

        2.1 需求分析

        從使用者角度考慮,系統(tǒng)將用戶群體分為四類(lèi),普通用戶,注冊(cè)用戶,社團(tuán)管理員,系統(tǒng)管理員。普通用戶可以注冊(cè),瀏覽公眾信息,可以注冊(cè)成為注冊(cè)用戶;注冊(cè)用戶可以登錄,參加、瀏覽相關(guān)社團(tuán)活動(dòng),加入、創(chuàng)建社團(tuán),與其他用戶進(jìn)行社交行為等;社團(tuán)管理員可以發(fā)布、管理社團(tuán)活動(dòng),審批和管理管理社員;系統(tǒng)管理員可以對(duì)申請(qǐng)的社團(tuán)進(jìn)行政治、法律審查,對(duì)所有注冊(cè)的用戶、社團(tuán)進(jìn)行管理與維護(hù)。

        2.2 主要功能分析

        系統(tǒng)平臺(tái)主要分為社團(tuán)、首頁(yè)、個(gè)人(我的)三個(gè)模塊。

        ⑴社團(tuán)

        主要這社團(tuán)的一些信息。普通用戶可以瀏覽相關(guān)信息,系統(tǒng)會(huì)根據(jù)用戶的瀏覽記錄,通過(guò)協(xié)同過(guò)濾算法推薦相關(guān)的社團(tuán),并指導(dǎo)其注冊(cè)加入相關(guān)社團(tuán);

        ⑵首頁(yè)

        有加入社團(tuán)的活動(dòng)推薦、搜索框,搜索社團(tuán)、活動(dòng)及聯(lián)系人等功能。用戶找到自己心儀的社團(tuán)的時(shí)候,可以點(diǎn)進(jìn)該社團(tuán)界面進(jìn)行申請(qǐng)加入社團(tuán)。加入社團(tuán)后:會(huì)顯示社團(tuán)內(nèi)的活動(dòng),有社團(tuán)歷史活動(dòng),正在進(jìn)行的社團(tuán)活動(dòng),以及未進(jìn)行的社團(tuán)活動(dòng),同時(shí)顯示社團(tuán)內(nèi)成員及成員狀態(tài)。用戶加入某個(gè)社團(tuán)后,可與參與該社團(tuán)的相關(guān)活動(dòng)、打卡、發(fā)表與社團(tuán)相關(guān)的消息等。

        ⑶我的

        主要是個(gè)人信息??梢圆榭磦€(gè)人及修改信息、社交列表、查看好友聯(lián)系人基礎(chǔ)信息及狀態(tài);加入社團(tuán)的活動(dòng)推薦,同時(shí)有搜索框,點(diǎn)進(jìn)搜索框搜索相關(guān)社團(tuán)、活動(dòng)及聯(lián)系人。另外有便捷系統(tǒng)設(shè)置及退出賬號(hào),具體展示如圖1所示。

        圖1 APP界面功能

        2.3 功能實(shí)現(xiàn)

        ⑴JSON數(shù)據(jù)交換格式

        目前流行的數(shù)據(jù)交換格式有XML,JSON,YAML等格式,JSON 格式易于閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,是一種輕量級(jí)的數(shù)據(jù)交換格式,與XML 或HTML 片段相比,JSON 提供了更好的簡(jiǎn)單性和靈活性,因此本系統(tǒng)采用JSON 格式進(jìn)行前臺(tái)與后臺(tái)數(shù)據(jù)交換。

        ⑵注冊(cè)及實(shí)名認(rèn)證

        在注冊(cè)填寫(xiě)信息時(shí),姓名、性別、學(xué)校學(xué)院、學(xué)號(hào)、班級(jí)、電話號(hào)碼等是必填字段,郵箱、住址等是選填信息;在核對(duì)用戶注冊(cè)信息格式無(wú)誤后,通過(guò)與已經(jīng)注冊(cè)的用戶數(shù)據(jù)進(jìn)行對(duì)比,若關(guān)鍵字無(wú)重復(fù)則可進(jìn)行下一步驗(yàn)證,否則顯示相關(guān)信息重復(fù),注冊(cè)失敗。

        token 認(rèn)證是在請(qǐng)求中發(fā)送token 而不是發(fā)送cookie,這樣能夠防止CSRF(跨站請(qǐng)求偽造),就算是在APP 客戶端使用cookie 存儲(chǔ)token,cookie 也僅僅是一個(gè)存儲(chǔ)機(jī)制而不是用于認(rèn)證,這樣就不會(huì)將信息存儲(chǔ)在Session 中,減少了對(duì)session 的操作,token 是有時(shí)效的,一段時(shí)間之后用戶需要重新驗(yàn)證[5]?;趖oken 這樣的特點(diǎn),系統(tǒng)在實(shí)名認(rèn)證方面,采取基于token 的認(rèn)證方式,即用戶不小心退出時(shí),短時(shí)間內(nèi)再次登錄不需要再次輸入賬號(hào)密碼,這樣保障了用戶的便利性和體驗(yàn)感,同時(shí)提高了安全性和擴(kuò)展性。

        ⑶基于協(xié)同過(guò)濾的用戶推薦

        用戶注冊(cè)時(shí),可以綁定QQ 號(hào)或者微信號(hào)來(lái)進(jìn)行獲取數(shù)據(jù),這樣就可以減少一些信息錄入,減輕用戶的工作量,同時(shí)通過(guò)用戶在QQ 號(hào)或微信號(hào)的一些標(biāo)簽推測(cè)出用戶的喜好,利用用戶選擇的標(biāo)簽來(lái)推薦其喜歡的社團(tuán)。

        為了提高推薦的準(zhǔn)確性,采取基于用戶的協(xié)同過(guò)濾算法(User-CF)和基于物品的協(xié)同過(guò)濾算法(Item-CF)。User-CF 算法是基于假設(shè)“用戶會(huì)喜歡與他興趣相投的其他用戶喜歡的項(xiàng)目”,從與用戶(U)有較高相似度的用戶集合(C)喜歡的社團(tuán)與活動(dòng)中,選取用戶(U)未采取任何行動(dòng)的社團(tuán)與活動(dòng),推薦給用戶(U)。

        而Item-CF 算法基于假設(shè)“用戶會(huì)喜歡與他過(guò)往喜歡的項(xiàng)目相似的項(xiàng)目”,從與用戶(U)過(guò)往喜歡的社團(tuán)與活動(dòng)有較高相似度的社團(tuán)與活動(dòng)集合(W)中,選取用戶(U)未采取任何行動(dòng)的社團(tuán)與活動(dòng),推薦給用戶(U);兩者的基礎(chǔ)思想是相似的,這里只對(duì)如何實(shí)現(xiàn)基于物品的協(xié)同過(guò)濾算法(Item-CF)進(jìn)行較為詳細(xì)的解釋。

        創(chuàng)建社團(tuán)與活動(dòng)時(shí)采取的是標(biāo)簽,借用共同標(biāo)簽占總體標(biāo)簽的比例來(lái)計(jì)算相似度,這里采取Jaccard公式,公式為:

        主要思想是去重的jaccard系數(shù),算法如下。

        ①先定義A∩B函數(shù):

        ② 對(duì)兩組數(shù)據(jù)進(jìn)行逐一比較,在相同時(shí)進(jìn)行數(shù)量增加:

        ③返回相同的個(gè)數(shù):

        ④再定義A∪B函數(shù):

        ⑤對(duì)兩組數(shù)據(jù)進(jìn)行逐一比較,在取得不重復(fù)的時(shí)候進(jìn)行數(shù)量增加:

        ⑥返回不重復(fù)的個(gè)數(shù):

        ⑦計(jì)算|A∩B|/|A∪B|函數(shù):

        ⑧判斷數(shù)組是否為0,輸入數(shù)組的值:

        ⑨最后返回值:

        為降低熱門(mén)活動(dòng)和熱門(mén)社團(tuán)對(duì)于推薦的準(zhǔn)確率的影響,在計(jì)算用戶相似度時(shí),系統(tǒng)采取加入懲罰因子的解決方案,將項(xiàng)目出現(xiàn)次數(shù)的對(duì)數(shù)取倒數(shù)作為懲罰因子,其中,N(i)表示項(xiàng)目i 出現(xiàn)的次數(shù);i 表示用戶u 和v 共同感興趣的活動(dòng);分母則表示用戶u 和用戶v有所行動(dòng)的社團(tuán)和活動(dòng)的集合長(zhǎng)度,公式如下:

        3 結(jié)束語(yǔ)

        本文基于協(xié)同過(guò)濾算法開(kāi)發(fā)了移動(dòng)版高校社團(tuán)系統(tǒng)。師生通過(guò)手機(jī)登錄該系統(tǒng)進(jìn)行各種日常、學(xué)習(xí)活動(dòng)??梢噪S時(shí)隨地辦公,發(fā)布及參加相關(guān)活動(dòng),進(jìn)行社團(tuán)規(guī)劃和活動(dòng)策劃。系統(tǒng)還為大學(xué)生參加各類(lèi)社團(tuán)提供了學(xué)習(xí)、交流、鍛煉的機(jī)會(huì),以滿足學(xué)生個(gè)性化發(fā)展的需要。

        猜你喜歡
        社團(tuán)協(xié)同算法
        繽紛社團(tuán)
        蜀道難:車(chē)與路的協(xié)同進(jìn)化
        基于MapReduce的改進(jìn)Eclat算法
        Travellng thg World Full—time for Rree
        “四化”協(xié)同才有出路
        進(jìn)位加法的兩種算法
        最棒的健美操社團(tuán)
        軍事文摘(2017年16期)2018-01-19 05:10:15
        K-BOT拼插社團(tuán)
        三醫(yī)聯(lián)動(dòng) 協(xié)同創(chuàng)新
        一種改進(jìn)的整周模糊度去相關(guān)算法
        国产一级av理论手机在线| 99精品国产一区二区| 久久久天堂国产精品女人| 中文字幕久无码免费久久| 谁有在线观看av中文| 老岳肥屁熟女四五十路| 99久久婷婷国产亚洲终合精品| 亚洲av综合av国产av中文| 中文字幕一区在线观看视频| 国产激情久久99久久| 亚洲国产日韩综一区二区在性色| 日本淫片一区二区三区| 日韩女优av一区二区| 人妻少妇偷人精品无码| 色爱区综合五月激情| 亚洲区精选网址| 亚洲精品久久麻豆蜜桃| 久久久国产精品123| 99久久超碰中文字幕伊人| 色悠久久久久综合欧美99| 免费在线日韩| 99久久婷婷国产精品综合网站 | 亚洲精品第一页在线观看 | 国产色诱视频在线观看| 偷拍熟女亚洲另类| 日本高清一区二区不卡| 日本丰满少妇xxxx| 欧美极品色午夜在线视频| 国产亚洲高清不卡在线观看| 亚洲男女视频一区二区| 日本亚洲视频一区二区三区| 在线观看视频播放| 日本亚洲国产一区二区三区| 人妻少妇精品一区二区三区| 极品少妇人妻一区二区三区 | 大胆欧美熟妇xxbbwwbw高潮了| 无码一区二区丝袜| 蕾丝女同一区二区三区| 俺去啦最新地址| 日韩精品无码av中文无码版| 亚洲色偷偷偷综合网另类小说|