Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Thai Text Analytics with RapidMiner Studio 9 & Python

7,234 views

Published on

This presentation shows how to token Thai words from Tweets and build Naive Bayes model

Published in: Data & Analytics

Thai Text Analytics with RapidMiner Studio 9 & Python

  1. 1. Eakasit Pacharawongsakda, Ph.D. Certified RapidMiner Expert & Ambassador Data Cube THAI Text Analytics using RapidMiner Studio 9 & Python
  2. 2. http://dataminingtrend.com http://facebook.com/datacube.th About us • ชื่อ: เอกสิทธิ์ พัชรวงศ์ศักดา • การศึกษา: • ปริญญาเอก วิทยาการคอมพิวเตอร์ 
 สถาบันเทคโนโลยีนานาชาติสิรินธร (SIIT) มหาวิทยาลัยธรรมศาสตร์ • ปริญญาโท วิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ • ปริญญาตรี วิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ 
 (เกียรตินิยมอันดับ 2) • ประสบการณ์ • Certified RapidMiner Expert and Ambassador • Research Collaboration with Western Digital (Thailand) เฟสที่ 1 ระยะเวลา 6 เดือน • ร่วมวิจัย โครงการสํารวจข้อมูลเพื่อการวิเคราะห์พฤติกรรมของนักท่องเที่ยวเชิงลึก ด้วยวิธีการทําเหมือง ข้อมูล การท่องเที่ยวแห่งประเทศไทย (ททท) • วิทยากรอบรมการใช้งานซอฟต์แวร์ open source ทางด้าน data mining 2
  3. 3. http://dataminingtrend.com http://facebook.com/datacube.th • Data Mining book 3 About Data Cube
  4. 4. http://dataminingtrend.com http://facebook.com/datacube.th About us 4 RapidMiner Analyst Certification This is to Certify that Successfully passed the examination for the Certified RapidMiner Analyst. The RapidMiner Analyst certification level is designed for individuals who wish to demonstrate a fundamental understanding of how RapidMiner software works and is used. Certified Analyst professionals will be able to prepare data and create predictive models in standard data environments typically found within most analyst positions. The candidate has proven the ability to:  Prepare data  Build predictive models  Evaluate the model’s quality  Score new data sets  Deploy data mining models With:  RapidMiner Studio  RapidMiner Server Date: Eakasit Pacharawongsakda August 13, 2014
  5. 5. http://dataminingtrend.com http://facebook.com/datacube.th About us 5
  6. 6. http://dataminingtrend.com http://facebook.com/datacube.th • Telco • Banking & Financial Services 6 Our Customers
  7. 7. http://dataminingtrend.com http://facebook.com/datacube.th • Insurance • Manufacturing • Other 7 Our Customers
  8. 8. http://dataminingtrend.com http://facebook.com/datacube.th Where does data come from? • ข้อมูลแบ่งตามที่มา • ภายในบริษัท/องค์กร • ข้อมูลการซื้อขาย • ข้อมูลประวัติลูกค้า • ข้อมูลประวัติพนักงาน • ภายนอกบริษัท/องค์กร • ข้อมูลจาก social media ต่างๆ • ข้อมูลข่าวต่างๆ • ข้อมูลรูปภาพและเสียง 8 source: http://dailyprivacy.files.wordpress.com/2013/02/2012_big_data_study_infographic_600.jpg
  9. 9. http://dataminingtrend.com http://facebook.com/datacube.th Database & warehouse & mining 9 Database Sales Accounting CRM Extract
 Transform
 Load
 (ETL) Predictive Analytics Data Warehouse image source:https://sites.google.com/a/whps.org/diamond-teamkp/
 http://www.iconarchive.com/tag/data
  10. 10. http://dataminingtrend.com http://facebook.com/datacube.th Database & warehouse & mining • Database • ฐานข้อมูลใช้ในการจัดเก็บข้อมูล ลดความซ้ำซ้อนของข้อมูล เน้นการจัดเก็บ เพ่ิม แก้ไข และลบข้อมูล • Data warehouse • คลังข้อมูลรวบรวมช้อมูลจากหลายๆ ฐานข้อมูล แปลงข้อมูลให้มีความเหมือนกัน เหมาะสำหรับการเรียกดู (view) เพื่อสร้างรายงานสรุป • Data Mining (Predictive Analytics) • การวิเคราะห์ข้อมูลเพื่อค้นหาความสัมพันธ์หรือรูปแบบที่มีประโยชน์ในฐานข้อมูล 10
  11. 11. http://dataminingtrend.com http://facebook.com/datacube.th BI & Predictive Analytics 11 Business Intelligence Predictive Analytics Time Analytical 
 Approach Past Future Explanatory Exploratory source:Data Science and Big Data Analytics: Discovering, analyzing, visualizing and presenting data BI questions • What happened last quarter? • How many unit sold? • Where is the problem? In which situations Predictive Analytics questions • What if … ? • What will happen next? • Why is this happen?
  12. 12. http://dataminingtrend.com http://facebook.com/datacube.th What is data mining • “The exploration and analysis of large quantities 
 of data in order to discover meaningful patterns and rules” – Data Mining Techniques (3rd Edition) • เป็นการวิเคราะห์ข้อมูล เพื่อหารูปแบบ (patterns) หรือความสัมพันธ์ (relation) ระหว่างข้อมูลในฐานข้อมูลขนาดใหญ่ • “Extraction of interesting (non-trivial, previously, unknown and potential useful) information from data in large databases” – Data Mining Concepts & Techniques (3rd Edition) • เป็นกระบวนการดึงข่าวสารที่น่าสนใจ และมีประโยชน์แต่ไม่เคยรู้มา ก่อนจากฐานข้อมูลขนาดใหญ่ 12 image sources: https://binarylinks.wordpress.com/tag/data-mining/
 http://www.amazon.com/Data-Mining-Techniques-Relationship-Management/dp/0470650931
  13. 13. http://dataminingtrend.com http://facebook.com/datacube.th What is data mining 13 ข้อมูล' เทคนิคการทำ data mining' รูปแบบที่มีประโยชน์' image source:http://www.computerrepairanaheim.net
 https://sites.google.com/a/whps.org/diamond-teamkp/
 http://meetings2.informs.org/wordpress/analytics2014/2014/04/01/why-oranalytics-people-need-to-know-about-database-technology/
  14. 14. http://dataminingtrend.com http://facebook.com/datacube.th Structured & Unstructured data • ข้อมูลแบ่งเป็นแบบมีโครงสร้าง (structure) และไม่มีโครงสร้าง (unstructure) • ข้อมูลแบบมีโครงสร้าง เช่น ข้อมูลที่เก็บในรูปแบบตาราง • ข้อมูลแบบไม่มีโครงสร้าง เช่น ข้อมูลที่เป็นข้อความ ข้อมูลที่เป็นรูปภาพ 14 ID outlook humidity windy play 1 sunny high FALSE no 2 sunny high TRUE no 3 overcast normal FALSE yes binominalnumeric nominal
  15. 15. http://dataminingtrend.com http://facebook.com/datacube.th Structured & Unstructured data • ข้อมูลที่ไม่มีโครงสร้างที่เก็บอยู่ในรูปแบบข้อความ รูปภาพ เสียงมี จำนวนมากถึง 80% ของข้อมูลทั้งหมด 15 source: http://www.couchbase.com/why-nosql/nosql-database
  16. 16. http://dataminingtrend.com http://facebook.com/datacube.th Why text is important? • ข้อมูลที่เป็นประเภทข้อความมีอยู่เป็นจำนวนมาก • ข้อความใน Social Network ต่างๆ เช่น Facebook, Twitter, LinkedIN • ข้อความในเอกสารต่างๆ เช่น email, SMS, รายงานต่างๆ • ข้อความในข่าวต่างๆ เช่น หนังสือพิมพ์, Google News 16source: bangkokpost.com
  17. 17. http://dataminingtrend.com http://facebook.com/datacube.th Why text is important? • การประยุกต์ใช้ข้อมูลประเภทข้อความ • หาข่าวที่ใกล้เคียง 17 source:https://news.google.com
  18. 18. http://dataminingtrend.com http://facebook.com/datacube.th Why text is important? • การประยุกต์ใช้ข้อมูลประเภทข้อความ • วิเคราะห์ทัศนคติในแง่ต่างๆ จากสังคมออนไลน์ 18source:http://sentiment140.com และ http://www.techguide.com.au
  19. 19. http://dataminingtrend.com http://facebook.com/datacube.th Text representation • ในการวิเคราะห์ข้อมูลข้อความต้องทำการแปลงข้อมูลให้อยู่
 ในรูปแบบที่มีโครงสร้าง 19 Laying on the sand sun hitting me, this feels good :) Smells so good I have two :) i watched 3 movies today, reminded me of my child hood! Finding Nemo 
 was always my favourite, but that was when i was MUCH younger! :) I think NYC would be amazing, I really wanna go there :) he never care,he never look at me..:( i am so tired!! and my feet hurt :( positive negative
  20. 20. http://dataminingtrend.com http://facebook.com/datacube.th Text representation: Bag of Words • จำนวนความถี่ของคำที่เกิดขึ้นในข้อความ 20 ID Tweet Sentiment 1 Laying on the sand sun hitting me, this feels good. positive 2 Smells so good I have two. positive 3 i watched 3 movies today, reminded me of my child hood! Finding Nemo was always my favourite, but that was when i was MUCH younger! positive 4 I think NYC would be amazing, I really wanna go there. positive 5 he never care,he never look at me. negative 6 i am so tired!! and my feet hurt. negative Term Count Finding 1
  21. 21. http://dataminingtrend.com http://facebook.com/datacube.th Text representation: Bag of Words • จำนวนความถี่ของคำที่เกิดขึ้นในข้อความ 21 ID Tweet Sentiment 1 Laying on the sand sun hitting me, this feels good. positive 2 Smells so good I have two. positive 3 i watched 3 movies today, reminded me of my child hood! Finding Nemo was always my favourite, but that was when i was MUCH younger! positive 4 I think NYC would be amazing, I really wanna go there. positive 5 he never care,he never look at me. negative 6 i am so tired!! and my feet hurt. negative Term Count Finding 1 I 3
  22. 22. http://dataminingtrend.com http://facebook.com/datacube.th Text representation: Bag of Words • จำนวนความถี่ของคำที่เกิดขึ้นในข้อความ 22 ID Tweet Sentiment 1 Laying on the sand sun hitting me, this feels good. positive 2 Smells so good I have two. positive 3 i watched 3 movies today, reminded me of my child hood! Finding Nemo was always my favourite, but that was when i was MUCH younger! positive 4 I think NYC would be amazing, I really wanna go there. positive 5 he never care,he never look at me. negative 6 i am so tired!! and my feet hurt. negative Term Count Finding 1 I 3 Laying 1 MUCH 1 NYC 1 Nemo 1 Smells 1 always 1 am 1 amazing 1 and 1 at 1 be 1 but 1 care 1 Term Count child 1 favourite 1 feels 1 feet 1 go 1 good 2 have 1 he 2 hitting 1 hood 1 hurt 1 i 3 look 1 me 1 … 1 bag of words
  23. 23. http://dataminingtrend.com http://facebook.com/datacube.th Text representation: Stemming • แปลงคำให้เป็นรากศัพท์ (root) เช่น finding แปลงเป็น find 23 Term Count child 1 favourite 3 feels 1 feet 1 go 1 good 2 have 1 he 2 hitting 1 hood 1 hurt 1 i 3 look 1 me 1 … 1 Term Count child 1 favourit 1 feel 1 feet 1 go 1 good 2 have 1 he 2 hit 1 hood 1 hurt 1 i 3 look 1 me 1 … 1 Term Count Finding 1 I 3 Laying 1 MUCH 1 NYC 1 Nemo 1 Smells 1 always 1 am 1 amazing 1 and 1 at 1 be 1 but 1 care 1 Term Count find 1 i 6 lai 1 much 1 nyc 1 nemo 1 smell 1 alwai 1 am 1 amaz 1 and 1 at 1 be 1 but 1 care 1 bag of words bag of words
  24. 24. http://dataminingtrend.com http://facebook.com/datacube.th Text representation: Remove stopwords • ตัดคำที่เป็น stop word ทิ้ง 24 Term Count find 1 i 6 lai 1 much 1 nyc 1 nemo 1 smell 1 alwai 1 am 1 amaz 1 and 1 at 1 be 1 but 1 care 1 Term Count child 1 favourit 1 feel 1 feet 1 go 1 good 2 have 1 he 2 hit 1 hood 1 hurt 1 look 1 me 1 … 1 Term Count find 1 i 6 lai 1 nyc 1 nemo 1 smell 1 alwai 1 amaz 1 child 1 favorit 1 feel 1 feet 1 go 1 good 2 hit 1 Term Count hood 1 hurt 1 look 1 care 1 movi 1 reali 1 remind 1 sand 1 sun 1 thi 1 think 1 tire 1 todai 1 wa 3 watch 1 remove stopwords
  25. 25. http://dataminingtrend.com http://facebook.com/datacube.th Convert text to structured data • Binary occurrence ถ้ามีคำที่เกิดขึ้นในแต่ละเอกสารจะให้ค่าเป็น 1 
 ถ้าไม่เกิดขึ้นจะเป็น 0 25 ID find I lai nyc nemo smell alwai … Sentiment 1 0 0 1 0 0 0 0 … positive 2 0 1 0 0 0 1 0 … positive 3 1 1 0 0 1 0 1 … positive 4 0 1 0 1 0 0 0 … positive 5 0 0 0 0 0 0 0 … negative 6 0 1 0 0 0 0 0 … negative attribute label ID Tweet Sentiment 1 Laying on the sand sun hitting me, this feels good. positive 2 Smells so good I have two. positive 3 i watched 3 movies today, reminded me of my child hood! Finding Nemo was always my favourite, but that was when i was MUCH younger! positive 4 I think NYC would be amazing, I really wanna go there. positive 5 he never care,he never look at me. negative 6 i am so tired!! and my feet hurt. negative training data แสดงคำที่เกิดขึ้นในเอกสารต่างๆ
  26. 26. http://dataminingtrend.com http://facebook.com/datacube.th Convert text to structured data • Term Frequency คือจำนวนครั้งที่คำนั้นเกิดขึ้นในเอกสารทั้งหมด • TF = จำนวนคำในเอกสาร/จำนวนเอกสารทั้งหมด 26 ID find I lai nyc nemo … Sentiment 1 0 0 0.17 0 0 … positive 2 0 0.17 0 0 0 … positive 3 0.17 0.33 0 0 0.17 … positive 4 0 0.33 0 0.17 0 … positive 5 0 0 0 0 0 … negative 6 0 0.17 0 0 0 … negative attribute label ID Tweet Sentiment 1 Laying on the sand sun hitting me, this feels good. positive 2 Smells so good I have two. positive 3 i watched 3 movies today, reminded me of my child hood! Finding Nemo was always my favourite, but that was when i was MUCH younger! positive 4 I think NYC would be amazing, I really wanna go there. positive 5 he never care,he never look at me. negative 6 i am so tired!! and my feet hurt. negative training data แสดงคำที่เกิดขึ้นในเอกสารต่างๆ
  27. 27. http://dataminingtrend.com http://facebook.com/datacube.th Convert text to structured data • TF-IDF คือจำนวนครั้งของคำที่เกิดขึ้นคูณกับจำนวนคำที่เกิดเฉพาะ เอกสารในคลาส 27 ID find I lai nyc nemo … Sentiment 1 0 0 0.40 0 0 … positive 2 0 0.19 0 0 0 … positive 3 0.22 0.10 0 0 0.22 … positive 4 0 0.20 0 0.17 0 … positive 5 0 0 0 0 0 … negative 6 0 0.13 0 0 0 … negative attribute label ID Tweet Sentiment 1 Laying on the sand sun hitting me, this feels good. positive 2 Smells so good I have two. positive 3 i watched 3 movies today, reminded me of my child hood! Finding Nemo was always my favourite, but that was when i was MUCH younger! positive 4 I think NYC would be amazing, I really wanna go there. positive 5 he never care,he never look at me. negative 6 i am so tired!! and my feet hurt. negative training data แสดงคำที่เกิดขึ้นในเอกสารต่างๆ
  28. 28. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 28 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  29. 29. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 29 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  30. 30. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 30 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  31. 31. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 31 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  32. 32. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 32 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  33. 33. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 33 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  34. 34. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 34 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  35. 35. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 35 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  36. 36. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 36 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  37. 37. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 37 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  38. 38. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 38 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  39. 39. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 39 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  40. 40. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 40 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  41. 41. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 41 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  42. 42. http://dataminingtrend.com http://facebook.com/datacube.th N-Gram sequences • จำนวนคำที่พิจารณาต่อกัน N ตัว • unigram พิจารณาการเกิดขึ้นของแต่ละคำ • bi-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 2 คำ เช่น so good • tri-gram พิจารณาการเกิดขึ้นของคำที่ติดกัน 3 คำ เช่น smells so good 42 Smells so good I have two. unigram bi-gram tri-gram smells smells so smells so good so so good so good I good good I good I have I I have I have two have have two two
  43. 43. http://dataminingtrend.com http://facebook.com/datacube.th Introduction RapidMiner • RapidMiner • ในตอนแรกใช้ชื่อบริษัทว่า Rapid-I ก่อตั้งขึ้นเมื่อปี 2006 • ในช่วงแรกบริษัทตั้งอยู่ที่ประเทศเยอรมนี • ปี 2013 ได้เปลี่ยนชื่อบริษัทเป็น RapidMiner หลังจาก
 ได้รับเงินลงทุนจำนวน 5 ล้านเหรียญสหรัฐ • และย้ายบริษัทมาอยู่ที่บอสตัน ประเทศสหรัฐอเมริกา • ผลิตภัณฑ์หลักของบริษัทคือ RapidMiner Studio 9 • บริษัทชั้นนำต่างๆ เช่น PayPal ใช้ซอฟต์แวร์ RapidMiner Studio 9 43 Ingo Mierswa Ralf Klinkenberg source: http://techcrunch.com/2013/11/04/german-predictive-analytics-startup-rapid-i-rebrands-as-rapidminer-takes-5m-from-open-ocean-
 earlybird-to-tackle-the-u-s-market/
  44. 44. http://dataminingtrend.com http://facebook.com/datacube.th Why RapidMiner? • ผลการสำรวจจากเว็บไซต์ KDnuggets ในปี 2014 พบว่าผู้ร่วมตอบ แบบสำรวจใช้ RapidMiner ในการวิเคราะห์ข้อมูลมากเป็นอันดับ 1 • Gartner ได้จัดให้ RapidMiner อยู่
 ในกลุ่ม Leaders สำหรับซอฟต์แวร์
 ในการวิเคราะห์ข้อมูล (2018) • KNIME • H2O.ai • RapidMiner • SAS 44 source: http://www.kdnuggets.com/2014/06/kdnuggets-annual-software-poll-rapidminer-continues-lead.html
 https://www.gartner.com/doc/3860063/magic-quadrant-data-science-machinelearning
  45. 45. http://dataminingtrend.com http://facebook.com/datacube.th RapidMiner Platform 45 https://www.slideshare.net/RapidMiner/the-power-of-collaboration-for-data-science-teams
  46. 46. http://dataminingtrend.com http://facebook.com/datacube.th RapidMiner Studio 9 • download ได้จาก http://rapidminer.com • 46 คลิกที่เมนูนี้
  47. 47. http://dataminingtrend.com http://facebook.com/datacube.th RapidMiner Studio 9 • เลือกดาวน์โหลด version ที่เหมาะสมกับระบบปฏิบัติการของเรา 47
  48. 48. http://dataminingtrend.com http://facebook.com/datacube.th RapidMiner Professional License 48
  49. 49. http://dataminingtrend.com http://facebook.com/datacube.th • พบกับหน้าต่าง Home Screen RapidMiner Studio 9 49 1 สร้าง process ใหม่ 2 เปิด process ตัวอย่างที่มีอยู่
  50. 50. http://dataminingtrend.com http://facebook.com/datacube.th • ส่วนต่างๆ ในหน้า design ของ RapidMiner Studio 9 RapidMiner Studio 9 50 Repository Operators Process Parameter help 1 2 3 4 5
  51. 51. http://dataminingtrend.com http://facebook.com/datacube.th RapidMiner Studio 9 • เมนูใน RapidMiner Studio 9 51 ใช้สร้าง process ใหม่ โหลด process เดิม บันทึก process สั่งให้ process ทำงาน (run) ยกเลิก process (stop) เมนูสำหรับปรับเปลี่ยนหน้าจอของ RapidMiner Studio 9 เมนูสำหรับแสดงค้นหาข้อมูลต่างๆ ba a b หน้า Design แสดงหน้าสำหรับการสร้างโพรเซส หน้า Results แสดงหน้าผลลัพธ์การทำงาน c d c d หน้า Turbo Prep แสดงหน้าสำหรับการเตรียมข้อมูล หน้า Auto Model แสดงขั้นตอนการสร้างโมเดลแบบอัตโนมัติ
  52. 52. THAI Text Analytics • #ใบขับขี่ (เห็นด้วย) 52
  53. 53. THAI Text Analytics • #ใบขับขี่ (ไม่เห็นด้วย) 53
  54. 54. http://dataminingtrend.com http://facebook.com/datacube.th Search Twitter • ดึงข้อมูลจาก Twitter โดยใช้โอเปอเรเตอร์ Search Twitter • ในส่วน connection คลิกที่ปุ่ม Twitter 54 3 1 2 4
  55. 55. http://dataminingtrend.com http://facebook.com/datacube.th Search Twitter • สร้าง Connection ใหม่สำหรับดึงข้อมูลจาก Twitter 55 5 6
  56. 56. http://dataminingtrend.com http://facebook.com/datacube.th Search Twitter • Connection ใหม่จะถูกสร้างขึ้นมาด้านซ้ายมือ • สร้าง access token ใหม่ 56 7
  57. 57. http://dataminingtrend.com http://facebook.com/datacube.th • คลิกที่่ปุ่ม Request access token Search Twitter 57 8
  58. 58. http://dataminingtrend.com http://facebook.com/datacube.th Search Twitter • ใส่ username/password ของ Twitter และ คลิกที่ปุ่ม Authorize app 58 9
  59. 59. http://dataminingtrend.com http://facebook.com/datacube.th Search Twitter • copy หมายเลข PIN ที่แสดงอยู่และนำไปใส่ใน RapidMiner Studio 9 59 10
  60. 60. http://dataminingtrend.com http://facebook.com/datacube.th Search Twitter • paste ตัวเลข PIN ลงในช่อง Copy Code 60 11 12
  61. 61. http://dataminingtrend.com http://facebook.com/datacube.th Search Twitter • คลิกที่ปุ่ม Save all changes 61 13
  62. 62. http://dataminingtrend.com http://facebook.com/datacube.th • ใส่ keyword ที่ต้องการค้นหา เช่น #ใบขับขี่ ในพารามิเตอร์ query Search Twitter 62 14 #ใบขับขี่
  63. 63. THAI Text Analytics • ใช้โอเปอเรเตอร์ Search Twitter ใน RapidMiner Studio 9 63
  64. 64. THAI Text Analytics • เลือกเฉพาะข้อมูลที่เป็นความคิดเห็น และกำหนดลาเบล (label) ให้เป็น • เห็นด้วย (agree) และ ไม่เห็นด้วย (disagree) • Import ข้อมูลเข้าไปใน RapidMiner Studio 9 64
  65. 65. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • การตัดคำภาษาไทยใน RapidMiner Studio 9 • ติดตั้ง PyThaiNLP ดาวน์โหลดได้จาก https://github.com/PyThaiNLP/pythainlp • ติดตั้ง Text Processing extension (ดูวิธีการติดตั้งได้จาก https:// docs.rapidminer.com/latest/studio/installation/adding-extensions.html) • ติดตั้ง Python Scripting extension 65
  66. 66. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • แปลงข้อความให้เป็นตารางและสร้างโมเดล NaiveBayes 66
  67. 67. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • โอเปอเรเตอร์ที่เกี่ยวข้อง 67 โอเปอเรเตอร์ คำอธิบาย Read CSV สำหรับอ่านข้อมูลที่เป็น training data Execute Python สำหรับเขียน script ภาษา Python Nominal to Text สำหรับแปลงข้อมูลที่ได้ให้เป็นประเภทข้อความ (text)
  68. 68. THAI Text Analytics • เขียน script Python โดยการเรียกใช้ไลบรารี PyThaiNLP 68
  69. 69. THAI Text Analytics • ตัดคำภาษาไทยด้วย PyThaiNLP ในโปรแกรม RapidMiner Studio 9 69
  70. 70. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • แปลงข้อความให้เป็นตาราง 70
  71. 71. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • โอเปอเรเตอร์ที่เกี่ยวข้อง 71 โอเปอเรเตอร์ คำอธิบาย Process Document from Data สำหรับอ่านข้อความจาก example set Tokenize สำหรับตัดคำตามเครื่องหมายที่กำหนด Filter Tokens 
 (by Length) สำหรับกรองคำที่สั้นหรือยาวเกินไปออก Set Roles สำหรับกำหนด role ให้กับแอตทริบิวต์
  72. 72. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • การคำนวณ TF-IDF สำหรับข้อความภาษาไทย 72
  73. 73. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • สร้างโมเดล NaiveBayes 73
  74. 74. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • โอเปอเรเตอร์ที่เกี่ยวข้อง 74 โอเปอเรเตอร์ คำอธิบาย Cross Validation สำหรับแบ่งข้อมูลมาทดสอบแบบ Cross-Validation Naive Bayes สำหรับสร้างโมเดล Naive Bayes Apply Model สำหรับนำโมเดลมาใช้งาน Performance สำหรับวัดประสิทธิภาพของโมเดล
  75. 75. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • วัดประสิทธิภาพ 75
  76. 76. http://dataminingtrend.com http://facebook.com/datacube.th THAI Text Analytics • วัดประสิทธิภาพ 76
  77. 77. http://dataminingtrend.com http://facebook.com/datacube.th For more information • หสม. ดาต้า คิวบ์ (data cube) • website: http://www.dataminingtrend.com • facebook: http:facebook.com/datacube.th หรือ http://facebook.com/sit.ake • email: eakasit@datacube.asia • lineID: eakasitp 77

×