• 沒有找到結果。

智慧型個人化廣告推薦系統

N/A
N/A
Protected

Academic year: 2022

Share "智慧型個人化廣告推薦系統"

Copied!
21
0
0

加載中.... (立即查看全文)

全文

(1)

中華大學資訊工程學系

101 學年度專題製作期末報告

智慧型個人化廣告推薦系統

指導老師:張欽智教授

小組成員:

B09829005 林永紳 B09829007 葉木生 B09829008 薛富泓 B09829009 胡修偉

專題題號:PRJ2012-CSIE-10107

執行時間:102 年 2 月~102 年 6 月

(2)

1

目錄

1. 摘要………2

2. 背景與目的………2

3. 開發環境………2

4. 研究方法與步驟………3

4.1 專題架構……….3

4.2 推薦機制……….5

4.3 資料庫設計………..…...5

4.4 Google API………..……7

5. 主要成果………..10

5.1 管理介面………...10

5.2 廣告管理介面………...10

5.3 使用者介面………...12

5.4 會員中心………...13

5.5 查看廣告………14

5.6 我的廣告………17

5.7 偏好選擇………17

6. 遇到困難與解決方式………..18

7. 工作分配與進度甘梯圖………..18

8. 結論與未來展望………..……19

結語與銘謝………..…………20

參考資料………..20

(3)

2

一、 摘要

在現代的社會中,智慧型手機已經成為日常生活中不可或缺的生活用品了,

所以我們決定使用 Android 系統為我們的開發平台。

此專題主要是以 Android 作業系統為主之廣告推薦系統,推薦具個人化的廣 告資訊。推薦方式根據使用者註冊時所填的資料,例如性別、年齡、興趣的不同 來發布廣告給使用者,使用者也能依照自身的需要搜尋特定廣告,並且設計評分 功能來讓使用者對廣告進行評分。

二、 背景與目的

相信大部分的人都有過這樣的經驗,休息時忽然想到,午餐要吃什麼好、xx 牌衣服有沒有新出的款式或是最近有沒有新出的手機啊。

平時看都不想看的廣告忽然變成了迫切需要的資源,所以我們希望能開發出 一套廣告的推薦系統,可以根據使用者所填的興趣推薦相關的廣告,滿足使用者 的需求。

三、 開發環境

行動端 - Eclipse

 Eclipse 4.2.2

 Android SDK 伺服端 - AppServ

 Notepad++ 6.3.3

用來編寫 html 及 php 檔等網頁。

 Apache 2.2.8

一套免費的網頁伺服器,用來架設網站。

 PHP 5.2.6

(4)

3

伺服端的腳本語言,用來動態產生頁面。

 MySQL 5.0.51b

關聯式資料庫管理系統,用來儲存我們用戶的相關資料。

 phpMyAdmin-2.10.3

資料庫管理工具,使用 Web 界面來管理我們的 MySQL 資料庫。

四、 研究方法與步驟

4.1 專題架構

圖 1 系統架構圖

伺服端:建立一個伺服器,將廠商所提供的廣告內容及屬性傳送到伺服端,

在依使用者的需求篩選出需要的廣告內容,進行推送。

建立資料庫:會員系統(membersys)、廣告(pic)。

會員系統用來儲存廣告提供商及一般使用者的資料,廣告用來儲存廣告相關的資 訊。

GCM :透過 GCM 發送廣告通知給一般使用者。

(5)

4

用戶類型(a)廣告提供商(b)一般使用者

 廣告提供商:提供廣告之原始圖檔、廣告類型、適用族群以及年齡等資訊,

並定期進行廣告的更新及維護。

 一般使用者:連結至智慧型廣告看板,看板會自動推薦符合使用者興趣的廣 告,亦可自行選擇需要的廣告類型來自由的查詢所需之資訊,並可以依個人 喜好對每一個廣告給予 1-9 的評分。

客戶對廣告的評分紀錄將會回傳至伺服端,將資料進行統計之後,分數最高的 10 項會被列為熱門廣告,所有使用者皆會看到熱門廣告的通知,非熱門廣告則 只會被有興趣的客戶看到。

網頁流程圖

圖 2 廠商網頁流程圖

