馬躍 丁小寶 楊成棟 王文寶
摘 要: 針對移動互聯網時代個人知識管理缺乏簡單、靈活的知識管理工具的狀況,提出基于Tag的個人知識管理系統設計方案,搭建了適應于Android、iOS、Windows Phone平臺的服務器端三層架構,并實現了Android客戶端。該系統能滿足移動互聯網環境下個人知識記錄、組織、檢索以及分享的需求。
關鍵詞: 個人知識管理; Tag; 移動互聯網; 三層架構
中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2014)08-01-03
Design and implementation of personal knowledge management system based on Tag
Ma Yue, Ding Xiaobao, Yang Chengdong, Wang Wenbao
(Taizhou University, Linhai, Zhejiang 317000, China)
Abstract: According to the situation that the personal knowledge management lacks simple and flexible knowledge management tools in the mobile internet era, the personal knowledge management system design scheme based on Tag is proposed. Three-tier architecture of server side is constructed, which is adapted to Android, iOS, Windows Phone and other system platforms. The Android client is realized. This system can record, organize, retrieve and share the personal knowledge in the mobile Internet.
Key words: personal knowledge management; Tag; mobile Internet; three-tier architecture
0 引言
互聯網時代,飛速更新與淘汰的知識使得我們必須接收大量信息,并不斷更新、維護自身的知識體系,個人知識的管理越來越受到人們的重視。個人知識管理(Personal Knowledge Management,PKM)首先由美國加州大學洛杉磯分校的Frand和Hixon提出[1],之后,密西根大學的Paul A. Dorsey教授在此基礎上完善并發展了個人知識管理的理論框架,概括和定義了七項核心個人知識管理技能:信息檢索、信息評估、信息組織、信息分析、信息表達、信息安全和信息協同[2]。個人知識管理是知識管理的一個分支,目前市場上已經有各式各樣、功能強大的個人知識管理工具,如mybase、NoteExpress、資料收藏大師、PKM2等,但這些產品均基于傳統互聯網,很少支持移動互聯網環境。移動互聯網時代,海量知識對個人知識管理是一種挑戰,傳統知識分類體系難以滿足個人對知識的檢索、組織以及分享的需要,用戶需要一種更為靈活、有趣的知識組織方式。因此,在移動互聯網環境下,個人知識管理系統要有支持知識組織、知識檢索、知識分享的知識實體描述體系,也即知識組織方法;此外,移動互聯網環境中存在不同操作系統平臺,系統要能支持這些平臺。
1 個人知識管理系統的設計
個人知識管理系統建設是一個系統工程,一方面要構建一種簡單、靈活的知識組織體系;另一方面要解決不同平臺數據統一管理的問題。本文設計了一種個性化Tag推薦和用戶編輯的Tag知識組織方法,構建了適應于多移動平臺的三層架構體系,該系統具體表現為一庫多平臺。
1.1 Tag推薦與Tag可視化
Tag是伴隨Web2.0應用而出現的信息分類方式,又有“開放分類”或者“大眾分類”之稱。與傳統的自頂向下的目錄式分類體系相比,Tag沒有顯式、專業的層級體系,主要是由用戶自主給每個實體貼上標簽,通過大量用戶協作自動形成分類[3]。個人知識的表現是基于多媒體形式,包括文本、圖形、圖像、聲音、動畫、照片圖片和視頻。這些實體組織、檢索和分享需要一套簡單、靈活的信息組織方式。Tag是目前一種有效的信息組織方式,也可以說是一種關鍵詞標記,用于搜索查找;但Tag不同于一般的關鍵詞,用關鍵詞進行搜索時,只能搜索到文本中提到的關鍵詞,而Tag可以將信息內容文本中根本沒有的關鍵詞作為Tag來標記。Tag的功能不僅僅是分類,更在于體現信息與信息間的相關性,利用用戶之間內容分享。
1.1.1 個人知識管理系統數據存儲模型設計
在本系統中,用戶、知識實體、Tag之間的聯系,我們用圖1所示模型表示。用戶創建知識記錄,可以是多媒體的某一種形式,給知識實體打上自定義標簽;同時可以通過Tag搜索,瀏覽其他用戶分享的個人知識并收藏其他用戶的知識;用戶的創建、收藏操作由該存儲模型支持。
圖1 個人知識管理系統數據存儲模型
1.1.2 Tag推薦和Tag可視化
Tag如何產生是本系統實現的關鍵。Tag產生的方式主要有:專家標注,用戶產生,系統產生以及人工和系統結合的方式[4]。專家標注能提供專業規范的Tag但成本比較高;用戶產生方式能提供大量Tag,但Tag用詞不受控,管理起來比較混亂;系統產生方式采用關鍵詞分詞技術,但是缺乏用戶情感、興趣等Tag信息。本系統采用系統推薦和用戶編輯的方式生產Tag,一方面推薦受控的Tag集合,另一方面讓用戶補充Tag。推薦Tag集合=標題關鍵詞+用戶Tag集合+關聯Tag集合;關聯Tag集合是由歷史知識實體中Tag共現頻度產生。由于Tag推薦服務是本系統的重點與難點,也是消耗計算資源比較多的服務。因此在服務器上專門構建一個Web Services負責Tag推薦服務。Tag可視化和用戶體驗密切相關,Android客戶端采用FrameLayout容器控件,用戶每次通過滑動屏幕更新Tag內容,系統重新繪制Tag所在的位置、顏色。
1.2 系統體系架構設計
近年來,以Android、iOS和Windows Phone等為代表的智能終端操作系統發展迅速,在技術上已經趕上甚至超越了PC時代的桌面操作系統。面對智能終端設備功能的日益增多,軟件成為智能終端設備開發過程中最主要的耗時因素[5],開發者往往必須采用“需要一個,就設計開發一個”的方法,這種設計不便于不同平臺數據的統一管理,為解決系統跨平臺問題,本系統服務器端采用三層架構(3-tier architecture),主要劃分為:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL),如圖2所示;在業務層和移動平臺之間創建Web Services層以解決跨平臺問題,該架構適合分期開發和數據維護,易于擴展Web和桌面客戶端。
[業務
實體Model\&iOS\&Android\&Windows Phone\&Web\&桌面客戶端\&通用類庫(Common)\&服務層(Service)\&業務層(BLL)\&數據層(DAL)\&數據訪問層(DBUtility)\&]
圖2 個人知識管理系統整體架構
該系統采用SQL Server集中統一管理數據;通過數據訪問類給數據層提供數據交互服務,將業務處理被封裝在業務層;UI表示層分成移動平臺、桌面平臺。移動平臺主要涉及Android、iOS、Windows Phone,本系統在UI層與BLL層之間引入Web Services層,解決移動端跨平臺數據處理和Tag推薦服務;桌面平臺主要涉及傳統的Web和桌面客戶端處理。系統各層數據是在Common類庫的支持下,通過業務實體實現數據傳遞。本系統優先開發移動端,解決移動互聯網環境下個人知識管理需求,選擇目前市場份額最大的Android平臺,本文探討的實現均是基于該平臺。
Android客戶端采用的是ActionBarSherlock+ViewPager+Fragment架構。ActionBarSherlock是一個開源框架,它是一個獨立的庫,通過一個API和主題,開發者就可以很方便地使用所有版本的Android動作欄的設計模式。對于Android 4.0及更高版本,ActionBarSherlock可以自動使用本地ActionBarSherlock實現,而對于之前沒有Action Bar功能的版本,基于Ice Cream Sandwich的自定義動作欄,實現將自動圍繞布局[6],能夠讓開發者輕松開發一款帶動作欄(Action bar)的應用,并且適用于Android 2.x及其以上版本。
1.3 系統功能模塊的設計
本系統從結構上分為服務器端和客戶端。服務器端主要提供用戶、知識實體、Tag的管理服務;客戶端主要支持用戶創作、存儲、分享等知識操作過程;客戶端與服務器端主要功能如圖3、圖4所示。
1.3.1 客戶端功能模塊設計
客戶端系統結構主要包括①通信協調模塊:為不同模塊之間的數據傳遞及網絡通信提供統一的接口。②知識實體新建模塊:創建知識實體,包括文本、手寫、圖像(圖片或照片形式)、錄音、畫板,以及混合型類型;創建個人知識實體后,系統自動推送Tag標簽給用戶選擇,用戶在推薦Tag基礎上可以二次編輯。③知識實體管理模塊:包括本地知識實體查找功能,知識實體云存儲、云同步功能,知識實體修改、刪除、分享等功能。④知識實體模塊:內含知識圈模塊、知識社區模塊、知識Store模塊。其中知識圈模塊:從服務器上獲取與當前用戶相關的知識實體列表,包括關注用戶所分享的知識、用戶收藏的知識。知識社區模塊:公開的知識實體將展示在知識社區中,用戶圍繞知識實體建立用戶關注、知識評論、知識收藏關系。知識Store模塊:該模塊圍繞知識實體交易,例如,用戶可以將自己的微視頻課程發布到平臺交易;同時該模塊也接收服務器推送過來的知識,激發用戶知識交易需求。⑤用戶信息管理模塊:內含基本信息管理模塊、偏好設置模塊。其中基本信息管理模塊:包含用戶基本信息維護,比如修改密碼、更換頭像、更換用戶名及其他一些基本信息修改。偏好設置模塊:包括是否自動登錄、知識實體是否自動同步等功能。
1.3.2 服務端功能模塊設計
服務端系統結構主要包括以下模塊。①用戶管理模塊:包括用戶注冊、登錄與用戶關系數據管理。②知識實體管理模塊:包括知識同步模塊、知識實體文件管理模塊、知識分享模塊。其中知識同步模塊:包括在服務器上用戶知識的存儲以及與其他移動平臺、Web、桌面客戶端數據同步功能。知識實體文件管理模塊:對所有用戶知識進行管理,包括目錄管理,文件權限管理以及數據備份管理。③Tag推送模塊:向用戶推送Tag標簽服務,Tag是移動互聯網環境下個人知識組織的重要手段。該模塊利用分詞技術、字符匹配技術推送個性化Tag標簽集合。④知識分享模塊:該模塊與客戶端功能模塊對應,支持知識圈、知識社區與知識Store管理。知識圈模塊:維護用戶關注對象所分享的知識、用戶收藏的知識。知識社區模塊:分析與管理用戶關系,包括關注、評論、收藏關系。知識Store模塊:維護用戶在線交易的知識,向用戶推送個性化的知識內容。⑤公共服務模塊:內含公共信息處理模塊、公共網絡服務模塊。公共信息處理模塊:對用戶知識內容的提取(體現在在線知識搜索服務上)。公共網絡服務模塊:為客戶端提供統一的網絡訪問服務。
2 個人知識管理系統的實現
圖5 個人知識管理系統部分功能演示
系統的導航菜單主要是由“創建知識”、“知識管理”、“知識分享”組成。使用系統前,用戶需先注冊個人知識管理系統賬號,然后可以創建文本、手寫、圖片、畫板、錄音以及混合型的知識實體,創建成功后需添加標題信息,標題是Tag推薦服務的重要的語義參考,客戶端自動抽取標題關鍵詞作為Tag集合,并和用戶信息打包發送給服務器處理,并返回推薦的Tag集合(如圖5所示)。測試輸入標題:“個人知識管理是一種新的知識管理理念和方法”,服務器Web Services返回推薦Tag集合{“知識管理”,“競爭力”,“價值”,“能力”,“信息”}。
3 結束語
通過構建易于擴展和維護的個人知識管理系統結構,采用簡單、靈活的Tag知識組織方式,實現了服務器端和Android客戶端。服務器端提供用戶管理、知識實體管理、Tag管理以及知識分享管理的服務,該系統能為用戶提供Tag推薦服務,推送結果基本滿足用戶需求;Android客戶端能幫助用戶實現個人知識管理過程。目前該系統已發布到百度應用開放平臺供用戶下載,預計在移動互聯網環境下該產品市場前景可觀。下一步將擴展iOS、Windows Phone移動平臺,研究知識網絡,并在此基礎上構建用戶知識圈。
參考文獻:
[1] 周曉芳.個人知識管理績效評價研究[J].圖書館學研究,2012.9:
60-63
[2] 蔣亞東.組織知識管理環境下的個人知識管理研究[J].科技管理研
究,2009.2:268-270
[3] 孫朝軍.Tag知識管理系統的設計與實現[D].碩士,北京郵電大學,
2010.
[4] 李蕾,章成志.社會化標簽質量評估研究綜述[J].現代圖書情報技術,
2013.11:22-29
[5] 石倩倩.基于智能終端設備的交互式應用框架的設計與實現[D].武漢
郵電科學研究院碩士學位論文,2014.
[6] 徐奔.開源軟件開發人員行為特征的可視化挖掘[D].上海交通大學碩
士學位論文,2013.