11/13/09

NEPOMUK - một cách tổ chức, chia sẻ dữ liệu mới.


NEPOMUK - một cách tổ chức, chia sẻ dữ liệu mới.


I. Hai vấn đề hiện tại


I.1-Tổ chức, quản lý và tìm kiếm dữ liệu cá nhân


Giả sử bạn đang thực hiện một công việc (task A) nào đó trên máy tính. Các dữ liệu liên quan đến công việc đó gồm có:





  • Các file văn bản, hình vẽ, ảnh, … được tập hợp trong một thư mục task A mở trong phần mềm Dolphin.




  • Các cá nhân có liên quan được tập hợp trong một Distribution List cũng có tên là task A trong sổ địa chỉ Contacts của phần mềm Kontact.




  • Các email trao đổi về công việc đó được tập hợp trong một thư mục task A của Inbox hoặc trong một thread có chung subject là task A của phần mềm KMail.




  • Các trang web liên quan được tập hợp trong một thư mục task A của Bookmarks của phần mềm Firefox.




  • v.v... và v.v...




Dữ liệu liên quan đến một công việc nằm rải rác trong nhiều format, nhiều ứng dụng và được tập hợp trong nhiều chỗ khác nhau.


Như vậy khó tìm kiếm, mất thì giờ và dữ liệu không có liên kết với nhau.



I.2-Tìm dữ liệu cho mình hoặc chia sẻ dữ liệu cho người khác


Những dữ liệu nói trên, ngoài tên file, subject của email hoặc địa chỉ trang web, có rất ít thông tin hiển thị ra ngoài. Ngay cả người tạo ra dữ liệu đó, nếu lâu ngày cũng không nhớ nội dung nó nói gì.


Vì vậy khi tìm kiếm mất rất nhiều thì giờ. Một trong những điển hình là khi Google Search theo các từ khóa nào đó mất nhiều công mở từng trang web trong kết quả tìm kiếm mới phát hiện được trang cần thiết.


Một trong những cách để khắc phục là có các công cụ để người tạo ra dữ liệu hoặc người đã dùng nó:





  • Ghi chú thêm thông tin (annotate - chú giải) về dữ liệu dưới dạng gán từ khóa (tag), comment hoặc note và các dạng thông tin khác nữa đi kèm với file.




  • Những thông tin thêm đó phải có nghĩa (semantic), đọc được và tìm kiếm được (queryable) bằng các công cụ tìm kiếm.




Ví dụ: một bức ảnh về Hồ Hoàn kiếm, khi chia sẻ lên mạng nếu được gán các tag “phong cảnh”, “Hà nội”, “Việt nam” v.v..., một người nước ngoài tìm ảnh theo các từ khóa trên sẽ nhận thấy ngay đây là cái mình cần trước khi mở ảnh ra xem. Nếu có người đã xem, cho một comment “ảnh đẹp” thì lại càng đáng mở ảnh. Rõ ràng như vậy tiện hơn nhiều khi chỉ có mỗi tên file “Hoan Kiem lake.jpg”.


Văn bản giấy khi xếp trong các cặp hồ sơ là tổ chức giống kiểu thư mục máy tính. Nhưng phần trích yếu V/v và các mẩu giấy notepad dán vào chính là một dạng ghi chú thêm như trên, có điều công cụ tìm kiếm là bằng mắt.


Việc ghi chú như trên tạo thuận lợi cho chính người lập ra dữ liệu và người được chia sẻ nhưng đòi hỏi phải thay đổi thói quen, mất thêm thì giờ khi lưu dữ liệu. Bản thân tôi khi viết blog cũng rất ngại phần tag.



II. Dự án NEPOMUK.


Một trong những tính năng mới được giới thiệu trong Mandriva 2010.0 là Smart Desktop mà theo lời hãng giới thiệu một cách ngắn gọn thì:


