การใช้ ChatGPT ทำ Sentiment Analysis เพิ่มประสิทธิภาพการวิเคราะห์ความรู้สึกของลูกค้า

การใช้ ChatGPT ทำ Sentiment Analysis เพิ่มประสิทธิภาพการวิเคราะห์ความรู้สึกของลูกค้า

Sentiment Analysis หรือ “การวิเคราะห์ความรู้สึก” เป็นกระบวนการที่ใช้วิเคราะห์ความรู้สึกจากข้อความ ซึ่งเบื้องหลังการทำคือการประมวลภาษาธรรมชาติ (Nataral language Processing: NLP) ทำให้ ChatGPT ซึ่งเป็น Chatbot ที่มี LLM

(Large Language Model) อย่าง GPT (Generative Pre-training Transformer) นั้นสามารถช่วยเราทำการวิเคราะห์ความรู้สึกจากฐานข้อมูลของเราได้ 🧐📊

โดยในบทความนี้นิกจะพาเพื่อนๆ ไปสร้างการใช้งาน ChatGPT ของ OpenAI ในการทำ Sentiment Analysis โดยการแทรกโมเดล GPT-3 เข้าไปใน speadsheet เพื่อแยกแยะออกมาว่าจาก Social media คอมเมนต์ รีวิว หรือการถูกพูดถึงของหัวข้อต่างๆ ใน Social network มีอารมณ์/ความรู้สึก ในข้อความนั้นในทิศทางใดบ้างกันค่ะ^^

โดยในบทความนี้จะแบ่งขั้นตอนใหญ่ๆ ได้ออกเป็น 3 ส่วนดังนี้ค่ะ

  1. การ Get API Key ของ ChatGPT จาก OpenAI
  2. การเชื่อมต่อกับ spreadsheet
  3. การทำ Sentiment Analysis โดย ChatGPT

#1 รับ API Keys ของ ChatGPT จาก OpenAI

1.1 เข้าไปที่ website https://openai.com

เริ่มต้นในสามารถเข้าไปที่ link: https://openai.com เพื่อลงทะเบียนการใช้งาน โดยเลือกไปที่เมนู Product แล้วเข้าไปที่ Overview แล้วเพื่อนๆ สามารถ Get Start โดยเชื่อมต่อกับ Account ที่เรามีอยู่แล้ว (ใช้ได้ทั้ง Microsoft account และ Google account) หรือหากยังไม่มี account ก็ให้ทำการสร้างใหม่ตามขั้นตอนที่ 1.2

การใช้ ChatGPT ทำ Sentiment Analysis วิเคราะห์ความรู้สึกของลูกค้า

1.2 สร้าง account ใหม่ (ในกรณีที่ยังไม่มี OpenAI account)

ในการสมัครใช้งานครั้งแรกระบบของ OpenAI จะมีการถามชื่อ-นามสกุล และเบอร์โทรศัพท์เพื่อใช้ในการส่ง Code ที่จะใช้ Activate account โดยทางหน้าเว็บก็จะทำการ redirect มายังหน้าที่เราต้องกรอก code ที่ได้รับจากเบอร์โทรศัพท์ที่กรอกไปก่อนหน้าตามรูปด้านล่างนี้ค่ะ^^

การใช้ ChatGPT ทำ Sentiment Analysis วิเคราะห์ความรู้สึกของลูกค้า

1.3 รับ API keys ของ ChatGPT: https://platform.openai.com/account/api-keys

