2014年2月17日 星期一

使用Tags建置文件搜尋系統


  Tagging (又稱Social Tagging)是自2003年web 2.0興起之後所流行的產物;其字面意思,Tagging是為某個事物貼上標籤(Tag)之意,當一個群體針對某些事物進行tagging而產生了一群tags時,這個群體進行tagging的過程與結果會造就一種social的行為(例如分享、討論),所以我們會稱之為Social Tagging。

  還記得剛開始使用Google Blog時感到相當的不習慣,因為我找不到資料夾分類這個功能;以前當我們編寫或發表文章時,很習慣的,總會想先找個相對應的資料夾,然後把它給歸類在這個項目下,就像把膠水放在文具用品抽屜中那麼自然,但在Google Blog中完全沒有Category這個項目,只有Tags欄位(如圖)。


  勉為其難的在Tag欄位中輸入了幾個關鍵字之後,按下submit,赫然發現Google Blog把這些Tags轉變為熟悉的資料夾分類型式顯示在側邊(如圖);雖然當初我並不覺得這是個好主意,畢竟Category和Tag雖然類似,但在使用目的上還是有些不同,如果我的tags一多,側邊欄恐怕就會洋洋灑灑的一列讓讀者們感到暈眩。

  因此我個人覺得比較習慣的方式,還是保留傳統的Category分類,因為那是作者對其文章最啟始的分類想法,也是導引無目的的讀者能夠快速地熟悉與瀏覽整個Blog;在Category的下方,才放置Tags的列表(或稱為tags cloud),提供給想要再進一步搜尋的讀者,能夠迅速找到有興趣的文章。

Web1.0 2.0 與3.0

  Tagging屬於Web 2.0的代表產物之一,同時期的代表還有BlogRSSWiki等;以下此圖示方式大致介紹一下其演進與差異。

WEB 1.0:可視為一個靜態且read-only的網站形式,使用者單向的接受網站提供的資訊;網站被視為一個資訊的發送站,企業單純的利用網站傳播訊息和提供產品資訊。
WEB 2.0:由Dale Dougherty在2004年所定義,可視為一個read-write的網站形式,使用者除了接受網站提供的資訊之外,也可以發送、張貼或回饋自已的訊息,並與其他人進行分享與討論。
WEB 3.0: 使用者與網站之間除了雙邊的交流行為之外,還可以自行的更改網站的設計與行為模式,讓它更貼近與彰顯自我的特色與習慣;例如,網站的個人化設計、即時同步的個人隨身資料、使用不同的平台與裝置使用網路等等。