Máy tính của bạn sẽ thông minh hơn, hỗ trợ bạn trong công việc hàng ngày. Bạn có nhiều tài liệu, thư từ, dữ liệu, ảnh, video. Giờ bạn có thể tổ chức chúng theo các dự án (task) . Có thể ghi chú, bình luận, gán từ khóa chỉ bằng vài lần kích chuột.


Nhờ thế, dữ liệu sẽ luôn tìm được dễ hơn nhiều khi bạn cần đến chúng


Smart Desktop xây dựng trên nền tảng của NEPOMUK tên viết tắt của “ Networked Environment for Personalized, Ontology-based Management of Unified Knowledge” tạm dịch là “ Môi trường kết nối mạng quản lý kiến thức thống nhất trên cơ sở bản thể luận cá biệt hóa”. Nghe hơi triết và ù tai!


NEPOMUK là một dự án phần mềm nguồn mở hiện thời trị giá $17 triệu, trong đó Liên minh châu Âu (EU) tài trợ $11,5 triệu. Như thế cũng đủ biết nó là một dự án lớn và quan trọng.



Hình 1: Logo của NEPOMUK


Mục tiêu của dự án là NEPOMUK xây dựng và triển khai một giải pháp toàn diện (gồm các phương pháp, các cấu trúc dữ liệu và một bộ công cụ) để hòa nhập máy tính cá nhân vào môi trường cộng tác, cải tiến việc cộng tác qua mạng, cải tiến việc quản lý dữ liệu cá nhân và tăng cường hiểu biết của con người bằng cách cung cấp và tổ chức thông tin do cá nhân và tập thể tạo ra.


Đại khái thì Nepomuk giúp cho việc quản lý và tìm kiếm dữ liệu cá nhân dễ hơn, đầy đủ hơn (khác cách quản lý theo file hiện thời) và dễ chia sẻ hơn qua mạng .


Giải pháp toàn diện nói ở trên được gọi là Social Semantic Desktop , khó mà dịch ra tiếng Việt một cách ngắn gọn dễ hiểu được. Nó gồm:



Về máy tính:


Mục tiêu của NEPOMUK là xây dựng các phương pháp, cấu trúc dữ liệu và các dịch vụ cần thiết để:





  • Ghi chú vào và link các thông tin bất kỳ, ở mọi loại file, trong mọi ứng dụng và trên mọi thiết bị lưu trữ trên máy tính




  • Biểu diễn rõ ràng và trực quan các suy nghĩ của người dùng và biến chúng thành thông tin có nghĩa. Sẽ dùng công nghệ wiki và tích hợp nó với cơ chế ghi chú.




  • Tích hợp việc tạo và xử lý nội dung với cách người dùng tổ chức công việc. Quan điểm chính là tích hợp phương pháp mô hình xử lý agile với việc tạo và tổ chức thông tin.




Ví dụ: một file ảnh thông thường chỉ có một thông tin có nghĩa và tìm kiếm được là tên file nhưng cũng rất không đầy đủ. Nepomuk sẽ cho phép người dùng bổ xung thêm (annotate) thông tin có nghĩa (semantic) và tìm kiếm được (queryable) vào ảnh đó.



Về mặt xã hội (social aspect)


Để đáp ứng việc kết nối và trao đổi với các máy tính khác, NEPOMUK sẽ xây dựng:





  • Các công cụ để xây dựng các quan hệ xã hội và trao đổi kiến thức hỗ trợ việc chia sẻ kiến thức trong một cộng đồng. Người dùng không chỉ trao đổi hồ sơ và các mẩu thông tin cô lập mà còn tất cả các thông tin liên hệ và sự đóng góp của cộng đồng vào đó.




  • Các kỹ thuật để tìm kiếm và lưu trữ thông tin nằm rải rác trên mạng, tập hợp thành kho lưu trữ thông tin chung cho cộng đồng.




