เข้าใจ Knowledge Graph: ทฤษฎีเบื้องหลัง Social network analytic

เข้าใจ Knowledge Graph: ทฤษฎีเบื้องหลัง Social network analytic

สวัสดีค่ะเพื่อนๆ กลับมาอีกครั้งสำหรับบทความแนว(กึ่ง)ทฤษฎีแบบเบื้องต้น ที่เกี่ยวข้องกับงานด้านการตลาดที่เราคุ้นเคย นั่นคือการทำ Social network analytic ซึ่งสามารถทำได้หลากหลายรูปแบบด้วยกัน และหนึ่งในวิธีที่เป็นที่นิยมมากๆ แม้แต่บริษัทใหญ่ๆ อย่าง Facebook, Google, Amazon, Microsoft, etc. ก็ใช้ นั่นคือการใช้หลักการของ กราฟองค์ความรู้ (Knowledge Graph) ที่นิกจะพาเพื่อนๆ ไปทำความเข้าใจ เพื่อให้สามารถนำองค์ความรู้นี้ไปใช้ในส่วนงานที่เกี่ยวข้องกับตัวเอง หรือวิเคราะห์กลุ่มลูกค้า แม้แต่การทำการตลาดให้มีประสิทธิภาพมากยิ่งขึ้น (^∀^●)ノシ ว่าแล้ว,,,,ก็มาเริ่มกันเลยค่ะ^^

กราฟองค์ความรู้ (Knowledge Graph)

กราฟองค์ความรู้ เป็นโครงสร้างของการวิเคราะห์ข้อมูลแบบ Graph feature network base feature ซึ่งเป็นการเอาข้อมูลในด้านความสัมพันธ์ เพื่อไปเพิ่มคุณภาพในการ Classify โดยการ Classify นี้เพื่อให้สามารถช่วยจำแนก และหาความเกี่ยวข้อง ในเรื่องของโครงสร้างของข้อมูลที่อยู่ภายใต้การวิเคราะห์ข้อมูล(อีกที) โดยการนำเอาความสัมพันธ์ที่หามาได้แทนที่ด้วย Graph เช่นการวิเคราะห์ความสัมพันธ์ในรูปแบบของการทำ Social network analytic โดย Knowledge Graph จะเป็นโครงสร้างที่จะช่วยให้พวกเราเห็นความสัมพันธ์ระหว่างบุคคล, กลุ่ม, และสิ่งต่างๆ ในเครือข่ายด้วยความชัดเจนมากยิ่งขึ้น

source: Knowledge Graphs Representation for Event-Related E-News Articles, Thilini Lakshika et. al

การประมวลผลข้อมูลของ Knowledge graph

หลักการของกราฟองค์ความรู้ ก็คือการที่เราเอาข้อมูลในเอกสาร หรือชุดข้อมูลที่เราสนใจใน Social Media มาเรียง Feature โดยพิจารณา features ที่เราต้องการในลักษณะของความสัมพันธ์ ซึ่งวิเคราะห์ความสัมพันธ์ที่เราต้องการนี้ในรูปแบบที่สร้างขึ้นมาเป็นกราฟ โดยโครงสร้างของกราฟจะประกอบไปด้วย

  • Entities (node ในกราฟ) ซึ่งคือสิ่งที่เราอยากจะแทนด้วยค่าต่างๆ
  • Attribute คือลักษณะของ node เช่น node นี้เป็น type อะไร มีตัวแปรอะไร
  • Relationship เป็นการบอกความสัมพันธ์ อาจมีทั้งแบบมีทิศทางและไม่มีทิศทาง
เข้าใจ Knowledge Graph: ทฤษฎีเบื้องหลัง Social network analytic
source: https://www.altexsoft.com/blog/knowledge-graph/

