นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน

Our Shangri-La
Ico64
Kittisakdi Choomalee

ภาควิชาเวชศาสตร์ชุมชน คณะแพทยศาสตร์ มหาวิทยาลัยสงขลานครินทร์
เครือข่าย
สมาชิก · ติดตาม: 0 · ผู้ติดตาม: 16

อ่าน: 1049
ความเห็น: 2

ก้าวย่างทางเดิน ลืมเลือนคืนวัน ดั้นด้นไป: กลุ่มเมฆตัวอักษรกับ R [C]

กลุ่มเมฆตัวอักษร สะท้อน tag ใน share

๒ - ๓ วันก่อนลองค้นหาข้อมูลเกี่ยวกับ Titanic ก็ไปเจอกับ Package ของ R package หนึ่ง เห็นแล้วน่าสนใจดี เนื่องจากว่าทำให้คิดไปถึงระบบคำสำคัญของ share ที่สมัยที่ยังเป็นแชร์เชื่องช้าอยู่นั้น เรามีวิธีการดูคำสำคัญทั้งหมด

โดยที่ระบบจะจัดทำเป็นลักษณะของกลุ่มเมฆตัวอักษร หรือการแสดงคำสำคัญ (tag) ที่ใช้ในบันทึกต่าง ๆ โดยที่รวบรวมจำนวนความถี่ของคำสำคัญแต่ละคำที่มีอยู่มาคิดเป็นสัดส่วนแล้วแสดงผลออกในรูปของขนาดตัวอักษรของคำสำคัญ

คำสำคัญไหนที่ถูกใช้มากที่สุดก็จะมีขนาดใหญ่ที่สุด คำสำคัญไหนที่ถูกนำมาใช้ในบันทึกน้อยที่สุดก็จะมีขนาดเล็กที่สุด

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

จะดูคำสำคัญทั้งหมดแบบเดิมนั้นไม่ได้ หรือได้แต่ยังไม่มีใครมาบอกว่าทำอย่างไร

แต่ก็เข้าใจว่าการทำแบบนี้คงจะต้องใช้กำลังของเครื่องแม่ข่ายมากพอดู

ผมไปเจอ package ของ R ที่ชื่อ wordcloud เข้า เมื่อดูฟังก์ชันการทำงานก็จะพบว่ามีการทำงานในลักษณะคล้าย ๆ กับการดูคำสำคัญของแชร์สมัยที่เป็นแชร์เชื่องช้า คือจะนำเอาคำที่เรากำหนดให้ไปสร้างเป็นกลุ่มเมฆของคำให้เรา

แต่ผมพบว่า wordcloud ยังมีข้อจำกัดอยู่มาก ซึ่งคงต้องค้นหาหรือปรับปรุงวิธีการให้ใช้งานได้ดีขึ้น

ลองดูผลลัพธ์ตัวอย่างการใช้ wordcloud กันนะครับ

บรรทัดคำสั่งใน R

> library(wordcloud)
Loading required package: Rcpp
Loading required package: RColorBrewer
> a1 <- rep("sharepsu", 1000)
> a2 <- rep("Knowledge_Management",800)
> a3 <- rep("Learning_Organization", 500)
> a4 <- rep("Knowledge_Sharing", 300)
> a5 <- rep("Knowledge_Spiral",300)
> a6 <- rep("KPI",200)
> a7 <- rep("Happy_Workplace", 100)
> a8 <- rep("Happy_8", 100)
> a9 <- rep("PDCA", 50)
> a.all <- c(a1,a2,a3,a4,a5,a6,a7,a8,a9)
> png(filename = "c:\\Rworkplace\\stat\\wordcloud\\test28042014.png", width =1024, height = 1024, res=120)
> wordcloud(a.all, colors=c(1:9))
> dev.off()
null device
          1

 

ผมสร้างคำสำคัญขึ้นมา ๙ คำให้มีจำนวนต่าง ๆ กัน คือกำหนดค่าให้กับ a1 ถึง a9 นั่นเอง

ให้สร้างคำว่า

  • sharepsu จำนวน ๑,๐๐๐ คำ
  • Knowledge_Management จำนวน ๘๐๐ คำ
  • Learning Organization จำนวน ๕๐๐ คำ
  • Knowledge_Sharing จำนวน ๓๐๐ คำ
  • Knowledge_Spiral จำนวน ๓๐๐ คำ
  • KPI จำนวน ๒๐๐ คำ
  • Happy_Workplace จำนวน ๑๐๐ คำ
  • Happy_8 จำนวน ๑๐๐ คำ
  • PDCA จำนวน ๕๐ คำ

 