Dự án này tương đối mới và còn đang trong giai đoạn phát triển. Mới có một phần các mục tiêu trên thực hiện được. Hiện nay, nó đã triển khai được bước đầu (tổ chức lại thông tin) trong KDE4 và trên Java.


GNOME cũng đang có một dự án kiểu này, dự kiến sẽ ra mắt trong GNOME3, trong đó có sự đóng góp ý tưởng của một bạn người Việt (Le Hoang Nhi), xem thêm ở đây .





III.Smart Desktop trong Mandriva 2010.0 KDE.


Mandriva 2010.0 KDE đã tích hợp NEPOMUK như một tính năng mới.

III.1-Cài đặt:


Mở Install & Remove Software, cài thêm soprano-plugin-redland, soprano-plugin-sesam2, gõ từ “ nepomuk” rồi chọn cài tất cả những gói chưa cài trong đó, trừ ba gói nepomuk-scribo-devel, libepomuk-contact4, libepomukpeopletag0 (hai gói sau bị lỗi không cài được nên phần contact chưa dùng được ở các mục dưới đây).

Mở Configure Your Desktop > Advanced > Desktop Search > Basic Settings rồi đánh dấu chọn hai mục Enable Nepomuk Semantic Desktop Enable Strigi Desktop File Indexer.


Chuyển sang tab Advanced Settings rồi thay đổi thư mục cần tìm kiếm (nếu cần). Mặc định là thư mục /home/<username> . Thư mục quy định ở đây là thư mục chứa dữ liệu hay tìm kiếm nhất (ví dụ My Documents) để trình tìm kiếm Strigi lập chỉ mục (index) trước, khi tìm sẽ nhanh.


Làm xong các bước trên, nhấn nút Apply, biểu tượng của Nepomuk sẽ xuất hiện trên panel và việc lập chỉ mục bắt đầu. Tùy theo dung lượng thư mục, thời gian lập chỉ mục có thể mất vài tiếng và máy sẽ hơi chậm.


Khi đã lập chỉ mục xong, mỗi lần có file mới hoặc file bị thay đổi, chỉ mục sẽ tự động cập nhật.



III.2-Siêu dữ liệu (metadata)


Mỗi dữ liệu (data: một file, một email, một trang web, v.v...) đều có thể có ba loại siêu dữ liệu (metadata) sau:





  • Metadata có sẵn đi kèm với file lưu trên ổ cứng: các thuộc tính (properties: tên file, đường dẫn, dung lượng, ...), các từ khóa tag gán cho file audio, các mốc thời gian khởi tạo, truy cập và sửa, các đoạn text chỉ mục (index), … Các công cụ tìm kiếm như Beagle, Strigi có thể tách các metadata đó và lập chỉ mục được để tìm kiếm cho nhanh.




  • Metadata do người dùng tạo ra gán cho dữ liệu: comment hoặc note vào file hoặc email, gán từ khóa (tag), chấm điểm (Numeric rating) file.




  • Metadata không thuộc hai loại trên, ví dụ: đường link gốc của một file tải về từ Internet, kết nối của một file đính kèm theo email. Một khi những file trên đã lưu trên ổ cứng thì các kết nối trên bị mất, không thể biết file được tải về từ đâu hoặc nằm trong email nào.




NEPOMUK cung cấp các công cụ để tạo, quản lý, tìm kiếm các loại metadata đó.


Hiện nay một số chương trình cũng có công cụ để người dùng ghi chú (tag, note, comment) vào dữ liệu. Nhưng những ghi chú đó chỉ đọc và tìm kiếm được trong nội bộ một chương trình đó. Các ghi chú của Nepomuk có giá trị liên chương trình (cross-applications), có thể đọc và tìm kiếm được trên mọi phần mềm có tích hợp Nepomuk.



III.3-Tổ chức thông tin theo công việc (task):


