วันจันทร์ที่ 12 ตุลาคม พ.ศ. 2552

จุดกำเนิดของ Google(the birth of google) 4/4

หน้าที่ 4 - จาก โปรเจ็ค BackRub Project สู่ โปรเจ็ค Google

ผศ.ดร.บุญญฤทธิ์ อุยยานนวาระ
สถาบันเทคโนโลยีนานาชาติสิรินธร (SIIT)
มหาวิทยาลัยธรรมศาสตร์
นักเขียนประจำ วิชาการ.คอม


Page และ Brin ได้ร่วมกันคิดหาสูตร หรือ วิธีคำนวณว่า จะให้คะแนนแต่ละหน้าเว็บเพจอย่างไรดี

เว็บ เพจหนึ่งหน้า ถ้ามองให้ดีมันก็เป็นเหมือนผลงานวิชาการชิ้นนึง ภายในผลงานวิชาการนี้ ก็จะมีการอ้างอิงผลงานคนอื่น (หรือลิงค์ไปหาคนอื่นนั่นเอง) (แต่ บ้านเราอาจจะไม่เป็นแบบนั้น เพราะบ้านเรา ถ้าเห็นว่าเรื่องไหนดี ก็ใช้วิธี cut-paste เนื้อหานั้นไปเลย โดยไม่ได้อ้างอิงที่มา นอกจากจะละเมิดลิขสิทธิแล้ว ยังถือว่าเป็นการเสียมารยาทอย่างรุนแรงด้วยครับ แม้ว่าจะนำไปใช้ในทางไม่ก่อรายได้ ที่อาจจะไม่ผิดลิขสิทธิ ในบางกรณี แต่ก็น่าจะมีมารยาทในการอ้างอิงถึงที่มาของเนื้อหานั้นด้วย ช่วยๆกันผลักดันให้มันไปในทางถูกต้องมากขึ้นนะครับ) เพราะฉนั้นหากหน้าเว็บใดมีคนอ้างอิงถึง (ลิงค์) ถึงหน้านั้นเยอะ ก็น่าจะแสดงว่าหน้านั้นมีข้อมูลที่ดี หรือ น่าเชื่อถือ ซึ่งหากมีการให้คะแนนแต่ละหน้าเว็บ Page คิดว่าการอ้างถึงจากเว็บอื่นก็จะมีส่วนสำคัญต่อคะแนน



PageRank



ภายหลังเค้าตั้งชื่อเล่นระบบคิดคะแนนของเค้า ว่า Pagerank (ซึ่งล้อคำ 2 ความหมาย คำแรกคำว่า Page หมายถึงได้ทั้งหน้าเว็บ หรือ หมายถึงชื่อของเค้าเอง) ซึ่งก็ล้อเลียนการคิดคะแนนมาจากการอ้างอิงกันของผลงานวิชาการ เพราะเค้ารู้ว่า การอ้างอิงกันของเอกสารทำอย่างไร มีการให้คะแนน Citation Index อย่างไร และเค้าก็ได้เพิ่มเรื่องของการให้และลดคะแนนพิเศษด้วย หากว่าลิงค์ที่ลิงค์มาหาหน้าใดหน้าหนึ่ง เป็นลิงค์ที่มีคะแนนสูง เป็นเว็บที่มีความน่าเชื่อถือ เว็บที่ถูกลิงค์ ก็จะย่อมได้คะแนนสูงด้วย และหากนำเว็บมาเรียงลำดับกัน เว็บที่ได้คะแนนสูงกว่า ก็จะอยู่ลำดับต้นๆ ส่วนเว็บที่มีคะแนนต่ำก็จะอยู่ท้ายๆ