Tagging

    Tagging是一種動作,表示為某事物貼上標籤之意,它允許眾多使用者依照自身需要來為網路資源給予各種標籤或關鍵字,這種有別於傳統由上而下的書目組織方式,可結合眾人之力提供及分享更深入的關鍵字詞並拓展各項資料之間的關連性。一般的圖書館業界也開始導入tagging,例如美國Upenn library提供Tagging服務(可參考此新聞 http://libraryview.me/2006/03/13/281/ ),並與其圖書館的館藏系統結合,讀者除可對任一書籍來貼上適合自己記憶辨認的Tag外,透過書目資料顯示也可得知有那些讀者貼上Tag,可進一步提供延伸書目閱讀的功能。

Tags Cloud

   http://t3.gstatic.com/images?q=tbn:ANd9GcRhsOtHRRKbBKfPdLUcqQ2Vi4WOdNUw3i-ZB765x8ONrWVZlGUN_w   

  Tags Cloud (或簡單稱之為Words Cloud),是一串Tags的集合;如果我們已經為每項資源建立了tags,那麼,除了自己已知的tags之外,tags cloud是協助我們發掘、分享tags、並反應文件資源搜尋狀態的重要指標。     

    Tags Cloud的產生是經由統計Tag database的使用狀況而來的;其產生的方式有很多,且基本上沒有一定的標準,以下介紹的為wiki的定義:
  • By Frequency:tags cloud是依據tags的使用頻率來產生
  • By Numbers:tags cloud是依據tags的數量比率來產生
  • Categorization:tags cloud中的tags僅是作為分類使用

  因此,若我們利用Frequency的方式來產生tags cloud,則在不同的時間、不同的部門、甚至不同的使用者,會產生不同的tags cloud,此cloud反映出了當時使用者感興趣或需求的類型。而若是採用數量方式來產生的tags cloud,則也會產生不同的tags cloud,但反映出的是工作上著重的項目與project。

  然而,如果顯示的Tags數量繁多,那麼所產生的Tags Cloud圖案可能會相當的巨大雜亂,反而讓使用者眼花瞭亂造成在找尋上的不方便,那麼,在此種大量tags情況下,訪客需要的反而是一個tags搜尋而非tags權重顯示了;所以最近流行一種Tags黃頁以取代Tags Cloud顯示方法,此種方式將所有的Tags全部列出,並以最首的一個字母排序,方便使用者快速找到需要的tag。  
         

Tags 使用建議

  1. tag的用字應精準,且愈簡單扼要愈好。
  2. 儘量使用名詞;例如:不要用「美麗的」而應該用「美麗」、用「developer」或「development」會比「develop」更適合。
  3. 無論任何情況下應該都使用小寫字母。
  4. 除非是相當複雜或為人所熟知的縮寫,否則應儘量避免縮寫;例如,應使用knowledge management和public relations而不建議使用「KM」和「PR」;但「IBM」「HP」或諸如「WTO」等等為人所熟知的名稱是容許的;另一個例外情況是,某個名稱過於冗長,如「tokyo international anime fair」,若該公司有經常使用的縮寫名詞如「taf」則建議使用。
  5. 文章中所提及或關連的公司、產品、客戶、品牌等重要名稱預設都應加入tags。
  6. 某個名稱若由數個words所組成,應分別成為單獨的tag;例如:IBM Lotus Notes,應拆分為「IBM」、「Lotus」、「Notes」。
  7. 除了文章內文所提及的字詞,與其相關的人事時地物等,以及所觸發的idea、感想等,也可加入tag。
  8. 每項資源的tag數量應有限制;不受限制的tags只會產生大量無用的資訊,且會造成系統搜尋效率的降低和使用上的困擾。
  9. System tags與Author tags建議僅能由少數有權限人員修改;Reader tags則建議開放讓多數人員能夠編修。
  10. 新文章產生預設tags時,所參照的Default tags列表與使用於搜尋的tags 列表應不同;Default tags DB應著重於重要專有名詞與公司相關的人員、產品與重要資訊。
  11. 記錄tags的統計及使用資訊:如每一種tag的數量、加入tag的人員及時間、搜尋的次數等等,以提供建立tags cloud使用。。

Ps. 此小節內容部份參考自此篇文章: http://armchairtheorist.com/top-10-tagging-best-practices-for-anything-web-20/


利用Tags建置週報文件搜尋系統

而一般企業在運行一段時間後,無形之中便會產生大量的數位文檔,分散在不同的應用系統、儲存位置之中,且各自擁有不同的權限與壽命;這種眾多檔案分散在四處的現象,會造成資料搜尋與分享不易、重複儲存的浪費、且容易錯失重要的資料:

  • 不同的檔案類型:
Office →pdf、word、excel、powerpoint、visio…等等
    Image →jpeg、bmp、png、psd…等等
    Media → mp3、wav、mp4、ts、mpeg、flash…等等
        Text →txt、csv、xml、html…等等
        Script → sh、asp、php、jsp、java、cs…等等
        Others →nsf(Notes DB)、mdb…等等
  • 不同的儲存位置:不同的Notes Database、個人碟、部門碟、公用碟、相片碟、專案碟…等等。
  • 不同的權限與保管者
  • 不同的保存期限

     如果我們能夠替每個檔案加上tag,就如同在每一項資源上綁上魚線,拉一拉標籤,便會拉出對應的一串資源,只要知道tag,就能找到需要的資訊,不需要擔心有任何文件石沈大海永不為人知曉。

  凌陽創新目前文件的產生,除了上述所提及的各類型檔案之外,主要以Notes系統的各式文件為主,尤其以每週固定產生的週報檔案數量較為龐大。此外,網路上的部門碟、個人碟等,以及教育訓練系統、文管中心等等亦有為數不少的檔案;若要搜索某檔案資源,則需要先確認該資源所屬的系統,再進入不同的系統來逐一搜尋。

    凌陽創新文件產生位置:
      • Notes檔案:週報系統、各部門Team room、各部門知識庫、各部門討論區、各部門知識庫…等等。
      • 其它類型檔案:部門碟、個人碟、教育訓練系統、文管中心…等等。

Tagging的動作,可視為讀者在閱讀文件後的一種心得和經驗的累積,而給予該文檔下的關鍵字;透過tagging的行為,可以為企業內任何的數位檔案資源,加上不同的索引標籤,我們再把這些標籤,集中到一個資料庫,提供給同仁檢索;在檢索的過程中,並同時記錄統計不同標簽的使用情況,以便產生tags cloud顯示在搜尋頁面提供同仁參考使用,此tags cloud會反映出當前文檔資源的需求情形,作為同仁搜尋時的關鍵字參考與搜尋建議。

  建議可先從週報系統導入tag的文檔搜尋功能,未來可再視需要推廣至全公司的其它系統。
   
導入方式:(此部份內容需持續修改補充)   

  1. 定義所需的tags種類。
Default Tags, Author Tags, Reader Tags

  1. 建立相關的tag databases:
相關的tag databases使用MSSql建立,分別於Notes系統以及WEB APP呼叫使用。

  1. 在需要被檢索的資料庫加入tagging功能:
目前先應用於週報系統。

  1. 由於Notes文件中可能包含多個其它類型的附加檔案;因此,可視需要將附加檔案extract出來另外存於某個filesystem,並將檔案連結指向該檔。
Notes在儲存文件之前,會檢查文件中的技術文件block區有否附件,若有則將附件及相關文字儲存於網路磁碟中、產生預設tags、將使用者輸入的Author tags及簡介insert到tags相關tables。

  1. 製作user端使用的search portal
Search portal使用HTML方式製作。

  1. 當tags累積至一定數量後,可產生tags cloud顯示於portal供同仁檢視使用(如圖)

  1. 評估利用JQuery的顯示方式,限制使用者只能在Browser瀏覽,無法下載。

沒有留言:

張貼留言