ซึ่งสามารถเอาไปใช้งานได้หลากหลายรูปแบบด้วยกัน เช่น ในการทำ Text mining ในบทความด้าน medical ก็จะมีการไป search keywords ที่เกี่ยวข้องเพื่อนำองค์ความรู้ไปสร้างงานวิจัยต่อ หรือด้าน AI เอากราฟองค์ความรู้ไปแทนที่ในส่วนของ product เช่น เสื้อเชิ้ตมีความสัมพันธ์กับเสื้อโปโล มีความสัมพันธ์กับแขน กับสี โดยส่งข้อมูลให้ลูกค้าสามารถ search ข้อมูลของสินค้าที่เกี่ยวข้องออกมาจริงๆ ได้ หรือ application บน website ต่างๆ อย่างในรูปแบบ Q&A ให้มีลักษณะที่ฉลาดขึ้น support ข้อมูลได้อย่างรวดเร็วมากยิ่งขึ้น ซึ่งองค์ประกอบหลักที่เราใช้ร่วมกับการวิเคราะห์กราฟองค์ความรู้ในการใช้งานจริงจะประกอบไปด้วย 4 ส่วนด้วยกันคือ

  • Input data: ข้อมูลที่นำเข้ามาเพื่อการวิเคราะห์ โดยสามารถเป็นได้ทั้ง Strutured, Unstructured, ข้อมูลรูปภาพ, Streaming data ก็ได้
  • LLM: ซึ่งในส่วนนี้ก็จะมาช่วยในการทำ Knowledge Extraction หรือการตัดคำก่อนที่จะนำไปวิเคราะห์ความเชื่อมโยงด้วยกราฟองค์ความรู้
  • กราฟองค์ความรู้: ใช้เพื่อวิเคราะห์หาความสัมพันธ์ที่แฝงอยู่ใน Features ที่ถูกทำ Token ออกมาจากขั้นตอนของ LLM
  • Semantic Insighs: เป็นกระบวนการในการหาความสัมพันธ์ในเชิงความหมาย (ที่ไม่ใช่เพียงการทำ Feature Mapping) ที่อยู่ภายในแต่ละ Features โดยจะแสดงผลลัพธ์ออกมาในรูปแบบของ Q&A หรือ BI Dashboard เป็นต้น

โดยนิกขอยกตัวอย่างข้อมูลที่จะเอามาสร้าง Knowledge graph ได้ดี นั่นก็คือข้อมูลที่มีลักษณะเป็นโครงสร้างหรือ Relational database แต่หากเป็นข้อมูลในรูปแบบ Unstructured data เช่น รูป และ VDO จะต้องมีการยุ่งยากในการเตรียมข้อมูลขึ้นไปอีกค่ะเพื่อนๆ (ToT)/~~~

การสร้างกราฟองค์ความรู้ 😉💡

โดยการสร้างกราฟองค์ความรู้แบบง่ายๆ แบบแรกคือการใช้งาน Probabilistic Model (โมเดลความน่าจะเป็น) ซึ่งมักเก็บข้อมูลในรูปแบบของความสัมพันธ์ อะไร ทำอะไร กับอะไร (RDF) และ Semantic web นั่นคือการพยายามเข้าถึงข้อมูลได้ด้วยความหมายของสิ่งนั้นๆ อย่างแท้จริง ซึ่งในปัจจุบันการ search ของระบบฐานข้อมูลที่พบบ่อยๆ มักจะเป็นการทำในรูปแบบของ Pattern matching ค่ะ ซึ่งที่เป็นอย่างนี้ก็เพราะว่า,,,,ในการทำ Semantic search นี่ไม่ใช่เรื่องง่ายเลย เพราะจะต้องมีกระบวนการก่อนหน้ามากมาย ยกตัวอย่างเช่น การทำ Extraction, text mining, etc. ซึ่งเป็นส่วนที่นำเอา Machine learining มาเกี่ยวข้องอีกด้วย