ซึ่งเราจะนำ API keys จาก Open AI มาใช้งานกันค่ะ โดยเราจะสามารถเข้าไป get API keys มุมขวาบนใต้ชื่อของเรา กดเมนู Personal แล้วเลือก View API keys และทำการ + Create new secret key (และสำหรับเพื่อนๆ ที่มี account อยู่แล้วสามารถเข้าไปที่ link: https://platform.openai.com/account/api-keys แล้ว login เพื่อ +Create new seret key ได้เลยนะคะ^^)

ซึ่งหากใครที่มีการใช้งานไปแล้วเหมือนนิก OpenAI ก็จะแสดง Secret key ก่อนหน้าที่เราเคยสร้างไว้ โดยตรงนี้ให้เรากด + Create new secret key เพื่อสร้างใหม่ได้เลยค่ะ และเมื่อกดไปแล้วจะมีข้อความ notice ที่อยู่ด้านบนแจ้งเตือนค่ะว่า API key ที่ถูก Create ไปแล้ว จะไม่ถูกแสดงขึ้นซ้ำอีก และไม่ควรแชร์ API key นี้กับผู้อื่น หรือเปิดเผย client-side code ของเรา เพื่อปกป้องความปลอดภัยของบัญชีของเรา โดยทาง OpenAI อาจทำการเปลี่ยนแปลง API key อัตโนมัติหากพบว่ามีการทำ API key หลุดออกสู่สาธารณะ

ซึ่งส่วนนี้สำคัญมากค่ะ คือ API secret key จะถูก Generate ออกมาเพียงครั้งแรกครั้งเดียว!! และถ้าเพื่อนๆ คนไหนบังเอิญพลาดพลั้ง ลืมกด Copy ไว้ หรือ Copy API key มาไม่ครบ (╯°□°)╯︵ ┻━┻ เราก็,,, แก้ไขอะไรไม่ได้ค่ะ 555+  ต้องลบ Key เดิมออกแล้ว Generate ใหม่ (ที่เราควรลบออกเพราะว่า ถึงเราทิ้ง API secret key นั้นไว้ เราก็ไม่สามารถนำมาใช้งานได้อยู่ดีค่ะ => นิกเลยแนะนำว่าลบทิ้งไปเลยดีกว่า☺🤣 )

#2 การเชื่อมต่อกับ Spreadsheet

เมื่อเรารับและทำการตั้งค่าต่างๆ เพื่อใช้งาน API Key ของ ChatGPT เรียบร้อยแล้ว ส่วนต่อไปก็จะเป็นการเชื่อมต่อ ChatGPT เข้ากับสิ่งที่เราต้องการใช้ด้วยเพื่อเตรียมในการทำ Sentiment Analysis ต่อไปค่ะ

ซึ่งในบทความนี้ นิกใช้ในส่วนของ Google Sheet ที่เราสามารถ Plug-in เป็น add-ons เข้าไปได้เลยทำให้ค่อนข้างสะดวกในการใช้งานค่ะ 📊🧐

2.1 เปิด spreadsheet ใหม่หรือไปที่ Link: https://docs.google.com/spreadsheets/

ในส่วนนี้ให้เราทำการเปิด Google Chrome ขึ้นมา แล้ว search ไปที่คำว่า “google doc” แล้วเลือกสร้างเอกสารใหม่เป็น Sheet หรือจะเข้าไปที่ link https://docs.google.com/spreadsheets/ ก็ได้เช่นเดียวกันค่ะ

2.2 ทำการเพิ่ม ChatGPT เข้าไปใน Extensions

และหลักจากที่เราทำการเปิด Google Sheet ขึ้นมาใหม่แล้ว ให้เราเพิ่มในส่วนของ ChatGPT เข้าไปในส่วนเพิ่มหรือ Extensions โดยเข้าไปที่ Extension => แล้วเลือก => Add-ons => Get add-ons ตามรูปด้านล่างค่ะ

และเมื่อเข้ามาแล้ว Google Workspace Marketplace จะมี Add-ons ต่างๆ มาให้เราเลือกเยอะมากกก ซึ่งให้เราทำการ Search หา Add-ons ที่เราต้องการโดยไปที่รูปแว่นขยาย แล้วพิมพ์ “GPT” และเลือก GPT for Sheets and Docs เข้ามาใช้งาน

การใช้ ChatGPT ทำ Sentiment Analysis วิเคราะห์ความรู้สึกของลูกค้า

ซึ่งเมื่อเลือกไปแล้วก็ pop-up ข้อมูลของ Add-ons GPT for Sheets and Docs ที่เราเลือกไว้ขึ้นมา โดยทาง provider อธิบายว่า ChatGPT ใน Google Sheets หรือ Docs สามารถเพิ่มประสิทธิภาะของการใช้งาน AI ในการทำ data cleaning, classification การแปลภาษา การ edit ข้อความ การสรุปข้อมูล การสร้าง content และอื่น,,,,, สำหรับงานของเราได้

ซึ่งในส่วนนี้ให้ทำกด Install เพื่อติดตั้ง ChatGPT ได้เลยค่ะ (❁´◡`❁)

การใช้ ChatGPT ทำ Sentiment Analysis วิเคราะห์ความรู้สึกของลูกค้า

2.3 เชื่อมต่อกับ OpenAI API key

ต่อไปเป็นส่วนของการเชื่อมต่อกับ API key ที่เราทำการสร้างและ Copy ไว้ตามขั้นตอนที่ 1

โดยหลังจากที่เราเพิ่ม ChatGPT เข้าไปในส่วน Extensions ของ Sheets เรียบร้อยแล้ว GPT for Sheets and Docs ก็จะให้เราใส่ OpenAI API key ตามรูปด้านล่าง ซึ่งในส่วนนี้ให้เราทำการเอา API Key ของเรามาใส่ได้เลยค่ะ

และแล้ว =>> เราก็เชื่อมต่อโมเดล GPT เข้าสู่ Spreadsheet ของเราเรียบร้อยค่ะ ☺🤗 โดยในการใช้งานก็ทำได้ง่ายโดยการพิมพ์เหมือนการใช้งานสูตรใน sheet ตามปกติที่ขึ้นต้นด้วยเครื่องหมาย “= ” แล้วเขียน Promts ในรูปแบบของสูตรได้เลย ได้เลยยย

การใช้ ChatGPT ทำ Sentiment Analysis วิเคราะห์ความรู้สึกของลูกค้า
example of formular with GPT model

#3 การทำ Sentiment Analysis ด้วย ChatGPT

😎🔎 ในที่สุดเราก็มาถึงส่วนสำคัญค่ะ คือการทำ Sentiment Analysis ด้วย ChatGPT ที่เราเพิ่มเข้าไปเป็นส่วนขยายของเรา ซึ่งในส่วนนี้ต้องบอกเลยค่ะว่าใช้งานง่ายมากๆ ง่ายมากแบบตะโกน ด้วยการพิมพ์ prompts ที่เป็นเหมือนสูตรลงไปค่ะ

โดยในการทำ Sentiment Analysis หรือการวิเคราะห์ความรู้สึกนี้ เราสามารถดึงข้อความที่มาจากการทำ Social listening ของเรา ไม่ว่าจะเป็น sentiment ต่อภาพลักษณ์ของแบรนด์ หรือต่อ keyword ก็ได้เช่นเดียวกันค่ะ

โดยในบทความนี้นิกจะใช้การแบ่งระดับของ sentiment ออกเป็น 5 ระดับ ได้แก่

  • Very Positive: ข้อความนี้มีความรู้สึกเป็นไปในทางที่ดีมากๆ
  • Positive: ข้อความนี้มีความรู้สึกเป็นไปในทางที่ดี
  • Very Negative: ข้อความนี้มีความรู้สึกเป็นไปในทางที่ไม่ดีมากๆ
  • Negative: ข้อความนี้มีความรู้สึกเป็นไปในทางที่ไม่ดี
  • Nuetral: ข้อความนี้มีความรู้สึกเป็นกลาง

3.1 การสร้างสูตรให้ GoogleSheet

ซึ่ง promts หรือในที่นี้คือสูตรให้ GoogleSheet สำหรับการใช้ ChatGPT ในการทำ Sentiment Analysis มี Format คือ

GPT_CLASSIFY(value, categories, [examples], [temperature], [max_tokens], [model])

โดยจะเห็นว่าการทำ Sentiment Analysis เป็นการทำ Classify ประเภทหนึ่งค่ะ ซึ่งสิ่งที่ต้องส่งให้ตัว GPT โมเดลได้แก่

  • value: ในที่นี้ก็คือชุดของข้อความที่เราต้องการทำ Sentiment Analysis
  • categories: คือกลุ่มของสิ่งที่เราต้องการทำ classify ออกมา ซึ่งในบทความนี้คือ Sentiment levels (ที่แบ่งออกเป็น 5 กลุ่มนั่นเองค่ะ^^)
  • example: ส่วนนี้เป็น option ค่ะ ที่เราจะใส่หรือไม่ก็ได้ ในการเป็นตัวอย่างให้ ChatGPT return สิ่งที่เราต้องการออกมาก
  • temperature: เหมือนเป็น creativity ของคำตอบ ใสได้ตั้งแต่ 0-1 แต่ที่นิยมใช้กันจะเป็น 0.7
  • max_tokens: จำนวน tokens สูงสุดที่จะใช้ (ซึ่ง OpenAI API เป็น service ที่ไม่ฟรีนะคะ แต่จะมีโควต้ามาให้ 5 USD เราจึงควรทำการจำกัด tokens ไว้ด้วย)
  • model: โมเดลที่เลือกใช้ในการทำ ซึ่งในบทความนี้นิกใช้เป็น text-davinci-003 ค่ะ^^

ซึ่งจาก format (ตัวหนังสือสีส้ม) ด้านบน จะได้ formular ที่เราให้ดังนี้,,,,,,

=GPT_CLASSIFY(B2,A2:A6,,0.8,500, “text-davinci-003”)

==>> และใส่ Data ที่เราต้องการทำ Sentiment Analysis ลงไป (ซึ่งนิกลองใส่เป็นข้อมูลของ feedback ของ Tech product) ได้ผลลัพธ์ออกมาตามภาพค่ะ🧐✨

3.2 การตรวจสอบยอดการใช้งานของ API keys บน Google Sheet

 และอย่างที่นิกบอกไปค่ะว่า การใช้งาน API Keys ของ OpenAI เป็น service ที่ไม่ฟรี เพราะฉะนั้นเราต้องทำการตรวจสอบยอดการใช้งานของเราด้วยนะคะ^^

โดยให้เราเข้าไปดูที่ Usage ซึ่งเราทุกคนจะมีโควต้าฟรีอยู่ 5 เหรียญ ใช้งานของฟรีนี้ได้ 3 เดือน ซึ่งหมายความว่าถ้าเรามีการ request chatGPT มาครั้งหนึ่ง usage ก็จะเริ่มมาหักในส่วนของโควต้าฟรีของเราไปเรื่อยๆ จนครบ 5 USD

โดยสามารถตรวจสอบเราจะโดนตัดกี่ USD ต่อครั้งของการใช้งาน,,,ที่หน้าแรกของ OpenAI ในส่วนของ product =>> pricing ค่ะ เราก็จะเห็นว่ามีส่วนของการตัดโควต้า ว่าตัดอย่างไรบ้างในแต่ละ product โดยในส่วนของที่เรากำลังจะใช้ ก็จะเป็น chat ค่ะ

ซึ่งจะมีการตัด 0.002 USD ต่อ 1K tokens* (โดยประมาณแล้วข้อความประมาณ 1000 คำ จะตกอยู่ที่ประมาณ 750 tokens) แต่ขอแอบกระซิบนะคะว่า การใช้งานภาษาไทยค่อนข้างเปลืองโควต้าอยู่เหมือนกัน

*token ก็จะเป็นเหมือนกลุ่มก้อนคำ ที่เค้าหั่นออกมา เช่นคำว่า อากาศร้อน ที่อาจจะถูกตัดออกมาเป็นคำว่า “อากาศ” กับ “ร้อน” หรือคำว่า เดือนมกราคม ที่อาจจะไม่ถูกตัด แต่ถูกมัดรวมเป็น “เดือนมกราคม” เป็น 1 token ไปเลย

Payment methods

**ซึ่งถ้าหากอยากใช้บริการแบบ Plus ก็ให้เข้าไปกรอกข้อมูลในส่วนของ payment method ที่อยู่ในส่วนของ Personal -> Overview หรือเข้าได้ที่ link นี้เลยค่ะ https://platform.openai.com/account/billing/overview

สำหรับท่านใดที่ไม่ต้องการ Setting (ซึ่งก็ไม่ยากมาก) ตามขั้นตอนที่ 3 ให้สามารถกระโดดขึ้นไปด้านบน แล้ว scan QR-code ตามภาพปกแล้วเอา Formular ไปใช้กับ Google sheet ของตัวเองได้เลยค่ะ^^

และนี่คือตัวอย่างการใช้งาน ChatGPT ของ OpenAI ในการทำ Sentiment Analysis โดยการแทรกโมเดล GPT-3 เข้าไปใน Google Sheets ซึ่งจากผลลัพธ์นิกคิดว่า ChatGPT ค่อนข้างทำได้ดี ซึ่งน่าจะเกิดจากการที่เป็น LLM ที่ใช้ชุดข้อมูลในการ trend model จำนวนมหาศาล ซึ่งจุดนี้เองที่ทำให้เราตอบโจทย์ได้ว่าลูกค้า หรือผู้ใช้ Social media มีความรู้สึกต่อสิ่งที่เราสนใจทำ Sentiment ไปในทิศทางไหน ซึ่งเป็นประโยชน์ในการลดระยะเวลา และเพิ่มประสิทธิภาพการทำงานสำหรับนักการตลาดในยุค Digital Marketing ค่ะ 🤗😎

Last but not Least…

เพื่อนๆ จะเห็นว่าหลังจากที่มีการเข้ามาของ GenerativeAI อย่าง ChatGPT ทำให้การทำงานของเราสะดวกและง่ายมากยิ่งขึ้น อย่างเช่นในบทความนี้ที่มีการนำ GPT model มาช่วยทำ Sentiment Analysis ได้

ซึ่งสำหรับการใช้งาน Extensions ของ Google Sheets สามารถทำได้หลากหลายมากในเทอมของการตลาด เช่น การติด tag แบบ auto ให้ข้อความที่กรองออกมา หรือการสร้าง emoji จาก emotion เพื่อนำไปแสดงผลต่อ การสรุปข้อความเห็นของลูกค้าเป็นคำสรุปสั้นๆ ,,,,

และสำหรับชาว dev => เราสามารถทำให้ระบบเป็น automate ได้ โดยอาจใช้ร่วมกับการดึงข้อมูลแบบ auto มาที่ Sheets แล้วทำ Sentiment Analysis ต่อค่ะ^^

api_key:

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

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 *