สมมุติว่าตอนนี้มีคนลิงค์มาหา เว็บ วิชาการ.คอม อยู่ 1000 ลิงค์ ในขณะเดียวกัน มีคนลิงค์ไปที่เว็บ ของเด็กชาย ก. จากจังหวัดสงขลา เพียง 10 ลิงค์ ทำให้ ณ ตอนนี้ ถ้าดูแค่จำนวนลิงค์เฉยๆ เว็บของ วิชาการ.คอม จะมีคะแนน สูงกว่า เว็บของ เด็กชาย ก และ ต่อจากนั้น ถ้า เว็บ วิชาการ.คอม มีลิงค์ไปยังเว็บของ สสวท. และ เว็บของเด็กชาย ก ก็ลิงค์มายังเว็บของ สสวท เช่นกัน ดังนั้น เว็บของ สสวท ก็จะไ้ด้คะแนน จาก เว็บของ วิชาการ.คอม มากกว่า จากเว็บของ เด็กชาย ก. ด้วยนั่นเอง (คือไม่ได้นับเฉพาะจำนวนของลิงค์) ซึ่ง Google ก็ทำการให้คะแนน แต่ละหน้าของเว็บ แบบนี้ไปเรื่อยๆ ไปเรื่อยๆ ไปเรื่อยๆ จนวนเกือบครบทั้งโลก คะแนนของแต่ละหน้า ก็ขึ้นอยู่กับคะแนนของหน้าทีลิงค์มาหามัน คะแนนของหน้าทีลิงค์มาหามัน ก็ขึ้นกับ คะแนนของหน้าทีลิงค์มาหามันก่อนหน้านี้ คะแนนของหน้าทีลิงค์มาหามันก่อนหน้านี้ ก็ขึ้นกับ คะแนนของหน้าทีลิงค์มาหามันก่อนหน้านี้ก่อนหน้านี้ ไปเรื่อยๆ

จินตนาการ ออกมั้ยครับว่า คณิตศาสตร์สำหรับคำนวณคะแนนของ Google Pagerank จะซับซ้อนขนาดไหน นั่นหล่ะของเล่นของนาย Surgey Brin เค้าหล่ะ



ภาพตัวอย่าง สมมติให้หน้ายิ้มแต่ละอันแทนแต่ละเว็บ ขนาดของหน้ายิ้มแทนความสำคัญของเว็บ

สังเกตุว่า เว็บสีแดงด้านบนจะมีขนาดใหญ่กว่าเว็บสีเขียวด้านล่าง แม้จะมีลิงค์เข้ามาแค่ 1 ลิงค์ จากสีส้ม เท่านั้น แต่เพราะเว็บสีส้มมีความสำคัญสูง เพราะได้รับการลิงค์มาจากหลายที่ เว็บสีแดงด้านบนก็เลย มีความน่าเชื่อถือด้วย (ดังนั้นถ้าเว็บไซท์ไหน ได้รับการลิงค์จากเว็บที่เป็นที่ยอมรับ ก็จะได้รับความยอมรับด้วย)

งง มั้ยครับ เอางี้ เปรียบเทียบง่ายๆอีกตามเคย การจัดอันดับเว็บก็เหมือนกับการจัดอันดับความสำคัญของคน สมมุติว่าเมืองไทยมีคนชื่อ คุณลำไย หลายคนมาก เอาเป็นว่า สมมุติเป็น คุณลำไย A กับ คุณลำไย B ก็แล้วกัน คุณลำไย A เป็นที่รู้จักกันทั่วในหมู่เด็กอนุบาล มีเด็กอนุบาล 50 กว่าคนที่รู้จักคุณลำไย A แต่ ในขณะเดียวกัน มีเพียง 3 คน คือ ท่านนายกทักษิณ คุณอภิสิทธ์ และ หมอพรทิพย์ เท่านั้นที่รู้จัก คุณลำไย B แต่จะเห็นได้ว่า คนที่รู้จักคุณลำไย B ได้รับการยอมรับจากคนทั้งประเทศว่ารู้จัก ว่ามีชื่อเสียง ดังนั้นเวลาคนค้นหาคำว่า คุณลำไย ใน Google คุณคิดว่า Google จะเอาชื่อคุณลำไย A หรือ คุณลำไย B ขึ้นก่อนกัน คำตอบคือ คุณลำไย B ครับ เพราะ Google คิดว่าคุณลำไย B ได้รับการยอมรับ จากคนที่ได้รับการยอมรับแล้ว ซึ่งน่าจะเป็นคุณลำไย ที่ผู้ใช้ต้องการค้นหานั้นเอง (เหมือนเว็บที่ได้ใหญ่ๆลิงค์มาที่เรา เราก็ได้คะแนนดีกว่า เว็บเล็กๆหลายเว็บลิงค์มาที่เรา นั่นเอง)