ทีนี้เราลงลึกอีกนิดในส่วนของการสร้างกราฟองค์ความรู้กันค่ะ ซึ่งจากองค์ประกอบของ Knowledge graph ที่มี Node, Attributes และ Relationships แต่ละองค์ประกอบนั้นจะเป็นการอธิบายถึงความสัมพันธ์ของอะไร (ใคร) หรือของ Entities ไหน ซึ่งนั่นคือ Who หรือ nodes ในคณิตศาสตร์ ม.ปลาย จากนั้น node นั้นมีลักษณะอย่างไร ซึ่งหมายถึง Labels ของ node โดยสามารถมองได้เป็นตัวแปรต่างๆ ที่เกาะอยู่ที่ node ซึ่งตัวแปรแต่ละตัวแปรไม่จำเป็นต้องเหมือนกัน (แตกต่างจากฐานข้อมูลแบบ RDBMS ที่ตัวแปรจะต้องเหมือนกัน) และสุดท้ายก็คือ How หรือ Edges ซึ่งเป็นการบอกว่า node แต่ละ node มีความสัมพันธ์กันอย่างไร เชื่อมต่อกันอย่างไร ซึ่งสิ่งนี้สามารถใช้เป็นโครงสร้างรากฐานในการทำ LLM (Large Language Model) ได้

เข้าใจ Knowledge Graph: ทฤษฎีเบื้องหลัง Social network analytic
source: https://www.linkedin.com/pulse/knowledge-graph-padma-purushothaman

สรุป: กราฟองค์ความรู้จะเป็นการหาความสัมพันธ์จากอะไรก็ได้ที่เรากำหนด เช่นจะดึงจาก Text ก็ได้ หรือจะดึงจาก Database ก็ได้ หรือแม้แต่เป็น Image ก็ได้เช่นเดียวกันค่ะ^^ ทีนี้เรามาลองดูลึกเข้าไปอีกนิดในส่วนแรกของการทำกราฟองค์ความรู้ ซึ่งคือการทำ Knowledge Extraction หรือ Feature Extraction กันค่ะ

Knowledge Extration & Informarion Extraction

Knowledge Extration เป็นการทำ Entities recognition หรือเป็นการไปดึงเอา Feature นั้นๆ ออกมา เช่นหากเรามีประโยค หรือ Text ที่จะนำมาวิเคราะห์ ขั้นตอนนี้จะเป็นการเริ่มดึงเอา Text เป็น Annotation ออกมา โดยผลลัพธ์จากในส่วนนี้เราจะได้ข้อมูลในลักษณะที่เป็น Text และเป็นความสัมพันธ์ระหว่าง Text

ซึ่งหลังจากนั้นก็จะเข้าสู่ส่วนในการทำ Information Extraction เพื่อหาส่วนที่เป็น Extraction Graph สำหรับการสร้าง Knowledge

โดยการที่เราจะไปบอกว่าสัมพันธ์กันอย่างไรจะต้องมีการระบุ POS (Part of Speech) หรือหน้าที่ของคำให้ได้ เพื่อเป็นการบอกว่าคำแต่ละคำมี POS อะไร หลังจากนั้นก็จะเข้าสู่ส่วนของการทำ Name Entities เพื่อระบุว่า Text ไหนคืออะไร (มี Roles เป็นอะไร) เช่นนี่คือ คน หรือเป็นสถานที่ เป็นต้น

ต่อไปเราก็จะเอาผลลัพธ์นั้น มาดึงเป็น Features ออกมา โดยมีลักษณะคล้ายเป็นการดึง Keywords แล้วทำการระบุบทบาท เป็นลักษณะ Token และความสัมพันธ์ถึงกันในลักษณะของ Co-references เช่นคำที่เขียนต่างกัน แต่สื่อถึงสิ่งเดียวกัน ก็จะเป็นลักษณะของ Same Entities แต่ Share name ซึ่งจะต้องนำมา Linking กันต่อ