Nhấn phím phải chuột vào Panel, chọn Panel Settings rồi chọn tiếp Add Widgets. Trong danh sách các widgets, chọn Task Management Widget rồi nhấn nút Add, các icon sau xuất hiện trên panel:



Nhấn vào icon bên trái để chạy chương trình Tasktop. Đây là bước đầu cho một cách tổ chức dữ liệu mới. Tasktop cho phép tập hợp tất cả các dữ liệu có liên quan với một Task về một mối.



Nhấn vào New Task để tạo Task. Sau đó nhấn vào các nút dấu cộng để gán các dữ liệu liên quan vào Task. Tuy nhiên, hiện chỉ có mỗi phần Files hoạt động được. Contact thì không do không cài được hai file đã nói ở trên. Email và Web Pages phải gán từ KMail và Konqueror (xem bên dưới).


Một Task có thể gồm nhiều Task con bên dưới.


Còn một cách tổ chức dữ liệu nữa là dựa trên Tag. Mọi dữ liệu được gán chung một Tag, khi dùng Nepomuk Search sẽ tập hợp chung lại một chỗ.



III.4-Tích hợp với trình duyệt file Dolphin:


III.4.1-Ghi chú thêm vào file:



Trong Dolphin, người dùng có thể thêm “ý kiến” của mình đối với mỗi file bằng ba loại metadata (xem hình bên, cột Infomation ở bên phải màn hình Dolphin):





  • Chấm điểm file (Numeric rating): nhấn vào các hình sao ở cột bên phải. Mỗi sao là 2 điểm. Kết quả hiện ở bên dưới, ví dụ ảnh trong hình có Numeric rating=9. Loại metadata này để người dùng đánh giá nội dung file.




  • Ghi chú (comments): file chưa có ghi chú thì bên dưới dãy sao có Add comment. Nhấn vào đó để thêm ghi chú tùy ý. Sau đó, nội dung ghi chú hiện lên bên dưới dãy sao như hình trên.




  • Gán từ khóa (tag) cho file: từ khóa ở đây là các từ khóa có liên quan đến file. Trong ví dụ trên, file được gán từ khóa “Ảnh màn hình” và “compiz”. Có thể nhấn vào Change Tags để thêm nhiều từ khóa nữa hoặc xóa bớt.




Khi nhấn chuột phải vào một file, chọn tiếp Actions trong menu con, sẽ có ba mục mới trong menu kế tiếp:






  • Associate to task:
    gán file vào một công việc. Chi tiết xem bên dưới.




  • Annotate: Ghi chú vào file. Đây là lệnh cao cấp có rất nhiều kiểu trường ghi chú ngoài comment và tag nói trên.




  • Run semantic analysis: tìm các thông tin có nghĩa bên ngoài nội dung file.




III.4.2-Tập hợp dữ liệu theo tag:



Nhấn Ctrl+L để chuyển thanh địa chỉ của Dolphin sang dạng edit được. Gõ vào đó lệnh tìm kiếm như trên hình. Kết quả bên dưới là hai file có tag compiz.



III.5-Tích hợp với Kontacts


Mỗi email trong KMail có thể gán tag, comment và liên kết với một task được. Mỗi địa chỉ trong Contacts cũng vậy (nhưng hiện chưa làm được vì các file tương ứng bị lỗi chưa cài được như nói ở trên).



III.6-Tích hợp với trình duyệt web Konqueror


Mỗi trang web mở trong Konqueror, khi nhấn chuột phải sẽ xuất hiện các menu sau:



Theo menu trên, với mỗi trang web có thể (cũng tương tự như với file):





  • Rate this page: chấm điểm (numeric rating) như với file đã nói ở trên.




  • Tag this page: gán từ khóa vào trang.




  • Associate to task: liên kết trang vào một công việc.




Ngay trên toolbar cũng có hai nút lệnh liên quan đến Nepomuk.