ตอน ที่ทั้งสองคนคิดระบบให้คะแนนนี้ขึ้น ทั้งสองคนไม่ได้คิดถึงเรื่องของการค้นหาข้อมูลบนเว็บเลย ที่คิดอยู่ในหัวก็มีแต่เรื่องที่ว่า จะค้นหาให้ได้ว่าใครลิงค์มาที่เว็บเพจหน้าหนึ่งๆบ้าง (ฺBacklinks) โดยที่ทั้งสอง ทำโปรเจ็ค Backrub นี้ มาจนถึงขั้นที่ รับ ลิงค์ (URL) มาหนึ่งลิงค์ มันก็จะให้ ผลลัพธ์ มาเป็น ลิงค์ที่ลิงค์มาหา (backlinks) ทั้งหมดที่ลิงค์มาหาหน้าที่กำหนด โดยเรียงลำดับตามความสำคัญ (เช่นถ้าใส่ เว็บ สสวท ไป ก็จะได้ทั้งเว็บ วิชาการ.คอม และ เว็บเด็กชาย ก. และเว็บอื่นๆ ที่ลิงค์มาหา สสวท เป็น ผลการค้นหา แต่เว็บ วิชาการ.คอม จะอยู่ด้านบนกว่า เว็บของ เด็กชาย ก. เป็นต้น)

ซึ่งเค้าก็พบว่า จริงๆแล้ว มันสามารถประยุกต์ ไปทำเป็น Search Engine น่าจะได้ หลังจากเล่นไปเล่นมากับ กราฟของเว็บ ที่ทั้งคู่สร้างขึ้นมา พบว่า การค้นหาข้อมูลทำได้รวดเร็ว และ ถูกต้อง อย่างไม่น่าเชื่อ ชนิดที่ทั้งสองคนยังงงว่าทำไม ไอเดียที่จะใช้เรื่องนี้ทำ Search Engine ถึงไม่ผุดมาในหัวตั้งแต่ต้น เพราะมันชัดเจนเหลือเกิน

หลังจากทดลองปรับแต่ง Backrub ให้กลายเป็น โปรแกรม Search engine ทำการค้นหาข้อมูล บนหน้าเว็บหน้าใดหน้าหนึ่ง (ผม ละเชื่อเค้าเลย สองคนนี้ ปกติแล้วเรื่อง การค้นหาข้อมูลใน document นี่ไม่ใช่เรื่องง่าย เพราะไม่ได้ค้นกันแบบ เอาคำเทียบคำ แต่ต้องมีการแปลงรูปแบบของ ข้อมูลให้เป็นเมตริกซ์ ทั้ง SVM กับ LSI (Latent Sematic Indexing - เป็นวิธีการที่กำลังมาแรง) ก็สุดหิน ที่อยู่ในวิชา Information Retrieval - แต่สองคนนี้เล่นเรียนรู้เรื่องเหล่านี้ชนิดที่ประมาณว่า ชั่วข้ามคืน) เค้าพบว่าผลการค้นหา ดีกว่า search engine ที่มีอยู่ในตอนนั้น เช่น AltaVista หรือ Excite มาก โดย Search Engine ที่มีอยู่นั้นมักจะให้ผลการค้นหา ที่ไม่ค่อยจะเกี่ยวข้องกับเรื่องที่ต้องการหาจริงๆ เพราะอาศัยเพียงแค่การจับคู่คำ ไม่คำนึงถึงสัญญาณ หรือข้อมูลอื่นๆที่ใกล้เคียง search engine ใหม่ของพวกเค้า ไม่เพียงว่าผลการค้นหาจะดี แต่ ระบบการให้คะแนนนี้จะดีขึ้นเรื่อยๆ เมื่อเว็บโตขึ้นเรื่อยๆ กราฟของเว็บโตขึ้นเรื่อยๆ ผลการค้นหาก็จะดีขึ้นเรื่อยๆ เพราะจะมีตัวให้คะแนนซึ่งกันและกัน เยอะขึ้น ตรงนี้นี่เองที่

ทั้ง Brin และ Page รู้ว่าเค้า สะดุดขุมทรัพย์ มหึมาเข้าให้แล้ว...

และ แล้ว โปรเจ็ค search engine โดยนักศึกษา 2 คน ... ก็เริ่มเป็นรูปร่างที่ชัดเจน เค้าเริ่มขอบริจาคเครื่องคอมพิวเตอร์เก่าๆที่มหาวิทยาลัยไม่ได้ใช้แล้วมาต่อ กันเป็น server เค้าเริ่มจะหาเงินมาซื้อ harddisk เพิ่มเติม เพราะตอนนี้ข้อมูลที่ clawler เก็บมามันโตขึ้นเรื่อยๆ