และสิ่งที่เราพยายามจะดึงออกมาให้อยู่ในลักษณะของกราฟความสัมพันธ์ข้างต้น จะมีลำดับขั้นตอนดังนี้ค่ะ

  1. การกำหนดโดเมน (Define domain): ซึ่งก็คือการบอกว่าเรากำลังจะแยกแยะเรื่องอะไร หรือเราจะหาความสัมพันธ์เรื่องอะไร โดยสามารถทำได้ทั้งแบบ Automatic (สร้าง Entities แบบ Unsupervised) และแบบ Manual เช่นการระบุว่าเรามีอะไรสัมพันธ์กับอะไรบ้าง
  2. การเรียนรู้ถึงตัว Model ที่จะดึงข้อมูลออกมา (Learining Extractors) ซึ่งมี 3 รูปแบบหลักคือ Supervised, Semi-superviesd และ Unsupervised
  3. การใช้คะแนน (Scoring candidate facts) คือการใช้คะแนนของผลลัพธ์ของกราฟความสัมพันธ์ โดยวิธีที่เป็นที่นิยมก็คือการให้บุคคลเป็นคนให้คะแนนตัวโมเดลเลย

Graph Construction

และหลังจากที่เราได้ Lables ต่างๆ จากข้อมูลก่อนหน้ากันแล้ว เราสามารถสร้างกราฟ (Graph Construction) ซึ่งก็คือการหาความสัมพันธ์ของสิ่งต่างๆ จาก Input ที่เราเตรียมไว้ตามกระบวนการก่อนหน้านี้ออกมา โดยยุคแรกๆ ที่จะเป็นลักษณะของการทำ Joint Distribution ของ Probability Model หรือพูดง่ายๆ ว่าเป็นการหาความสัมพันธ์จากการคำนวณทางสิถิติ โดยมอง Khowledge Graph เป็นการหาความน่าจะเป็นที่สิ่งต่างๆ เหล่านั้นจะเกิดขึ้นพร้อมกัน

โดยในส่วนของการทำการตลาดสามารถทำได้หลากหลายอย่างด้วยกัน ซึ่งตัวอย่างหลักๆ เช่นการทำ Link prediction ซึ่งเหมือนเป็นการทำ Prediction ความสัมพันธ์ และใช้งานในลักษณะของ Recomendation systems เช่น ใน Facebook ที่มีระบบแนะนำการเพิ่มเพื่อนขึ้นมา หรือระบบแนะนำสินค้าที่เกี่ยวข้อง และผลิตภัณฑ์ที่เราน่าจะสนใจ เป็นต้น

แนวทางการใช้ Knowledge Graph ในการทำ Digital Marketing

จากทฤษฎีที่นิกเล่าให้เพื่อนๆ อ่านกันไปเบื้องต้น น่าจะทำให้เห็นภาพและที่มาที่ไปของกราฟองค์ความรู้กันนะคะ^^ โดยสิ่งที่น่าสนใจต่อมาก็คือการนำกราฟองค์ความรู้มาใช้ในการทำ Digital Marketing ซึ่งสามารถทำร่วมกับ Social Network Analysis ในการรวมข้อมูลและที่มีความหลากหลาย และซับซ้อนใน Social Network เข้าด้วยกัน แล้วแสดงผลออกมาในรูปแบบที่อ่าน และเข้าใจง่าย โดยกราฟองค์ความรู้จะเป็นตัวกลางที่ทำให้เราทราบความสัมพันธ์ระหว่างบุคคล, กลุ่ม, และสิ่งต่างๆ ใน Social Network ด้วยความชัดเจนมากยิ่งขึ้นค่ะ 🧐🚀