Trình duyệt Firefox và trình thư điện tử Thunderbird cũng có một extension là nepomuk-mozilla nhưng hiện chưa tương thích với Firefox 3.5



III.7-Tìm kiếm bằng Nepomuk + Strigi


Strigi là trình tìm kiếm mặc định trong KDE4 được tích hợp vào trình duyệt file Dolphin (không có lệnh chạy riêng). Hiện tại, strigi được tích hợp với Nepomuk, lập chỉ mục và tìm kiếm được trên:





  • Tên file và trong nội dung file (ODF hoặc Microsoft Office). Tìm được cả các từ tiếng Việt unicode bên trong file.




  • Các comment hoặc tag của file. Tìm được các từ tiếng Việt trong comment nhưng không tìm được các tag tiếng Việt.




  • Không tìm được trong Kmail.




  • Ví dụ một lệnh tìm trong nội dung file (xem hình dưới).





Gõ từ “thú chơi” vào ô Search ở bên phải toolbar như trong hình. Kết quả tìm được file “Cac dai cong ty va phan mem nguon mo.doc”.


Còn một phần mềm tìm kiếm nữa là KFind (trong Dolphin: Tools > Find Files). KFind có nhiều options tìm hơn Strigi (tìm theo ngày tháng, dung lượng file v.v..) và tìm được từ tiếng Việt bên trong các file ODF, nhưng không tìm được trong các file Microsoft Office. KFind không có liên hệ gì với Nepomuk.



III.8-Nepomuk Shell



Nepomuk Shell là một chương trình tổng hợp quản lý mọi thứ có trong Nepomuk. Chạy nó từ Run Command với lệnh nepomukshell.



IV. Kết luận


Nepomuk là một dự án lớn, đầy tham vọng hiện mới thực hiện được một phần. Mandriva có lẽ là bản Linux đầu tiên tích hợp nó vào ở mức độ đáng kể như trình bày ở trên (Các bản Linux KDE khác chắc cũng có thể cài bổ xung Nepomuk nếu chưa có). Tuy nhiên vì là bước đầu nên các tiện ích còn chưa hoàn thiện, giao diện chưa thân thiện, dễ dùng, nhiều khái niệm khá mới và phức tạp với người dùng bình thường.


Nhưng triển vọng thì rất sáng sủa. Chúng ta cùng chờ xem.



2 comments:

Thang Pham Duy said...

Hi bạn,
Cảm ơn bạn về bài giới thiệu Nepomuk. Theo mình hiểu thì Nepomuk có khả năng lưu giữ các metadata của mọi loại file, trong mọi ứng dụng. Như vậy, nepomuk phải lưu các metadata đó trong một DB riêng, tách rời với file vật lý. Như vậy sẽ có những điểm bất tiện sau:
- Nếu hệ điều hành, hoặc nepomuk hoặc file DB có vấn đề thì chúng ta mất hết các metadata.
- Nếu copy một file hoặc một thư mục sang một máy khác, chúng ta phải tự tạo lại các tag, note liên quan đến file hoặc thư mục đó trên máy mới.
Không biết mình hiểu thế có đúng không, bởi nếu mình hiểu đúng thì với những nhược điểm này, nepomuk không thể được ứng dụng rộng rãi được.

zxc232 said...

Đúng là hiện nay Nepomuk lưu các metadata trong Soprano, một dạng cơ sở dữ liệu. Mọi dữ liệu số đều có thể mất vì nhiều lý do và đều phải có biện pháp phòng ngừa, không riêng gì Nepomuk. Có điều nó còn mới quá, tôi cũng không rõ phòng ngừa bằng cách nào.
Còn về di chuyển dữ liệu, ngay blog Wordpress này, tôi có thể xuất toàn bộ dữ liệu thành file, chuyển sang Blogger vẫn giữ nguyên các tag. Tức là không phải chỉ copy đơn giản nữa. Những trường hợp dữ liệu có metadata chắc là phải export rồi import.