นำเอาคำสำคัญทั้งหมดมารวมกันเก็บไว้ในวัตถุที่ชื่อ a.all

 

สั่งให้เก็บผลลัพธ์ไว้ในแฟ้มข้อมูลชื่อ test28042014.png

 

สร้างกลุ่มเมฆตัวอักษรด้วยฟังก์ชัน wordcloud

 

ส่งการแสดงผลกลับมาที่จอภาพตามปกติ

 

ผลที่ได้เป็นดังรูปครับ

 

 

 

พอเป็นตัวอย่างนะครับคำสำคัญที่มีจำนวนความถี่เท่ากันจะมีสีและขนาดเดียวกัน (ดูสีเขียว)

 

เราจะพบว่า wordcloud จะตัดเครื่องหมายอื่น ๆ ออกไปหมด เช่นคำสำคัญที่เราต้องการคือ Learning_Organization จะถูกตัดเครื่องหมาย "_" ออกแล้วรวมคำเข้าด้วยกันเป็น learningorganization

 

หรือผมลองคำสำคัญสั้น ๆ ที่มี ๑ หรือ ๒ พยางค์อย่าง R หรือ KM พบว่าคำสำคัญเหล่านี้จะหายไปไม่ปรากฏในผลลัพธ์

 

ขณะที่ทำกลุ่มเมฆตัวอักษรพบว่ามีการใช้การประมวลผลเครื่องคอมพิวเตอร์ค่อนข้างมากครับ คือสั่งให้ทำบรรทัดคำสั่ง wordcloud() หน้าต่างของ R จะนิ่งและไม่ตอบสนองไปพักหนึ่งครับ

 

คงต้องค้นหาวิธีคิดของ wordcloud กันต่อไปนะครับว่ากลไกนั้นเป็นอย่างไร ทำไมถึงตัดบางอย่างออกไป

 

บางทีถ้าเป็นไปได้เราก็อาจจะมาลองใช้กับข้อมูล tag หรือคำสำคัญของ share ดูก็ได้ครับ อาจจะทำได้ไม่ทุกคำของ tag แต่เลือกคำสำคัญที่ต้องการทราบมาทำเป็นกลุ่มเมฆตัวอักษรก็น่าสนใจไม่ใช่น้อยครับ

 

อิอิอิ

 

ปัญหาที่พบอีกอย่างคือเรื่องภาษาไทยที่จะงงงง สับสนกับเรื่องของการเข้ารหัสภาษาไทย (encoding) 

 

เรื่อง encoding ของภาษาก็เป็นเรื่องที่ปวดหัวเรื่องไหนึ่งเหมือนกันครับ โดยเฉพาะกับภาษาอื่นที่ไม่ใช่ภาษาอังกฤษ

 

อิอิอิ

 

เราเอง

 

เพลง:
ศิลปิน:

หมวดหมู่บันทึก: เรื่องทั่วไป
คำสำคัญ (keywords): bad practice  ข้าวยำ  เฉาก๊วย  worldcloud  share tag
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 28 เมษายน 2557 17:15 แก้ไข: 01 พฤษภาคม 2563 09:31 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ: Ico24 คนธรรมดา, Ico24 ทดแทน, และ 2 คนอื่น.
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

อิ อิ เจ้า R นี้เก่งนะครับ ผมเคยเห็นการแสดงผลลัพธ์แบบนี้มาก่อน และคิดว่ามันเท่ดี เขาอาจใช้โปรแกรมอื่นทำนะครับ

Ico48
Our Shangri-La (Recent Activities)
28 April 2014 17:43
#97865

เป็นข้อดีจอง Open Source ครับที่หลาย ๆ คนมาช่วยกันเขียนโปรแกรมเสริมเพื่อเพิ่มความสามารถให้ทำงานได้หลาย ๆ อย่าง

แต่ wordcloud นี้ผมยังจับให้อยู่หมัดยังไม่ได้ครับ ไม่ได้อย่างที่ต้องการแถมมีปัญหากับภาษาไทยซะอีก ความตั้งใจเดิมนั้นว่าจะแสดงตัวอย่างเป็นภาษาไทยโดยใช้ tag ในบันทึกของแชร์ แต่จนแล้วจนรอดก็ยังแก้ปัญหาที่เจอยังไม่ได้ครับ

อิอิอิ

เราเอง

คุณต้องทำการเข้าระบบก่อนแสดงความเห็น