2007年4月21日 星期六

搜尋:樣式比對( Pattern matching)

大部分搜尋引擎的檢索原理(retrieval algorithms)是應用「樣式比對」(pattern matching),亦即將使用者的查詢與索引(index)做比對,通常是到網頁全文中去找看看有沒有相同的字串。當找到一個相同的字串時,該網頁就會被新增到retrieval set。所以,如果使用者輸入"information architecture",那麼有出現"information architecture"字串的網頁就會被檢索出來。聽起來好像很簡單,事實上比對的過程可以有很多種不同的做法,做法不同檢索出來的結果也不同。


查全(recall)與查準(precision)
有些檢索原理是將各種不同相關程度的結果全部都檢索出來,有些則只檢索出少部分高度相關的結果。這個概念就是查全(recall)與查準(precision) 。

查全(recall)=檢得的相關文件筆數/資料庫中或網站中所有相關文件筆數
查準(precision) =檢得的相關文件筆數/資料庫中或網站中所有文件筆數

比如說網站中有1000篇文件,搜尋結果是100篇;事實上網站中相關的文件共有200篇。查全率是:100/200=0.5,而查準率是:100/1000=0.1。

搜尋系統設計應該強調查全還是查準呢?取決於網站的使用者!
如果網站的使用者是做法律研究、追蹤某個領域科學研究的最新發展、或者為企業併購進行研究,那麼使用者要的應該是查全(high recall)。再比如我們在搜尋引擎中輸入自己的名字做 ego-surfing時,也是希望找到所有有出現自己名字的網頁都找到,再一一瀏覽過濾。查全要面對的問題是,搜尋結果中會出現很多不相關的資訊。

另一種情況是只要找到幾篇真的很好的文件就好了。比如說上網找有關「簡報技巧」的資訊時,我只想要找到幾篇好文章學會簡報技巧,而不想要找網路上所有有關簡報技巧的文件全部都找全。這時我要的是高精確率的結果,是查準;不想知道到底有多少相關資訊,只要找到最優質的資訊即可。

那麼既查準又查全不是兩全其美嗎?可惜魚與熊掌難兼得!資訊結構師必須權衡兩者,決定那種方式對使用者最有用,再選擇一個最符合需求的搜尋引擎。

有些搜尋引擎提供自動切截(automatic stemming),將搜尋結果放大到搜尋相同字根的所有單字。如果是強切截(strong stemming)的話,搜尋computer時,可能搜尋到所有comput字根的單字,包括:computers, computation, computational, computing。這種搜尋方式可以搜尋到較多的文件,恴謂較高的查全率(higher recall)。

相反地,無切截(no stemming)時,輸入computers只會檢索到包含computers的文件,勿略所有其他的同字根的單字。弱切截(weak stemming)則只將搜尋擴大到包含複數詞彙,輸入computer,會檢索到包含computer和computers的文件。無切截和弱切截的查準率較強切截高,但查全率較低。該用那種搜尋系統呢?答案取決於使用者的資訊需求是屬於那種類型。

此外,還得考慮內容結構如何。如果在HTML或XML中有欄位(fields)設計,搜尋引擎可以「看到」,可以搜尋。那麼如果想要知道費曼博士的書,限定在作者欄位搜尋 Richard Feynman,可以得到較高的查準率;如果沒有欄位設計的話,只能以Richard Feynman在網站中做全文檢索,搜尋結果可能是只在文章中提到費曼博士,壓根兒都不是費曼博士的著作。


Document similarity(類似文件)
如果手邊已經有一篇很好的文件,可以利用一些原理搜尋到更多類似的文件,這就是所謂的Document similarity(類似文件)。搜尋引擎的做法是將這篇很好的文件中的頻繁字(stop words),例如: the, is ,he 等,加以刪除後,留下一組語意豐富的詞彙,代表這篇文件。然後以該組詞彙搜尋到更多類似結果。另一種方法是搜尋有用到相同metadata的文件(當然這得要該文件有用metadata做index才做得到)。