ซึ่งกรณีศึกษาจากงานวิจัย และการประยุกต์ใช้ในงานต่างๆ ระหว่าง Knowledge Graph กับการทำ Social network analytic ที่น่าสนใจได้แก่ การสร้างระบบแนะนำผู้ใช้, การค้นหากลุ่มเป้าหมายในการตลาด, และการตรวจสอบแบบจำลองการแพร่กระจายข้อมูลในโซเชียลมีเดีย โดยมีรายละเอียด (ที่สามารถนำไปทดลองใช้ได้) ดังนี้ค่ะ \(@^0^@)/

  1. การทำ Digital Marketing:
    • การทำ Digital Marketing โดยใช้กราฟความรู้ เพื่อติดตามและวิเคราะห์พฤติกรรมของลูกค้า โดยการเชื่อมโยงข้อมูลของลูกค้ากับผลิตภัณฑ์ที่ลูกค้าของเราเริ่มให้ความสนใจ จากการสร้าง Nodes สำหรับลูกค้าและผลิตภัณฑ์ และใช้ Edges(เส้นเชื่อม) เพื่อแสดง Relations (ความสัมพันธ์) ระหว่างการเข้าชมเว็บไซต์, การค้นหา, การซื้อสินค้า, และการแชร์ Content เป็นต้น
  2. การวางแผนการตลาด:
    • การวางแผนการทำ Marketing (แบบครบวงจร) โดยการใช้กราฟความรู้ เพื่อจัดการแผนการตลาด โดยรวมข้อมูลเกี่ยวกับผลิตภัณฑ์, กลุ่มเป้าหมาย, โครงการตลาด, และงบประมาณ และสร้าง Edge (การเชื่อมโยง) ระหว่าง Node ของโครงการตลาดแต่ละรายการ และผลิตภัณฑ์ที่เกี่ยวข้อง
  3. การวิเคราะห์ความสำเร็จของแคมเปญ:
    • หลังจากการส่งแคมเปญการตลาดที่เราสร้างมา พวกเราสามารถใช้ Knowledge Graph ในการวิเคราะห์ผลลัพธ์ โดยการสร้าง Edge ของแคมเปญกับ Node ของข้อมูลการเข้าชมเว็บไซต์, อัตราการคลิก, การซื้อสินค้า และการสนทนาใน Social Network โดยการวิเคราะห์นี้จะช่วยให้พวกเราสามารถปรับแนวทางแคมเปญในอนาคตให้เหมาะสมมากขึ้นเพื่อตอบสนองความต้องการของลูกค้าได้ค่ะ ^^
  4. การติดตามและจัดการสินค้า:
    • สำหรับหัวข้อนี้ จะเหมาะกับธุรกิจที่มีหลายสาขา หรือสินค้าหลากหลาย โดยเราสามารถใช้กราฟความรู้ เพื่อสร้างภาพรวมของประเภทสินค้าเป็น Node และแสดง Relations ระหว่างสินค้าในแต่ละกลุ่มกับแต่ละสาขาได้
Panaya Sudta

Last but not Least…

เพื่อนๆ จะเห็นว่าการใช้ Knowledge Graph ในการตลาดช่วย สามารถช่วยพวกเราในการทำความเข้าใจข้อมูล และความสัมพันธ์ของข้อมูลที่ซับซ้อน ทำให้การตัดสินใจทางกลยุทธ์ และการวางแผนการตลาดให้มีประสิทธิภาพมากขึ้น และตอบสนองต่อความต้องการของลูกค้าได้อย่างมีประสิทธิภาพ. (☞゚ヮ゚)☞ และจากการที่เพื่อนๆ เข้าใจในที่มาที่ไป และองค์ประกอบของกราฟแล้ว นิกเชื่อว่าจะเป็นประโยชน์ในการนำไปใช้ในเชิงลึกยิ่งขึ้นได้อย่างแน่นอนค่ะ,,,,

ป.ล. สำหรับเพื่อนๆ อยากหาตัวอย่างการใช้งานเพิ่มเติมนิกขออนุญาตแนะนำ keywords สำหรับภาคอุตสาหกรรมที่ใช้ทฤษฎีกราฟวิเคราะห์ข้อมูลดังนี้ค่ะ; Google Khowledge Graph (Vault), Amazon Product Graph, Facebook Graph API, Microsoft Satori, Project Hanover/Literome, Yandex Object Answer, IBM Watson, etc.

Panaya Sudta

Hi, I am Nick,,,,Panaya Sudta (●'◡'●) Engineer during the daytime. Researcher at night. Reader in spare time. (❁´◡`❁) วิศวกร/นักวิจัย และเป็นน้องใหม่ของการตลาดวันละตอน ในการทำ Market research ค่ะ หวังเป็นอย่างยิ่งว่าจะได้แชร์มุมมองกันนะคะ

Leave a Reply

Your email address will not be published. Required fields are marked *