手機流程圖

圖 3 使用者手機流程圖

(6)

5

4.2 推薦機制

圖 4 推薦流程圖

1. 廣告商上傳廣告時可以選擇廣告分類、欲推薦者之性別及年齡。

2. 系統依據廣告商所選擇的條件來篩選合適的使用者並傳送相關資訊給 GCM。

3. GCM 依據系統給的資訊發送通知給行動裝置。

4.3 資料庫設計

圖 5 資料庫管理介面圖

(7)

6

資料庫 ER 圖如下所示。

圖 6 資料庫 ER 圖

圖 7 bmember 表格內容

圖 8 member 表格內容

(8)

7

圖 9 myimage 表格內容

4.4 Google API

結合 Google 社群

+1 Button Plugins 提供使用者分享我們的社群及 APP。

圖 10 Plugins 介面

圖 11 Plugins 程式碼

Google 雲端通訊 (GCM)

Google Cloud Messaging 是一項免費的服務,前身為 C2DM,用來將伺服器

(9)

8

更新的資料傳遞給 Android 應用程式使用,來達到推播效果。

 APP 上會員註冊

1. 裝置安裝好 APP 後,開始註冊會員的同時會向 GCM 要求 Registration ID 2. GCM 回傳一組 Registration ID 給該裝置,此 ID 用來辨識要將訊息傳給哪一個

裝置

圖 12 取得 GCM regId

3. 註冊好會員後,會一併將會員資料及 Registration ID 傳入我們的資料庫

圖 13 註冊使用者

 推播方式

1. 當廣告提供商上傳圖片時,根據廣告提供商選擇的條件,把符合該條件會員的 Registration ID 傳給 GCM。

2. GCM 對擁有該 ID 的裝置來發出訊息告知有新的廣告。

圖 14 覆寫 onMessage()

(10)

9

圖 15 產生通知

圖 16 GCM 運作示意圖

(11)

10

五、 主要成果

5.1 管理介面

廣告提供商由管理介面登入,必頇先申請一個帳號方能登入並管理廣告。

圖 17 廠商登入介面

圖 18 廠商註冊介面

5.2 廣告管理界面

廠商可以在這廣告管理介面對廣告進行修改。在新增廣告這頁,我們對廣告 進行了詳細的分類,一共分成了食、衣、住、行、育、樂。共 6 大類,並在其下 又分出詳細的類別,以及性別跟年齡方便廠商能正確地把資訊傳給需要它的用戶 手上。

(12)

11

圖 19 廠商廣告管理介面

圖 20 廠商廣告新增介面

(13)

12

5.3 使用者介面

使用者由 APP 圖示進入廣告推薦系統,使用者如果有帳號,便能直接登入並使 用,否則頇先申請一個帳號方能開始使用。

圖 21 使用者登入介面

圖 22 使用者註冊介面

(14)

13

圖 23 把資料傳給伺服器並註冊

5.4 會員中心

在這個頁面可以查看註冊時使用者填寫的資料,並可以更改會員的密碼以及 興趣。

圖 24 會員資料

(15)

14

5.5 查看廣告

提供了使用者查看特定類別廣告的介面,在上方的熱門廣告,會依序播放在 所有使用者評分中最高的前 10 種廣告。亦可藉由下面的選單選擇查看特定類別 的廣告。

在查看廣告的頁面提供了多項廣告的資訊,依序是廣告名稱、廣告說明、廣 告提供者以及平均得分,亦提供了評分及留言板功能,使用者可以根據喜好來對 這項廣告進行評分,也可以在這項廣告的留言板抒發己見。

圖 25 查看廣告-食

(16)

15

圖 26 食-速食

圖 27 留言板

(17)

16

圖 28 查看廣告-衣

圖 29 衣-女裝

(18)

17

5.6 我的廣告

使用者登入所到的頁面,根據使用者在註冊時選擇的興趣,從資料庫中篩選 相關的廣告推薦给用戶觀看,廣告會依分數高低來排序。

圖 30 我的廣告

5.7 偏好選擇

當使用者想要查詢特定的多種類廣告時,可以在這頁進行選擇,系統會根據 使用者的選擇把相關廣告依序列出來。

(19)

18