Collaborative filtering(協同過濾)
根據Wikipedia,協同過濾是藉由蒐集大量使用者的偏好資訊(collaborating)來自動預測(filtering)個別使用者偏好的方法。協同過濾的基本假設是:很多使用者的一致行為傾向於和未來的行為一致;協同過濾的協同是指很多的其他使用者所表現出來的一致的行為,過濾是用來幫助個別使用者過濾最適的資訊或者偏好行為。所以亞馬遜網路書店用其他使用者上網買書的行為(消費者會一起買的書是相同主題或興趣的)來做協同過濾,推薦使用者類似的書籍。

除了亞馬遜網路書店以外,2005年 Tim Spalding所建的線上個人圖書館LibraryThing是另一個好範例,使用者可以免費或付費註冊後將個人的館藏或喜歡讀的書建上去,並為每本書貼上書籤、寫書評,其他人就可以透過書籤和書評來搜尋或瀏覽相關圖書。例如:下圖是Tuesdays with Morrie 的搜尋結果,這本書有2千4百多位會員有收藏,有49位會員寫書評,下面的標籤雲則是會員們為這本書所貼的標籤,由標籤字體可以知道大部分人對這本書的認知(biography, death, inspirational)。接下來就是利用協同過濾所提供的「推薦」,如果您喜歡看Tuesdays with Morrie,您應該也會喜歡看Mitch Albom的另兩本書(在天堂遇見的五個人和for one more day),還有Morrie教授的現身說法等20本書。

想知道更多協同過濾的網站應用,請參考Wikipedia或google。

Citation Searching(引文檢索)

下圖是利用CiteSeer.IST (賓州州立大學所建的科技文獻數位圖書館)搜尋到的結果,每篇文章均提供下列幾種自動搜尋更多相關文獻的方法:
  • Cited by
    現在正在看的這篇文章有被那些文章引用?文獻的引用與被引用關係隱含著某種相關,也許是作者有交集,也許作者間原本就互相認識。
  • Active bibliography (related documents)
    和cited by相反, Active bibliography 提供這篇文章的參考文獻(或稱書目),是作者在寫這篇文章時所參考引證的相關文獻,當然有相當程度的相關性。
  • Similar documents based on text
    當正在看的這篇文章轉譚成搜尋策略進行搜尋,找到相關的文獻。
  • Related documents from co-citation
    從共引文獻找到的相關文獻。如果其他作者在寫文章時,也參考引用相同的文獻,表示這兩篇文章應該有某種相關性存在。換句話說,A篇文章後面的參考文獻與B篇文章後面的參考文獻中,如果有相同的文獻,就表示A和B這兩篇文章有共引關係(co-citation), A、B兩篇文章一定有共通性存在,一定都探討到某一個主題。


以上所介紹是幾種常見的搜尋原理,當然還有很多原理原則可以應用。不管用什麼方法,最重要的是找到最符合使用者需求的結果。所以citation searching通常對學術研究取向的使用者有用,對一般使用者可能沒有太大的加值。所以,資訊結構師在設計或選擇搜尋引擎時,請先了解使用者希望從我們的網站找到什麼樣的資訊。


Collaborative filtering. (2007, April 19). In Wikipedia, The Free Encyclopedia. Retrieved April 21, 2007, from http://en.wikipedia.org/w/index.php?title=Collaborative_filtering&oldid=123986565

Morville, P., & Rosenfeld, L. (2007). Information architecture for the World Wide Web (3rd ed.). Cambridge, MA: O'Reilly. pp. 159-162.

2007年4月20日 星期五

Social Navigation

社會導覽(Social Navigation)的基本想法是,每個人都對其他人感興趣,都想要知道其他人都看什麼、喜歡什麼;所以Morville與Rosenfeld(2007, 142)認為觀察其他使用者的行為,可以為個別使用者創造價值,因此已被大型網站廣泛探用。

