軟件工程課設(shè).doc
《軟件工程課設(shè).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程課設(shè).doc(17頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
軟件代碼開發(fā)技術(shù)課程設(shè)計(jì)報(bào)告 互聯(lián)網(wǎng)快捷服務(wù)平臺(tái) 學(xué) 院 計(jì)算機(jī)學(xué)院 專 業(yè) 軟件工程 年級(jí)班別 姓 名 學(xué) 號(hào) 指導(dǎo)教師 崔 2017年 11月 目錄 1. 問題域的描述 1 1.1問題引言 1 1.2具體問題描述 1 2. 問題清單 2 2.1發(fā)布任務(wù)問題清單 2 2.2接單問題清單 2 3. 解題模型 3 3.1業(yè)務(wù)模型 3 3.1.1角色責(zé)任表 3 3.1.2用例圖 4 3.1.3用例腳本圖 4 3.2數(shù)據(jù)模型 6 3.2.1類圖 6 3.2.2狀態(tài)圖 7 3.3功能模型 7 3.3.1數(shù)據(jù)流圖 7 4. 應(yīng)用場景 9 4.1核心數(shù)據(jù)結(jié)構(gòu) 9 4.1.1數(shù)據(jù)結(jié)構(gòu)引言 9 4.1.2 Item數(shù)據(jù)結(jié)構(gòu) 10 4.1.3具體數(shù)據(jù)結(jié)構(gòu)列表 11 4.2核心算法 12 4.2.1前言 12 4.2.2核心算法介紹 12 1. 問題域的描述 1.1問題引言 隨著科學(xué)技術(shù)的高速發(fā)展,人們的生活水平越來越高,生活的節(jié)奏也越來越快,因此簡單快捷的生活方式成為大家的首選。所以在人們緊湊的生活節(jié)奏中,難免有一些事情我們可以做,但是因?yàn)楦鞣N原因,我們沒有時(shí)間去完成, 特別是身在校園中的我們,總會(huì)有時(shí)候沒有時(shí)間去做我們應(yīng)該及時(shí)完成的任務(wù)。這個(gè)時(shí)候我們便想到如果有人在這個(gè)時(shí)間段幫我們?nèi)ネ瓿晌覀円龅氖虑榫秃昧?,所以便有這個(gè)快捷服務(wù)平臺(tái),我們可以把我們要完成的但沒時(shí)間去做或沒有特定能力去做的任務(wù)發(fā)布到這個(gè)快捷服務(wù)平臺(tái)中,讓有時(shí)間或相關(guān)的能力的人去替我們完成這個(gè)緊急的任務(wù),發(fā)布服務(wù)者要給完成服務(wù)者適當(dāng)?shù)馁M(fèi)用,這樣,有時(shí)間或有相關(guān)能力的人就可以接收這些任務(wù)來更好的利用自己的時(shí)間和能力。這樣,在我們快節(jié)奏的生活中,我們可以更加合理的應(yīng)用我們的時(shí)間和能力來獲取更高的經(jīng)濟(jì)效益。 1.2具體問題描述 這個(gè)平臺(tái)主要是面向高校學(xué)生,在高校中的學(xué)生高效率利用他們的時(shí)間資源和技能能力是非常重要的,這對(duì)于他們將來的職業(yè)發(fā)展也是很重要的。 快捷服務(wù)平臺(tái),一個(gè)兼具O2O與C2C眾包模式的校園“共享服務(wù)”平臺(tái),用戶可以發(fā)出各種個(gè)性化需求任務(wù),自定小費(fèi);還可以成為服務(wù)者,利用空余的時(shí)間參與搶單,賺取報(bào)酬;平臺(tái)采取訂單智能推送,高效搶單模式。同時(shí),服務(wù)者也可以在平臺(tái)發(fā)布自己的技能服務(wù),供有需求的用戶選擇購買。 我們的快捷服務(wù)平臺(tái)應(yīng)該可以應(yīng)對(duì)以下不等的日常生活中的問題。 比如在收快遞的問題上,我們并不是所有時(shí)間段都可以有時(shí)間去領(lǐng)取我們的快遞,而在學(xué)校中肯定有學(xué)生在那個(gè)時(shí)間段是有時(shí)間的,那么我們便可以通過這個(gè)快捷服務(wù)平臺(tái),發(fā)布有償任務(wù),讓時(shí)間的人去幫我們那快遞,而我們?cè)谀莻€(gè)時(shí)間段就可安心的做正在做的事情,這樣就不會(huì)兩頭都個(gè)不到了,加快了我們的做事效率。 還有當(dāng)我們有一份文件要打印而沒有時(shí)間去打印時(shí),我們同樣可以通過這個(gè)平臺(tái)讓別人幫我們完成打印,必要的話還可以讓對(duì)方把文件直接送到我們所在的地方,這樣我們就省去了不必要的等待時(shí)間,可以更好的完成自己手頭上的工作。 因?yàn)槲覀兊拇髮W(xué)生活是比較繁忙的,所以并不是所有的人都有很多連續(xù)的時(shí)間段去做兼職,而我們的快捷服務(wù)平臺(tái)就可以提供給這些學(xué)生短時(shí)間的有償服務(wù)任務(wù),讓他們即使在很短的時(shí)間內(nèi)也可以做兼職,當(dāng)然也有比較長時(shí)間的任務(wù),這個(gè)主要取決于任務(wù)發(fā)出的要求,這樣,學(xué)生有時(shí)候在順路順手做一些任務(wù)就可以得到豐厚的報(bào)酬。 當(dāng)然我們的快捷服務(wù)平臺(tái)遠(yuǎn)不止可以解決這些問題,還可以解決更多的問題。通過這個(gè)平臺(tái)我們就可以將學(xué)生們的技能與時(shí)間資源整合起來,將會(huì)創(chuàng)造出很高的商業(yè)價(jià)值。在給一些人創(chuàng)造時(shí)間,同時(shí)給一些人創(chuàng)造價(jià)值。 不僅如此,該平臺(tái)還致力于讓我們更好的融入到這個(gè)越來越快生活的節(jié)奏,解決我們生活中的各種問題。 2. 問題清單 2.1發(fā)布任務(wù)問題清單見表2-1 問題序號(hào) 問題描述 備注 1 在收快遞的問題上,我們并不是所有時(shí)間段都可以有時(shí)間去領(lǐng)取我們的快遞,而在學(xué)校中肯定有學(xué)生在那個(gè)時(shí)間段是有時(shí)間的,那么我們便可以通過這個(gè)快捷服務(wù)平臺(tái),發(fā)布有償任務(wù),讓時(shí)間的人去幫我們那快遞,而我們?cè)谀莻€(gè)時(shí)間段就可安心的做正在做的事情,這樣就不會(huì)兩頭都個(gè)不到了,加快了我們的做事效率。 代拿快遞 2 在打印的問題上,當(dāng)我們有一份文件要打印而沒有時(shí)間去打印時(shí),我們同樣可以通過這個(gè)平臺(tái)讓別人幫我們完成打印,必要的話還可以讓對(duì)方把文件直接送到我們所在的地方,這樣我們就省去了不必要的等待時(shí)間,可以更好的完成自己手頭上的工作。 代打印 3 在購買物品的問題上,如果我們沒有時(shí)間去超市買東西,而剛好很需要需, 我們只需要將要要買的東西發(fā)布到快捷服務(wù)品臺(tái),就會(huì)有剛好在超市的或?qū)⒁コ械娜私訂螏兔ξ覀儗⑽覀冃枰臇|西買回來,只要我們支付一點(diǎn)跑路費(fèi)就可以了,不僅省了時(shí)間,也不必專門去一趟了。 代買 4 在課程服務(wù)問題是上,當(dāng)我們?cè)谡n程上遇到困難時(shí),我們可以通過快捷服務(wù)平臺(tái),讓學(xué)霸幫助我們解決學(xué)習(xí)上的問題,提高我們的課程成績。 課程服務(wù) 5 在早餐宵夜的問題上,我們可以通過快捷服務(wù)平臺(tái)讓在是食堂的同學(xué)幫我們帶宵夜早餐,這樣就不用上美團(tuán)等定外賣了,更何況那些平臺(tái)定外賣都要挺久才能送到。 代碼宵夜、早餐 表2-1 2.2接單問題清單見表2-2 問題序號(hào) 問題描述 備注 1 在短時(shí)間兼職的的問題上,因?yàn)槲覀兊拇髮W(xué)生活是比較繁忙的,所以并不是所有的人都有很多連續(xù)的時(shí)間段去做兼職,而我們的快捷服務(wù)平臺(tái)就可以提供給這些學(xué)生短時(shí)間的有償服務(wù)任務(wù),讓他們即使在很短的時(shí)間內(nèi)也可以做兼職 短時(shí)兼職 2 在長時(shí)間兼職的的問題上,有比較長時(shí)間的任務(wù),這個(gè)主要取決于任務(wù)發(fā)出的要求,這樣,當(dāng)接單者有比較長的一段時(shí)間時(shí),他就可以接比較需要較長時(shí)間的任務(wù),擔(dān)任相應(yīng)的報(bào)酬也就會(huì)比較豐富。 長時(shí)兼職 表2-2 3. 解題模型 3.1業(yè)務(wù)模型 3.1.1角色責(zé)任表 角色 責(zé)任 協(xié)作者 任務(wù)發(fā)布人 ①設(shè)定任務(wù)內(nèi)容 ②設(shè)定任務(wù)時(shí)間 ③制定任務(wù)費(fèi)用 ④支付任務(wù)服用 ⑤發(fā)布任務(wù) ⑥與接單人協(xié)商任務(wù)細(xì)節(jié) ⑦進(jìn)行售后評(píng)價(jià) ⑧撤回訂單 ⑨訂單投訴 ⑩系統(tǒng)建議 ?登錄注冊(cè) 后臺(tái)管理員 接單人 接單人 ①瀏覽任務(wù) ②接收訂單 ③與任務(wù)發(fā)布人協(xié)商任務(wù)細(xì)節(jié) ④完成訂單內(nèi)容 ⑤得到報(bào)酬 ⑥訂單投訴 ⑦系統(tǒng)建議 ⑧登錄注冊(cè) 后臺(tái)管理員 任務(wù)發(fā)布人 后臺(tái)管理員 ①顯示任務(wù)到系統(tǒng)界面 ②維護(hù)系統(tǒng)穩(wěn)定 ③處理投訴 ④處理建議 ⑤推送任務(wù)給接單人 ⑥登錄 任務(wù)發(fā)布人 接單人 表3.1.1 角色責(zé)任表 3.1.2用例圖 圖3.1.2 用例圖 3.1.3用例腳本圖 1) 用戶注冊(cè)用例腳本圖如圖3.1.3-1所示 圖3.1.3-1 用戶注冊(cè)用例腳本圖 2) 登錄用例腳本圖如圖3.1.3-2所示 圖3.1.3-2登錄用例腳本圖如圖 3) 發(fā)布任務(wù)用例腳本圖如圖3.1.3-3所示 圖3.1.3-3發(fā)布任務(wù)用例腳本圖 4) 接收訂單用例腳本圖如圖3.1.3-4所示 圖3.1.3-4 接收訂單用例腳本圖 3.2數(shù)據(jù)模型 3.2.1類圖 圖3.2.1 類圖 3.2.2狀態(tài)圖 圖3.2.2 狀態(tài)圖 3.3功能模型 3.3.1數(shù)據(jù)流圖 1) 初步數(shù)據(jù)流程 圖3.3.1-1 初步數(shù)據(jù)流程 2) 最終數(shù)據(jù)流圖 圖3.3.1-2 最終數(shù)據(jù)流圖 4. 應(yīng)用場景 4.1核心數(shù)據(jù)結(jié)構(gòu) 4.1.1數(shù)據(jù)結(jié)構(gòu)引言 數(shù)據(jù)結(jié)構(gòu)對(duì)于一個(gè)系統(tǒng)是非常重要的,同樣我們的互聯(lián)網(wǎng)快捷服務(wù)平臺(tái)也擁有一套嚴(yán)謹(jǐn)高效的數(shù)據(jù)結(jié)構(gòu),這可以讓我們的系統(tǒng)平臺(tái)更加的穩(wěn)定高效的運(yùn)行。 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運(yùn)行或者存儲(chǔ)效率。數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。 數(shù)據(jù)的邏輯結(jié)構(gòu):指反映數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu),其中的邏輯關(guān)系是指數(shù)據(jù)元素之間的前后件關(guān)系,而與他們?cè)谟?jì)算機(jī)中的存儲(chǔ)位置無關(guān)。邏輯結(jié)構(gòu)包括: 1.集合:數(shù)據(jù)結(jié)構(gòu)中的元素之間除了“同屬一個(gè)集合” 的相互關(guān)系外,別無其他關(guān)系; 2.線性結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)中的元素存在一對(duì)一的相互關(guān)系; 3.樹形結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)中的元素存在一對(duì)多的相互關(guān)系; 4.圖形結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)中的元素存在多對(duì)多的相互關(guān)系。 數(shù)據(jù)的物理結(jié)構(gòu):指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間的存放形式。 數(shù)據(jù)的物理結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)中的表示(又稱映像),它包括數(shù)據(jù)元素的機(jī)內(nèi)表示和關(guān)系的機(jī)內(nèi)表示。由于具體實(shí)現(xiàn)的方法有順序、鏈接、索引、散列等多種,所以,一種數(shù)據(jù)結(jié)構(gòu)可表示成一種或多種存儲(chǔ)結(jié)構(gòu)。 一般認(rèn)為,一個(gè)數(shù)據(jù)結(jié)構(gòu)是由數(shù)據(jù)元素依據(jù)某種邏輯聯(lián)系組織起來的。對(duì)數(shù)據(jù)元素間邏輯關(guān)系的描述稱為數(shù)據(jù)的邏輯結(jié)構(gòu);數(shù)據(jù)必須在計(jì)算機(jī)內(nèi)存儲(chǔ),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)形式,是其在計(jì)算機(jī)內(nèi)的表示;此外討論一個(gè)數(shù)據(jù)結(jié)構(gòu)必須同時(shí)討論在該類數(shù)據(jù)上執(zhí)行的運(yùn)算才有意義。一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率。 在許多類型的程序的設(shè)計(jì)中,數(shù)據(jù)結(jié)構(gòu)的選擇是一個(gè)基本的設(shè)計(jì)考慮因素。許多大型系統(tǒng)的構(gòu)造經(jīng)驗(yàn)表明,系統(tǒng)實(shí)現(xiàn)的困難程度和系統(tǒng)構(gòu)造的質(zhì)量都嚴(yán)重的依賴于是否選擇了最優(yōu)的數(shù)據(jù)結(jié)構(gòu)。許多時(shí)候,確定了數(shù)據(jù)結(jié)構(gòu)后,算法就容易得到了。有些時(shí)候事情也會(huì)反過來,我們根據(jù)特定算法來選擇數(shù)據(jù)結(jié)構(gòu)與之適應(yīng)。不論哪種情況,選擇合適的數(shù)據(jù)結(jié)構(gòu)都是非常重要的。 可見一個(gè)好的數(shù)據(jù)結(jié)構(gòu)對(duì)我們的互聯(lián)網(wǎng)快捷服務(wù)平臺(tái)是多么重要,接下來我們就講講該平臺(tái)所使用的數(shù)據(jù)結(jié)構(gòu)。 4.1.2 Item數(shù)據(jù)結(jié)構(gòu) 名稱 類型 是否隱私 描述 iid String N 任務(wù)id detail_url String N 任務(wù)url num_iid String N 任務(wù)數(shù)字id title String N 任務(wù)標(biāo)題,不能超過60字節(jié) nick String N 任務(wù)發(fā)布人昵稱 type String N 任務(wù)類型(fixed:一口 價(jià);auction:拍賣)注:注明任務(wù)長度 cid String N 任務(wù)所屬的葉子類目id seller_cids String N 任務(wù)所屬的發(fā)布人自定義類 目列表 props String N 任務(wù)屬性 格式:pid:vid;pid:vid input_pids String N 用戶自行輸入的類目屬性ID 串。結(jié)構(gòu):"pid1,pid2,pid3",如:"20000"注:通常一個(gè)類目下用戶可輸入的關(guān)鍵屬性不超過1個(gè)。 input_str String N 用戶自行輸入的子屬性名和屬性 值,結(jié)構(gòu):"父屬性值;一級(jí)子屬性名;一級(jí)子屬性值;二級(jí)子屬性名;自定義輸入值,....",如:“耐克;耐克系列;科比系列;科比系 列;2K5”,input_str需要與input_pids一一對(duì)應(yīng),注:通常一個(gè)類目下用戶可輸入的關(guān)鍵屬性不超過1個(gè)。所有屬性別名加起來不能超過 3999字節(jié)。 desc String N 任務(wù)描述, 字?jǐn)?shù)要大于5個(gè)字節(jié),小于25000個(gè)字節(jié) pic_path String N 任務(wù)主圖片地址 num String N 任務(wù)數(shù)量 valid_thru String N 有效期,3或者7(默認(rèn)是3天) list_time String N 任務(wù)發(fā)布時(shí)間(格式:yyyy- MM-dd HH:mm:ss) delist_time String N 任務(wù)撤回時(shí)間(格式:yyyy- MM-dd HH:mm:ss) stuff_status String N 任務(wù)新舊程度(全新:new, 閑置:unused,) location Location N 任務(wù)執(zhí)行地點(diǎn) price String N 任務(wù)價(jià)格,格式:5.00;單 位:元;精確到:分 add_fee String N 追加費(fèi)用,格式:5.00;單 位:元;精確到:分 has_discount String N 支持會(huì)員打折,true/false freight_payer String N 執(zhí)行任務(wù)所需費(fèi)用,seller(賣家承擔(dān)),buyer(買家承擔(dān)) has_invoice String N 是否有發(fā)票,true/false has_showcase String N 系統(tǒng)推送,true/false modified String N 任務(wù)修改時(shí)間(格 式:yyyy-MM-dd HH:mm:ss) increment String Y 任務(wù)加價(jià)幅度。如果為0,代表系統(tǒng) 代理幅度 auto_repost String Y 任務(wù)自動(dòng)重發(fā),true/false approve_status String N 任務(wù)上傳后的狀態(tài)。Onsale發(fā)布中,instock推送中 product_id String Y 任務(wù)所屬產(chǎn)品的id(可能為 空). 該字段可以通過kjfw.products.search 得到 auction_point String N 返點(diǎn)比例 property_alias String N 屬性值別名 itemimg.position ItemImg[] N 任務(wù)圖片列表(包括主圖) propimg.position propImg[] N 任務(wù)屬性圖片列表 sku.modified sku[] N SKU列表 outer_id String N 任務(wù)發(fā)布人外部編碼 is_virtural String N 虛擬任務(wù)的狀態(tài)字段 is_taobao String N 是否在接單人顯示 video.modified Video[] N 任務(wù)視頻列表(目前只支持單個(gè)視頻關(guān)聯(lián)) 4.1.3具體數(shù)據(jù)結(jié)構(gòu)列表 操作名 所用數(shù)據(jù)結(jié)構(gòu) 說明 顯示任務(wù)列表 隊(duì)列 這里的任務(wù)列表是從后臺(tái)服務(wù)器中下載下來的,所以使用隊(duì)列的數(shù)據(jù)結(jié)構(gòu)是比較合適的,因?yàn)楫?dāng)有新的任務(wù)時(shí),可以將新任務(wù)插在隊(duì)列后面,簡單得實(shí)現(xiàn)更新,完成的任務(wù)也可直接出列 編輯任務(wù) 鏈表 任務(wù)發(fā)布人編輯自己的任務(wù),用鏈表的數(shù)據(jù)結(jié)構(gòu)是比較合適和高效的,因?yàn)槿蝿?wù)發(fā)布人可以高效得實(shí)現(xiàn)任務(wù)的插入和刪除。 顯示訂單列表 隊(duì)列 這個(gè)跟顯示任務(wù)列表是比較相似的,用的數(shù)據(jù)結(jié)構(gòu)也是隊(duì)列,這是顯示給接單人看的訂單列表,新接的單可以直接插在隊(duì)列的后面而完成的訂單可以直接出列。 投訴列表 隊(duì)列 這是后臺(tái)管理人員看的列表,用的數(shù)據(jù)結(jié)構(gòu)是隊(duì)列,新接到的投訴可以直接插到隊(duì)列后面等待處理,而處理完的投訴可以處理。 4.2核心算法 4.2.1前言 好的算法對(duì)一個(gè)龐大的系統(tǒng)是非常必要的,好的算法就像這個(gè)系統(tǒng)的心臟一樣,決定這該系統(tǒng)能不能高效、穩(wěn)定運(yùn)行。而我們的互聯(lián)網(wǎng)快捷服務(wù)平臺(tái)也有一套高效穩(wěn)定的算法支撐著系統(tǒng)的日常運(yùn)行。 算法(Algorithm)是指解題方案的準(zhǔn)確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機(jī)制。也就是說,能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。如果一個(gè)算法有缺陷,或不適合于某個(gè)問題,執(zhí)行這個(gè)算法將不會(huì)解決這個(gè)問題。不同的算法可能用不同的時(shí)間、空間或效率來完成同樣的任務(wù)。一個(gè)算法的優(yōu)劣可以用空間復(fù)雜度與時(shí)間復(fù)雜度來衡量。 算法中的指令描述的是一個(gè)計(jì)算,當(dāng)其運(yùn)行時(shí)能從一個(gè)初始狀態(tài)和(可能為空的)初始輸入開始,經(jīng)過一系列有限而清晰定義的狀態(tài),最終產(chǎn)生輸出并停止于一個(gè)終態(tài)。一個(gè)狀態(tài)到另一個(gè)狀態(tài)的轉(zhuǎn)移不一定是確定的。隨機(jī)化算法在內(nèi)的一些算法,包含了一些隨機(jī)輸入。 所以鑒于算法的在整個(gè)系統(tǒng)中的重要性,我們對(duì)該系統(tǒng)使用的算法經(jīng)過了多次的改進(jìn),讓這套算法運(yùn)行的更有效率。 4.2.2核心算法介紹 本系統(tǒng)中最重要的算法是任務(wù)搜索算法和任務(wù)推送算法,任務(wù)搜索算法是接單人搜索適合自己當(dāng)時(shí)去完成的任務(wù),而任務(wù)推送算法是系統(tǒng)將任務(wù)推送到合適接該任務(wù)的接單人的平臺(tái)上,這樣精確的點(diǎn)對(duì)點(diǎn)就可以讓任務(wù)發(fā)布人所發(fā)布的任務(wù)可以更快更高效的完成,節(jié)約了任務(wù)發(fā)布人和接單人的金錢和時(shí)間,也可讓我們的系統(tǒng)更加高效穩(wěn)定的運(yùn)行。 1) 任務(wù)搜索算法 從技術(shù)上來說,就是在用戶輸入關(guān)鍵詞匹配到的商品中,把最符合用戶需求的任務(wù)排到第一位,其它的依次排在后續(xù)相應(yīng)的位置。為了更好的實(shí)現(xiàn)這個(gè)目標(biāo),算法排序系統(tǒng)基本按三個(gè)方面來推進(jìn): 一、算法模型 當(dāng)用戶輸入關(guān)鍵詞進(jìn)行搜索的時(shí)候,系統(tǒng)依據(jù)算法模型來給匹配到的每個(gè)任務(wù)進(jìn) 時(shí)的計(jì)算,并按照分?jǐn)?shù)的大小對(duì)任務(wù)進(jìn)行排序。 對(duì)于好的算法模型,首先需要考慮我們能夠有哪些特征因子可以應(yīng)用。比如在網(wǎng)頁搜索中,算法模型基本就是按網(wǎng)頁的重要性和相關(guān)性給網(wǎng)頁計(jì)算一個(gè)分?jǐn)?shù),然后進(jìn)行排序。這里的相關(guān)性,和重要性就是網(wǎng)頁排序模型中兩個(gè)重要的因子。具體來說相關(guān)性因子是指搜索關(guān)鍵字在文檔中出現(xiàn)的度數(shù),當(dāng)這個(gè)度數(shù)越高時(shí),則認(rèn)為該文檔的相關(guān)程度越高。重要度因子比如 Google 的 Pagerank,可以理解為一個(gè)網(wǎng)頁入口超級(jí)鏈接的數(shù)目:一個(gè)網(wǎng)頁被其他網(wǎng)頁引用得越多,則該網(wǎng)頁就越有價(jià)值。特別地,一個(gè)網(wǎng)頁被越重要的網(wǎng)頁所引用,則該網(wǎng)頁的重要程度也就越高。 搜索的時(shí)候,有些特征因子是很容易能想到的,比如: A、 文本的相關(guān)性:關(guān)鍵詞和商品的匹配,匹配的程度,是否重要詞的匹配,匹配詞之間的距離等,都可能影響相關(guān)性。 B、 類目熱點(diǎn):系統(tǒng)數(shù)據(jù)的一個(gè)重要特質(zhì)是每個(gè)商品都掛靠在類目屬性體系下面,每個(gè)商品都做了一個(gè)很好的分類。在搜索過程中,同一搜索詞的大量用戶行為數(shù)據(jù)很容易聚焦到相應(yīng)的熱點(diǎn)類目。 C、 任務(wù)指標(biāo):任務(wù)搜索算法中任務(wù)指標(biāo)是扮演者重要角色的,其中包括任務(wù)的性質(zhì),時(shí)間,時(shí)限,地點(diǎn),費(fèi)用的都是接單人搜索的關(guān)鍵內(nèi)容,所以搜索算法是在此基礎(chǔ)上建立起來的。 二、線下評(píng)估 算法模型的評(píng)估一般分為線下的評(píng)估和線上的評(píng)估,線下的評(píng)估很多都體現(xiàn)在搜索中常用的相關(guān)性(Relevance)指標(biāo)。相關(guān)性的定義可以分為狹義相關(guān)性和廣義相關(guān)性兩方面,狹義相關(guān)性一般指檢索結(jié)果和用戶查詢的相關(guān)程度。而從廣義的層面,相關(guān)性可以理解為用戶查詢的綜合滿意度。當(dāng)用戶在搜索框輸入關(guān)鍵詞,到需求獲得滿足,這之間經(jīng)歷的過程越順暢,越便捷,搜索相關(guān)性就越好。 三、線上測試 為了真實(shí)驗(yàn)證一個(gè)算法模型的好壞,需要有一個(gè)系統(tǒng)能提供真實(shí)的流量來檢驗(yàn)。系統(tǒng)搜索實(shí)現(xiàn)的 BTS(Bucket Testing System)系統(tǒng)就是這樣的一個(gè)環(huán)境,在用戶搜索時(shí),由搜索系統(tǒng)根據(jù)一定的策略來自動(dòng)決定用戶的分組號(hào)(Bucket id),保證自動(dòng)抽取導(dǎo)入不同分組的流量具有可對(duì)比性,然后讓不同分組的用戶看到的不同算法模型提供的結(jié)果。用戶在不同模型下的行為將被記錄下來,這些行為數(shù)據(jù)通過數(shù)據(jù)分析形成一系列指標(biāo),而通過這些指標(biāo)的比較,最后就形成了不同模型之間孰優(yōu)孰劣的結(jié)論。只要分組的流量達(dá)到一定的程度,數(shù)據(jù)指標(biāo)從統(tǒng)計(jì)意義上就具有可比性。 2) 任務(wù)推送算法 關(guān)于任務(wù)的推送算法,我覺得以下幾個(gè)因素比較重要:①人--用戶是一個(gè)什么樣的人?②任務(wù)--用戶之前執(zhí)行過什么任務(wù)? 這三個(gè)事情應(yīng)該是循序漸進(jìn)的,他們一起才能決定用戶可能可以接受什么樣的任 務(wù)。 所以我們從人的角度出發(fā)應(yīng)該做這么一件事情:劃分用戶群體,從性別,年級(jí),角色等一些特征來劃分群體。具體的劃分可能要通過分析數(shù)據(jù)才能得到結(jié)論,比如大一和大二的用戶,差別可能不大,但大一跟大四的用戶,可以接受的任務(wù)的差異性則比較大了,這個(gè)具體的區(qū)間可以對(duì)用戶可接受的任務(wù)來做一個(gè)比較,最終的劃分可能是大一、大二、大三、大四等等這樣的一個(gè)年齡復(fù)合性別的劃分。用戶的角色,比如作為普通學(xué)生,或是社團(tuán)的人員或是幫干部,這些應(yīng)該都是可以分析到的。根據(jù)用戶的群體劃分,結(jié)合對(duì)應(yīng)群體的購買行為,推薦群體契合度高的商品。 我們從用戶之前執(zhí)行過什么任務(wù)出發(fā),我們可以劃分任務(wù)的類型,從任務(wù)的性質(zhì),執(zhí)行任務(wù)的時(shí)間段,任務(wù)的費(fèi)用分段等將符合接單人的相關(guān)的任務(wù)推送給接單人。比如有的接單人他們可以在下午的時(shí)間段比較有時(shí)間,所以我們就可以將在下午的任務(wù)推送給這些人。而有的接單人比較適合做力量型的任務(wù),我們也就可以將力量性質(zhì)的任務(wù)推送給這部分人,實(shí)現(xiàn)任務(wù)的精確推送。 13- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 軟件工程
鏈接地址:http://m.appdesigncorp.com/p-9282796.html