圖 31 好選擇

六、 遇到困難與解決方式

困難一

在廣告更新時,如何讓使用者獲得通知?

解決辦法:使用 Google 所提供的 GCM 服務來通知使用者,主要覆寫修改 onMessage,generateNotification 幾個函式。

困難二

如何將廣告圖片存入資料庫並從資料庫輸出?

解決辦法:使用 base64_encode()將圖片編碼來存入資料庫,在用 base64_decode() 將圖片解碼並輸出。

七、 工作分配與進度甘梯圖

 工作分配

林永紳:客戶端、程式撰寫、海報製作

(20)

19

葉木生:社群網路整合、介面設計 薛富泓:資料庫、程式撰寫、系統整合 胡修偉:伺服端、報告撰寫

 進度甘梯圖

月份

工作內容 二月 三月 四月 五月 六月 專題規劃

收集資料 介面設計 開發系統功能

系統整合 功能優化

測詴

八、 結論與未來展望

在本專題中提出一個以Android平台為基礎的智慧型個人化廣告推薦系統,

其最主要目的是提供使用者有一個良好的資訊收集管道,使得使用者能快速的找 到有興趣的廣告。

已完成之目標 1.廠商註冊

2.廣告上傳及刪除 3.使用者註冊 4.廣告推播功能 5.廣告評分功能 6.廣告篩選功能 7.廣告留言功能

(21)

20

8.廣告更新提示訊息

在後續的發展上,我們將繼續研究個人化的推薦方式,並強化以及新增一些 構思中卻沒有實行的方案,如結合 Google Map 讓使用者可以迅速查詢到廣告活 動地點,廠商客制化專一單項產品廣告系統,例如以車為主的廣告系統,僅介紹 車類廣告,以車種、車子品牌等作為分類,提高專案的擴充性。

結語與銘謝

非常感謝我們這組的指導教授張欽智教授對我們的悉心教導,即使我們這一 組進度不佳,老師也依舊給予我們耐心與鼓勵,讓我們能在最後順利的完成這項 專題,也讓我們從中學習到了很多。

參考資料

[1] 陳會安,新觀念 Android SDK 程式設計範例教本,旗標,2011 年 11 月 23 日

[2] 孫宏明,Android 4.X 手機/平板電腦程式設計入門、應用到精通(第二版)(附 光碟),碁峰,2012 年 1 月 9 日

[3] 佘志龍、陳昱勛、鄭名傑、陳小鳳,Google Android SDK 開發範例大全、第 3 版,悅知文化,2011 年 4 月

[4] 陳會安,Java SE 7 與 Android 4.x 程式設計範例教本,碁峰,2011 年 12 月 29 日

[5] Facebook for Web Developers,https://developers.facebook.com/

[6] 林梓涵,PHP+MySQL 與 Dreamweaver 互動網站程式設計,碁峰,2011 年 06 月 30 日

參考文獻

相關文件

VAB 使用者無法使用 RIDE 提供的 Filter Design 公用程式設計濾波器,但是 使用 VAB 的 Filter 元件時,在元件特性選單可以直接指定此濾波器的規格,使用

於是我們若想要在已知函數值的某一點,了解附近大概的函

在這一節裡會提到,即使沒辦法解得實際的解函數,我們也 可以利用方程式藉由圖形(方向場)或者數值上的計算(歐拉法) 來得到逼近的解。..

四、 廠商應於服務決標後 3

依身障者個別需求及職能,109 年截至 6 月底止提供一般性就業服務計推介就業 9,956 人、支持性就業服務計推介就業 1,249 人及推動辦理身心障礙者職務再

此行文字的特別意義,是讓 MATLAB 藉由 lookfor 指令 搜尋並顯示此函式用途。.. 語法:

•  要使⽤用 Google Classroom, 學校必須先成功申請使⽤用 Google Apps for Education.. •  Google Classroom 並不是⼀一個全功能的 LMS,

™ 不過, 如果 DHCP 用戶端不接受 DHCP 伺服器 所提供的參數, 就會廣播一個 DHCP Decline (拒絕) 封包, 告知伺服器不接受所建議的 IP位 址 (或租用期限…等)。然後回到第一階段, 再度