最簡單的社會導覽是類似紐約時報的「熱門推薦」(most popular ),較為複雜的社會導覽是亞馬遜網路書店的「協同篩選」(collaborative filtering)、Epinion的「建議引擎」(recommendation engine)和Flickr的「標籤雲」(tag clouds)。

  1. Most Popular
    最簡單的社會導覽是「熱門推薦」(most popular)。紐約時報網站(New York Times)提供Most Popular網頁,為使用者整理最多人轉寄的文章(Most E-mailed)、最多博客連結的文章(Most Blogged)、最多人搜尋的關鍵詞(Most Searched)和最熱門的電腦(Most Popular Movies)。

    這張圖是在4月20日上網捉的,最熱門的搜尋關鍵詞第二名是virginia tech
  2. Collaborative filtering
    當我上Amazon搜尋到Information Architecture for the World Wide Web這本書時,Amazon會推薦我買這本書的顧客同時還買了那五本書,同時還可以直接點選 Explore similar items : Books (49) 瀏覽類似的49本書。


  3. Recommendation engine
    Epinions提供上圖書、電影、車子等百萬種產品的review,是讓消費者分享消費經驗(好的和不好的)的一個平台。

  4. Tag clouds (標籤雲)
    Flickr利用標籤的字體大小來表示tag popularity,是一種視覺化的呈現方式。Flickr讓使用者在上傳照片時,可以為每張照片貼上標籤(最多70個),使用者可以上網瀏覽或搜尋標籤,所以可以知道那些標籤最熱門。

目前大部分的企業網站都還沒有採用社會導覽的方式,相信假以時日,這類型的應用將會愈來愈普及。至少,企業會發現追蹤分析search log、使用統計、和顧客資料庫,可以提供有價值的資訊,設計更好用的「文內導覽」(contextual navigation)。更希望使用者行為能回饋到網站設計,建立彈性的導覽系統,隨著使用者的行為與偏好,調整導覽,顯著地提高網站的好用性。

Morville, P., & Rosenfeld, L. (2007). Information architecture for the World Wide Web (3rd ed.). Cambridge, MA: O'Reilly.

2007年4月13日 星期五

導覽路徑標示(Breadcrumbs)

就像實體的建築設計一樣,網站設計也要在每一個網頁清楚的讓訪客知道 You Are Here! 訪客迷路了,都可以循著來時路回到前面逛過的任何一站。例如下圖是flickr網站導覽路徑標示(Breadcrumbs),目前所在的位置是clusters,以紅字顯示,可以往前回到上一層nature,也可以直接跳回Tags或Explore。


有些網站直接就以 You are here:以導引訪客,如About.com.


Krug(2006)將這種設計稱為 Breadcrumbs,因為在格林童話《糖果屋》中Hansel 和Gretel第二次被丟棄到森林時,就是沿路撒麵包屑,當做線索的。(可是故事的麵包屑是被小鳥吃掉了所以才找到糖菓屋還是薑餅屋的,作者說要以此來說明迷路是多麼令人不愉快)

換句話說,資訊結構師在設計網站時,要幫訪客撒好麵包屑,讓訪客可以很容易地找到回家的路。(好佳在,網路沒有小鳥會飛來偷吃麵包屑)不過,我建議還是精確一點,翻譯成「導覽路徑標示」。

Krug(2006, pp. 78-79)認為About.com的「導覽路徑標示」設計得很好,下列幾項是最佳典範(best practices)。

  • 放在網頁頂端

    網頁導覽路徑標示放在網頁的頂端齊左,最好!About.com是最佳範例,就像是每本書的頁碼一樣,導覽路徑標示也嵌入成為網頁的一部分。如果將導覽路徑標示往下移,就有可能和其他的導覽要素混淆,然後就會Make me think;使用者就得要停下來想想,那個是真的導覽路徑?我該用那一個呢?

  • 用>區分層級
  • 經過trial and error顯示,最佳區隔符號是大於符號(>);雖然冒號(:)和斜撇(/)也都有人用,還是>符號最能滿足使用者的需求,最具有自明性,因為>符號本身就有方向的意涵在。
    Flickr就是用斜撇(/)來區分層級。字體則是藍字與紅色。

  • 用較小字體
  • 小體稍小,可以明確區分主從關係。

  • 貼上" You are here"
  • 大部分的使用者都知道導覽路徑標示是什麼,貼上" You are here"更具自明性。

  • 最後一項字體加粗或變色

  • 最後一項應該是所在網頁的網頁名稱,用粗體字,更明顯。
    About.com是用黑體子標示You ar here:,用藍色字體顯示各層標題,以紅色字體標示現在所在網頁。

  • 不要用導覽路徑標示來取代網頁名稱

    有些網站會把最後一項字體放大,同時充當網頁名稱。這種設計對使用者不見得好用,因為使用者通常會期待網頁名稱出現在網頁的正中央或是齊左,而不會認為導覽路徑標示的最後一項就是網頁名稱。
