基于Tag的个人知识管理系统的设计与实现

时间:2022-06-13 06:41:43

基于Tag的个人知识管理系统的设计与实现

摘 要: 针对移动互联网时代个人知识管理缺乏简单、灵活的知识管理工具的状况,提出基于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如何产生是本系统实现的关键。Ta生的方式主要有:专家标注,用户产生,系统产生以及人工和系统结合的方式[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.

上一篇:高等学校会计核算面临的问题及对策 下一篇:基于C/S模式的机房实验教学系统设计与实现