ChatGPT : Code interpreter กับงานตารางข้อมูล

Wirote Aroonmanakun
3 min readJul 24, 2023

--

ChatGPT เป็นโมเดลภาษาขนาดใหญ่ที่เรียนรู้สิ่งต่าง ๆ จากข้อมูลภาษาจำนวนมากที่เคยเห็น ความสามารถในการอ่านและเขียนจึงเป็นจุดเด่นของ ChatGPT แต่การคำนวณเลขกลับเป็นข้อจำกัดของ ChatGPT เมื่อออกมาใหม่ ๆ. แต่ภายหลังก็มีการแก้ไขข้อจำกัดนี้ด้วยการให้มี Plugin เชื่อมต่อได้ใน ChatGPT Plus คือยอมให้เรียกใช้โปรแกรมเสริมเพื่อทำในสิ่งที่ GPT เองทำได้ไม่ดี. เช่น Plugin อย่าง Wolfram ทำให้การคำนวณคณิตศาสตร์ที่ซับซ้อนเป็นไปได้ และยังสามารถใช้ feature ต่างๆ ที่มีใช้ในเว็บ Wolfram Alpha [1] ได้. ข้างล่างเป็นตัวอย่างที่ลองให้คำนวณค่า BMI จากน้ำหนัก ส่วนสูง ซึ่ง plugin จะไปป้อนถามหาคำตอบจาก Wolfram Alpha ต่อมาให้ และนำข้อมูลรวมถึงกราฟที่ได้จากเว็บนั้นมาแสดงให้

นอกจาก Plugin แล้ว การมี Code interpreter ให้ใช้ก็เป็นอีกสิ่งหนึ่งที่เพิ่มขีดความสามารถของ ChatGPT. Code interpreter ทำให้เราสามารถ upload ข้อมูลให้ ChatGPT อ่านเพิ่มได้. ไฟล์ที่โหลดให้จะเป็นไฟล์หนังสือหรือไฟล์ตารางตัวเลขข้อมูลก็ได้. กรณีที่เรามีข้อมูลเป็นตารางใช้คำนวณต่าง ๆ อาจอยู่ในรูปแบบ csv หรือ excel ไฟล์ก็สามารถโหลดให้ ChatGPT อ่านได้. เมื่ออ่านข้อมูลแล้ว ChatGPT ก็สามารถช่วยดูและวิเคราะห์ข้อมูลนั้นได้ เพราะสิ่งที่ Code interpreter ทำคือเขียนโปรแกรม Python เพื่อวิเคราะห์ข้อมูลและดูผลการทำงานของโปรแกรม หากโปรแกรมมีข้อผิดทำงานไม่ได้ ก็จะปรับแก้โปรแกรมทดลองทำงานไปเรื่อย ๆ จนได้ผลออกมา

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

นอกจากแสดงผลเป็นตาราง การแสดงเป็นภาพก็เป็นเรื่องที่ Code interpreter ช่วยทำให้ได้ ในที่นี้ทำเป็นกราฟแท่งเปรียบเทียบ แต่ก็จะเห็นปัญหาในการแสดงฟอนต์ภาษาไทยในภาพ. ถามว่าจะแก้ไขอย่างไร ChatGPT ก็ให้ลอง upload ไฟล์ฟอนต์ภาษาไทยไปให้

เมื่อลอง upload ไฟล์ฟอนต์ภาษาไทยไปให้ ก็แสดงผลตรงส่วนคำอธิบายได้ แต่ส่วนที่เป็นชื่อหรือ label ในกราฟจริงๆ ก็ยังแสดงไม่ได้. สุดท้าย Code interpreter ก็ขอโทษว่ามีปัญหากับการใช้และแนะให้ลองทำในเครื่องส่วนตัวดีกว่า

I apologize for the continued inconvenience. Even though we are using the new font file you provided, the Thai characters are still not displaying correctly in the plots.

This issue may be due to certain limitations within matplotlib’s handling of non-Latin characters. Unfortunately, given the current sandbox environment, there’s not much more we can do to resolve this issue here.

A possible workaround would be to run the same analysis on your local machine, where you will have the freedom to use other libraries or packages that may handle Thai fonts better.

ในที่นี้จึงแก้ปัญหาด้วยการ reload ข้อมูลใหม่และให้ทำใหม่ โดยบอกว่า label เป็นภาษาไทย ให้ปรับเป็นภาษาอังกฤษก่อนแสดงกราฟ

ซึ่ง code interpreter ก็ทำมาโดยใช้ Course 1, 2, 3 แทน เพราะไม่ได้สั่งให้ใช้คำแปลภาษาอังกฤษของ label ไทย. ก็เลยต้องบอกให้แสดงข้อมูลด้วยว่า Course 1, 2, 3 นี้ชื่อภาษาไทยคืออะไรด้วย

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

เมื่อทดลองอีกตัวอย่าง โดยนำข้อมูล World Population by Country จาก Kaggle [1] ในรูป csv ไฟล์ เมื่อ upload แล้วบอกให้ช่วยดูข้อมูลเบื้องต้นให้ ChatGPT ก็แจ้งว่าสามารถดู trend of population ได้และสร้างกราฟออกมา

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

เหตุที่ Code interpreter ทำสิ่งต่างๆ นี้ได้ เพราะเบื้องหลังแล้ว ChatGPT เขียนภาษา Python เพื่อประมวลผลข้อมูลและ run code ที่เขียนนั้น เมื่อมี error ก็วิเคราะห์ว่าเกิดจากอะไรจะแก้ไขอย่างไร แล้วเขียนแก้ไขโปรแกรมใหม่ งานด้านวิเคราะห์ข้อมูลหรือแสดงภาพนิทัศน์ (visualization) จึงสามารถทำได้ด้วยการใช้ Code interpreter นี้. และหากเราต้องการนำ code ที่ใช้งานได้ไปใช้เองภายหลังก็สามารถกดตรง Show work และ copy code ส่วนนั้นไปใช้ได้เลย ซึ่งดีกว่าการสั่งให้ ChatGPT เขียน code ให้แบบเดิม เพราะ Code interpreter จะช่วยเราทดสอบแล้วว่า code นั้นทำงานกับข้อมูลที่ต้องการได้จริง

การที่ Code interpreter ทำงานด้วยการเขียน Python code เพื่อวิเคราะห์ข้อมูลที่ upload ให้ ข้อมูลที่จะใช้กับ Code interpreter จึงไม่จำกัดว่าต้องเป็นตารางข้อมูลเท่านั้น แต่เราสามารถ upload ไฟล์เอกสารจำนวนมากให้อ่านได้ เราจึงสามารถทำ corpus analysis โดยใช้ Code interpreter ได้ด้วย หรือบางคนก็ใช้ Code interpreter นี้ช่วยเขียนนิยายเป็นจริงเป็นจังได้ [3]

อ้างอิง

[1] https://www.wolframalpha.com/

[2] https://www.kaggle.com/datasets/rajkumarpandey02/2023-world-population-by-country?resource=download

[3] Academy, F. F. (2023, July 21). Oh SNAP! ChatGPT’s Code Interpreter is INSANE for Fiction! Youtube. Retrieved from https://www.youtube.com/watch?v=syEcYPAgIKA

--

--