Krug, S. (2006). Don't make me think: A common sense approach to web usability (2nd ed.). Berkeley, CA: New Riders.

網站「好」用性 vs.「可」用性

Web usability請譯為網站「好」用性!

不是要標新立異,而是真的思考過。因為態度決定高度!
想想看,資訊結構師的目標是什麼?我們是要設計一個「可用」的網站,還是一個「好用」的網站呢?幾乎每一個網站都「可用」,但是這些「可用」的網站可不見得「好用」!

所以,資訊結構師要設計的是一個「好」用的網站,沒有任何質疑空間,沒有任何模糊地帶。

2007年4月10日 星期二

Search 設計原則

如果您的網站是content-rich website,那麼訪客會期望您提供search的功能,幫助他找到他想要的網站內容。只要簡單地輸入一、兩個或更多個的關鍵字詞到框框中(其實它叫search box),就可以找到網站中有出現這幾個字的網頁,而且最好能顯示這幾個字出現在什麼地方。


基本的設計原則為:

  1. 每個網頁均提供搜尋選項
    使用者不需要回到首頁,就可以在每個網頁做搜尋;因為使用者不見得是由首頁進入網站的,再說使用者可能是逛到一半才決定要搜尋,何苦為難使用者,每個網頁都放上search box吧!但是每頁都要放在相同的位置!
    搜尋引擎對內容豐富的資訊性網站非常有幫助,但是如果您的網站內容不太多的話,放上search box可就沒什麼加值效果,還可能引起反效果。

    千萬不要太過依賴搜尋引擎!搜尋引擎無法取代好的內容組織,沒有好的資訊架構,搜尋引擎也是幫不了忙的。資訊結構師要好好評估加上搜尋引擎的優點和缺點後,再決定要不要放search box。




  2. 確保搜尋結果是有用的
  3. 確保使用者搜尋的結果提供的是精確的資訊,是以使用者期望的格式(format)呈現。
    使用者希望能用搜尋結果來解決問題,或繼續下一項任務。如果使用者對搜尋結果感到疑惑,或是無法立刻知道找到了什麼有用的資訊,會讓使用者感到很挫折。
    例如:vivisimo的搜尋,在左欄先將搜尋結果cluster成幾大類,在每類後標示網頁數,大類還可以再展開為小類;右欄的搜尋結果會將搜尋關鍵詞以粗體字highlight,讓使用者了解關鍵字詞出現的前後文意為何,幫助使用者做判斷。



    同時要在搜尋結果,提供使用者修正搜尋策略或進一步收斂搜尋結果。例如在vivisomo搜尋結果左欄的下方就有Find in clusters:的search box,讓使用者可以指定的cluster中再查詢。


  4. 提供簡單的搜尋
  5. 建置搜尋引擎讓使用者只要輸入一、兩個關鍵字詞,就可以找到所要的資訊。
    搜尋的功能要很容易使用。大部分的使用者傾向於採用簡單的搜尋策略(search strategy),只輸入簡單的詞彙,甚至連布林邏輯(and, or, not)都很少用。如果網站所服務的大部分使用者並不太常上網搜尋不太常用搜尋引擎,建議提供簡單搜尋指導和範例,幫助使用者有效地搜尋您的網站內容。

    亞馬遜書店提供數百萬冊的圖書資訊,而她的搜尋介面只有簡簡單的一條搜尋框。


    可以在搜尋框中輸入書名關鍵字詞,如:information architecture。在搜尋結果中,首先以紅字顯示搜尋的關鍵字詞,然後列出相關搜尋(Related Searches: ),再條列搜尋結果(依相關性和熱門度排列),在左欄則列收斂搜尋之建議。


    不僅可以關鍵字詞搜尋書名,同一個搜尋框,也可以輸入人名搜尋作者。

    美國Government Printing Office的首頁搜尋設計,也是Search - Searcdh Box- Go 的簡單設計。

    反觀我的E政府搜尋就複雜多了。在進階搜尋後面出現兩個按鈕:機關網頁和我的E政府站內搜尋,我實在搞不清楚,我輸進去的關鍵字詞到底是跑到那裏去搜尋了。因為如果是要我選定兩個按鈕之一做搜尋,那為什麼那兩個按鈕要距離搜尋框那麼遠?還放在進階搜尋後面,不就是意謂著那兩個按鈕是和進階搜尋是一國的,或至少是同樣的功能嗎?



  6. 大小寫相同,單複數自動切截
    使用者上網來是要搜尋資訊,沒有要選總統,不用考全民英檢,不要為難users了。

  7. 設計搜尋引擎搜尋整個網站
    讓搜尋引擎可以搜尋整個網站,或者明確界定搜尋範圍(search zones)。
    資訊結構師可以幫使用者控制搜尋的範圍。大部分的使用者都相信搜尋引擎會搜尋整個網站,所以如果只搜尋網站的某個部分,一定要清楚地告知使用者搜尋的是網站的那個部分。
    網站設計者所想的「整個網站」和使用者所想的「整個網站」,可能是兩碼子事兒。因為很多的網站是畫分為好幾個子網站,每個子網站是委由不同的設計者(或廠商)設計建置。以台大這個極端分散的網站,由台大首頁的google站內搜尋搜尋到的內容到底是那些呢?

    美國麻省理工學院首頁左下角的搜尋功能就明確地標明: MIT Google、People、Offices,讓使用者決定要搜尋MIT網站,還是到MIT找人、找單位,然後再輸入關鍵字詞,接下來當然就是 Go!


    紐約時報首頁,在搜尋框後提供下拉式選單供使用者指定搜尋範圍。
  8. 進階搜尋則進一步提供使用者搜尋新聞標題或是記者。





  9. 以使用者的詞彙設計搜尋
  10. 網站搜尋引擎的設計要能反映使用者的用語。
    使用者在做搜尋時,有一些常用字詞。要決定適當的關鍵字,需要從使用者搜集資料,研究使用者常用、愛用的搜尋字詞,提供與其相關的資訊讓使用者可以透過搜尋引擎搜尋到。請時時提醒自己,資訊結構師和網站設計者的關鍵字詞,不見得就是使用者所愛用、慣用的關鍵字詞,而且很多時候,內容作者常常高估了使用者對專業術語的理解程度。不是嗎?國內的圖書館網站常都直接貼上「參考服務」、或「參考諮詢服務」,而美國圖書館網站,如MIT,則是用Ask Us,請問那個網站讀者比較懂呢?讀者會向那個網站提問呢?


  11. 提供搜尋範本(Search Templates)
    提供範本,幫助使用者使用搜尋引擎。
    搜尋範本可以幫助使用者建構較佳的搜尋策略。搜尋範本通常包括預設的關鍵字詞(predefined keywords),幫助使用選擇搜尋詞彙。關鍵字詞可以直接選用,或者單純幫助使用者建構自己的搜尋字詞。每個範本的預設關鍵字詞應以階層方式組織,以幫助使用者限定其搜尋策略,改喜搜尋結果的相關度。據Fang 與Salvendy(1999)研究指出,有使用搜尋範本的使用者找到的適用網站比沒用的高出70%。

    北德州大學圖書館網站在搜尋網站時提供搜尋技巧的輔助,幫助使用者。