Graph Analysis: การวิเคราะห์เชิงกราฟเบื้องต้นและตัวอย่างการประยุกต์ใช้

Graph Analysis: การวิเคราะห์เชิงกราฟเบื้องต้นและตัวอย่างการประยุกต์ใช้

02 พฤศจิกายน 2564

การวิเคราะห์เชิงกราฟ (Graph Analysis / Network Analysis) เป็นเทคนิคการวิเคราะห์ข้อมูลเพื่ออธิบายความสัมพันธ์เชิงลึกระหว่างข้อมูลสองสิ่งที่ถูกเชื่อมโยงกันเป็นเครือข่าย เราสามารถเชื่อมโยงข้อมูลความสัมพันธ์ระหว่างบุคคล สินค้า หรือสถานที่ โดยใช้หลักการของทฤษฎีกราฟ (Graph Theory) เพื่อทำให้เกิดมุมมองการวิเคราะห์ข้อมูลในมิติใหม่ เช่น การหารูปแบบข้อมูลที่เกิดซ้ำด้วยกันบ่อย ๆ การจัดกลุ่มข้อมูลในมิติของความสัมพันธ์ การเปรียบเทียบความสำคัญของข้อมูล และการค้นหาเส้นทางและระยะทางระหว่างข้อมูลในเครือข่าย เป็นต้น

ทำไมการวิเคราะห์เชิงกราฟถึงสำคัญ?

ในปัจจุบัน การวิเคราะห์เชิงกราฟได้ถูกประยุกต์ใช้ในหลายอุตสาหกรรม โดย Gartner (บริษัทวิจัยและผู้ให้คำปรึกษาด้านเทคโนโลยีสารสนเทศชั้นนำของโลก) ได้เลือกให้การวิเคราะห์เชิงกราฟเป็นหนึ่งในเทรนการวิเคราะห์ข้อมูลในปีล่าสุด (2564) และยังพยากรณ์ต่อไปว่า ภายใน 5 ปีข้างหน้า 80% ของการพัฒนานวัตกรรมใหม่ขององค์กรจะประยุกต์ใช้การวิเคราะห์เชิงกราฟ ซึ่งเพิ่มจาก 10% ในปีล่าสุด (อ่านเพิ่มเติมได้ ที่นี่)

ส่วนประกอบของกราฟ

กราฟในทฤษฎีกราฟมีส่วนประกอบที่สำคัญ 2 ส่วน ได้แก่

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

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

รูปที่ 1 กราฟความสัมพันธ์ระหว่าง สมหญิง สมชาย สมปอง และสมหมาย โดยเส้นเชื่อมบ่งบอกว่า คนไหนรู้จักกับใครบ้าง

ตัวอย่างการประยุกต์ใช้งานของการวิเคราะห์เชิงกราฟ

1 การเก็บข้อมูลแบบกราฟ

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

รูปที่ 2 การค้นหาความสัมพันธ์เมื่อข้อมูลถูกเก็บแบบตารางข้อมูล (Relational Database)
ที่มาจาก neo4j

ในทางกลับกัน สำหรับการเก็บข้อมูลแบบกราฟข้อมูล (Graph Database) เราจะทำการบันทึกข้อมูลใหม่เป็นตัวข้อมูลนั้นเลยและกำหนดความสัมพันธ์ระหว่างข้อมูลใหม่กับข้อมูลที่มีอยู่ก่อนหน้า จากรูปที่ 3 Alice ถูกจัดเก็บเป็นหนึ่งข้อมูลในกราฟข้อมูล (Node) โดยมีความหมายกำกับว่าเป็นบุคคล (Label) และมีความสัมพันธ์แบบระบุทิศทาง (Relationships) กับข้อมูลแผนกที่มีอยู่ก่อนหน้าแล้ว ซึ่งหากเราต้องการรู้ว่า พนักงานแต่ละคนอยู่แผนกไหน เราก็ทำการหาค้นหาชื่อพนักงานดังกล่าวและดูว่า บุคคลดังกล่าวขึ้นตรงกับ (Belongs to) แผนกไหนบ้าง

รูปที่ 3 การค้นหาความสัมพันธ์เมื่อข้อมูลถูกเก็บแบบกราฟข้อมูล (Graph Database)

ทั้งนี้การจัดเก็บข้อมูลเข้าไปในระบบฐานข้อมูลยังมีอีกหลายประเภท ซึ่งผู้อ่านสามารถเข้าไปอ่านเพิ่มเติมได้จากบทความ หลักการเลือกใช้ Database 6 ประเภท

2 การพัฒนาระบบแนะนำ (Recommender System)

การวิเคราะห์เชิงกราฟสามารถประยุกต์ใช้ในระบบแนะนำสินค้าได้ โดยพัฒนามาจากความสัมพันธ์ของรายละเอียดของสินค้าแต่ละชิ้น แล้วทำการเชื่อมโยงหาสินค้าที่ใกล้กัน จากรูปที่ 4 เป็นตัวอย่างการแนะนำภาพยนตร์ โดยผู้ชมคนดังกล่าวเคยดูเรื่อง Cast Away, Back to the Future และ The Green Mile ส่วนใหญ่เป็นภาพยนตร์ประเภท adventure ถูกนำแสดงโดย Tom Hanks และถูกกำกับโดย Robert Zemeckis ซึ่งจากการวิเคราะห์เชิงกราฟ ระบบแนะนำจะทำการเลือกภาพยนตร์ที่มีคุณสมบัติใกล้เคียงกับเรื่องที่ผู้ชมเคยชมไปก่อนหน้าจำนวน 3 เรื่อง ได้แก่ Interstellar, Forrest Gump และ Raiders of the Lost Ark

