How Can We Get to "Semantic Web"

ช่วงนี้มีคนมาพูดคำว่า Web 3.0 ให้ฟังเยอะ จริงๆ มันไม่ใช่อะไรใหม่ เพราะ Sir Tim Berners-Lee พูดเรื่องนี้มาตั้งแต่ปี 2001 ซึ่งแนวคิดมันก็เหมือนที่ Berners-Lee บอกว่าพูดง่ายแต่ทำยากมาก คือทำยังไงก็ได้ให้เว็บสามารถอธิบายตัวเองได้ว่าข้อมูลที่มันมีคืออะไร ทุกวันนี้เราก็ใช้เทคโนโลยีในขั้น "เปลี่ยนผ่าน" ระหว่างยุคมากมายหลายตัว ตัวอย่างที่ชัดเจนที่สุดคือการแยก presentation layer ออกมาจาก content (ซึ่งเป็นที่มาของ CSS) ถัดมาก็คือการจุติของ XML ซึ่งถูกใช้ในการแลกเปลี่ยนข้อมูล raw data เสียมาก มีผลกระทบต่อเว็บเล็กน้อยถึงปานกลางคือทำให้ HTML ต้องปรับตัวเองมาเป็น XHTML เท่านั้น

นอกจากที่ชื่อคุ้นๆ ก็ยังมีความพยายามอีกมากมายที่ชื่อแปลกๆ และไม่ค่อยดังเท่าไร ให้ยกตัวอย่างก็เช่น RDF หรือ Microformat (เคยเขียนถึง) ถึงแม้ว่าผมจะชื่นชมในแนวคิดและจุดประสงค์ของ Microformat มาก แต่ก็ยังกังขาอยู่ว่าพอมาถึงขั้น implement แล้วจะทำได้แค่ไหน ในเมื่อเป้าหมายของเราคือแปลง world wide web ทั้งหมดให้เป็น semantic (ซึ่งเป็นเป้าหมายที่ ambitious มากๆ)

ถ้าลองตีสโคปให้แคบลงมา ลองใช้ตัวอย่างคือ hCard (ที่อยู่) ผมสงสัยว่าคนเราจะนิยมเขียนที่อยู่แบบไหนกันแน่ ระหว่าง

  <div class="vcard">
     <div class="fn">Joe Doe</div>
     <div class="org">The Example Company</div>
     <div class="tel">604-555-1234</div>
     <a class="url" href="http://example.com/">http://example.com/</a>
  </div>

กับ

Joe Doe
The Example Company
604-555-1234
http://example.com/

คำตอบก็ไม่ต้องคิดมากว่าอย่างหลังเพราะมันธรรมชาติกว่ามาก (ถึงแม้จะ "ไม่ semantic" ก็ตาม แต่​ ณ เวลาที่เขียนนั้นก็คงไม่มีใครมาสนว่ามันจะ semantic หรือเปล่า)

อย่างที่ลิ่วมาตอบไว้ในคอมเมนต์ของบล็อกเรื่อง Microformat ยุทธวิธีในการสร้าง semantic web ก็คือต้องสร้างเครื่องมือขึ้นมาอำนวยความสะดวกให้ผู้ใช้สร้างข้อมูลที่เป็น semantic โดยไม่รู้ตัวว่ากำลังใช้เครื่องมืออยู่ (seemless)

สุดท้ายแล้วโลก semantic ในอุดมคติก็คือเราไม่ต้องเขียนโค้ด HTML/whatever เพื่อการแสดงผลข้อมูลเอง ผมคิดว่ามัน analogy เหมือนกับการเขียนโปรแกรมในปัจจุบันที่เราไม่ต้องลงไปสัมผัสกับภาษาแอสเซมบลีอีกแล้ว อันนี้คงต้องใช้เวลา และไม่รู้ว่าในความเป็นจริงจะทำได้แค่ไหน เพราะโค้ดโปรแกรมมันออกจะเป็น finite space ในขณะที่ภาษาเขียนที่เราสื่อกันในเว็บ (เอาเฉพาะภาษาอังกฤษก็พอ) มันซับซ้อนกว่ามาก

ผมเลยมีไอเดียว่าก่อนจะถึงเวลานั้น เรามีอะไรให้ใช้ระหว่างทางหรือไม่ อะไรก็ได้ที่ง่ายๆ ไม่ซับซ้อน และเสริมส่วนที่ยังขาดด้วยเทคโนโลยีด้าน AI/pattern matching/natural language/etc. แทน

ดังนั้นถ้าใช้ตัวอย่างอันเดิม แทนที่เราจะเขียน hCard เต็มชุด (semantic แต่ยุ่ง) หรือเขียน plaintext ธรรมดา (ง่ายแต่ไม่ semantic) เราอาจเขียนวิธีกลางๆ อย่าง

<div class="vcard">Joe Doe
The Example Company
604-555-1234
http://example.com/</div>

แล้วปล่อยให้โปรแกรมเป็นคนเดา อะไรก็ตาม ที่อยู่ใน class="vcard" แทน

ตัวอย่างที่ชัดเจนของกรณีนี้คือ Mail.app ใน Leopard (ดูหัวข้อ Data, detected) ซึ่งถือเป็น implementation ที่ดีมากอันหนึ่งของแนวคิดนี้

คิดต่อสนุกๆ ว่าเราอาจเสริมความแม่นของการเดาด้วยเทคนิคแบบเดียวกับ spam detection (อย่างพวก Bayesian spam filtering) แต่เอามาใช้ในทางดี ก็น่าจะได้อีกเหมือนกัน

Submitted bybact'on Fri, 11/09/2007 - 16:24

ลองดูโปรแกรม ANNIE (ของ Sheffield)
สกัดข้อมูลพวกนั้น (ภาษาอังกฤษ) ได้เลย

http://gate.ac.uk/ie/annie.html

mk ไปหยิบมารวมกะ firefox ดิ :D

Submitted byiPAtSon Sun, 11/11/2007 - 03:14

ได้ยินเรื่อง Wen 3.0 หรือ 2.0 ทีไร
นึกถึงพวก Web 2.0 = AJAX

Submitted bymarkpeakneton Sun, 11/11/2007 - 04:00

iPats: ผมคิดว่าสุดท้ายแล้วจะไม่มีคำว่า Web 3.0 แต่มันจะพัฒนาไปในรูปแบบอื่นแทนน่ะครับ