ทั้งสองคนจึงตั้งชื่อ search engine ตัวใหม่ของเค้าว่า Google ที่ไม่ได้ตั้งใจ แต่สะกดผิด เพี้ยนมาจากคำว่า googol (ที่แปลว่า เลข หนึ่ง ตามด้วย ศูนย์ 100 ตัว - สังเกตุสัญลักษณ์ของ Gooooooooooooooooooooogle)


Server ของ Google เมื่อปี 1998 สมัยที่ยังอยู่ที่ Stanford เป็นเครื่องที่ได้จากการบริจาคทุกเครื่อง
(ปัจจุบัน Search Engine ของ Google ทำงานอยู่บน Linux Server Farm จำนวนประมาณ 250,000 เครื่อง)

และ Google เวอร์ชั่นแรก ถูกปล่อยออกสู่สาธารณะชน ไว้บนเว็บของมหาวิทยาลัย Stanford เป็นครั้งแรก ตอนเดือนสิงหาคม 1996 - เพียง 1 ปี หลังจากที่ทั้งคู่เจอกันครั้งแรก - เพียงไม่กี่เดือนนับจากเริ่มศึกษาปัญหา - โอ จอร์จ ทำได้ยังไงเนี่ย ! ! ! ! อัจฉริยะจริงๆ ! ! !

อ่าน บทความตอนต่อไป เรื่องราวการเปลี่ยนแปลง จาก Google Project โปรเจ็คเล็กๆของนักศึกษา 2 คน ให้กลายเป็น Google Inc. บริษัทระดับโลกยักษ์หน้าใหม่ที่กล้าต่อกรกับ Microsoft ได้อย่างไร กูเกิ้ล กับ ความสำเร็จที่เปลี่ยนโลก ได้ที่ http://www.vcharkarn.com/varticle/1119


แหล่งความรู้เพิ่มเติม และ อ้างอิง
+ เทคโนโลยีของกูเกิ้ล (http://www.google.com/technology/) อธิบาย PageRank โดยต้นสังกัด
+ PageRank ทำงานอย่างไร (http://www.webworkshop.net/pagerank.html) รายละเอียดพร้อมสูตรคำนวณ
+ วารสาร WIRED ฉบับ August, 2005 (John Battelle, The Birth of Google, WIRED, August 2005)
+ ประวัติศาสตร์ของ Google (http://www.google.com/corporate/history.html)

บทความใกล้เคียง
+ GMail ขีดสุดความล้ำหน้าด้านธุรกิจสารสนเทศ
+ Google Earth


เกี่ยวกับผู้เขียน
ผศ. ดร. บุญญฤทธิ์ อุยยานนวาระ (1 ใน 3 ผู้ก่อตั้ง วิชาการ.คอม) จบ ม.ต้น จากโรงเรียนเบญจมราชูทิศ นครศรีธรรมราช และ ม.ปลาย ที่ โรงเรียนหาดใหญ่วิทยาลัย สงขลา และจบ ป.ตรี ด้วยเกียรตินิยมอันดับหนึ่ง ที่คณะวิทยาศาสตร์ มหาวิทยาลัยสงขลานครินทร์ และ ปริญญาเอก จาก King's College มหาวิทยาลัยลอนดอน ประเทศอังกฤษ (ด้วยทุนเล่าเรียนหลวง โครงการ พสวท. ตั้งแต่ ม.4 จน จบ ป.เอก)

ปัจจุบันเป็น ผู้ช่วยศาสตราจารย์ ประจำภาควิชาไอที ที่ สถาบันเทคโนโลยีนานาชาติสิรินธร (SIIT) มหาวิทยาลัยธรรมศาสตร์

ดร.บุญญฤทธิ์ ขอเป็นอีกหนึ่งแรงเล็กๆ ที่ช่วยผลักดัน การเรียนรู้ของคนไทย เผยแพร่เรื่องราว ดีๆ สู่ประเทศไทย ผ่านวิชาการ.คอม


ที่มา http://www.vcharkarn.com/varticle/317

ไม่มีความคิดเห็น:

แสดงความคิดเห็น