รูปที่ 4 การใช้ความรู้จากการวิเคราะห์เชิงกราฟในการแนะนำภาพยนตร์ที่ผู้ชมสนใจ โดยใช้ประวัติการชมในอดีต ที่มาจาก RippleNet

อีกหนึ่งตัวอย่างคือเว็บไซต์เครือข่ายมืออาชีพบนอินเทอร์เน็ต Linkedin ได้ทำการเก็บข้อมูลในรูปแบบของกราฟข้อมูล เพื่อแนะนำเพื่อนที่อยู่ในเว็บไซต์ผ่านการเชื่อมโยงความสัมพันธ์ จากรูปที่ 5 สมมุติว่าผู้ใช้ (You) มีข้อมูลในเว็บไซต์และได้เพิ่มข้อมูลสถานที่ทำงานว่า ทำงานอยู่บริษัท Linkedin ทางระบบจะทำการแนะนำผู้ใช้คนอื่น ๆ ที่ทำงานอยู่บริษัท Linkedin เช่นกัน โดยจากตัวอย่างระบบได้แนะนำ Ashley, Brad และ Udi

รูปที่ 5 ระบบแนะนำบุคคลที่อาจรู้จักของบริษัท Linkedin

3 การช่วยค้นหาแหล่งที่มาของความสัมพันธ์

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

ในกรณีนี้ เราสามารถประยุกต์ใช้การวิเคราะห์เชิงกราฟมาตรวจจับการฟอกเงิน ด้วยการเชื่อมโยงเส้นทางธุรกรรมทางการเงินทั้งหมดที่เกี่ยวข้องกับนักการเมืองคนดังกล่าว หรือจากตัวอย่างในรูปที่ 6 Cecille ได้ทำการฟอกเงิน ด้วยการจายธุรกรรมทางการเงินผ่าน Joan David Mark Paul และ Silva

รูปที่ 6 ตัวอย่างการโยกย้ายเงินหลายบัญชีสำหรับการฟอกเงิน ที่มาจาก linkurio.us

สำหรับกลุ่มสาธารณะสุข การวิเคราะห์เชิงกราฟสามารถนำมาช่วยติดตามเส้นทางการแพร่กระจายและค้นหาสาเหตุของการเกิดโรคระบาด ผ่านการดูความเชื่อมโยงของข้อมูลระหว่าง บุคคลที่ติดเชื้อ และสถานที่ต่าง ๆ ที่ผู้ได้รับเชื้อไปมา เพื่อทำการวิเคราะห์ถึงบุคคลที่อาจมีความเสี่ยงที่ได้รับเชื้อเพิ่มเติม จากรูปที่ 7 เป็นกราฟความสัมพันธ์ระหว่างบุคคลที่ได้รับเชื้อโควิดและสถานที่ต่าง ๆ ที่บุคคลที่ได้รับเชื้อไปมา ในประเทศสิงคโปร์ เช่น เคสที่ 670 ชายชาวออสเตรเลีย ได้ไปร้าน Hero’s และไป Singapore Cricket Club โดยมีการติดต่อกับผู้หญิงเกาหลีที่ติดเชื้อเคสที่ 714 ทำให้สถานที่ดังกล่าวเป็นสถานที่เสี่ยง และทางสาธารณะสุขสามารถติดตามบุคคลที่ได้ไปสถานที่เหล่านี้ เพื่อทำการตรวจหาเชื้อและกักตัวในลำดับถัดไป ซึ่งจากการใช้ประโยชน์จากการวิเคราะห์เชิงกราฟก็เป็นส่วนหนึ่งที่ทำให้ประเทศสิงคโปร์สามารถลดการแพร่ระบาดของโควิดได้อย่างมีประสิทธิภาพ

รูปที่ 7 รูปการณ์เชื่อมโยงของผู้ติดเชื้อโควิดในประเทศสิงคโปร์เชื่อมโยงกับสถานที่ต่าง ๆ ที่บุคคลเหล่านี้ได้ไปมา
ที่มาจาก covid19 SG

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

เนื้อหาโดย ธนกร ทำอิ่นแก้ว
ตรวจทานและปรับปรุงโดย ดร. นนทวิทย์ ชีวเรืองโรจน์

Data Scientist at Big Data Institute (Public Organization), BDI

แบ่งปันบทความ

กลุ่มเนื้อหา

แท็กยอดนิยม

แจ้งเรื่องที่อยากอ่าน

คุณสามารถแจ้งเรื่องที่อยากอ่านให้เราทราบได้ !
และเราจะนำไปพัฒนาบทความให้มีเนื้อหาที่น่าสนใจมากขึ้น

ไอคอน PDPA

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ “นโยบายคุ้กกี้” และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ “ตั้งค่า”

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่มีความจำเป็น (Strictly Necessary Cookies)
    เปิดใช้งานตลอด

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

  • คุกกี้เพื่อการวิเคราะห์และประเมินผลการใช้งาน (Performance Cookies)

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

  • คุกกี้เพื่อการใช้งานเว็บไซต์ (Functional Cookies)

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

  • คุกกี้เพื่อการโฆษณาไปยังกลุ่มเป้าหมาย (Targeting Cookies)

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

บันทึกการตั้งค่า
ไซต์นี้ลงทะเบียนกับ wpml.org ในฐานะไซต์พัฒนา สลับไปยังไซต์การผลิตโดยใช้รหัส remove this banner.