classification of mobile application user reviews for...

77
CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21 การจาแนกประเภทบทวิจารณ์ของผู้ใช้โมไบล์แอปพลิเคชันเพื่อการสร้างทิคเก็ตสาหรับระบบติดตาม ปัญหา นายกิตติศักดิ์ เพชรรุ่งนภา สารนิพนธ์นี้เป็นส่วนหนึ่งของการศึกษาตามหลักสูตรปริญญาวิทยาศาสตรมหาบัณฑิต สาขาวิชาวิศวกรรมซอฟต์แวร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย ปีการศึกษา 2561 ลิขสิทธิ์ของจุฬาลงกรณ์มหาวิทยาลัย 2771580346

Upload: others

Post on 07-Dec-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

การจ าแนกประเภทบทวจารณของผใชโมไบลแอปพลเคชนเพอการสรางทคเกตส าหรบระบบตดตามปญหา

นายกตตศกด เพชรรงนภา

สารนพนธนเปนสวนหนงของการศกษาตามหลกสตรปรญญาวทยาศาสตรมหาบณฑต สาขาวชาวศวกรรมซอฟตแวร ภาควชาวศวกรรมคอมพวเตอร

คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย ปการศกษา 2561

ลขสทธของจฬาลงกรณมหาวทยาลย

27

71

58

03

46

Page 2: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

Classification of Mobile Application User Reviews for Generating Tickets for Issue Tracking System

Mr. Kittisak Phetrungnapha

An Independent Study Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science in Software Engineering

Department of Computer Engineering Faculty of Engineering

Chulalongkorn University Academic Year 2018

Copyright of Chulalongkorn University

27

71

58

03

46

Page 3: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

หวขอสารนพนธ การจ าแนกประเภทบทวจารณของผใชโมไบลแอปพลเคชน

เพอการสรางทคเกตส าหรบระบบตดตามปญหา โดย นายกตตศกด เพชรรงนภา สาขาวชา วศวกรรมซอฟตแวร อาจารยทปรกษาหลก รศ. ดร.ทวตย เสนวงศ ณ อยธยา

คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย อนมตใหนบสารนพนธฉบบนเปนสวนหนงของการศกษาตามหลกสตรปรญญาวทยาศาสตรมหาบณฑต

คณะกรรมการสอบสารนพนธ

ประธานกรรมการ (ดร.ดวงดาว วชาดากล)

อาจารยทปรกษาหลก (รศ. ดร.ทวตย เสนวงศ ณ อยธยา)

กรรมการ (ดร.กลวด ศรพานชกลชย)

27

71

58

03

46

Page 4: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

บทค ดยอ ภาษาไทย กตตศกด เพชรรงนภา : การจ าแนกประเภทบทวจารณของผใชโมไบลแอปพลเคชนเพอ

การสรางทคเกตส าหรบระบบตดตามปญหา. ( Classification of Mobile Application User Reviews for Generating Tickets for Issue Tracking System) อ.ทปรกษาหลก : รศ. ดร.ทวตย เสนวงศ ณ อยธยา

ปจจบนการพฒนาโมไบลแอปพลเคชนไดเขามาอยในสายการพฒนาซอฟตแวรหลก และ

มโมไบลแอปพลเคชนจ านวนมากทมฟงกชนการท างานประเภทเดยวกนใหสามารถใชงานไดบนแอปสโตรและเพลยสโตร ท าใหเกดการแขงขนทางการตลาดสงมาก ซงทมพฒนาจ าเปนทจะตองทราบผลตอบรบ ขอคดเหนของผใชงานจรง เพอน ามาปรบปรงคณภาพของโมโบลแอปพลเคชนใหดยงขน แหลงขอมลทส าคญคอบทวจารณของผใชงานบนแอปสโตรหรอเพลยสโตร นกพฒนาสามารถทจะวเคราะหปญหาการใชงานแอปพลเคชนเพอเปนขอแนะน าส าหรบการบ ารงรกษาและการพฒนาแอปพลเคชนในเวอรชนถดไปได แตเนองจากในหนงเวอรชนของแอปพลเคชนมจ านวนบทวจารณของผใชเปนจ านวนมาก โครงงานมหาบณฑตนจงมงเนนไปทการจ าแนกประเภทของบทวจารณของผ ใชวาเปนรายงานขอผดพลาด หรอความตองการฟงกชนการท างานใหม ซงกระบวนการท างานเปนไปอยางอตโนมต โดยผลการจ าแนกประเภทของบทวจารณจะถกน าไปใชในการสรางทคเกตส าหรบระบบตดตามปญหาทชอวาจราตอไป โดยในการแยกประเภทบทวจารณของผใชนไดน าเทคนคการแยกประเภทของขอความ การประมวลผลภาษาธรรมชาต การวเคราะหอารมณความรสกจากขอความ และวเคราะหขอมลเมดาเดตาของบทวจารณมาใชวเคราะห โดยอลกอรทมการเรยนรของเครองหลายอลกอรทมไดถกน ามาใชในการแยกประเภทของบทวจารณ ไดแก นาอฟเบยส ตนไมการตดสนใจ เคเอนเอน ลเนยรเอสวซ ลอจสตกรเกรสชน วธเอนเซมเบลแบบตาง ๆ ซงโมเดลทมประสทธภาพดทสดของแตละการจ าแนกประเภทบทวจารณจะถกน าไปใชตอในขนตอนการสรางทคเกตส าหรบระบบตดตามปญหาจราผานเครองมอทพฒนาขนในโครงงานมหาบณฑต โดยเครองมอสามารถตรวจสอบความเหมอนกนเชงความหมายและกรองบทวจารณซ าซอนได

สาขาวชา วศวกรรมซอฟตแวร ลายมอชอนสต ................................................ ปการศกษา 2561 ลายมอชอ อ.ทปรกษาหลก ..............................

27

71

58

03

46

Page 5: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

บทค ดยอ ภาษาองกฤษ # # 6070908021 : MAJOR SOFTWARE ENGINEERING KEYWORD: user reviews, issue tracking system, text classification, text similarity,

text summarization, machine learning, natural language processing Kittisak Phetrungnapha : Classification of Mobile Application User Reviews

for Generating Tickets for Issue Tracking System. Advisor: Assc.Prof. Dr. TWITTIE SENIVONGSE

Mobile application development has now been in the mainstream and a

lot of mobile applications have been released to Apple App Store and Google Play Store. As there are many applications in the same category and the competition is very high in the market, mobile development teams need to get user feedback on their applications so that they can improve quality of the applications. An important source of feedback is user review on App Store and Play Store from which the developers can analyze problems and recommendations for future maintenance and evolution of the applications. Since there might be a large number of user reviews for each release of a mobile application, this master project proposes an automated approach to classifying user reviews as bug reports or feature requests. These classification results are used as a basis for generating tickets for an issue tracking system, i.e. Jira. In user review classification, text classification, natural language processing, sentiment analysis, and review metadata are used with several machine learning algorithms, i.e. Naïve Bayes, Decision Tree, KNN, LinearSVC, Logistic Regression, and Ensemble methods. The best classifiers for both categories of reviews are used further in an implementation of a Jira ticket generating tool. The tool considers semantic similarity of review comments and can filter out duplicate user reviews.

Field of Study: Software Engineering Student's Signature ............................... Academic Year: 2018 Advisor's Signature ..............................

27

71

58

03

46

Page 6: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

กตตกรรมประกาศ

กตตกรรมประกาศ

ขอกราบขอบพระคณทาน รศ. ดร. ทวตย เสนวงศ ณ อยธยา อาจารยทปรกษาโครงงานมหาบณฑตของขาพเจาเปนอยางยงทไดเสยสละเวลาอนมคา เพอใหค าปรกษาแนะน าทางดานการศกษาหาความร คณธรรม จรยธรรม และแนวทางส าหรบการท าโครงงานมหาบณฑตน ตลอดจนคอยดแลและประสานงานใหความชวยเหลอแกนสตทท าโครงงานมหาบณฑตทกคน

ขอขอบพระคณพทบรษท อซ จ ากด ทกทานทใหค าปรกษาแนะน า รวมทงชวยยนยนผลการตดฉลากส าหรบบทวจารณสองบทวจารณใด ๆ วาเปนบทวจารณซ าซอนหรอไม เพอน าผลลพธทไดไปใชในการค านวณหาคาขดแบงในการจ าแนกบทวจารณซ าซอน

ขอขอบคณเพอน ๆ หลกสตรวศวกรรมซอฟตแวร ส าหรบก าลงใจและค าปรกษาแนะน าในการจดท าโครงงานมหาบณฑต

สดทายน ขอกราบขอบพระคณบดา มารดา และสมาชกในครอบครวทกทานทคอยใหก าลงใจและใหการชวยเหลอสนบสนนมาโดยตลอด

กตตศกด เพชรรงนภา

27

71

58

03

46

Page 7: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

สารบญ

หนา .......................................................................................................................................................... ค

บทคดยอภาษาไทย ............................................................................................................................ ค

........................................................................................................................................................... ง

บทคดยอภาษาองกฤษ ........................................................................................................................ ง

กตตกรรมประกาศ............................................................................................................................. จ

สารบญ .............................................................................................................................................. ฉ

สารบญตาราง ................................................................................................................................... ฌ

สารบญภาพ ..................................................................................................................................... ญ

บทท 1 บทน า ................................................................................................................................... 1

1.1 ความเปนมาและความส าคญของปญหา ................................................................................ 1

1.2 วตถประสงคของโครงงาน ...................................................................................................... 2

1.3 ขอบเขตของโครงงาน ............................................................................................................ 2

1.4 ขนตอนและวธการด าเนนการ ................................................................................................ 3

1.5 ประโยชนทคาดวาจะไดรบ..................................................................................................... 3

1.6 โครงสรางของเนอหาในโครงงานมหาบณฑต ......................................................................... 4

บทท 2 ทฤษฎและงานวจยทเกยวของ .............................................................................................. 5

2.1 ทฤษฎทเกยวของ ................................................................................................................... 5

2.1.1 การเรยนรแบบมผสอน [9] .......................................................................................... 5

2.1.2 นาอฟเบยส [10] .......................................................................................................... 6

2.1.3 เคเอนเอน [11] ............................................................................................................ 7

2.1.4 ตนไมการตดสนใจ [12] ............................................................................................... 8

27

71

58

03

46

Page 8: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

2.1.5 การเรยนรแบบรวม [13] .............................................................................................. 8

2.1.6 จราซอฟตแวร [14] ...................................................................................................... 9

2.1.7 ระบบตดตามปญหา [15] ........................................................................................... 10

2.1.8 ทคเกต [15] ............................................................................................................... 10

2.1.9 โปรดกสแบลคลอก [16] ............................................................................................ 11

2.1.10 เอไจลบอรด [17] ..................................................................................................... 11

2.1.11 ความเหมอนกนของขอความ [18] ........................................................................... 12

2.1.12 การสกดขอความ [19] ............................................................................................. 12

2.1.13 ยนเวอรซล เซนเทนต เอนโคดเดอร [20] ................................................................. 13

2.1.14 โคซายน ซมลารต [21] ............................................................................................ 13

2.2 งานวจยทเกยวของ............................................................................................................... 14

2.2.1 Bug Report, Feature Request, or Simply Praise? On Automatically Classifying App Reviews [22] .............................................................................. 14

2.2.2 Mobile App Evolution Analysis based on User Reviews [23] ....................... 15

2.2.3 What Do Mobile App Users Complain About? [24] ....................................... 16

2.2.4 App Store Mining is Not Enough [25] ................................................................ 17

2.2.5 AR-Miner: Mining Informative Reviews for Developers from Mobile App Marketplace [26] ................................................................................................... 19

2.2.6 Automatically Create Jira Issue from Firebase Crashlytics [27] ................... 20

2.2.7 Recommending and Localizing Change Requests for Mobile Apps based on User Reviews [28] ........................................................................................... 21

2.2.8 Ensemble Methods for App Review Classification: An Approach for Software Evolution [29] ....................................................................................... 22

บทท 3 การพฒนาและทดสอบประสทธภาพโมเดลการจ าแนกประเภทบทวจารณของผใช ............. 23

3.1 ขนตอนการเกบรวบรวมบทวจารณของผใช .......................................................................... 24

27

71

58

03

46

Page 9: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

3.2 ขนตอนการพฒนาโมเดลเพอจ าแนกประเภทของบทวจารณของผใช.................................... 27

3.3 ขนตอนการเปรยบเทยบประสทธภาพของโมเดลการจ าแนกประเภทของบทวจารณของผใช 33

3.4 ขนตอนการน าออกโมเดลเพอใชในการจ าแนกประเภทของบทวจารณของผใช .................... 39

บทท 4 การตรวจสอบความซ าซอนของบทวจารณของผใช ............................................................. 40

4.1 การเตรยมชดขอมลเพอท าการทดลองหาความคลายกนของบทวจารณของผใช ................... 41

4.2 การหาคาขดแบงส าหรบบทวจารณซ าซอน .......................................................................... 43

บทท 5 การสรางทคเกตส าหรบระบบตดตามปญหาจากบทวจารณของผใช .................................... 45

5.1 การรวบรวมบทวจารณของผใชทเปนบทวจารณใหมของแอปพลเคชน ................................. 46

5.2 การวเคราะหบทวจารณของผใชทเปนบทวจารณใหมของแอปพลเคชน ............................... 48

5.3 การสรางทคเกตส าหรบระบบตดตามปญหาจรา ................................................................... 50

บทท 6 บทสรปโครงงานและขอเสนอแนะ ...................................................................................... 56

6.1 สรปผลโครงงานมหาบณฑต ................................................................................................. 56

6.2 ขอจ ากดในโครงงานมหาบณฑต ........................................................................................... 57

6.3 ขอเสนอแนะ ........................................................................................................................ 57

บรรณานกรม ................................................................................................................................... 59

ประวตผเขยน .................................................................................................................................. 63

2

77

15

80

34

6

Page 10: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

สารบญตาราง

ตารางท 3.1 ฟเจอรทแตกตางกนทใชเปนขอมลน าเขาในการเรยนรใหกบโมเดล ............................. 27

ตารางท 3.2 รายการฟเจอรทเกดจากการน าฟเจอรทแตกตางกนแตละฟเจอรมาใชงานรวมกน ...... 28

ตารางท 3.3 จ านวนขอมลบทวจารณของผใชแยกตามหมวดหม และวตถประสงคของการน าไปใช 29

ตารางท 3.4 คา part of speech ของแตละชนดของค าของประโยคตวอยาง ................................ 31

ตารางท 3.5 โมเดลสบอนดบแรกทมประสทธภาพสงทสดในการจ าแนกประเภทบทวจารณของผใช bug report หรอ not bug report ดวยใช 5-Folds Cross Validation ....................................... 34

ตารางท 3.6 โมเดลสบอนดบแรกทมประสทธภาพสงทสดในการจ าแนกประเภทบทวจารณของผใช bug report หรอ not bug report โดยใชอตราสวนของขอมลระหวาง training และ test เปน 70:30 .............................................................................................................................................. 35

ตารางท 3.7 โมเดลสบอนดบแรกทมประสทธภาพสงทสดในการจ าแนกประเภทบทวจารณของผใช feature request หรอ not feature request ดวยวธ 5-Folds Cross Validation .................... 37

ตารางท 3.8 โมเดลสบอนดบแรกทมประสทธภาพสงทสดในการจ าแนกประเภทบทวจารณของผใช feature request หรอ not feature request โดยใชอตราสวนของขอมลระหวาง training และ test เปน 67:33 .............................................................................................................................. 38

ตารางท 4.1 คาประสทธภาพการวดความซ าซอนของบทวจารณท thresholds ตาง ๆ .................. 44

ตารางท 5.1 ฟลดทจ าเปนตองใชในการสรางทคเกตส าหรบระบบตดตามปญหา Jira เพอเชอมตอกบ Jira APIs ......................................................................................................................................... 50

27

71

58

03

46

Page 11: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

สารบญภาพ ภาพท 2.1 กระบวนการเทรนเพอใหไดโมเดลทตองการ [9]............................................................... 5

ภาพท 2.2 การน าโมเดลทผานการเรยนรแลวมาลองใชงานจรง [9] ................................................... 6

ภาพท 2.3 รปดาวจะมคลาสค าตอบเปนวงกลมสเขยวเมอใช k = 3 [11] .......................................... 7

ภาพท 2.4 ผลลพธการท านายของโมเดล เมอมคา Bias และ Variance แตกตางกนออกไป โดยจดสแดงคอคาจรง จดน าเงนคอคาทไดจากการท านายของโมเดล [13] ..................................................... 9

ภาพท 2.5 ความสมพนธระหวาง Model Complexity และคา Error ทเกดขนทเกยวของกบคา Bias และ Variance [13] ................................................................................................................. 9

ภาพท 2.6 สตอรทบอกวาผใชงานสามารถกดปมลมรหสผานเพอท าการรเซตรหสผานใหมได ......... 11

ภาพท 2.7 เอไจลบอรดทมสคอลมน คอ To Do, Blocked, In Progress, และ Done ................... 12

ภาพท 2.8 คณสมบตของโมเดลแตละประเภททถกน ามาท า Universal Sentence Encoder [20] ........................................................................................................................................................ 13

ภาพท 2.9 การเปรยบเทยบประสทธภาพของโมเดลโดยใชเทคนคของ Naïve Bayes ตาง ๆ กบบทวจารณของผใชบนแอปสโตรและเพลยสโตรทไดเลอกมา [22] ......................................................... 14

ภาพท 2.10 ตวอยางกราฟการจดกลมความคดเหนของผใชงานโดยใชโมเดลของผวจยของแอปพลเคชนแอนดรอยด Whatsapp ทมการอปเดต major ทงสน 7 ครง และ minor 39 ครง [23] .......... 15

ภาพท 2.11 ประเภทบทวจารณเชงลบของผใชงานแอปพลเคชนบนแอปสโตร โดยจดล าดบตามความถของการพบปญหาจากมากไปนอยทงสน 13 ประเภท [24] ................................................... 17

ภาพท 2.12 เปรยบเทยบจ านวน feature request และ bug report ของทง 70 แอปพลเคชนทผวจยไดเลอกมา แยกตามแหลงทมาของขอมล คอ ทวตเตอร สโตร ทงทวตเตอรและสโตร และ % แสดง feature request กบ bug report ทพบเฉพาะบนทวตเตอร [25] ....................................... 18

ภาพท 2.13 การแสดงผลของ AR-Miner ของกลมความคดเหน 10 กลมแรกทมความส าคญมากทสดของแอปพลเคชน SwiftKey โดย Keyword “more theme” ถกจดเปนอนดบหนง [26] ............. 20

ภาพท 2.14 ตวอยางทคเกตประเภท bug ทถกสรางใน Jira จาก Firebase Crashlytics ทท าการเชอมตอกบ APIs ของ Jira [27] ...................................................................................................... 21

27

71

58

03

46

Page 12: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

ภาพท 2.15 ขอมลแตละแอปพลเคชนทเกบรวบรวมจากบทวจาณของผใชและท าการตดฉลากแลว [29] ................................................................................................................................................. 22

ภาพท 2.16 คาประสทธภาพทไดจากชดขอมลทดสอบโดยใชโมเดลการจ าแนกประเภทแบบเดยว และโมเดลแบบรวม [29] ................................................................................................................. 22

ภาพท 3.1 ขนตอนการด าเนนงานแบบละเอยดของการพฒนาและทดสอบประสทธภาพโมเดลการจ าแนกประเภทบทวจารณของผใช .................................................................................................. 23

ภาพท 3.2 หนาเวบไซตของกลมผจดท างานวจยท 2.2.1 ทเปดใหดาวนโหลดขอมลบทวจารณของผใชทถกตดฉลากแลว [22] .............................................................................................................. 24

ภาพท 3.3 ตวอยางบทวจารณของผใชประเภท bug report .......................................................... 25

ภาพท 3.4 ตวอยางบทวจารณของผใชประเภท not bug report ................................................... 26

ภาพท 3.5 ตวอยางบทวจารณของผใชประเภท feature request ................................................. 26

ภาพท 3.6 ตวอยางบทวจารณของผใชประเภท not feature request .......................................... 27

ภาพท 3.7 ฟงกชนการนบจ านวน part of speech ทเขยนดวยภาษา Python เวอรชน 3 ............ 30

ภาพท 3.8 ตวอยางเวกเตอรของค าวา “Very” ทไดจากการประมวลผลดวย GoogleNews-vectors-negative300 ................................................................................................................... 32

ภาพท 3.9 ตวอยางการใชงานฟงกชน classification_report จาก scikit-learn.org .................... 33

ภาพท 3.10 ตวอยางการใชงานฟงกชน accuracy_score จาก scikit-learn.org .......................... 33

ภาพท 3.11 ตวอยางโคดการใชไลบราล Pickle ในการน าออกโมเดลการจ าแนกประเภทบทวจารณของผใช ........................................................................................................................................... 39

ภาพท 4.1 ขนตอนการด าเนนงานแบบละเอยดของการตรวจสอบความซ าซอนของบทวจารณของผใช.................................................................................................................................................. 40

ภาพท 4.2 ตวอยางบทวจารณใน base set .................................................................................... 41

ภาพท 4.3 ตวอยางบทวจารณใน test set ...................................................................................... 42

ภาพท 4.4 ตวอยางการตดฉลากระหวางบทวจารณใน base set และ test set ............................ 42

ภาพท 4.5 ตวอยางฟงกชนการแปลงขอความเปนเวกเตอรดวย Universal Sentence Encoder ทท างานบน Tensorflow .................................................................................................................. 43

27

71

58

03

46

Page 13: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

ภาพท 4.6 ตวอยางฟงกชนการหาคา Cosine Similarity ระหวางสองเวกเตอรใด ๆ ...................... 43

ภาพท 5.1 ขนตอนการด าเนนงานแบบละเอยดของการทคเกตส าหรบระบบตดตามปญหาจากบทวจารณของผใช ................................................................................................................................ 45

ภาพท 5.2 ฟงกชนการดงขอมลบทวจารณของผใชทอยบนแอปสโตรของแอปพลเคชน Facebook 46

ภาพท 5.3 ตวอยางบทวจารณของผใชทไดจากการดงขอมลบนแอปสโตรของแอปพลเคชน Facebook ...................................................................................................................................... 46

ภาพท 5.4 ฟงกชนการดงขอมลบทวจารณของผใชทอยบนเพลยสโตรของแอปพลเคชน Facebook ........................................................................................................................................................ 47

ภาพท 5.5 ตวอยางบทวจารณของผใชทไดจากการดงขอมลบนเพลยสโตรของแอปพลเคชน Facebook ...................................................................................................................................... 47

ภาพท 5.6 โปรแกรม Command line ทรองรบแพลตฟอรมและแอปพลเคชนไอดทตองการดงขอมลบทวจารณของผใช ................................................................................................................. 47

ภาพท 5.7 ตวอยางไฟล .pkl ทถกน าเขาในโปรแกรม Command line ......................................... 48

ภาพท 5.8 ฟงกชนการ decode ไฟล .pkl กลบเปน prediction code ภาษา Python................ 48

ภาพท 5.9 ฟงกชนการน าค าหยดออก และการท าใหเปนรากศพท .................................................. 48

ภาพท 5.10 ตวอยางฟงกชนการท านายประเภทของบทวจารณวาเปน bug report หรอ not but report ............................................................................................................................................ 49

ภาพท 5.11 ตวอยางฟงกชนการท านายประเภทของบทวจารณวาเปน feature request หรอ not feature request ........................................................................................................................... 49

ภาพท 5.12 ขอมลทผใชเครองมอจ าเปนตองระบเองจากตารางท 5.1 ............................................ 51

ภาพท 5.13 ฟงกชนการค านวณหาความถของค าทแตกตางกนทงหมดในบทวจารณใด ๆ (count_word_frequencies) และฟงกชนส าหรบค านวณคะแนนความส าคญของแตละประโยคทอยบทวจารณ (count_sentence_scores) ........................................................................................ 51

ภาพท 5.14 ฟงกชนการเลอกประโยคทส าคญทสดจากบทวจารณของผใชออกมา n ประโยค โดยในโครงงานมหาบณฑตนมคา n = 1 .................................................................................................... 52

ภาพท 5.15 ฟงกชนการเชอมตอกบ Jira APIs ในการสรางทคเกตส าหรบระบบตดตามปญหา Jira 53

27

71

58

03

46

Page 14: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

ภาพท 5.16 โปรแกรม Command line แสดงผลลพธหลงจากท าการสรางทคเกตบน Jira board แลว ................................................................................................................................................. 54

ภาพท 5.17 ตวอยางทคเกตบน Jira board ทอธบายเกยวกบปญหาการใชงานแอปพลเคชน ........ 54

ภาพท 5.18 ตวอยางทคเกตทน าไปใชงานจรงไดนอย ...................................................................... 55

2

77

15

80

34

6

Page 15: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

บทท 1 บทน า

1.1 ความเปนมาและความส าคญของปญหา

ในปจจบนสมารตโฟน (Smartphone) [1] ไดเขามาเปนสวนหนงในชวตประจ าวนของคน ผคนใชสมารตโฟนในการท ากจกรรมตาง ๆ มากมาย เชน การตดตอสอสาร การถายภาพ การเชอมตออนเทอรเนตหาขอมลขาวสาร เปนตน โดยเฉพาะอยางยงการใชงานโมไบลแอปพลเคชนเพออ านวยความสะดวกตาง ๆ จาก แอปสโตร (App Store) [2] หรอ เพลยสโตร (Play Store) [3] มจ านวนเพมสงขนอยางตอเนองทงในแงของจ านวนแอปพลเคชน และยอดดาวนโหลดแอปพลเคชน กอใหเกดเมดเงนหมนเวยนในตลาดของอตสาหกรรมเทคโนโลยเปนจ านวนมหาศาล แตละบรษทพฒนาซอฟตแวรหรอนกพฒนาอสระตางแขงขนกนอยางรนแรง โดยเฉพาะในแงของคณภาพของแอปพลเคชนทใชงานตองมคณภาพด ตอบสนองตอความตองการของผใช เพอชวยใหรกษาฐานผใชงานใหคงอยเอาไวใหไดนานทสด

ในการทบรษทพฒนาซอฟตแวรหรอนกพฒนาอสระจะผลตหรอปรบปรงแอปพลเคชนใหออกมามคณภาพด ตรงตามความตองการของผใช จ าเปนทจะตองทราบถงความคดเหนของผใชงานแอปพลเคชน วามความพงพอใจ ชอบหรอไมชอบในสวนใด ความตองการฟงกชนการท างานทยงขาดอย รวมไปถงจดบกพรองตาง ๆ ทพบในระหวางการใชงานแอปพลเคชน ซงหนงในแหลงขอมลทแอปสโตรและเพลยสโตรอนญาตใหผใชงานสามารถแสดงความคดเหนเกยวกบแอปพลเคชนในรปแบบของคะแนน และความคดเหน กคอ บทวจารณของผใช (User Reviews) [4] ซงเปนสงทมาจากผใชงานโดยตรง บรษทพฒนาซอฟตแวรหรอนกพฒนาอสระสามารถทจะน าขอมลในสวนนมาใชในการวเคราะหและตดสนใจตาง ๆ เกยวกบการปรบปรงแอปพลเคชนได

เนองจากบทวจารณของผใชของแอปพลเคชนนนเปนเพยงการใหคะแนนและการแสดงความคดเหนในรปแบบของขอความเทานน ท าใหบรษทพฒนาซอฟตแวรหรอนกพฒนาอสระตองท าการอานและวเคราะหเองวาสงทผใชงานก าลงพดถงนนเปนเรองเกยวกบอะไร ประกอบกบจ านวนบทวจารณของผใชกมจ านวนมาก บางบทวจารณของผใชกไมมประโยชนตอการตดสนใจเนองจากมขอมลนอยเกนไป ท าใหเสยเวลาในสวนนไปเปนอยางมาก แทนทจะน าเวลาในสวนนไปใชในการพฒนาฟงกชน หรอแกไขจดบกพรองตาง ๆ รวมไปถงหลงจากทไดขอมลทผานการวเคราะหมาแลว ยงตองมาท าการบรหารจดการโครงการ เชน การสรางทคเกต (Tickets) ส าหรบระบบตดตามปญหา (Issue Tracking System) ซงเปนสงทตองท าในการปรบปรงแกไขแอปพลเคชนในรอบการท างานครงถดไปในการพฒนาแบบเอไจล (Agile) [5] เปนตน

จากปญหาดงกลาวขางตน ทางผวจยจงมแนวคดทจะน าทฤษฎ ความรตาง ๆ ในศาสตรทางดานปญญาประดษฐ [6] มาชวยแกปญหา เชน การท าเหมองขอมล [7] การเรยนรของเครอง [8] เปนตน มาชวยในการเกบรวบรวม วเคราะห และจ าแนกประเภทบทวจารณของผใชดงกลาววาเปนประเภทใดระหวางความตองการฟงกชนงานใหม (Feature request) หรอรายงานขอผดพลาด (Bug report) เพอชวยลดระยะเวลาทตองใชคนมาด าเนนการเอง ซงหลงจากไดโมเดลการเรยนรแลว ทางผวจยยงมแนวคดทจะสรางเครองมอทชวยในการสรางทคเกตบนระบบตดตามปญหาซงในโครงงานมหาบณฑตนหมายถง ซอฟตแวรจรา (Jira) โดยจะม

27

71

58

03

46

Page 16: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

2

การแยกประเภทของทคเกตตามประเภทของบทวจารณของผใช ชวยใหลดระยะเวลาของงานทตองท าในสวนนของการพฒนาซอฟตแวรแบบเอไจลลง และชวยสนบสนนใหบรษทพฒนาซอฟตแวรและนกพฒนาอสระในการแกไขจดบกพรองตาง ๆ ทผใชงานพบ รวมไปถงการพฒนาฟงกชนการท างานใหม ๆ ทตอบสนองตอความตองการของผใชงาน กอนทจะท าการอปเดตเวอรชนของแอปพลเคชนใหผใชงานตอไป

1.2 วตถประสงคของโครงงาน 1.2.1 เพอพฒนาโมเดลทใชจ าแนกประเภทของบทวจารณของผใชบนแอปสโตรและเพลยสโตรของแอปพลเคชนทตองการ ได 1.2.2 เพอทดสอบหาคาขดแบง (Threshold) ทมประสทธภาพสงทสดในการจ าแนกบทวจารณของผใชสองบท

วจารณใด ๆ วามความซ าซอนกนหรอไมจากการค านวณหาความคลายคลงกนเชงความหมายของบทวจารณของผใช

1.2.3 เพอพฒนาเครองมอทน าบทวจารณของผใชทจ าแนกประเภทเปน feature request และ bug report ไปสรางเปนทคเกตบน Jira โดยประเภทของทคเกตทถกสรางจะเปนไปตามประเภทของบทวจารณของผใชทจ าแนกประเภทได

1.3 ขอบเขตของโครงงาน 1.3.1 สรางโมเดลทสามารถจ าแนกประเภทของบทวจารณของผใชบนแอปสโตรหรอเพลยสโตร ออกเปนประเภท bug report หรอ feature request 1.3.2 โมเดลทจ าแนกประเภทของบทวจารณของผใชรองรบเฉพาะภาษาองกฤษเทานน 1.3.3 เครองมอทใชสราง Jira ticket จากบทวจารณของผใชตองสามารถสรางทคเกตทแยกตามประเภทของบท

วจารณของผใชทไดจากโมเดลอยางถกตองทงทคเกตประเภท bug report และทคเกตประเภท feature request

1.3.4 ฟเจอรทจะใชในการเรยนรโมเดลอยางนอย คอ rating, text (Bags of Word), user review sentiment, และฟเจอรใหม ๆ ทไดจาก Feature extraction จากบทวจารณของผใชทผวจยจะเพมเตมเขามา

1.3.5 บทวจารณของผใชใด ๆ จะถกจดใหอยในประเภทใดประเภทหนงไดเพยงประเภทเดยวเทานน 1.3.6 เครองมอทใชสราง Jira ticket จากบทวจารณของผใชสามารถรองรบการตรวจสอบทคเกตซ าซอนได 1.3.7 ขอมลบางสวนทอยภายในทคเกตจะก าหนดคาเรมตน (Default) ให เชน ความส าคญของทคเกต

(Priority) นนจะมคาเรมตนเปนปานกลาง (Medium) เทานน 1.3.8 ประเมนประสทธภาพของโมเดล โดยใชคา precision, recall, f1-score, และ accuracy 1.3.9 ในการประเมนความถกตองของเครองมอสราง Jira ticket ทใชบทวจารณของผใชแบบอตโนมตเปนขอมล

น าเขา ผวจยจะท าการตรวจสอบแบบ manual ใน dashboard ของ Jira ดวยตนเอง

27

71

58

03

46

Page 17: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

3

1.4 ขนตอนและวธการด าเนนการ 1.4.1 ศกษาทฤษฎและงานวจยทเกยวของกบการท า User Reviews Data Mining บนแอปสโตรหรอเพลยสโตร 1.4.2 ศกษาทฤษฎและงานวจยทเกยวของกบการท า Text Similarity 1.4.3 ศกษาทฤษฎและงานวจยทเกยวของกบการท า Text Summarization 1.4.4 ศกษาทฤษฎทเกยวของกบการท า Automate Jira Ticket, APIs ของ Jira ทเปดใหใชงาน 1.4.5 ศกษาภาษา Python ไลบรารทเกยวของกบการท า Data Mining และ Machine Learning 1.4.6 ท าการรวบรวมขอมลบทวจารณของผใชทแบงประเภทเรยบรอยแลวจากงานวจย [22] มาเปน Training

data และ Test data 1.4.7 ท าการเทรนโมเดลโดยใชขอมลบทวจารณของผใชทไดจากขนตอนกอนหนา 1.4.8 ทดสอบการจ าแนกประเภทบทวจารณของผใชของโมเดลทไดสรางขนโดยใชการแบงขอมลออกเปนสอง

สวน สวนแรกคอ Training data 70 % และสวนทสองคอ Test data 30 % 1.4.9 วดผลประสทธภาพในการจ าแนกประเภทบทวจารณของผใช โดยใชคา precision, recall, f1-score,

และ accuracy 1.4.10 ท าการทดสอบหาคา Threshold ทมประสทธภาพสงทสดในการจ าแนกบทวจารณของผใชสองบทวจารณ

ใด ๆ วามความซ าซอนกนหรอไมจากการค านวณหาความคลายคลงกนของบทวจารณของผใช 1.4.11 ท าการดงขอมลบทวจารณของผใชอนใหมทยงไมเคยถกตดฉลากมากอน แลวท าการแยกประเภท 1.4.12 ท าการค านวณความคลายคลงกนของบทวจารณของผใชในขอ 1.4.11 เพอกรองบทวจารณทซ าซอนออก 1.4.13 ท าการสรปความเนอหาบทวจารณของผใชทมความยาวมากจากขอ 1.4.12 เปนประโยคสน ๆ เพอใชเปน

หวขอส าหรบทคเกตทจะสรางขน รวมไปถงใชเปนรายละเอยดแบบยอในรายละเอยดของทคเกตดวย (ถาม)

1.4.14 พฒนาเครองมอทใชในการสราง Jira ticket จากบทวจารณของผใชทผานกระบวนการขอ 1.4.11, 1.4.12, 1.4.13 แลว

1.4.15 ประเมนความถกตอง ครบถวน สมบรณของ Jira ticket ใน Jira dashboard 1.4.16 จดท าและน าเสนอบทความทางวชาการ 1.4.17 สรปผลแนวทางการวจย ขอเสนอแนะ และจดท าโครงงานฉบบสมบรณ

1.5 ประโยชนทคาดวาจะไดรบ 1.5.1 ไดโมเดลการเรยนรทสามารถจ าแนกบทวจารณของผใชของแอปพลเคชนใด ๆ บนแอปสโตรหรอเพลยสโตรไดอยางม ประสทธภาพ โดยแยกเปนประเภท bug report และ feature request 1.5.2 ไดเครองมอส าหรบท าการสราง Jira ticket จากบทวจารณของผใชของแอปพลเคชนใด ๆ บนแอปสโตร

หรอเพลยสโตรแยกตามประเภทของบทวจารณของผใช 1.5.3 ชวยลดระยะเวลาในการเกบรวบรวมความคดเหน รายการความตองการของผใชงานทอยบนแอปสโตร

หรอเพลยสโตรในรปแบบของบทวจารณของผใช

27

71

58

03

46

Page 18: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

4

1.5.4 ชวยลดระยะเวลาในการสราง Jira ticket ลง สงผลใหบรษทพฒนาซอฟตแวรหรอนกพฒนาอสระสามารถมงเนนทการท าการปรบปรง แกไข เพมเตมแอปพลเคชนของตนเองใหดยงขน

1.5.5 ไดคา Threshold ทมประสทธภาพในการจ าแนกบทวจารณของผใชบนแอปสโตรหรอเพลยสโตรสองบทวจารณใด ๆ วามความซ าซอนกนหรอไมจากการค านวณหาความคลายคลงกนของบทวจารณของผใช

1.6 โครงสรางของเนอหาในโครงงานมหาบณฑต โครงงานมหาบณฑตฉบบนแบงเนอหาออกเปน 6 บทตามรายการดงตอไปน

บทท 1 บทน า บทท 2 ทฤษฎและงานวจยทเกยวของ บทท 3 การพฒนาและทดสอบประสทธภาพของโมเดลการจ าแนกประเภทบทวจารณของผใช บทท 4 การตรวจสอบความซ าซอนของบทวจารณของผใช บทท 5 การสรางทคเกตส าหรบระบบตดตามปญหาจากบทวจารณของผใช บทท 6 บทสรปโครงงานและขอจ ากดในการด าเนนการโครงงาน

27

71

58

03

46

Page 19: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

5

บทท 2 ทฤษฎและงานวจยทเกยวของ

2.1 ทฤษฎทเกยวของ 2.1.1 การเรยนรแบบมผสอน [9] การเรยนรแบบมผสอน (Supervised Learning) เปนศาสตรหนงทางดานการเรยนรของเครอง (Machine Learning) ทอยภายใตปญญาประดษฐ (Artificial Intelligence) โดยมมานานตงแตชวงป 1959 แลว แตยงไมไดรบความนยมเนองจากคอมพวเตอรในสมยนนมก าลงในการประมวลผลต า การคอมไพลเพอใหไดผลลพธออกมาใชเวลานาน หลกการของ Supervised Learning จะแตกตางจากการเขยนโปรแกรมเพอแกไขปญหาทวไป ปญหาทวไปจะแกไดโดยการเขยน Logic ไวภายในโปรแกรม หลงจากนนเมอม Input ผานเขามา logic กจะท าการประมวลผลเพอใหได Output ออกไป คอมพวเตอรเพยงแคประมวลผลตามค าสงของมนษยทไดระบไวกอนหนา แตส าหรบ Supervised Learning แลวจะกลบกนตรงทมนษยจะพยายามใหคอมพวเตอรเปนผหาค าตอบของปญหาเอาเองจาก input ทใหมา ซงกอนทคอมพวเตอรสามารถทจะตอบค าถามไดเองนน จะตองท าการสรางโมเดลการเรยนรจากขอมลในอดตทมอยแลวเสยกอนในปรมาณทเหมาะสม ตวอยางเชน การสอนใหคอมพวเตอรสามารถแยกแยะไดวาภาพทเขามาในโปรแกรมเปนภาพแมวหรอไม เรากจะท าการสอนใหคอมพวเตอรรจกภาพแมวลกษณะตาง ๆ เสยกอน โดยการใสภาพแมวเขาไปในโปรแกรมหลาย ๆ ภาพ พรอมทงระบวาภาพเหลานคอภาพแมว จากภาพท 2.1 input กคอภาพแมวหลาย ๆ ภาพ output กคอแมว ผานเขาไปในโปรแกรม หลงจากนนจะไดโมเดลทสามารถแยกแยะไดวาภาพใด ๆ เปนภาพแมวหรอไมใชภาพแมว

ภาพท 2.1 กระบวนการเทรนเพอใหไดโมเดลทตองการ [9]

ขนตอนตอมากคอการน าโมเดลทไดมาท าการทดสอบประสทธภาพ อธบายโดยองจากภาพท 2.2 ในบรบทของการท านายวาภาพสตวใด ๆ เปนภาพแมวหรอไม ไดคอท าการน าภาพสตวหลากหลายประเภทมทงแมวและไมใชแมวใสเขาไปในโปรแกรมทมโมเดลการจ าแนกประเภทอย แลวดวาคอมพวเตอรสามารถท านายวาเปนภาพแมวหรอไมใชภาพแมวไดถกตองหรอไม

27

71

58

03

46

Page 20: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

6

ภาพท 2.2 การน าโมเดลทผานการเรยนรแลวมาลองใชงานจรง [9]

2.1.2 นาอฟเบยส [10] นาอฟเบยส (Naïve Bayes) เปน Supervised Learning ประเภท Classification รปแบบหนงทไดรบความนยมเปนอยางมากในปจจบน เนองจากสามารถเทรนโมเดลโดยใชจ านวนชดของ Training data ไมมาก แตไดความแมนย าในระดบทนาพอใจ รวมถงอมพลเมนตงาย หลกการของวธการนจะใชการค านวณความนาจะเปนแบบมเงอนไขทเรยกวา Conditional Probability ซงแสดงดงสมการ (1)

𝑃(𝐴 | 𝐵) = 𝑃 (𝐴 ∩ 𝐵)

𝑃 (𝐵) (1)

โดย P(A|B) คอ คา Conditional Probability หรอคาความนาจะเปนทเกดเหตการณ B ขนกอนและจะมเหตการณ A ตามมา

P(A ∩ B) คอ คา Joint Probability หรอคาความนาจะเปนทเหตการณ A และเหตการณ B เกดขนรวมกน P(B) คอ คาความนาจะเปนทเหตการณ B เกดขน ในลกษณะเดยวกนเราจะเขยน P(B|A) หรอคาความนาจะเปนทเหตการณ A เกดขนกอนและเหตการณ B เกดขนตามมาทหลงไดเปนสมการ (2)

𝑃(𝐵 | 𝐴) = 𝑃 (𝐵 ∩ 𝐴)

𝑃 (𝐴) (2)

จากทงสองสมการจะเหนวามคา P(A ∩ B) ทเหมอนกนอย ดงนนเราสามารถเขยนสมการของ P(A ∩ B) ไดเปนดงสมการ (3) และสมการ (4)

𝑃 (𝐴 ∩ 𝐵) = 𝑃(𝐴 | 𝐵) × 𝑃(𝐵) = 𝑃(𝐵 | 𝐴) × 𝑃(𝐴) (3)

𝑃 (𝐵 | 𝐴) = 𝑃(𝐴 | 𝐵) × 𝑃(𝐵)

𝑃(𝐴) (4)

เมอน าทฤษฎของเบยมาใชในงานทางดาน Data Mining มกจะเปลยนสญลกษณ B เปน C โดยให A คอ แอตทรบวต (Attribute) และ C คอ คลาส (Class) ดงสมการ (5)

27

71

58

03

46

Page 21: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

7

𝑃(𝐶 | 𝐴) = 𝑃(𝐴 | 𝐶) × 𝑃(𝐶)

𝑃(𝐴) (5)

โดย Posterior probability หรอ P(C|A) คอ คาความนาจะเปนทขอมลทมแอตทรบวตเปน A จะมคลาส C Likelihood หรอ P(A|C) คอ คาความนาจะเปนทขอมล Training data ทมคลาส C และมแอตทรบวต A

โดยท A = a1 ∩ a2 … ∩ am โดยท m คอจ านวนแอตทรบวตใน Training data Prior probability หรอ P(C) คอ คาความนาจะเปนของคลาส C

แตการทแอตทรบวต A = a1 ∩ a2 … ∩ am ทเกดขนใน training data อาจจะมจ านวนนอยมากหรอไมมรปแบบของแอตทรบวตแบบนเกดขนเลย ดงนนจงไดใชหลกการทวาแตละแอตทรบวตเปนอสระตอกน ท าใหสามารถเปลยนสมการ P(A|C) ไดเปนสมการ (6)

𝑃(𝐴 | 𝐶) = 𝑃(𝑎1 | 𝐶) × 𝑃(𝑎2 | 𝐶) × … × 𝑃(𝑎𝑚 | 𝐶) (6)

2.1.3 เคเอนเอน [11] เคเอนเอนเปนหนงในวธการแบงกลมของขอมล อาศยหลกการทวาขอมลใหมทยงไมถกตดฉลากจะมคลาสค าตอบเปนคลาสเดยวกนกบคลาสทปรากฏมากทสดของขอมลจ านวน k ตวทอยใกลกนมากทสดในปรภมใด ๆ ซงการเลอกคา k ใหเหมาะสมมผลตอกระทบตออลกอรทม คา k ทนอยเกนไปจะท าใหความแมนย าลดลงเนองจากสนใจเพยงแคขอมลเพยงตวเดยวทอยใกลทสด หรอคา k ทมากเกนไปกจะท าใหครอบคลมพนทของขอมลทไมเกยวของมากตามไปดวย จากภาพท 2.3 ถาเลอก k = 1 จะไดวารปดาวทพจารณามคลาสค าตอบเปนวงกลมสมวง แตถาเลอก k = 3 จะไดคลาสค าตอบเปนสเขยวแทน เนองจากอยใกลวงกลมสเขยวสองวง แตอยใกลวงกลมสมวงเพยงหนงวง อลกอรทมจะเลอกคลาสทปรากฏมากทสดเปนคลาสค าตอบ

ภาพท 2.3 รปดาวจะมคลาสค าตอบเปนวงกลมสเขยวเมอใช k = 3 [11]

ส าหรบตววดทใชบอกถงความใกลไกลกนคอระยะทางระหวางขอมลสองขอมลใด ๆ ในปรภมขนาด n มต เปนดงสมการ (7)

27

71

58

03

46

Page 22: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

8

𝑑𝐸(𝑥, 𝑦) = √∑ (𝑥𝑖 − 𝑦𝑖)2𝑛𝑖=1 (7)

โดย dE(x, y) คอระยะหางระหวางขอมล x และขอมล y ในปรภมขนาด n มต n คอจ านวนมตของขอมล x และ y

2.1.4 ตนไมการตดสนใจ [12] แผนภาพตนไมจะท าการเลอกแอตทรบวตทมความสมพนธกบคลาสหรอฉลากมากทสดมาเปนโหนดแม เพอท าการแบงขอมลออกเปนกลม โดยจ านวนกลมเทากบจ านวนคาทเปนไปไดทงหมดของแอตทรบวตทเลอกมาเปนตวแบง หลงจากนนกจะท าการหาแอตทรบวตถดไปเรอย ๆ มาแบงกลมขอมลทอยในโหนดลกตอ จนกระทงในแตละกลมทแบงออกมานนมค าตอบฉลากเปนชนดเดยวกนทงหมด หรอแอตทรบวตทกตวถกใชในการแบงกลมหมดแลว กจะหยดแบงกลมขอมล ซงในการหาความสมพนธระหวางแอตทรบวตใด ๆ กบคลาสจะใชตววด คอ Information Gain (IG) ค านวณไดจากสมการ (8) และ (9)

𝐼𝐺 (𝑝𝑎𝑟𝑒𝑛𝑡, 𝑐ℎ𝑖𝑙𝑑) = 𝑒𝑛𝑡𝑟𝑜𝑝𝑦(𝑝𝑎𝑟𝑒𝑛𝑡) – [𝑝(𝑐1) × 𝑒𝑛𝑡𝑟𝑜𝑝𝑦(𝑐1) + 𝑝(𝑐2) × 𝑒𝑛𝑡𝑟𝑜𝑝𝑦(𝑐2) + … ] (8)

𝑒𝑛𝑡𝑟𝑜𝑝𝑦(𝑐1) = −𝑝(𝑐1) 𝑙𝑜𝑔 𝑝(𝑐1) (9)

เมอ P(c) คอ ความนาจะเปนทขอมลจะมแอตทรบวต c ใด ๆ อย โดยในสมการ (9) c1 หมายถงแอตทรบวตตวแรก โดยถาแอตทรบวตใดมคา Information Gain มากทสด กจะถกน ามาเปนโหนดแมส าหรบการแบงกลมขอมลในรอบนน ขอดของโมเดลการจ าแนกขอมลแบบตนไมตดสนใจ คอ ไมจ าเปนตองใชทกแอตทรบวตในการแบงกลมขอมล เพราะถาเลอกแอตทรบวตทมคา Information Gain สง ๆ หลายคา กอาจจะเพยงพอตอการแบงกลมขอมลทงหมดแลว

2.1.5 การเรยนรแบบรวม [13] การเรยนรแบบรวม (Ensemble Learning) เปนการปรบปรงประสทธภาพของโมเดลใหดยงขน ซงถกใชในการแขงขน Kaggle ทเปนงานเกยวกบ Data Science แนวคดหลก ๆ กคอ การน าโมเดลทผานการเทรนดวยอลกอรทมทแตกตางกนมาใชงานรวมกนเพอสรางเปนโมเดลใหม เนองจากโมเดลแตละแบบกจะมขอด ขอเสย ม Bias และ Variance แตกตางกนไป ดงภาพท 2.4

27

71

58

03

46

Page 23: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

9

ภาพท 2.4 ผลลพธการท านายของโมเดล เมอมคา Bias และ Variance แตกตางกนออกไป โดยจดสแดงคอคาจรง

จดน าเงนคอคาทไดจากการท านายของโมเดล [13]

ดงนนการท า Ensemble Learning กคอการหาจดทสมดลกนระหวาง Bias และ Variance ทท าใหเกดคา Error นอยทสด ดงภาพท 2.5

ภาพท 2.5 ความสมพนธระหวาง Model Complexity และคา Error ทเกดขนทเกยวของกบคา Bias และ Variance [13]

2.1.6 จราซอฟตแวร [14] จราซอฟตแวรคอโปรแกรมตดตามปญหา และจดการโครงการพฒนาซอฟตแวรทใชหลกการเอไจล จดท าขนเพอใชในการแกไขจดบกพรองของโปรแกรม ตดตามปญหา และใชในการบรหารโครงการ (Project Management) พฒนาโดยบรษท Atlassion ขอดของโปรแกรมมดงน 1) สามารถสรางชนงาน (Task) ได โดยสามารถก าหนดระยะเวลา (Estimate) หรอระดบความพยายามทใชในการพฒนา (Story Point) และสามารถมอบหมายงานใหแตละคนทอยในทมได 2) สามารถแบงรอบการท างาน (Sprint) ได ซงในแตละรอบจะสามารถวางชนงานไดใน 3 สวนคอ งานทตองท า (To Do) งานทก าลงด าเนนอย (In Progress) และงานทเสรจแลว (Done) โดยระหวางทรอบการท างานยงไมจบ สามารถทจะลากชนงานไปมาในระหวางแตละสวนไดตลอด หากมการแกไขเกดขน 3) เมอจบรอบการท างานแลว จะมแผนภมในแบบตาง ๆ (Charts) สรปผลการท างานให ตามหลกของเอไจลแลว นยมใช Burndown Chart

27

71

58

03

46

Page 24: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

10

4) ม Plug-ins และเปด APIs ใหนกพฒนาสามารถเชอมตอระบบของตนเองเขามายง Jira ได ซงผวจยจะใช APIs ของ Jira ในการท าการสรางทคเกตจากบทวจารณของผใชทไดจากการเรยนรดวยเครองแบบอตโนมต

2.1.7 ระบบตดตามปญหา [15] ระบบตดตามปญหา หมายถงระบบ ซอฟตแวร หรอโปรแกรมทเกยวของกบการบรหารจดการโครงการซอฟตแวรตาง ๆ ตงแตเรมตนการเกบรวบรวมความตองการของผใชงาน การวเคราะหความตองการของซอฟตแวร การออกแบบระบบซอฟตแวร การอมพลเมนตซอฟตแวร การทดสอบซอฟตแวร การจ าหนายซอฟตแวร รวมไปถงการบ ารงรกษาซอฟตแวรหลงจากทมการใชงานจรงแลว โดยสงทจะ Track กคอสถานะท างานของขนตอนตาง ๆ วาเปนอยางไร มความคบหนาถงสวนใดแลว โดย Issue ในทนหมายถง งานใด ๆ ทตองท าซงจะมระดบความส าคญประกอบไว นอกจากนใน Issue ยงมรายละเอยดเกยวกบก าหนดวนทตองสง รายละเอยดของงานทตองท าหรอปญหาทตองแกไข วธการแกปญหาทใช เปนตน Issue สามารถเปนไปไดหลายประเภท เชน feature request และ bug report เปนตน

2.1.8 ทคเกต [15] ทคเกต หมายถง สงทระบ (Artifact) ถงงานทตองท าในรอบการท างานใด ๆ ของการพฒนาซอฟตแวรแบบเอไจล โดยสามารถแบงประเภทของทคเกต (Issue Type) ไดดงน 1) สตอร (Story) หมายถง ค าอธบายถงความตองการในการใชงานซอฟตแวรในมมมองของผใชงาน เชน iPhone users need access to a vertical view of the live feed when using the mobile app เปนตน 2) งาน (Epic) หมายถง รายละเอยดใด ๆ ซงสามารถน าไปแตกเปนงานยอย ๆ ได 3) งานยอย (Task) หมายถง สงทตองท าเพอใหบรรลสตอรทอยภายใตงานใหญ 4) จดบกพรอง (Bug) หมายถง สงทแสดงออกมาบงบอกวาซอฟตแวรไมสามารถท างานไดอยางถกตองตามความตองการทระบไว 5) การปรบปรง (Improvement) หมายถง การพฒนาใหดขน 6) ความสามารถ (Feature) หมายถง ฟงกชนการท างานใด ๆ ทซอฟตแวรสามารถท างานเพอตอบสนองความตองการของผใชได ตวอยางสตอรดงภาพท 2.6

27

71

58

03

46

Page 25: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

11

ภาพท 2.6 สตอรทบอกวาผใชงานสามารถกดปมลมรหสผานเพอท าการรเซตรหสผานใหมได

2.1.9 โปรดกสแบลคลอก [16] โปรดกสแบลคลอก (Product Backlog) หมายถง งานใด ๆ ทถกสรางขนทตองท าในรอบการท างานใด ๆ แตยงไมถกน ามาท าในรอบการท างานปจจบน (Sprint Backlog)

2.1.10 เอไจลบอรด [17] เอไจลบอรด (Agile Board) คอ สงทระบถงภาพรวมของการท างานในรอบการท างานปจจบน โดยทวไปแลวจะอยในรปแบบตารางทบรรจไปดวยงานยอยตาง ๆ ปกตตารางจะมสามคอลมน แตอาจจะมมากกวานกไดขนอยกบการตกลงกนของผทเกยวของในโครงการซอฟตแวรใด ๆ ซงสามคอลมนหลก เปนดงน 1) To Do หมายถง คอลมนทบงบอกถงจ านวนงานยอยทยงไมไดท าในรอบการท างานปจจบน 2) In Progress หมายถง คอลมนทบงบอกถงจ านวนงานยอยทก าลงท าอยในรอบการท างานปจจบน 3) Done หมายถง คอลมนทบงบอกถงจ านวนงานยอยทท าเสรจสนแลวในรอบการท างานปจจบน โดยในระหวางรอบการท างานปจจบนนน นกพฒนาซอฟตแวรสามารถทจะท าการเคลอนยายทคเกตไปตามคอลมนตาง ๆ ตามสถานะการท างานได ตวอยางเอไจลบอรด ดงภาพท 2.7

27

71

58

03

46

Page 26: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

12

ภาพท 2.7 เอไจลบอรดทมสคอลมน คอ To Do, Blocked, In Progress, และ Done

2.1.11 ความเหมอนกนของขอความ [18] ความเหมอนกนของขอความ (Text Similarity) คอ ความคลายคลงกนของขอความสองขอความใด ๆ หลกการคอการแปลงตวอกษรทงหมดในขอความใหเปนชดของตวเลข จากนนน าชดของตวเลขสองชดใด ๆ มาท าการค านวณทางคณตศาสตรเพอใหไดผลลพธออกมาเปนตวเลขทบงบอกถงความคลายคลงกน โดยทวไปแลวผลลพธจะมคาอยระหวาง 0 ถง 1 โดย 0 หมายถงมความคลายคลงกนนอยทสด และ 1 หมายถงมความคลายคลงกนมากทสด ตวอยางวธการหา Text Similarity คอ Cosine Similarity, Euclidean Distance, Jaccard Similarity เปนตน โดย Text Similarity แบงออกเปน Syntactic Text Similarity คอ การหาความคลายคลงกนของขอความโดยไมสนใจความหมายของประโยค สนใจแตเพยงโครงสรางและล าดบของค าทเรยงกนในประโยคเทานน สวน Sematic Text Similarity คอ การหาความคลายคลงกนของขอความโดยดทความหมายของประโยคเปนหลก

2.1.12 การสกดขอความ [19] การสกดขอความ (Text Summarization) คอ การสรปความของเนอหาในยอหนาทมความยาวมาก ใหออกมาเปนประโยคทเปนตวแทนของยอหนานน ๆ โดยหลก ๆ แลวแบงออกเปนสองประเภทคอ Extractive Text Summarization และ Abstractive Text Summarization โดย Extractive Text Summarization เปนการหาประโยคทส าคญมากทสดในยอหนานน ๆ แลวน ามาเปนตวแทนโดยไมไดท าการเปลยนแปลงขอความในประโยค หลกการในการหาสวนใหญจะใชวธดจากความถของค าทแตกตางกนในยอหนาใด ๆ โดยถาประโยคใดมผลรวมของความถเฉลยของค าทแตกตางกนในยอหนามากทสด กแปลวาประโยคนน ๆ มค าทส าคญของยอหนานนอยในประโยคมาก จงนาจะเปนตวแทนของยอหนาได สวน Abstractive Text Summarization คอ การสรางประโยคใหมทสนลงแตยงคงมความหมายครอบคลมเนอหาทงหมดในยอหนานน ๆ โดยกระบวนการท าตองอาศยเรองของ Natural Language Processing, Linguistics, Deep learning มาก เพอใหไดประโยคทดทสดออกมาเปนตวแทนของยอหนา

27

71

58

03

46

Page 27: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

13

2.1.13 ยนเวอรซล เซนเทนต เอนโคดเดอร [20] Universal Sentence Encoder (USE) คอ หนงในวธการทมประสทธภาพในการแปลงตวอกษรทอยในรปแบบค า ประโยค ยอหนา หรอเอกสารใหกลายเปนเวกเตอรของจ านวนจรงทมขนาด 512 มตเทากนโดยไมขนอยกบขนาดของเอกสาร ซงถกพฒนาโดย Google และอยบนพนฐานของโมเดลสองประเภท คอ Transformer และ Deep Averaging Network (DAN) โดยทงสองโมเดลนถกเทรนดวย corpus ทมขนาดใหญ เมอตองการใช USE ใหท าการสงขอมลน าเขาเปนค า ประโยค ยอหนา หรอเอกสาร และจะไดขอมลน าออกมาเปนเวกเตอรทมขนาด 512 มต ภาพท 2.8 แสดงคณสมบตของโมเดลทงสองประเภททถกน ามาท า USE

ภาพท 2.8 คณสมบตของโมเดลแตละประเภททถกน ามาท า Universal Sentence Encoder [20]

2.1.14 โคซายน ซมลารต [21] Cosine Similarity คอ เมตรกทใชในการวดความใกลกนของสองขอมลใด ๆ โดยไมขนอยกบขนาดของขอมล เชน การหาความคลายกนของสองขอความ วธการคอ น าเวกเตอรของสองขอมลใด ๆ ทอยในปรภม n มต มาท าการ dot product เพอหาคามมทสองเวกเตอรใด ๆ กระท าตอกน โดยถามมมคานอยหมายถงสองเวกเตอรมความใกลกน แตถามมมคามากหมายถงสองเวกเตอรอยหางกน โดยสามารถหาคา Cosine ของสองเวกเตอรใด ๆ ไดดงสมการ (10)

cos 𝜃 = ∑ 𝑎𝑖𝑏𝑖

𝑛𝑖=1

√∑ 𝑎𝑖2𝑛

𝑖=1 √∑ 𝑏𝑖2𝑛

𝑖=1

(10)

เมอ cos 𝜃 คอ คา Cosine ระหวางสองเวกเตอรใด ๆ

27

71

58

03

46

Page 28: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

14

a คอ เวกเตอรทหนง b คอ เวกเตอรทสอง n คอ จ านวนมตของเวกเตอร

2.2 งานวจยทเกยวของ 2.2.1 Bug Report, Feature Request, or Simply Praise? On Automatically Classifying App Reviews [22] งานวจยนไดน าเสนอประเภทของบทวจารณของผใชทเกบรวบรวมมาจากแอปสโตรและเพลยสโตร แลวใชเทคนคทาง Data Mining และ Machine Learning เพอจดประเภทของบทวจารณของผใชออกมาเปนกลม ตวอยางเทคนคทใช เชน Text Classification, Natural Language Processing, Sentiment Analysis เปนตน โดยสามารถแบงบทวจารณของผใชออกไดเปน 4 ประเภท ดงน 1) รายงานจดบกพรอง (Bug Reports) 2) รายการความตองการทางฟงกชนการท างาน (Feature Requests) 3) ประสบการณการใชงานแอปพลเคชน (User Experiences) 4) ความพงพอใจในการใชงาน (Ratings) โดยเพอใหมนใจวาผลลพธการแบงกลมทไดมความถกตองสง ทางกลมผวจยไดเลอกบทวจารณของผใชบนแอปสโตรและเพลยสโตร มาอยางละ 2,200 ความคดเหนตามล าดบ โดยมทงเลอกแบบสม และเลอกแบบเจาะจง มาใหผมประสบการณดานเขยนโปรแกรมบอกวาบทวจารณของผใชนเปนบทวจารณประเภทใด โดยหนงบทวจารณของผใชจะถกระบโดยคนสองคน แลวเอาผลลพธมาเปรยบเทยบกนวาไดประเภทของบทวจารณของผใชตรงกนหรอไม ถาไมตรงกนเพราะสาเหตใด โดยท าผานเครองมอการตดฉลากททางผวจยไดพฒนาขนและคมอส าหรบการรวว ซงหลงจากไดบทวจารณของผใชทถกระบประเภทเรยบรอยมาทงสน 4,400 ความคดเหนแลว ผวจยไดท าการแบงขอมล 70 % มาเปน Training set เพอท าการเทรนโมเดลดวยเทคนคตาง ๆ ทกลาวไปแลวขางตน และขอมล 30 % เปน Test set เพอใชส าหรบวดผลโมเดลทผานการเทรนมาวามประสทธภาพมากนอยเพยงใด ซงผลลพธทไดคอ คา precision ประมาณ 70-95 % และคา recall ประมาณ 80-90% นอกจากนยงมการน าคา f1-score มาชวยในการเปรยบเทยบประสทธภาพของโมเดลอกดวย ดงภาพท 2.9 ภาพท 2.9 การเปรยบเทยบประสทธภาพของโมเดลโดยใชเทคนคของ Naïve Bayes ตาง ๆ กบบทวจารณของผใช

บนแอปสโตรและเพลยสโตรทไดเลอกมา [22]

27

71

58

03

46

Page 29: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

15

ผวจยจะน าขอมลบทวจารณของผใชทงานวจยนใชมาเปน Training set เนองจากมการท าฉลากไวแลว ขอมลมความนาเชอถอเนองจากม methodology ในการตดฉลากทรดกม เพอใชเปนขอมลน าเขาไปในการเรยนรแบบ Supervised Learning ใหกบโมเดล และใชเปนประเภทของบทวจารณของผใชทโครงงานมหาบณฑตจะท าการแยกประเภท รวมทงเลอกวธการจดประเภทบทวจารณของผใชทมประสทธภาพสงทสดของงานวจยน เพอน ามาเปรยบเทยบกบวธการจดประเภทของบทวจารณของผใชในโครงงานมหาบณฑต ขอแตกตางระหวางงานวจยนกบโครงงานมหาบณฑต คอ งานวจยนมงเนนไปทการจดประเภทของบทวจารณของผใชวามประเภทอะไรบาง โดยใชเทคนค วธการ และอลกอรทมตาง ๆ ทาง Data Mining และ Machine Learning แลวน าผลลพธทไดมาเปรยบเทยบกนวาวธการใดใหผลลพธไดมประสทธภาพมากทสดในการจดประเภทบทวจารณของผใช นอกจากนยงแนะน าถงประโยชนของการน าผลลพธทจดประเภทไดไปใชงานในการสรางเครองมอวเคราะหการใชงานแอปพลเคชนของผใชงาน เชน การเลอกจ านวน bug report ทงหมดออกมาเพอสงตอใหนกพฒนาท าการแกไข เปนตน สวนโครงงานมหาบณฑตมงเนนไปทการจดประเภทของบทวจารณของผใช ใหอยในกลม feature request และ bug report ใหไดอยางแมนย า มประสทธภาพสง เพอน าไปสรางเปนทคเกตบน Jira โดยประเภทของ Issue ในทคเกตจะเปนไปตามประเภทของบทวจารณของผใชทจดกลมได

2.2.2 Mobile App Evolution Analysis based on User Reviews [23] งานวจยนไดศกษาเกยวกบการน าบทวจารณของผใชงานแอปพลเคชนจากบนสโตรมาท าการวเคราะหถงแนวโนมความคดเหนของผใชงานทมตอแอปพลเคชน ผใชงานชอบหรอไมชอบแอปพลเคชนในเรองใดบาง เชน ฟงกชนการท างาน ความยากงายในการใชงาน จดบกพรองตาง ๆ ทพบในแอปพลเคชน รวมไปถงฟงกชนการท างานทตองการใหมการเพมหรอปรบปรงใหดขน เปนตน โดยวเคราะหในระดบแตละเวอรชนของแอปพลเคชน และน าผลทไดมาเปรยบเทยบกนวา กอนอปเดตแอปพลเคชนและหลงอปเดตแอปพลเคชน ผใชงานมความชอบหรอไมชอบในเรองใดเปลยนแปลงไปบาง และไดเลอกแอปพลเคชนบนระบบปฏบตการแอนดรอยดทชอวา Whatsapp จากเพลยสโตรมาท าการทดลอง เวอรชนของแอปพลเคชนทใชสงเกตมการอปเดตแบบ major ทงสน 7 ครง และ minor 39 ครง ระยะเวลาอยระหวางเดอนกนยายนป 2016 ไปจนถงเดอนสงหาคมป 2017 ดงภาพท 2.10

ภาพท 2.10 ตวอยางกราฟการจดกลมความคดเหนของผใชงานโดยใชโมเดลของผวจยของแอปพลเคชนแอนดรอยด

Whatsapp ทมการอปเดต major ทงสน 7 ครง และ minor 39 ครง [23]

27

71

58

03

46

Page 30: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

16

ผวจยไดใชทฤษฎ Data Mining และ Machine Learning มาท าการกรอง จดกลม วเคราะห และหาความสมพนธของขอมลหลายทฤษฎ เชน Natural Language Processing, Sentiment Analysis, Supervised Learning, Naïve Bayes Classifier, Latent Dirichlet Allocation โดยเฉพาะในการหาความสมพนธระหวางบทวจารณของผใชสองบทวจารณใด ๆ ทางผวจยไดปรบปรง Jaccard Similarity โดยน าทฤษฎของความนาจะเปนมาประยกตใช เรยกวา Jaccard Extended Similarity ซงหลกการส าคญของงานวจยนคอการจดกลมขอมลเปนสองกลมหลก ๆ คอ ความคดเหนเชงบวก และความคดเหนเชงลบ แลวน าแตละกลมมาท าการวเคราะห รวมถงจ าแนกประเภทบทวจารณของผใชวาเปนประเภทตองการฟงกชนการท างานใหม ตองการใหแกไขจดบกพรอง ตองการใหประสบการณใชงานงายขน ตองการใหแกไขจดบกพรองใด ๆ และอน ๆ อกมากมาย รวมไปถงมการน าโมเดลการจดกลมและวเคราะหขอมลทไดคดคนขนไปท ากรณศกษาอกดวย ผวจยจะน าทฤษฎ Naïve Bayes ทงานวจยนใชในการจ าแนกประเภทของความคดเหนวาเปนความคดเหนเชงบวก หรอความคดเหนเชงลบ มาใชจ าแนกประเภทของบทวจารณของผใชในโครงงานมหาบณฑตเชนเดยวกน สงทแตกตางกนระหวางงานวจยนกบโครงงานมหาบณฑต คอ งานวจยนสนใจศกษาเกยวกบภาพรวมและแนวโนมของบทวจารณของผใชงานแอปพลเคชนแอนดรอยดทชอวา Whatapps กอนและหลงอปเดตเวอรชนซอฟตแวร ในขณะทโครงงานมหาบณฑตสนใจเกยวกบการจดประเภทของบทวจารณของผใชแอปพลเคชนใด ๆ และน าไปสรางเปนทคเกตบน Jira โดยประเภทของ Issue ในทคเกตจะเปนไปตามประเภทของบทวจารณของผใชทโมเดลจ าแนกได

2.2.3 What Do Mobile App Users Complain About? [24] งานวจยนท าการศกษาเกยวกบประเภทของบทวจารณเชงลบของผใชงานแอปพลเคชน iOS บนแอปสโตรวามอะไรบาง โดยท าการจดล าดบความส าคญเอาไวดวยเพอประโยชนในการเลอกพจารณาบทวจารณเชงลบกลมทมผลตอภาพรวมของแอปพลเคชนมากทสด เพอจะไดรบท าการแกไขโดยเรว เพราะบางบรษทอาจจะมทรพยากรหรอบคลากรทางดาน Quality Assurance จ ากด จงตองบรหารจดการใหด งานวจยนเลอกแอปพลเคชนบนแอปสโตรทครอบคลมทกหมวดหมของแอปพลเคชนมากทสดมา 20 แอปพลเคชน แบงเปนกลมท rating เฉลยมากกวาหรอเทากบ 3.5 จ านวน 10 แอปพลเคชน และกลมท rating เฉลยนอยกวา 3.5 จ านวน 10 แอปพลเคชน หลงจากนนท าการเกบรวบรวมเฉพาะบทวจารณของผใชงานแตละแอปพลเคชนทใหหนงหรอสองดาว เพราะบทวจารณทไดหนงหรอสองดาว มกจะมค าอธบายหรอการพดถงทคอนขางมประโยชนในการน ามาจดกลม กลมผวจยกจะท าการตรวจสอบบทวจารณโดยอาศยการอาน ท าความเขาใจ และแบงประเภทของบทวจารณดวยตนเอง ซงจะท าไลทละแอปพลเคชนไปเรอย ๆ ถาพบหมวดหมใหม กจะมการบนทกเพมเขาไป สดทายไดผลลพธทงสน 13 ประเภทเรยงตามล าดบความถทพบ ดงภาพท 2.11

27

71

58

03

46

Page 31: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

17

ภาพท 2.11 ประเภทบทวจารณเชงลบของผใชงานแอปพลเคชนบนแอปสโตร โดยจดล าดบตามความถของการพบ

ปญหาจากมากไปนอยทงสน 13 ประเภท [24]

จากตารางท 3.2 ดานบน จะพบวา Functional Error, Feature Request, App Crashing เปนความคดเหนเชงลบสามล าดบแรกทผใชงานพดถงมากทสด โดยรวมกนแลวครอบคลมกวา 50 % ของบทวจารณเชงลบทงหมด งานวจยนไมไดท าการ Train Classification Model แตอยางใด เพยงแตใชวธการเกบขอมลปกต จากนนน าหลกการทางสถตมาจดอนดบเรองทคนพดถงในแงลบมากทสด 13 อนดบแรก ซงกระบวนการตงแตตนจนจบกระท าโดยกลมผวจยแบบ manual เอง สงทแตกตางกนระหวางงานวจยนกบโครงงานมหาบณฑต คอ งานวจยนไมไดใชศาสตรทางดาน Data Mining หรอ Machine Learning มาจดประเภทของบทวจารณของผใช ไมไดมการน าองคความรทวเคราะหไดไปตอยอดในเชงอตสาหกรรม ซงโครงงานมหาบณฑตจะครอบคลมทงในสองสวนน คอ การจดประเภทของบทวจารณของผใชโดยใชศาสตรทางดาน Data Mining และ Machine Learning และน าไปสรางทคเกตบน Jira เพอชวยลดระยะเวลาในการสรางทคเกตใหบรษทพฒนาซอฟตแวรหรอนกพฒนาอสระทใชวงจรการพฒนาแบบเอไจลได

2.2.4 App Store Mining is Not Enough [25] งานวจยนไดส ารวจเกยวกบบทวจารณของผใชงานแอปพลเคชน iOS ทไมไดอยบนแอปสโตร แตอยบน Social Media อน ๆ และเพลยสโตร ตวอยาง Social Media ทมจ านวนผใชงานและจ านวนบทวจารณสง คอ ทวตเตอร (Twitter) เปนตน โดยผวจยระบวา การส ารวจบทวจารณของผใชงานแอปพลเคชนเพอดถงสงทผใชงานตองการเพม หรอสงทตองการใหแกไขบนแอปสโตรอยางเดยวนนไมเพยงพอ เนองจากผใชงานบางคนไมไดมาให

27

71

58

03

46

Page 32: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

18

คะแนนและแสดงความคดเหนในแอปสโตร แตไดไปโพสตผานทวตเตอรแทน จงมความเปนไปไดสงวาขอมลการ Tweets จะมความส าคญและสมพนธกบขอมลทอยบนแอปสโตรดวย ผวจยไดท าการเลอกแอปพลเคชนบนแอปสโตรมา 70 แอปพลเคชน หลงจากนนจงไปท าการ Mining Tweets และบทวจารณบนเพลยสโตรทเกยวของกบทง 70 แอปพลเคชน ภายในระยะเวลาหกสปดาห เพอดวามบทวจารณของผใชใดบาง ทมความเกยวของกบบทวจารณของผใชงานบนแอปสโตร หรอบทวจารณของผใชใดบางทปรากฏบนทวตเตอรหรอเพลยสโตร แตไมปรากฏบนแอปสโตร โดยใชหลกการ Cosine Similarity วเคราะหบทวจารณของผใชสองบทวจารณใด ๆ บนทวตเตอร แอปสโตร และเพลยสโตร วาถามคามากกวา 0.6 แปลวา บทวจารณของผใชอนนปรากฏจากทงสองแหลงขอมลใด ๆ ทน ามาเปรยบเทยบกน หลงจากนนจงท าการตรวจสอบโดยใหคนมาท าการวเคราะหแบบ manual อกครงหนง จากภาพท 2.12 พบวา 1) มจ านวน feature request 22.4 % และ bug report 12.89 % ทปรากฏบนทวตเตอรหรอเพลยสโตร แตไมปรากฏบนแอปสโตร 2) Feature request 43.51 % และ bug report 56.61 % ทปรากฏบนทวตเตอรและเพลยสโตร แตไมปรากฏบนแอปสโตรตามล าดบ จากขอมลดงกลาวจงท าใหผวจยสรปวาบทวจารณของผใชงานทอยบนแอปสโตรเพยงอยางเดยวไมเพยงพอ จ าเปนตองใชขอมลจากแหลงอนเพอท าใหการปรบปรงคณภาพของแอปพลเคชนดยงขน

ภาพท 2.12 เปรยบเทยบจ านวน feature request และ bug report ของทง 70 แอปพลเคชนทผวจยไดเลอกมา

แยกตามแหลงทมาของขอมล คอ ทวตเตอร สโตร ทงทวตเตอรและสโตร และ % แสดง feature request กบ bug report ทพบเฉพาะบนทวตเตอร [25]

งานวจยนไดใช Naïve Bayes ในการแยกประเภทของบทวจารณของผใชบนแอปสโตร เพลยสโตร และ

ทวตเตอร วาเปน feature request หรอ bug report หรออน ๆ ซงโครงงานมหาบณฑตกจะใช Naïve Bayes เชนเดยวกน เนองจากมประสทธภาพสง ในขณะทใช Training data ในปรมาณทไมไดมากจนเกนไป นอกจากนงานวจยนไดใช Support Vector Machine เนองจากมประสทธภาพดกวา Decision Tree สามารถกรองบทวจารณของผใชบนทวตเตอรทไมเกยวของออกไปไดดกวา สงทแตกตางกนระหวางงานวจยนกบโครงงานมหาบณฑตคอ งานวจยนมงเนนเรองเกยวกบวามบทวจารณของผใชใด ๆ ทปรากฏบนแหลงอน ๆ นอกจากแอปสโตร เชน ทวตเตอร เพลยสโตร เปนตน ไมไดมการท าเครองมอ

27

71

58

03

46

Page 33: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

19

ชวยในการจ าแนกประเภทของบทวจารณของผใชบนแอปสโตร เพลยสโตร หรอทวตเตอรแตอยางใด แตโครงงานมหาบณฑตจะมงเนนทการจ าแนกประเภทของบทวจารณของผใชบนแอปสโตรและเพลยสโตร และการสรางทคเกตของ Jira โดยประเภทของ Issue จะขนอยกบประเภทของบทวจารณของผใชทโมเดลจ าแนกประเภทได

2.2.5 AR-Miner: Mining Informative Reviews for Developers from Mobile App Marketplace [26] งานวจยนไดกลาวถงประเดนทตลาดแอปพลเคชนนนเตบโตอยางรวดเรวมาก ในแตละปมผใชงานสมารตโฟน เพมขนเปนจ านวนมาก จ านวนแอปพลเคชนบนสโตรทถกดาวนโหลดจากผใชงานกเพมขน ซงหลงจากผใชงานไดทดลองใชงานแอปพลเคชนแลว กจะมาใหคะแนนและแสดงความคดเหนในชองทางบนสโตร ซงคะแนนและความคดเหนเหลานเปนสงทมประโยชนตอนกพฒนาแอปพลเคชนเปนอยางมาก เพราะชวยใหทราบถงสงทด สงทไมดทตองปรบปรงเพอใหผใชงานพงพอใจมากทสด ปญหาทเกดตามมาคอ นกพฒนาไมรวาควรจะปรบปรงขอเสยของแอปพลเคชนดานใด เพอใหผใชงานโดยรวมมความพงพอใจมากทสด เนองจากปรมาณขอมลมจ านวนมาก ประกอบกบขาดเครองมอในการวเคราะหแบบอตโนมต ทางกลมผวจยจงไดท าการพฒนาเครองมอทชอวา App Reviews Miner (AR-Miner) ขนมา โดยจดประสงคหลกกเพอจดอนดบกลมของความคดเหนทมผลกระทบตอผใชงานโดยรวมมากทสด ซงมขนตอนการท างานหลก ๆ ดงน 1) ใช Expectation Maximization for Naive Bayes (EMNB) ซงเปน Semi-Supervised Learning ประเภทหนง ท าการกรองขอมลทไมสมบรณ และไมเกยวของออก โดยจ าแนกประเภทของบทวจารณออกเปนสองกลม คอ Informative และ Uninformative เพอน าโมเดลทไดมากรองใหเหลอเฉพาะบทวจารณทมประโยชนตอการพฒนาซอฟตแวร คอ Informative 2) ใช K-Means เพอท าการจดกลมประเภทของบทวจารณทมลกษณะคลายกนไวดวยกนบนสมมตฐานทวาหนงบทวจารณของผใชใด ๆ จะถกจดกลมใหอยไดเพยงแคกลมเดยวเทานน 3) ใช LDA เพอท าการจดกลมประเภทของบทวจารณทมลกษณะคลายกนไวดวยกน โดยหนงบทวจารณใด ๆ สามารถถกจดใหอยไดมากกวาหนง Topic ได เนองจากบางครงบทวจารณของผใชทมลกษณะยาว จะมการอธบายผสมกนทง feature request และ bug report หรออน ๆ ได 4) จดล าดบความส าคญของแตละกลมความคดเหนและท าการวดผล 5) แสดงผลกลมของความคดเหนทมความส าคญเรยงตามล าดบจากมากไปนอยในรปแบบทสวยงาม งายตอนกพฒนาในการท าความเขาใจ ดงภาพท 2.13

27

71

58

03

46

Page 34: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

20

ภาพท 2.13 การแสดงผลของ AR-Miner ของกลมความคดเหน 10 กลมแรกทมความส าคญมากทสดของแอปพลเคชน SwiftKey โดย Keyword “more theme” ถกจดเปนอนดบหนง [26]

กลมผวจยไดใชเครองมอ AR-Miner ทพฒนาขน มาทดลองเพอทจะท าการวดประสทธภาพของเครองมอ กบแอปพลเคชน Android ทมจ านวนบทวจารณของผใชมากทงสน 4 แอปพลเคชน คอ SwiftKey, Facebook, TempleRun 2, TapFish โดยใชคา precision, recall รวมทง f1-score เปนตววดประสทธภาพ และนอกจากนยงไดน าไปเทยบกบ forum การแสดงความคดเหนออนไลนของ SwiftKey ทเปดใหผใชงานสามารถแสดงความคดเหนตอแอปพลเคชนได โดยผลการทดลองทไดคอ เครองมอ AR-Miner นนชวยลดงานทตองใชคนท าลงไดเปนอยางมาก รวมทงใหผลลพธทมประสทธภาพสงกวา นอกจากนยงพบ feature request บางอยางทไมพบจากการรวบรวมขอมลแบบ manual อกดวย โครงงานมหาบณฑตจะน าแนวคดของงานวจยนไปใชเปนแนวคดในการท าเครองมอเกยวกบบทวจารณของผใช แตแตกตางกนตรงทงานวจยนสรางเครองมอวเคราะหบทวจารณของผใช แลวน าเสนอออกมาในรปแบบทงายตอการท าความเขาใจ แตเครองมอของโครงงานมหาบณฑตทจะพฒนาขนนจะเปนการสรางทคเกต Jira จากบทวจารณของผใช โดยประเภทของ Issue ขนอยกบประเภทของบทวจารณของผใชทโมเดลจ าแนกได

2.2.6 Automatically Create Jira Issue from Firebase Crashlytics [27] บทความนไมใชงานวจยตพมพ แตกลาวถงการน า Jira มาใชงานรวมกบ Firebase Crashlytics ซงเปนความรวมมอกนทางธรกจระหวาง Atlassian ซงเปนเจาของ Jira และ Google ทเปนเจาของ Firebase Crashlytics ทงน Firebase Crashlytics คอ ไลบรารทสามารถน าไปตดตงไวในโมไบลแอปพลเคชนและเวบไซตได เมอโมไบลแอปพลเคชนหรอเวบไซตเกดการปดตวลงอยางกะทนหน (Crash) ตว Firebase Crashlytics จะท าการสรางบนทกรายงานจดบกพรองทระบรายละเอยดเกยวกบจดทเกดปญหาขน เชน ชอไฟล และหมายเลขบรรทดของโคดทเกดปญหา เปนตน เกบไวใน Firebase Console ซงนกพฒนาสามารถเขามาดรายละเอยดในภายหลงได พรอมทงมการแจงเตอนทางอเมลดวย

27

71

58

03

46

Page 35: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

21

ภาพท 2.14 ตวอยางทคเกตประเภท bug ทถกสรางใน Jira จาก Firebase Crashlytics ทท าการเชอมตอกบ APIs ของ Jira [27]

ทาง Atlassian และ Google ตองการใหการท างานของบรษทพฒนาซอฟตแวรหรอนกพฒนาอสระนน

ราบรนมากยงขน โดยเลงเหนวาสวนใหญบรษทพฒนาซอฟตแวรหรอนกพฒนาอสระนยมใช Jira เปนเครองมอในการบรหารจดการโครงการซอฟตแวรแบบเอไจลอยแลว ดงนนเมอเกดจดบกพรองจนท าใหโมไบลแอปพลเคชนหรอเวบไซตปดตวลงอยางกะทนหน Google จะท าการเรยก APIs ของ Jira เพอท าการสราง Issues ขนในเอไจลบอรด โดยกระบวนการทงหมดเปนไปอยางอตโนมต เพยงแคนกพฒนาตดตงไลบราร Firebase Crashlytics ลงไป และไปท าการตงคาใน Jira กบ Firebase Console เลกนอย ตวอยาง Issue ทถกสรางจาก Firebase Crashlytics เขาไปท Jira เปนดงภาพท 2.14 ซงผวจยจะน าแนวทางการเชอมตอระหวาง Jira กบ Firebase Crashlytics มาสรางเปนเครองมอทสามารถสรางทคเกตแยกตามประเภทของบทวจารณของผใช โดยท าการเรยกใชงาน APIs ของ Jira เพอสงคาพารามเตอรเขาไปเชนเดยวกบท Firebase Crashlytics ท า

2.2.7 Recommending and Localizing Change Requests for Mobile Apps based on User Reviews [28] งานวจยนไดท าการจดกลมบทวจารณของผใชทมลกษณะคลายกนใหอยในกลมเดยวกน จากนนท าการระบบทวจารณของผใชทเกยวกบจดบกพรองตาง ๆ ทรวบรวมมาได เพอบอกวาโคดไฟลใด ฟงกชนใด ทมสวนเกยวของกบจดบกพรองนน ๆ องคความรทใชหลก ๆ จะเปนเรอง Natural Language Processing และ Clustering Algorithms ตาง ๆ ซงหลงจากไดผลลพธออกมาแลว งานวจยนไดท าการสรางเครองมอทชอวา CHANGEADVISOR โดยมฟงกชนการท างานดงน

27

71

58

03

46

Page 36: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

22

1) แยกประเภทของบทวจารณของผใชประเภท maintenance ออกมาได 2) จดกลมบทวจารณของผใชทมลกษณะคลายกนใหอยกลมเดยวกนได 3) บอกไดวาไฟล และฟงกชนใด ทท าใหเกดจดบกพรองขน โดยองขอมลจากบทวจารณของผใช และซอรซโคดทตองอปโหลดเขาไปในเครองมอ ผวจยจะน าวธการท า Data Cleansing ของงานวจยนมาใชในโครงงานมหาบณฑต เนองจากมหลายขนตอน และมความละเอยดสง ซงจะกลาวตอไปในบทถด ๆ ไป ขอแตกตางระหวางงานวจยนกบโครงงานมหาบณฑต คอ งานวจยนสรางเครองมอทชวยระบไดวาโคดไฟลใด ฟงกชนอะไรทท าใหเกดจดบกพรองขนโดยองขอมลจากบทวจารณของผใชและซอรซโคดทอปโหลดใหกบเครองมอ สวนเครองมอทจะพฒนาในโครงงานมหาบณฑตจะท าหนาทสรางทคเกต Jira แยกประเภท Issue ตามประเภทของบทวจารณของผใชแบบอตโนมต

2.2.8 Ensemble Methods for App Review Classification: An Approach for Software Evolution [29] งานวจยนเปนการรวบรวมบทวจารณของผใชเพอท าการแยกประเภทเปน bug report, feature strength, feature shortcoming, user request, praise, complaint, และ usage scenario โดยท าการรวบรวมบทวจารณของผใชจาก 7 แอปพลเคชนดงภาพท 2.15 แลวน ามาตดฉลากใหกบแตละบทวจารณเพอเปนชดขอมลเรยนรและชดขอมลทดสอบใหกบโมเดลและท าการวดประสทธภาพของโมเดลทงโมเดลแบบเดยว เชน Naïve Bayes, Support Vector Machine, Logistic Regression, Neural Network และโมเดลแบบรวม คอ Ensemble models โดยใชคา precision, recall, และ f1-score ไดผลลพธเปนดงภาพท 2.16 โดยพบวาโมเดลแบบรวม มประสทธภาพในการจ าแนกบทวจาณของผใชสงกวาโมเดลแบบเดยว ซงโมเดลทมประสทธภาพสงทสดไดคา precision 0.74, recall 0.59, และ f1-score 0.64

ภาพท 2.15 ขอมลแตละแอปพลเคชนทเกบรวบรวมจากบทวจาณของผใชและท าการตดฉลากแลว [29]

ภาพท 2.16 คาประสทธภาพทไดจากชดขอมลทดสอบโดยใชโมเดลการจ าแนกประเภทแบบเดยว และโมเดลแบบ

รวม [29]

27

71

58

03

46

Page 37: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

23

บทท 3 การพฒนาและทดสอบประสทธภาพโมเดลการจ าแนกประเภทบทวจารณของผใช

แนวคดงานวจยนแบงเปนสามขนตอนหลกดงภาพท 3.1 โดยขนตอนแรกเปนการพฒนาและทดสอบประสทธภาพโมเดลการจ าแนกประเภทบทวจารณของผใชซงรบขอมลน าเขาเปนบทวจารณของผใชทตดฉลากแลวจากงานวจย [22] ไดผลลพธออกมาเปนโมเดลการจ าแนกประเภทบทวจารณของผใชสองโมเดลทมประสทธภาพมากทสด ขนตอนทสองเปนการตรวจสอบความซ าซอนของบทวจารณของผใชโดยมการรวบรวมขอมลส าหรบท าการทดลองเพอหาคาขดแบงทมประสทธภาพมากทสดในการระบวาบทวจารณซ าซอนหรอไม ผลลพธทไดออกมาคอคาขดแบงทเหมาะสมมากทสด และขนตอนสดทายเปนการวเคราะหบทวจารณของผใชใหมเพอจ าแนกประเภทบทวจารณวาเปนประเภท bug report หรอ feature request มการสรางเครองมอโปรแกรม Command line เพอรวบรวมบทวจารณ ท าการจ าแนกประเภท ตรวจสอบบทวจารณซ าซอน และท าการเชอมตอกบจราเพอสรางเปนทคเกตบนจราบอรด โดยเนอหาในบทนจะอธบายเกยวกบขนตอนการใหไดมาซงโมเดลการจ าแนกประเภทของบทวจารณของผใชทสามารถจ าแนกประเภทของบทวจารณไดเปน bug report หรอ feature request ไดอยางมประสทธภาพ โดยขนตอนการด าเนนงานทงหมดแบงไดทงสน 4 ขนตอน ดงน

3.1 ขนตอนการเกบรวบรวมบทวจารณของผใชตวอยาง 3.2 ขนตอนการพฒนาโมเดลเพอจ าแนกประเภทของบทวจารณของผใช 3.3 ขนตอนการเปรยบเทยบประสทธภาพของโมเดลการจ าแนกประเภทของบทวจารณของผใช 3.4 ขนตอนการน าออกโมเดลเพอใชในการจ าแนกประเภทของบทวจารณของผใช โดยภาพท 3.1 สวนทไฮไลทแสดงขนตอนการด าเนนงานแบบละเอยดของบทน

ภาพท 3.1 ขนตอนการด าเนนงานแบบละเอยดของการพฒนาและทดสอบประสทธภาพโมเดลการจ าแนกประเภทบทวจารณของผใช

27

71

58

03

46

Page 38: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

24

3.1 ขนตอนการเกบรวบรวมบทวจารณของผใช ขนตอนนจะเปนการเกบรวบรวมบทวจารณของผใชตวอยางทไดท าการแยกประเภทไวแลวมาเปน Training data และ Test data เพอเปนการประหยดเวลาในการตดฉลากใหกบบทวจารณของผใชแบบ manual รวมไปถงเรองของความนาเชอถอของขอมล ท าใหผวจยเลอกใชขอมลชดเดยวกบงานวจยท 2.2.1 [22] ซงไดเปดใหสามารถดาวนโหลดขอมลบทวจารณของผใชไดฟร ม 4,400 บทวจารณอยในรปโครงสรางแบบ JSON โดยสามารถโหลดไดจาก https://mast.informatik.uni-hamburg.de/app-review-analysis/ ดงภาพท 3.2

ภาพท 3.2 หนาเวบไซตของกลมผจดท างานวจยท 2.2.1 ทเปดใหดาวนโหลดขอมลบทวจารณของผใชทถกตดฉลากแลว [22]

หลกการจ าแนกประเภทบทวจารณของผใชจะอางองตามงานวจยท 2.2.1 ซงไดน าเสนอคมอการจ าแนก

ประเภทบทวจารณของผใชโดยสามารถดาวนโหลดไดจาก https://mobis.informatik.uni-hamburg.de/wp-content/uploads/2015/03/Data-and-Coding-Guide-.zip ซงมค าอธบายของบทวจารณของผใชประเภท bug report และ feature request ดงน 1) Bug report ผใชงานอธบายถงปญหาทพบในการใชงานแอปพลเคชน พฤตกรรมการท างานทไมเหมาะสมของฟงกชนการท างานใด ๆ หรอทงแอปพลเคชนโดยรวม เชน “Uploading is not working with the iOS6” “Every time I launch the app, it crashes” “After the new update, my mobile freezes after I've been using the app for a few minutes” “I lost all my phone contacts. Great, thank you!”

27

71

58

03

46

Page 39: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

25

2) Feature request ผใชงานอธบายถงฟงกชนการท างาน รายละเอยดของแอปพลเคชนทขาดหายไปหรอฟงกชนเดมทมอยแลว แตตองการใหมการปรบปรงใหดยงขน เชน “It would be great if we could copy and paste text” “Great app, only one suggestion, it would be great if it allowed for daily flow values.” “I wish you could add a link that would allow me to share the information with my Facebook friends”

บทวจารณของผใชทรวบรวมไดจากงานวจยท 2.2.1 จะถกแบงออกเปนสประเภท คอ bug report, not bug report, feature request, และ not feature request ตวอยางบทวจารณของผใชและขอมลอน ๆ ทเกยวของถกเกบอยในรปแบบ JSON ดงภาพท 3.3, 3.4, 3.5, และ 3.6 แสดงถง bug report, not bug report, feature request, และ not feature request ตามล าดบ

ภาพท 3.3 ตวอยางบทวจารณของผใชประเภท bug report

27

71

58

03

46

Page 40: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

26

ภาพท 3.4 ตวอยางบทวจารณของผใชประเภท not bug report

ภาพท 3.5 ตวอยางบทวจารณของผใชประเภท feature request

27

71

58

03

46

Page 41: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

27

ภาพท 3.6 ตวอยางบทวจารณของผใชประเภท not feature request

3.2 ขนตอนการพฒนาโมเดลเพอจ าแนกประเภทของบทวจารณของผใช ในขนตอนนจะเปนการน าบทวจารณของผใชทรวบรวมไดจากขอ 3.1 มาท าการทดลองแยกประเภทของบทวจารณของผใชเปน bug report หรอ not bug report และ feature request หรอ not feature request โดยฟเจอรทแตกตางกนทจะถกใชเปนขอมลน าเขาในการเรยนรใหกบโมเดลเปนดงตารางท 3.1 ตารางท 3.1 ฟเจอรทแตกตางกนทใชเปนขอมลน าเขาในการเรยนรใหกบโมเดล

ฟเจอร ค าอธบาย comment บทวจารณตนฉบบของผใช lemmatized_comment บทวจารณของผใชทเปลยนค าในประโยคทงหมดใหเปนรากศพท stopwords_removal บทวจารณของผใชทน าค าหยดในภาษาองกฤษออกจากประโยค stopwords_removal_lemmatization บทวจารณของผใชทน าค าหยดในภาษาองกฤษออก และเปลยนค า

ทเหลออยในประโยคทงหมดใหกลายเปนรากศพท rating คะแนนความพงพอใจทผใชงานใหกบแอปพลเคชน มคาระหวาง 1-

5 โดย 1 คอ แยทสด และ 5 คอ ดทสด length_words จ านวนค าศพททงหมดทอยในบทวจารณตนฉบบหนง ๆ tenses จ านวน present simple, present continuous, past simple,

และ future ทอยในบทวจารณตนฉบบหนง ๆ

27

71

58

03

46

Page 42: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

28

ตารางท 3.1 ฟเจอรทแตกตางกนทใชเปนขอมลน าเขาในการเรยนรใหกบโมเดล (ตอ) ฟเจอร ค าอธบาย

sentiScore คะแนนอารมณความรสกทค านวณไดจากบทวจารณของผใชตนฉบบหนง ๆ โดยมคาระหวาง -5 คอ เปนเชงลบมากทสด ถง 5 คอ เปนเชงบวกมากทสด

part of speech จ านวน noun, pronoun, verb, adjective, และ adverb ทอยในบทวจารณหนง ๆ

word2vec เวกเตอรของค าศพททอยในบทวจารณหนง ๆ doc2vec เวกเตอรของเอกสารทอยในบทวจารณหนง ๆ

โดยอลกอรทมทแตกตางกนในการจ าแนกประเภทบทวจารณของผใชจะถกแบงออกเปนสองประเภทหลก คอ โมเดลแบบเดยว (Individual Model) และโมเดลแบบรวม (Ensemble Model) โดยแตละประเภทประกอบไปดวยอลกอรทมดงตอไปน

1) Individual Model ประกอบไปดวย 7 โมเดลดงตอไปน คอ Multinomial Naïve Bayes, Gaussian Naïve Bayes, Bernoulli Naïve Bayes, Linear Support Vector Machine, Logistic Regression, Decision Tree, และ k-Nearest Neighbors

2) Ensemble Model ประกอบไปดวย 6 โมเดลดงตอไปน คอ Random Forest, Extra Trees, Max Voting, AdaBoost, XGBoost, และ Gradient Boosting

ผวจยไดเลอกฟเจอรทแตกตางกนบางฟเจอรมาใชรวมกนไดเปนจ านวนทงสน 28 รายการฟเจอร โดยมรายละเอยดดงตารางท 3.2 ตอไปน ตารางท 3.2 รายการฟเจอรทเกดจากการน าฟเจอรทแตกตางกนแตละฟเจอรมาใชงานรวมกน ล าดบท รายการฟเจอร

1 comment 2 lemmatized_comment 3 stopwords_removal 4 stopwords_removal_lemmatization

5 rating + length_words 6 rating + length_words + tenses

7 rating + length_words + tenses + sentiScore 8 comment + rating + sentiScore 9 comment + rating + sentiScore + tenses

10 stopwords_removal_lemmatization + rating + sentiScore + tenses 11 comment + part of speech

27

71

58

03

46

Page 43: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

29

ตารางท 3.2 รายการฟเจอรทเกดจากการน าฟเจอรทแตกตางกนแตละฟเจอรมาใชงานรวมกน (ตอ) ล าดบท รายการฟเจอร

12 lemmatized_comment + part of speech 13 stopwords_removal + part of speech

14 stopwords_removal_lemmatization + part of speech 15 comment + rating + sentiScore + part of speech

16 comment + rating + sentiScore + tenses + part of speech 17 stopwords_removal_lemmatization + rating + sentiScore + tenses + part of speech

18 rating + length_words + part of speech 19 rating + length_words + tenses + part of speech

20 rating + length_words + tenses + sentiScore + part of speech 21 word2vec + comment 22 word2vec + lemmatized_comment

23 word2vec + stopwords_removal 24 word2vec + stopwords_removal_lemmatization

25 doc2vec + comment 26 doc2vec + lemmatized_comment 27 doc2vec + stopwords_removal 28 doc2vec + stopwords_removal_lemmatization

หลงจากไดรายการฟเจอรมาทงสน 28 รายการฟเจอร และโมเดลการจ าแนกประเภท 12 อลกอรทมแลว ผวจยไดท าการน าเขาขอมลบทวจารณของผใชทงสหมวดหม คอ bug report, not bug report, feature request, และ not feature request โดยมรายละเอยดดงตารางท 3.3 ตอไปน ตารางท 3.3 จ านวนขอมลบทวจารณของผใชแยกตามหมวดหม และวตถประสงคของการน าไปใช

Data Bug Report Classification Feature Request Classification

Training Bug Report 256 Feature Request 207 Not Bug Report 256 Not Feature Request 207

Total 512 Total 414

Test

Bug Report 114 Feature Request 88

Not Bug Report 114 Not Feature Request 114 Total 228 Total 202

27

71

58

03

46

Page 44: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

30

ฟเจอรสวนใหญจะไดคามาพรอมกบขอมลน าเขาแลว ยกเวนสามฟเจอร คอ part of speech, word2vec, และ doc2vec ซงทางผวจยจะแสดงวธการหาคาแตละคาโดยยกตวอยางบทวจารณของผใชมาหนงบทวจารณ คอ “Very useful. But it is difficult sometimes trying to type an essay without landscape mode. It is ridiculous how a word processing app doesnt let u type landscape.” วธหาคา Part of Speech เนองจากบทวจารณของผใชอยในรปแบบประโยคภาษาองกฤษประกอบไปดวยชนดของค าตาง ๆ เชน noun, pronoun, verb, adjective, adverb เปนตน ผวจยจงมสมมตฐานวาจ านวนของค าชนดตาง ๆ ทอยในบทวจารณของผใชอาจจะเกยวของกบประเภทของบทวจารณของผใชทจะจ าแนก จงไดน า part of speech มาเปนหนงในฟเจอรทจะใหโมเดลเรยนร หนงในวธทท าไดกคอ การนบจ านวน noun, pronoun, verb, adjective, และ adverb ของค าตาง ๆ ทปรากฏอยในบทวจารณหนง ๆ ซงฟงกชนการนบจ านวนค าเหลานทเขยนดวยภาษา Python เวอรชน 3 นนปรากฏดงภาพท 3.7

ภาพท 3.7 ฟงกชนการนบจ านวน part of speech ทเขยนดวยภาษา Python เวอรชน 3

อธบายอยางงายคอ ใช Dictionary ทเกบ tag ตาง ๆ ทเกยวของกบ noun, pronoun, verb, adjective, และ adverb เชน ถาเปน noun จะม tag ทเปนไปไดคอ NN, NNS, NNP, NNPS หรอถาเปน verb จะม tag ทเปนไปไดคอ VB, VBD, VBG, VBN, VBP, VBZ เปนตน จากนนท าการสกด tag ออกมาจากขอความวาม tag อะไรบาง ถา tag ทไดออกมานนมอยภายใน Dictionary กจะท าการบวกตวเคานเตอร cnt ไปทละหนง ท าเชนนไปจนจบประโยคทละประเภทของค า กจะไดออกมาวาจ านวน noun, pronoun, verb, adjective, และ adverb ทปรากฏในประโยคนนมจ านวนเทาไหรบาง และสามารถน าตวเลขเหลานนไปเปนหนงในฟเจอรเพอใหโมเดลท าการเรยนรได ตารางท 3.4 แสดงคา part of speech ของประโยคตวอยาง

27

71

58

03

46

Page 45: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

31

ตารางท 3.4 คา part of speech ของแตละชนดของค าของประโยคตวอยาง Sentence: Very useful. But it is difficult sometimes trying to type an essay without landscape mode. It is ridiculous how a word processing app doesnt let u type landscape.

Type Total

Noun 9 Pronoun 2

Verb 5 Adjective 4 Adverb 3 วธหาคา word2vec เนองจากค า ๆ เดยวกนในภาษาองกฤษสามารถมไดมากกวาหนงความหมายขนอยกบต าแหนงของค าทถกวางอยในประโยค ท าใหการใช Bag of Words หรอ TF-IDF ทสนใจเพยงแคการปรากฏของค าโดยไมค านงถงต าแหนงทปรากฏอยในประโยคอาจท าใหประสทธภาพในการจ าแนกประเภทของบทวจารณลดลง ผวจยจงไดน า word2vec ซงเปนหนงในวธการท า word embedding และมการพจารณาถงค ารอบดานของค าทสนใจหาความหมายดวย โดยจะตองม corpus ขนาดใหญมากทเกบรวบรวมค าศพทตาง ๆ ทใชกนในชวตประจ าวนไว ในโครงงานมหาบณฑตนใช corpus ของ Google ทชอวา GoogleNews-vectors-negative300 ทเปดใหดาวนโหลดไดฟรท https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM จากนนใชไลบราล Gensim ท าการ decode ไฟลดงกลาวออกมาเปนเวกเตอรขนาดใหญ แลวท าการสงค าแตละค าในประโยคทตองการเขาไปประมวลผลกบเวกเตอรนน จะไดผลลพธคนกลบออกมาเปนเวกเตอรของค านน ๆ ภาพท 3.8 แสดงตวอยางเวกเตอรของค าวา “Very” จากประโยคตวอยาง “Very useful. But it is difficult sometimes trying to type an essay without landscape mode. It is ridiculous how a word processing app doesnt let u type landscape.” จะเหนวาเวกเตอรของค าทไดจะเปนอาเรยหนงมตทเกบคาจ านวนจรงไวหลายคา ซงถาตองการเวกเตอรของทงประโยคกจะกลายเปนอาเรยสองมต โดยแถวหมายถงค าแตละค าทอยในประโยค หลกหมายถงคาตาง ๆ ของค าใดค าหนง และเมทรกซจตรสคอประโยคใดประโยคหนง

27

71

58

03

46

Page 46: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

32

ภาพท 3.8 ตวอยางเวกเตอรของค าวา “Very” ทไดจากการประมวลผลดวย GoogleNews-vectors-negative300

วธหาคา doc2vec เนองจากบทวจารณของผใชบางบทวจารณโดยเฉพาะบทวจารณทอยบนแอปสโตรมจ านวนหลายประโยค บางบทวจารณมมากกวาหนงยอหนา การใช doc2vec ซงจะมการตดแทคใหกบแตละประโยคทอยในยอหนาเดยวกนเพอชวยในการหาความหมายโดยรวมของทงยอหนา ผวจยจงมสมมตฐานทวาการน า doc2vec มาเปนหนงในฟเจอรการจ าแนกประเภทอาจจะมประสทธภาพในการจ าแนกประเภทดกวา word2vec ในกรณทบทวจารณของผใชมความยาวมาก ส าหรบ doc2vec นนคลายกบ word2vec เพยงแตเปลยนจากการดความสมพนธของเวกเตอรของค าใด ๆ กบค ารอบขาง เปนการดความสมพนธของประโยคใด ๆ กบประโยครอบขางในยอหนาหนง ๆ รปแบบของเวกเตอร doc2vec มลกษณะคลายกบภาพท 3.8 เพยงแตตวเลขแตละคาจะแตกตางกนออกไป

27

71

58

03

46

Page 47: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

33

เมอท าการเรยนรการจ าแนกประเภทของบทวจารณของผใชจากขอมลขางตนทมทงหมด คอ รายการฟเจอรจ านวน 28 รายการฟเจอร และอลกอรทมการจ าแนกประเภทจ านวน 12 อลกอรทม ท าใหไดโมเดลการจ าแนกประเภทบทวจารณของผใชวาเปน bug report หรอ not bug report 336 โมเดล และโมเดลการจ าแนกประเภทบทวจารณของผใชวาเปน feature request หรอ not feature request 336 โมเดล ซงจะแสดงรายละเอยดอกครงในขนตอนถดไป

3.3 ขนตอนการเปรยบเทยบประสทธภาพของโมเดลการจ าแนกประเภทของบทวจารณของผใช ในการเปรยบเทยบประสทธภาพของโมเดลการจ าแนกประเภทของบทวจารณของผใชนน ท าไดโดยการค านวณคาprecision, recall, f1-score, และ accuracy ของแตละโมเดล ซงคา precision, recall, f1-score สามารถใชไลบราลการเรยนรของเครองภาษา Python ทชอ Scikit-learn โดยใชฟงกชน classification_report รบพารามเตอรจ าเปนสองพารามเตอร คอ คาฉลากจรง และคาฉลากทโมเดลท านายได และจะสงกลบผลลพธออกมาเปน Dictionary ซงสามารถน าไปใชงานตอไดถาตองการ ตวอยางการใชฟงกชน classification_report จากเวบไซต scikit-learn.org เปนดงภาพท 3.9

ภาพท 3.9 ตวอยางการใชงานฟงกชน classification_report จาก scikit-learn.org

ในท านองเดยวกนคา accuracy กสามารถหาไดโดยใชฟงกชน accuracy_score จากไลบราล Scikit-learn โดยสงพารามเตอรจ าเปนสองตวเชนเดยวกบ classification_report ตวอยางการใชฟงกชน accuracy_score จากเวบไซต scikit-learn.org เปนดงภาพท 3.10

ภาพท 3.10 ตวอยางการใชงานฟงกชน accuracy_score จาก scikit-learn.org

เมอทราบวธการวดผลประสทธภาพของโมเดลการจ าแนกประเภทบทวจารณของผใชแลว กน าโมเดลทไดจากการเทรนดวยบทวจารณของผใชประเภท bug report 256 บทวจารณ not bug report 256 บทวจารณจาก

27

71

58

03

46

Page 48: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

34

ทงสองสโตร มาทดสอบดวยชดขอมลทดสอบประเภท bug report 114 บทวจารณ not bug report 114 บทวจารณ เพอหาคา precision, recall, f1-score ของคลาส bug report รวมไปถงหา accuracy ของโมเดล โดยอตราสวนระหวางชดขอมลเรยนร และชดขอมลทดสอบเปน 70:30 และท า 5-Folds Cross Validation เพอใหโมเดลถกเทรนและทดสอบดวยชดขอมลทมความหลากหลาย แตเนองจากจ านวนโมเดลการจ าแนกประเภท bug report หรอ not bug report นนมจ านวนมากถง 336 โมเดล ผวจยจงไดท าการเลอกเพยงแคโมเดลสบอนดบแรกทมคาความแมนย ามากทสดจากการใช 5-Folds Cross Validation มาแสดงดงตารางท 3.5 และโมเดลอกสบดบแรกทมความแมนย ามากทสดจากการแบงชดขอมลเรยนรและชดทดสอบเปน 70:30 ดงตารางท 3.6 โดยจะสนใจผลลพธทไดจากการท า Cross Validation ในตารางท 3.5 เปนหลก เนองจากเปนขอปฏบตทดทสดในการวดประสทธภาพของโมเดลการจ าแนกประเภทเพราะโมเดลผานการเรยนรและทดสอบจากขอมลหลายชด ตารางท 3.5 โมเดลสบอนดบแรกทมประสทธภาพสงทสดในการจ าแนกประเภทบทวจารณของผใช bug report หรอ not bug report ดวยใช 5-Folds Cross Validation

Classification Techniques Bug Report

Accuracy Precision Recall F1

BOW – stopwords + doc2vec + RandomForestClassifier 0.8 0.82 0.81 0.8063

BOW + lemmatization + LogisticRegression 0.77 0.83 0.8 0.7878 BOW + lemmatization + PoS + LogisticRegression 0.77 0.83 0.8 0.7878

BOW – stopwords + lemmatization + word2vec + VotingClassifier

0.74 0.9 0.81 0.7838

BOW – stopwords + lemmatization + rating + sentiScore + tense + PoS + ExtraTreesClassifier

0.76 0.84 0.79 0.7837

BOW + lemmatization + PoS + VotingClassifier 0.78 0.78 0.78 0.781

BOW + lemmatization + VotingClassifier 0.78 0.78 0.78 0.7797 BOW – stopwords + lemmatization + rating + sentiScore + tense + ExtraTreesClassifier

0.75 0.83 0.79 0.7797

BOW – stopwords + lemmatization + VotingClassifier 0.8 0.74 0.77 0.777 BOW – stopwords + lemmatization + rating + sentiScore + tense + LogisticRegression

0.77 0.79 0.78 0.777

BOW + rating + sentiScore + tenses + GaussianNB 0.6296 0.8947 0.7391 0.6842

27

71

58

03

46

Page 49: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

35

ตารางท 3.6 โมเดลสบอนดบแรกทมประสทธภาพสงทสดในการจ าแนกประเภทบทวจารณของผใช bug report หรอ not bug report โดยใชอตราสวนของขอมลระหวาง training และ test เปน 70:30

Classification Techniques Bug Report

Accuracy Precision Recall F1

BOW + doc2vec + ExtraTreesClassifier 0.7983 0.8333 0.8154 0.8063 BOW – stopwords + doc2vec + ExtraTreesClassifier 0.7982 0.7982 0.7982 0.7928

BOW + doc2vec + VotingClassifier 0.83 0.7281 0.7757 0.7838 BOW – stopwords + lemmatization + word2vec + VotingClassifier

0.7391 0.8947 0.8095 0.7838

BOW + lemmatization + word2vec + LogisticRegression 0.76 0.8333 0.795 0.7793 BOW – stopwords + word2vec + LogisticRegression 0.7623 0.8158 0.7881 0.7748

BOW + lemmatization + pos + VotingClassifier 0.6623 0.8947 0.7612 0.7193 BOW + lemmatization + LinearSVC 0.654 0.9123 0.7619 0.7149 BOW – stopwords + ExtraTreesClassifier 0.6601 0.886 0.7566 0.7149 BOW – stopwords + lemmatization + ExtraTreesClassifier 0.656 0.9035 0.7601 0.7149 … BOW + rating + sentiScore + tenses + GaussianNB 0.6296 0.8947 0.7391 0.6842

จากตารางท 3.5 แสดงใหเหนวา ถงค า (Bag of Words) ทงทสามารถหาไดจากการนบจ านวนความถธรรมดาของค าทแตกตางกนทปรากฏอยในบทวจารณของผใช และการใช TF-IDF แปลงเวกเตอรของถงค าทนบไดเปนเวกเตอรของคา TF-IDF ซงเปนคาจ านวนจรงทมคาระหวางศนยถงหนง เปนฟเจอรทมความส าคญและมผลตอการจ าแนกประเภทบทวจารณของผใชวาเปน bug report หรอ not bug report มากทสด เนองจากฟเจอรนเปนหนงในสวนประกอบของทงสบอนดบแรกของโมเดลทมประสทธภาพสงทสด ในขณะทขอมล meta-data ของแอปพลเคชน คอ คะแนนความพงพอใจ ความยาวของบทวจารณ คะแนนอารมณความรสกจากบทวจารณเพยงล าพงอยางเดยวนนไมสามารถใชจ าแนกประเภทบทวจารณของผใชไดอยางมประสทธภาพพอ ขอสงเกตทนาสนใจกคออนดบทหนงและสใชเทคนค word-embedding คอ doc2vec และ word2vec มาชวยในการจ าแนกประเภทบทวจารณไดอยางมประสทธภาพ กลาวไดวาเทคนค word-embedding ในทนคอ doc2vec และ word2vec นนมประสทธภาพในการจ าแนกประเภทบทวจารณสงกวาเทคนคแบบดงเดมอยางการน าค าหยดออก (stopwords removal) หรอการท าใหเปนรากศพท (lemmatization) เพยงอยางเดยวโดยไมใช word-embedding เขามาชวย ในขณะเดยวกน part of speech นนไมใชฟเจอรทสงผลตอการจ าแนกประเภทบทวจารณซงสงเกตไดจากอนดบทสองและสามมคาวดประสทธภาพเทากนไมวาจะมฟเจอร pos รวมอยดวยหรอไมกตาม ขอสงเกตอกขอหนงกคอการใชอลกอรทมแบบรวมอยางพวก ensemble methods เชน RandomForestClassifier หรอ VotingClassifier มาชวยในการจ าแนกประเภทบทวจารณของผใชวาเปน bug report หรอ not bug report นนมประสทธภาพสงกวาการใชเพยงอลกอรทมแบบเดยวเพยงอลกอรทมใดอลกอรทมหนงเทานน

27

71

58

03

46

Page 50: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

36

ส าหรบวธการทมประสทธภาพสงทสดส าหรบการจ าแนกประเภทบทวจารณของผใชวาเปน bug report หรอ not bug report นน คอการใช Random Forest ensemble model รวมกบ doc2vec ทไดจากการแปลงขอความในบทวจารณของผใชทเอาค าหยดออกไปแลว โดยมคา precision, recall, f1-score, และ accuracy ประมาณ 80-82% นอกจากนอกวธการหนงทนาสนใจคอการน าขอความทอยในบทวจารณของผใชมาน าค าหยดออกและท าใหเปนรากศพท หลงจากนนใช word2vec แปลงขอความใหเปนเวกเตอรของประโยค แลวใชอลกอรทมแบบรวมอยาง VotingClassifier มาแยกประเภทบทวจารณ ผลการทดลองพบวาไดคา recall สงถง 90 % และผวจยยงไดเปรยบเทยบกบวธการของงานวจยท 2.2.1 ซงวธการทมประสทธภาพสงทสดของงานวจยดงกลาวและไดทดลองในโครงงานน ไดแสดงไวทแถวสดทายของตารางท 3.5 จะเหนวาทงสบอนดบแรกของวธการในโครงงานนมประสทธภาพสงกวาวธการทดทสดของงานวจยท 2.2.1 ทงสน ส าหรบบทวจารณของผใชประเภท feature request และ not feature request นน ไดน าโมเดลทไดจากการเทรนดวยบทวจารณของผใชประเภท feature request 207 บทวจารณ not feature request 207 บทวจารณจากทงสองสโตร มาทดสอบดวยชดขอมลทดสอบประเภท feature request 88 บทวจารณ not feature request 114 บทวจารณ เพอหาคา precision, recall, f1-score ของคลาส feature request รวมไปถงหา accuracy ของโมเดล โดยอตราสวนระหวางชดขอมลเรยนร และชดขอมลทดสอบเปน 67:33 และท า 5-Folds Cross Validation เพอใหโมเดลถกเทรนและทดสอบดวยชดขอมลทมความหลากหลาย แตเนองจากจ านวนโมเดลการจ าแนกประเภท feature request หรอ not feature request นนมจ านวนมากถง 336 โมเดล ผวจยจงไดท าการเลอกเพยงแคโมเดลสบอนดบแรกทมคาความแมนย ามากทสดมาแสดงดงตารางท 3.7 และโมเดลอกสบดบแรกทมความแมนย ามากทสดจากการแบงชดขอมลเรยนรและชดทดสอบเปน 67:33 ดงตารางท 3.8 โดยจะสนใจผลลพธทไดจากการท า Cross Validation ในตารางท 3.7 เปนหลก เนองจากเปนขอปฏบตทดทสดในการวดประสทธภาพของโมเดลการจ าแนกประเภทเพราะใชขอมลหลายชดในการเรยนรและทดสอบ

27

71

58

03

46

Page 51: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

37

ตารางท 3.7 โมเดลสบอนดบแรกทมประสทธภาพสงทสดในการจ าแนกประเภทบทวจารณของผใช feature request หรอ not feature request ดวยวธ 5-Folds Cross Validation

Classification Techniques Feature Request

Accuracy Precision Recall F1

BOW + rating + sentiScore + XGBClassifier 0.81 0.83 0.82 0.8279 BOW + rating + sentiScore + PoS + XGBClassifier 0.81 0.83 0.82 0.8279

BOW – stopwords + lemmatization + rating + sentiScore + tense + PoS + ExtraTreesClassifier

0.8 0.85 0.82 0.8247

BOW – stopwords + lemmatization + rating + sentiScore + tense + PoS + XGBClassifier

0.8 0.85 0.82 0.8247

BOW + rating + sentiScore + tense + XGBClassifier 0.8 0.84 0.82 0.8231 BOW + rating + sentiScore + tense + PoS + XGBClassifier 0.8 0.84 0.82 0.8231

BOW – stopwords + lemmatization + rating + sentiScore + tense + ExtraTreesClassifier

0.79 0.85 0.82 0.8166

Rating + words length + tense + GradientBoostingClassifier

0.77 0.9 0.82 0.8166

BOW – stopwords + lemmatization + doc2vec + XGBClassifier

0.75 0.88 0.81 0.8108

BOW + lemmatization + word2vec + LinearSVC 0.69 0.88 0.77 0.7676 … BOW + rating + sentiScore + tenses + GaussianNB 0.6576 0.8295 0.7337 0.7376

27

71

58

03

46

Page 52: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

38

ตารางท 3.8 โมเดลสบอนดบแรกทมประสทธภาพสงทสดในการจ าแนกประเภทบทวจารณของผใช feature request หรอ not feature request โดยใชอตราสวนของขอมลระหวาง training และ test เปน 67:33

Classification Techniques Feature Request

Accuracy Precision Recall F1

BOW + lemmatization + pos + ExtraTreesClassifier 0.7238 0.8636 0.7876 0.797 BOW – stopwords + doc2vec + GradientBoostingClassifier 0.7238 0.8941 0.8 0.7946

BOW – stopwords + doc2vec + ExtraTreesClassifier 0.7212 0.8824 0.7936 0.7892 BOW + ExtraTreesClassifier 0.7143 0.8523 0.7772 0.7871 BOW + rating + sentiScore + ExtraTreesClassifier 0.7027 0.8864 0.7839 0.7871 BOW + lemmatization + doc2vec + AdaBoostClassifier 0.7419 0.8118 0.7753 0.7838 BOW – stopwords + ExtraTreesClassifier 0.7157 0.8295 0.7684 0.7822

BOW – stopwords + word2vec + ExtraTreesClassifier 0.6937 0.9059 0.7857 0.773 BOW – stopwords + lemmatization + word2vec + ExtraTreesClassifier

0.6838 0.9412 0.7921 0.773

BOW + lemmatization + word2vec + LinearSVC 0.6944 0.8824 0.7772 0.7676 … BOW + rating + sentiScore + tenses + GaussianNB 0.6576 0.8295 0.7337 0.7376 จากตารางท 3.7 แสดงใหเหนวา ถงค า ทงทสามารถหาไดจากการนบจ านวนความถธรรมดาของค าทแตกตางกนทปรากฏอยในบทวจารณของผใช และการใช TF-IDF แปลงเวกเตอรของถงค าทนบไดเปนเวกเตอรของคา TF-IDF ซงเปนคาจ านวนจรงทมคาระหวางศนยถงหนง เปนฟเจอรทมความส าคญและมผลตอการจ าแนกประเภทบทวจารณของผใชวาเปน feature request หรอ not feature request มากทสดเชนเดยวกบการจ าแนกประเภทบทวจารณวาเปน bug report หรอ not bug report เนองจากฟเจอรนเปนหนงในสวนประกอบของทงสบอนดบแรกของโมเดลทมประสทธภาพสงทสด ขอสงเกตทนาสนใจกคอมถงแปดอนดบทไมไดใชเทคนค word-embedding คอ doc2vec และ word2vec มาชวยในการจ าแนกประเภทบทวจารณ กลาวไดวาเทคนค word-embedding ในทนคอ doc2vec และ word2vec นนมประสทธภาพในการจ าแนกประเภทบทวจารณนอยกวาเทคนคแบบดงเดมอยางการน าค าหยดออก หรอการท าใหเปนรากศพท ในขณะเดยวกน part of speech นนไมใชฟเจอรทสงผลตอการจ าแนกประเภทบทวจารณซงสงเกตไดจากอนดบทหนงและสองมคาวดประสทธภาพเทากนไมวาจะมฟเจอร pos รวมอยดวยหรอไมกตาม ขอสงเกตอกขอหนงกคอการใชอลกอรทมแบบรวมอยางพวก ensemble methods เชน ExtraTreesClassifier หรอ XGBClassifier มาชวยในการจ าแนกประเภทบทวจารณของผใชวาเปน feature request หรอ not feature request นนมประสทธภาพสงกวาการใชเพยงอลกอรทมแบบเดยวเพยงอลกอรทมใดอลกอรทมหนงเทานน ส าหรบวธการทมประสทธภาพสงทสดส าหรบการจ าแนกประเภทบทวจารณของผใชวาเปน feature request หรอ not feature request นน คอการใช XGBoost ensemble model รวมกบ TF-IDF ทไดจากการแปลงขอความในบทวจารณของผใช และใชขอมลเมตาเดตาของบทวจารณ คอ คะแนนความพงพอใจ และคะแนน

27

71

58

03

46

Page 53: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

39

อารมณความรสก โดยมคา precision, recall, f1-score, และ accuracy ประมาณ 81-83% นอกจากนอกวธการหนงทนาสนใจคอ การใชเพยงขอมลเมดาเดตาของบทวจารณ คอ คะแนนความพงพอใจ จ านวนค าศพททอยในบทวจารณ และจ านวน tense ตาง ๆ ทอยในบทวจารณ หลงจากนนใชอลกอรทมแบบรวมอยาง GradientBoostingClassifier มาแยกประเภทบทวจารณ ผลการทดลองพบวาไดคา recall สงถง 90 % นอกจากนผวจยยงไดเปรยบเทยบกบวธการของงานวจยท 2.2.1 ซงวธการทมประสทธภาพสงทสดของงานวจยดงกลาวและไดทดลองในโครงงานน ไดแสดงไวทแถวสดทายของตารางท 3.6 จะเหนวาทงสบอนดบแรกของวธการในโครงงานนทใชการผสมกนของฟเจอรทแตกตางกนออกไปมประสทธภาพสงกวาวธการทดทสดของงานวจย 2.2.1 ทงสน

3.4 ขนตอนการน าออกโมเดลเพอใชในการจ าแนกประเภทของบทวจารณของผใช หลงจากทท าการวดประสทธภาพของโมเดลการจ าแนกประเภทบทวจารณของผใชทงประเภท bug report หรอ not bug report และประเภท feature request หรอ not feature request จนไดโมเดลทมประสทธภาพสงทสดออกมาทงสองโมเดลแลว ในขนตอนนจะเปนการน าออกโมเดลเหลานนเพอเตรยมไวใชในบทท 5 ตอไป ซงการน าออกโมเดลนนสามารถท าไดโดยใชไลบราลของภาษา Python ทชอวา Pickle ท าการน าออกโมเดลออกมาเปนไฟลนามสกล .pkl ซงสามารถน าไฟลเหลานไปน าเขาใหกบเครองมอทใชสรางทคเกตส าหรบระบบตดตามปญหาได โคดส าหรบการน าออกโมเดลแสดงดงภาพท 3.11 โดยฟงกชนรบพารามเตอรสองตว คอ โมเดล และชอไฟลทจะถกสรางขนเมอท าการน าออก

ภาพท 3.11 ตวอยางโคดการใชไลบราล Pickle ในการน าออกโมเดลการจ าแนกประเภทบทวจารณของผใช

27

71

58

03

46

Page 54: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

40

บทท 4 การตรวจสอบความซ าซอนของบทวจารณของผใช

บทวจารณของผใชมความหลากหลายมาก บางบทวจารณมความยาวนอย บางบทวจารณมความยาวมาก แตบอยครงทบทวจารณเหลานพดถงเรองเดยวกน พยายามอธบายถงสง ๆ เดยวกนไมวาจะเปนปญหาทพบในการใชงานแอปพลเคชน หรอเปนการรองขอฟงกชนการท างานทยงขาดหายไป เราสามารถนยามบทวจารณเหลานวา “บทวจารณซ าซอน” ซงกอนทจะท าการสรางทคเกตส าหรบระบบตดตามปญหานน จะตองมการตรวจสอบบทวจารณซ าซอนกอนเสมอ เพอปองกนจ านวนทคเกตทจะถกสรางขนซ ากนเปนจ านวนมากบนระบบตดตามปญหา วธการหนงทสามารถใชในการตรวจสอบความซ าซอนของบทวจารณกคอ การวดความคลายคลงกนเชงความหมายของขอความ (Semantic text similarity) แตกอนทเราจะสามารถบอกไดวาบทวจารณสองบทวจารณใด ๆ มความเหมอนหรอคลายกนมากพอทจะสรปวาเปนบทวจารณซ าซอนหรอไมนน จ าเปนจะตองหาคาขดแบง (Threshold) ของความคลายทมความเหมาะสมกอน ในบทนจะแบงเนอหาออกเปนสองสวนดงตอไปน

1) การเตรยมชดขอมลเพอท าการทดลองหาความคลายกนของบทวจารณของผใช 2) การหาคา threshold ทบงบอกวาเปนบทวจารณทซ าซอนหรอไม

โดยภาพท 4.1 แสดงขนตอนการด าเนนงานอยางละเอยดในบทน

ภาพท 4.1 ขนตอนการด าเนนงานแบบละเอยดของการตรวจสอบความซ าซอนของบทวจารณของผใช

27

71

58

03

46

Page 55: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

41

4.1 การเตรยมชดขอมลเพอท าการทดลองหาความคลายกนของบทวจารณของผใช ขอมลทจะน ามาใชทดลองหาความคลายกนของบทวจารณของผใช ผวจยไดท าการรวบรวมบทวจารณของผใชทมความแตกตางกนอยางเหนไดชดจ านวน 94 บทวจารณ จากแอปพลเคชน Facebook เวอรชน 210.0 บนแอปสโตร เรยกขอมลชดนวา base set และไดท าการสมบทวจารณจ านวน 20 บทวจารณจากแอปพลเคชนเดยวกน เวอรชนเดยวกน เรยกวา test set หลงจากนนผวจยไดเทยบบทวจารณใน test set ทละหนงบทวจารณกบทก ๆ บทวจารณใน base set เพอท าการตดฉลากใหกบบทวจารณสองคใด ๆ วามความซ าซอนกนหรอไม โดยระบวา Duplicate ถาผวจยอานแลวพบวาบทวจารณคนนกลาวถงเรองเดยวกน และระบวา Not duplicate ถาพบวากลาวถงคนละเรองกน โดยตวอยางขอมล base set และ test set เปนดงภาพท 4.2 และ 4.3 ตามล าดบ ซงหลงจากทท าการตดฉลากบทวจารณครบทง 1,880 คแลว ผวจยไดน าบทวจารณ base set และ test set นไปใหวศวกรโมไบลแอปพลเคชนซอฟตแวรทมประสบการณในการพฒนาโมไบลแอปพลเคชนหาปท าการตรวจสอบผลการตดฉลากเพอยนยนความถกตอง รวมไปถงเพมความนาเชอถอของการตดฉลากของขอมลอกดวย ตวอยางการตดฉลากของบทวจารณคใด ๆ เปนดงภาพท 4.4 โดย B0 – B93 คอรหสของบทวจารณทอยใน base set และ T0 – T19 คอรหสของบทวจารณทอยใน test set เลข 1 ในแตละชองหมายถงบทวจารณ i ใน base set ซ ากบบทวจารณ j ใน test set และเลข 0 หมายถงไมซ ากน

ภาพท 4.2 ตวอยางบทวจารณใน base set

27

71

58

03

46

Page 56: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

42

ภาพท 4.3 ตวอยางบทวจารณใน test set

ภาพท 4.4 ตวอยางการตดฉลากระหวางบทวจารณใน base set และ test set

ในการหาความคลายคลงกนเชงความหมายของขอความสองขอความใด ๆ นนท าไดโดยการใช Universal Sentence Encoder [20] ซงเปนหนงในวธการทมประสทธภาพ ท าการแปลงบทวจารณทงหมดใน base set และ

27

71

58

03

46

Page 57: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

43

test set เปนเวกเตอรหลายมตทมขนาด 512 มตเทากน โดยไมสนใจเรองความยาวของบทวจารณ หลงจากนนท าการหาระยะหางของเวกเตอรดวยการค านวณ Cosine Similarity ระหวางเวกเตอรใน base set และ test set ทละค โดยคาทไดกลบมาจะมคาอยระหวาง 0 ถง 1 โดย 0 หมายถงแตกตางกนมากทสด และ 1 หมายถงคลายคลงกนมากทสด ท าไปจนครบทง 1,880 ค ตวอยางฟงกชนของการแปลงขอความเปนเวกเตอรดวย Universal Sentence Encoder ทท างานบนโมดล Tensorflow เปนดงภาพท 4.5 และตวอยางฟงกชนการหาคา Cosine Similarity ระหวางสองเวกเตอรใด ๆ เปนดงภาพท 4.6

ภาพท 4.5 ตวอยางฟงกชนการแปลงขอความเปนเวกเตอรดวย Universal Sentence Encoder ทท างานบน Tensorflow

ภาพท 4.6 ตวอยางฟงกชนการหาคา Cosine Similarity ระหวางสองเวกเตอรใด ๆ

4.2 การหาคาขดแบงส าหรบบทวจารณซ าซอน หลงจากทไดคา Cosine Similarity ทอยระหวาง 0 ถง 1 ของบทวจารณทง 1,880 คแลว ผวจยไดท าการก าหนดคา threshold หลายคาระหวาง 0 ถง 1 เพอใชเปนตวบอกวาบทวจารณคใด ๆ ซ าซอนกนหรอไม โดยมเงอนไขคอถาบทวจารณคใดมคา Cosine Similarity มากกวาหรอเทากบคา threshold ทก าหนด ใหถอวาบทวจารณคนนซ าซอนกน แตถา Cosine Similarity มคานอยกวา threshold ทก าหนด ใหถอวาบทวจารณคนนแตกตางกน หลงจากก าหนดเงอนไขและ thresholds ตาง ๆ เรยบรอยแลว ผวจยไดท าการเปรยบเทยบผลการตรวจสอบความซ าซอนกนของบทวจารณทไดจากการตดสนใจของมนษยในขอ 4.1 กบผลการทดลองในขอนทระดบ thresholds ตาง ๆ และท าการวดประสทธภาพของคา threshold โดยการใช Confusion Matrix หาคาตววดตอไปนมาท าการวเคราะห True Positive (TP) คอ ทงมนษยและการทดลองระบวาบทวจารณคนนซ าซอน True Negative (TN) คอ ทงมนษยและการทดลองระบวาบทวจารณคนนไมซ าซอน False Positive (FP) คอ มนษยระบวาบทวจารณคนนไมซ าซอน แตการทดลองระบวาซ าซอน False Negative (FN) คอ มนษยระบวาบทวจารณคนนซ าซอน แตการทดลองระบวาไมซ าซอน

27

71

58

03

46

Page 58: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

44

Accuracy คอ คาความแมนย าของการท านายวาบทวจารณคนนซ าซอนกนหรอไม เนองจากในการใชงานเครองมอทชวยในการสรางทคเกตส าหรบระบบตดตามปญหานน สามารถทจะมทคเกตทซ าซอนกนถกสรางไดบาง แตจะตองปองกนกรณททคเกตไมซ าซอนแตไมถกสรางใหไดมากทสด (คอกรณ False Positive) เนองจากในอตสาหกรรมการท างานดานการพฒนาซอฟตแวร การไมไดแกไขปญหาทผใชงานระบมาถอเปนความผดพลาดรายแรง และอาจสงผลเสยตอธรกจจนถงขนผใชงานเลกใชงานแอปพลเคชนนนเลยกไดถาขอผดพลาดนนรายแรง ดงนน threshold ทมความเหมาะสมทจะเปนตวบงบอกวาบทวจารณของผใชคใด ๆ นนซ าซอนกนหรอไม จะตองมคา false positive ทต าทสด และมคา accuracy ทสงทสด เพอใหมนใจไดวาเครองมอทชวยสรางทคเกตส าหรบระบบตดตามปญหานนจะเกดการตกหลนในการสรางทคเกตทไมซ าซอนไดนอยทสด ผลลพธแสดงดงตารางท 4.1 ตอไปน ตารางท 4.1 คาประสทธภาพการวดความซ าซอนของบทวจารณท thresholds ตาง ๆ Threshold TN TP FN FP Accuracy

0 1 25 0 1854 0.0138 0.1 32 25 0 1823 0.0303

0.2 172 25 0 1683 0.1048 0.3 543 23 2 1312 0.3011

0.4 1028 18 7 827 0.5564 0.5 1448 14 11 407 0.7776 0.6 1734 7 18 121 0.9261 0.7 1838 2 23 17 0.9787 0.75 1852 0 25 3 0.9851 0.76 1854 0 25 1 0.9862 0.77 1854 0 25 1 0.9862

0.78 1855 0 25 0 0.9867 0.79 1855 0 25 0 0.9867

0.8 1855 0 25 0 0.9867 0.9 1855 0 25 0 0.9867 1 1855 0 25 0 0.9867

จะเหนไดวาเมอคา threshold เพมขน คา false positive จะมคาลดลง และคา accuracy จะมคาเพมขนจนกระทงไมเปลยนแปลงท threshold 0.78 ดงนนจะไดวาคา threshold ทเหมาะสมทสดในการระบวาบทวจารณของผใชคใด ๆ มความซ าซอนกนหรอไมในโครงงานนคอ 0.78 ซงจะถกน าไปใชอกครงในบทท 5 ตอไป

27

71

58

03

46

Page 59: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

45

บทท 5 การสรางทคเกตส าหรบระบบตดตามปญหาจากบทวจารณของผใช

ในบทนจะอธบายเกยวกบการน าผลลพธตาง ๆ ทไดจากขนตอนกอนหนา มาใชในการสรางทคเกตส าหรบระบบตดตามปญหา และอธบายเกยวกบเครองมอทชวยในการสรางทคเกตแบบอตโนมตทไดพฒนาขนมาส าหรบโครงงานมหาบณฑตน ระบบตดตามปญหาทไดเลอกมาเปนกรณศกษาคอ Jira เนองจากไดรบความนยมอยางมากในอตสาหกรรมการพฒนาซอฟตแวร และยงมชองทางใหระบบภายนอกสามารถตดตอมายง Jira เพอท าการบรหารจดการโครงการได เชน การสรางทคเกต การอปเดตสถานะของทคเกต เปนตน โดย Jira ม REST APIs ทสามารถตดตอไดผานโปรโตคอล HTTPS ส าหรบเนอหาในบทนจะแบงออกเปนสามสวนดงตอไปน

1) การรวบรวมบทวจารณของผใชทเปนบทวจารณใหมของแอปพลเคชน 2) การวเคราะหบทวจารณของผใชทเปนบทวจารณใหมของแอปพลเคชน 3) การสรางทคเกตส าหรบระบบตดตามปญหา Jira

โดยภาพท 5.1 แสดงขนตอนการด าเนนงานอยางละเอยดในบทน

ภาพท 5.1 ขนตอนการด าเนนงานแบบละเอยดของการทคเกตส าหรบระบบตดตามปญหาจากบทวจารณของผใช

27

71

58

03

46

Page 60: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

46

5.1 การรวบรวมบทวจารณของผใชทเปนบทวจารณใหมของแอปพลเคชน ส าหรบการรวบรวมบทวจารณของผใชทเปนบทวจารณใหม เนองจากมบทวจารณทอยบนแอปสโตรและเพลยสโตรเปนจ านวนมาก การรวบรวมโดยใชการวเคราะหดวยตาทละบทวจารณนนไมสามารถท าไดอยางมประสทธภาพ เนองจากตองใชระยะเวลาและจ านวนคนมาก ทางผวจยจงใชโอเพนซอรซไลบรารภาษา Node.js สองไลบราร คอ app-store-scraper (https://github.com/facundoolano/app-store-scraper#reviews) ส าหรบดงบทวจารณของผใชทอยบนแอปสโตร และ google-play-scraper (https://github.com/facundoolano/google-play-scraper#reviews) ส าหรบดงบทวจารณของผใชทอยบนเพลยสโตร โดยระบพารามเตอรทงหมดสคา คอ ไอดของแอปพลเคชน ประเทศทตองการดงขอมลบทวจารณของผใช (คาเรมตนเปน US) ล าดบหนาของสโตรทตองการดงขอมล (หนา 1 ถงหนา 10) และประเภทของบทวจารณของผใชทจะท าการดง แบงเปนสองประเภท คอ บทวจารณใหมลาสด (Recent) และบทวจารณทมประโยชน (Helpful) ตวอยางฟงกชนส าหรบการดงขอมลบทวจารณของผใชทอยบนแอปสโตรและเพลยสโตร กบผลลพธทไลบรารสงกลบมาใหเปนดงภาพท 5.2, 5.3, 5.4, และ 5.5 ตามล าดบ

ภาพท 5.2 ฟงกชนการดงขอมลบทวจารณของผใชทอยบนแอปสโตรของแอปพลเคชน Facebook

ภาพท 5.3 ตวอยางบทวจารณของผใชทไดจากการดงขอมลบนแอปสโตรของแอปพลเคชน Facebook

27

71

58

03

46

Page 61: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

47

ภาพท 5.4 ฟงกชนการดงขอมลบทวจารณของผใชทอยบนเพลยสโตรของแอปพลเคชน Facebook

ภาพท 5.5 ตวอยางบทวจารณของผใชทไดจากการดงขอมลบนเพลยสโตรของแอปพลเคชน Facebook

โดยเครองมอชวยในการสรางทคเกตส าหรบระบบตดตามปญหาทผวจยไดพฒนาขนในโครงงานมหาบณฑตน เปนโปรแกรม Command line ทรองรบพารามเตอรแพลตฟอรมของแอปพลเคชนทตองการท าการสรางทคเกต และแอปพลเคชนไอดของแอปพลเคชนทตองการสรางทคเกต ดงภาพท 5.6 เปนการเลอกแพลตฟอรม iOS และแอปพลเคชน Facebook เพอท าการดงขอมลบทวจารณของผใชลาสดมาเกบไวใน memory ของโปรแกรม

ภาพท 5.6 โปรแกรม Command line ทรองรบแพลตฟอรมและแอปพลเคชนไอดทตองการดงขอมลบทวจารณของผใช

27

71

58

03

46

Page 62: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

48

5.2 การวเคราะหบทวจารณของผใชทเปนบทวจารณใหมของแอปพลเคชน หลงจากทไดบทวจารณของผใชจากขอ 5.1 ในขนตอนนจะเปนวเคราะหเกยวกบบทวจารณทไดมา ไมวาจะเปนการจ าแนกประเภทบทวจารณของผใชวาเปน bug report หรอ feature request หรอการกรองบทวจารณซ าซอนออกกอนทจะท าการสรางทคเกตส าหรบระบบตดตามปญหา โดยภายในโปรแกรม Command line ไดมการน าเขาสองโมเดลการจ าแนกประเภทบทวจารณของผใชทมประสทธภาพสงทสดในการจ าแนกบทวจารณวาเปน bug report หรอ feature request ทไดจากบทท 3 ทอยภายในรปแบบไฟล .pkl และท าการ decode ไฟลเหลานนใหกลบเปน prediction code ภาษา Python ดวยไลบราร Pickle ตวอยางไฟล .pkl ทถกน าเขาในโปรแกรม Command line และฟงกชนการ decode กลบเปนโคด Python แสดงดงภาพท 5.7 และ 5.8 ตามล าดบ

ภาพท 5.7 ตวอยางไฟล .pkl ทถกน าเขาในโปรแกรม Command line

ภาพท 5.8 ฟงกชนการ decode ไฟล .pkl กลบเปน prediction code ภาษา Python

หลงจากนนบทวจารณของผใชทถกเกบอยใน memory ของโปรแกรม Command line ทไดจากขนตอน 5.1 จะถกน ามาเขากระบวนการ pre-processing ท า text cleansing เพอลด noise และโอกาสทโมเดลการจ าแนกประเภทบทวจารณของผใชจะท านายผลลพธผดพลาดลง โดย text cleansing ทท าไดแก การท าใหเปนตวอกษรภาษาองกฤษตวพมพเลกทงหมด การน าค าหยดออก และการท าใหเปนรากศพท โดยฟงกชนการท างานเปนดงภาพท 5.9

ภาพท 5.9 ฟงกชนการน าค าหยดออก และการท าใหเปนรากศพท

27

71

58

03

46

Page 63: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

49

เมอท า text cleansing ใหกบบทวจารณของผใชเรยบรอยแลว กจะท า feature extraction เชนเดยวกบทท าในขนตอนการพฒนาโมเดลการจ าแนกประเภทของบทวจารณของผใช เพอน าไปเขาโมเดลการจ าแนกประเภททงสองโมเดล คอ โมเดล bug report หรอ not bug report และ โมเดล feature request หรอ not feature request เพอท านายวาบทวจารณตาง ๆ นนเปนประเภท bug report หรอ feature request เพอทจะไดแยกประเภทของทคเกตทจะสรางบนระบบตดตามปญหาไดอยางถกตอง ในกรณทโมเดลทงสองท านายออกมาวาเปน bug report และ feature request กจะท าการดคา probability ของการท านายของแตละคลาส ถาคลาสใดมคาสงกวา กจะระบวาบทวจารณเปนประเภทคลาสนน ๆ ตวอยางฟงกชนการท านายประเภทของบทวจารณของผใชเปนดงภาพท 5.10 และ 5.11

ภาพท 5.10 ตวอยางฟงกชนการท านายประเภทของบทวจารณวาเปน bug report หรอ not but report

ภาพท 5.11 ตวอยางฟงกชนการท านายประเภทของบทวจารณวาเปน feature request หรอ not feature request

หลงจากแยกประเภทของบทวจารณแลว โปรแกรม Command line กจะท าการตรวจสอบบทวจารณซ าซอนและกรองออก ท าไดโดยการสราง collection ขนมาไวส าหรบเกบ Universal Sentence Encoder vector ของบทวจารณทซ าซอน เมอมบทวจารณใหมเขามา กท าการแปลงเปน vector ขนาดมตเดยวกน แลวท าการหาคา Cosine Similarity จากบทท 4 ทผานมา ถาคาทไดออกมามคามากกวาหรอเทากบ 0.78 ใหสรปวาเปนบทวจารณซ าซอน โปรแกรม Command line กจะไมสนใจบทวจารณนน ๆ แตถาออกมาแลวมคาต ากวา 0.78

27

71

58

03

46

Page 64: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

50

โปรแกรม Command line กจะเตรยมสรางทคเกตใหส าหรบบทวจารณนน ๆ พรอมกบอปเดต collection ดวยการเพมขอมลเวกเตอรของบทวจารณอนใหมเขาไปดวย

5.3 การสรางทคเกตส าหรบระบบตดตามปญหาจรา อยางทกลาวไปตอนตนของบทท 5 วา Jira เปด REST APIs ใหระบบภายนอกสามารถเชอมตอผานโปรโตคอล HTTPS เขามาเพอท าการบรหารจดการโครงการพฒนาซอฟตแวรได ซงรวมไปถงการสรางทคเกตใหม ๆ ขนบน Jira board ดวย โดยฟลดทจ าเปนจะตองสงไปเปน request body ท Jira APIs เพอท าการสรางทคเกตจากบทวจารณของผใชในโครงงานมหาบณฑตแสดงดงตารางท 5.1 ตารางท 5.1 ฟลดทจ าเปนตองใชในการสรางทคเกตส าหรบระบบตดตามปญหา Jira เพอเชอมตอกบ Jira APIs

ฟลด ค าอธบาย project_key รหสของโครงการซงจะแตกตางกนไปตามแตละ Jira board issue_type_id รหสของประเภททคเกตซงจะแตกตางกนไปตามแตละ Jira board โดยในโครงงาน

มหาบณฑตนจะใช bug_issue_type_id และ feature_issue_type_id ทงสนสองรหส priority_id รหสของระดบความส าคญของทคเกต ซงถาไมระบคาทเปน default จะเปนปานกลาง

(Medium) label ฉลากของทคเกตซงเอาไวชวยในการคนหาทคเกต สามารถใสอะไรกได แตในโครงงาน

มหาบณฑตนจะใช iOS หรอ Android ขนอยกบ component_id component_id รหสกลมของทคเกตซงจะแตกตางกนไปตามแตละ Jira board ในโครงงานมหาบณฑตนจะม

การสรางรหสกลมเพอแสดงถงกลมของ iOS และ Android เพอชวยในการคนหาทคเกต summary หวขอของทคเกตทไดจากบทวจารณของผใช หรอหาจาก text summarization description ค าอธบายรายละเอยดของทคเกตประกอบดวย ขอความในบทวจารณของผใช เลขเวอรชน

ของแอปพลเคชน วนทท าการสรางทคเกต และลงคส าหรบเปดดคอมเมนทตนฉบบบนสโตร

เนองจาก project_key, issue_type_id, priority_id, label, และ component_id จะมความแตกตางกนตามแตละ Jira board ผทน าเครองมอไปใชจงจ าเปนตองท ากรอกขอมลเหลานผานโปรแกรม Command line เอง ดงภาพท 5.12 ส าหรบ summary นน ใน iOS ใช title ทไดจากการดงบทวจารณของผใชในขนตอนท 5.1 มาเปนหวขอของทคเกต แตส าหรบ Android นนจ าเปนจะตองหาหวขอใหกบทคเกต เนองจากเพลยสโตรไมไดคนคา title กลบมาใหในขนตอนท 5.1 ดงนนผวจยจงเลอกใชหลกการสรปความทเรยกวา Extractive Text Summarization มาชวยในการสรปความจากบทวจารณของผใชทมาจากเพลยสโตรเพอน าไปใชเปนหวขอของทคเกตทจะสรางขน โดยเลอกจากประโยคทมความส าคญมากทสดในบทวจารณของผใชเพยงประโยคเดยวมาเปนตวแทน หลกการแบบงาย คอ การนบจ านวนความถของค าทแตกตางกนทปรากฏอยในบทวจารณนน ๆ หารดวยจ านวนความถของค าทปรากฏบอยครงมากทสด เพอใหไดคาน าหนกของค า จากนนแยกบทวจารณออกเปนประโยคยอย ๆ แลวท าการหาผลรวมของคาน าหนกของค าทแตกตางกนในทก ๆ ประโยค ประโยคทไดคาผลรวมมากทสด

27

71

58

03

46

Page 65: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

51

จะถกน ามาเปนหวขอของบทวจารณในการสรางทคเกตส าหรบระบบตดตามปญหาตอไป ฟงกชนทเกยวของกบ extractive text summarization แสดงดงภาพท 5.13 และ 5.14

ภาพท 5.12 ขอมลทผใชเครองมอจ าเปนตองระบเองจากตารางท 5.1

ภาพท 5.13 ฟงกชนการค านวณหาความถของค าทแตกตางกนทงหมดในบทวจารณใด ๆ (count_word_frequencies) และฟงกชนส าหรบค านวณคะแนนความส าคญของแตละประโยคทอยบทวจารณ

(count_sentence_scores)

27

71

58

03

46

Page 66: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

52

ภาพท 5.14 ฟงกชนการเลอกประโยคทส าคญทสดจากบทวจารณของผใชออกมา n ประโยค โดยในโครงงานมหาบณฑตนมคา n = 1

ซงหลงจากไดคาฟลดตาง ๆ ทจ าเปนตองใชในการเชอมตอกบ Jira APIs ครบแลว โปรแกรม Command line กจะท าการสราง request body โดยบรรจฟลดตาง ๆ ใหอยในรปแบบโครงสราง JSON ดงภาพท 5.15 และท าการ post request body นไปท าการสรางทคเกตบน Jira board โดยมขอมลตามทระบไวในฟลดแตละฟลด เมอท าการสรางทคเกตเสรจสนแลวโปรแกรม Command line จะแสดงผลลพธกลบมาเปน JSON response ดงภาพท 5.16 และเมอเขาไปท Jira board ทคเกตทถกสรางสามารถแยกประเภทไดจากมมซายบนของทคเกตในภาพท 5.17 โดย bug report จะเปนไอคอนสแดง สวน feature request จะเปนไอคอนสเขยว หลงจากนนกพฒนากสามารถทจะเขาไปท Jira board แลว assign ตนเองใหกบทคเกตใด ๆ ทตองการจะท า เปลยนสถานะจากสถานะเรมตนท Backlog เปน In Progress หรอตดตามระยะเวลาทใชท างานได

27

71

58

03

46

Page 67: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

53

ภาพท 5.15 ฟงกชนการเชอมตอกบ Jira APIs ในการสรางทคเกตส าหรบระบบตดตามปญหา Jira

27

71

58

03

46

Page 68: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

54

ภาพท 5.16 โปรแกรม Command line แสดงผลลพธหลงจากท าการสรางทคเกตบน Jira board แลว

ภาพท 5.17 ตวอยางทคเกตบน Jira board ทอธบายเกยวกบปญหาการใชงานแอปพลเคชน

27

71

58

03

46

Page 69: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

55

ส าหรบทคเกตทถกสรางขนสามารถน าไปใชงานจรงไดมากนอยเพยงใดนนขนอยกบบทวจารณของผใชทเปนขอมลน าเขาเปนหลก บทวจารณทมการระบหวขอของบทวจารณ และมการเขยนค าอธบายทละเอยดสอถงปญหาทพบในการใชงานหรอความตองการฟงกชนใหมไดมากพอ นกพฒนากสามารถน าทคเกตนนไปท างานตอไดทนท เนองจากสามารถอานเขาใจไดวาปญหาทจ าเปนตองแกไขหรอสงทตองเพมเตมใหกบแอปพลเคชนคออะไร แตบางบทวจารณทไมมหวขอ มค าอธบายทสนจนเกนไป มการใชค าศพททเฉพาะกลม หรอผดหลกไวยากรณมาก กอาจท าใหนกพฒนาน าทคเกตไปใชงานจรงไดนอย สวนการน าคอมเมนทของผใชมาใสเปนค าอธบายของทคเกตโดยตรงกยงมปญหาอยบางในกรณทบทวจารณนนมความยาวมาก เพราะจะท าใหรายละเอยดของทคเกตนนยาวตามไปดวย อาจจะท าใหนกพฒนาไมใหความสนใจในการอานท าความเขาใจมากพอ หรอการสกดประโยคอยางงายเพอเลอกประโยคทส าคญทสดจากคอมเมนทมาเปนหวขอใหกบทคเกตแทนนน ในกรณทแตละประโยคในยอหนาของบทวจารณมการใชค าทแตกตางกน เทา ๆ กน กอาจจะท าใหสญเสยประโยคส าคญบางประโยคทจะน าไปเปนหวขอของทคเกตได แตอยางไรกตามนกพฒนากยงสามารถทจะอานบทวจารณตนฉบบไดจากลงคตนฉบบของแอปสโตรหรอเพลยสโตรทอยในค าอธบายทคเกต ตวอยางทคเกตทสามารถน าไปใชงานไดจรงแสดงดงภาพท 5.17 และตวอยางทคเกตทน าไปใชงานจรงไดนอยแสดงดงภาพท 5.18 ทอธบายเพยงแคมขอผดพลาดเพมมากขน แตไมไดบอกวาเปนขอผดพลาดอะไร

ภาพท 5.18 ตวอยางทคเกตทน าไปใชงานจรงไดนอย

27

71

58

03

46

Page 70: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

56

บทท 6 บทสรปโครงงานและขอเสนอแนะ

6.1 สรปผลโครงงานมหาบณฑต โครงงานมหาบณฑตนประกอบดวยขนตอนหลกทงสนสามขนตอน โดยในแตละขนตอนจะไดผลลพธออกมาเพอน าไปใชในขนตอนถดไปได ขนตอนแรกเปนการพฒนาและทดสอบประสทธภาพของโมเดลการจ าแนกประเภทบทวจารณของผใช มการเกบรวบรวมขอมลทถกตดฉลากจากงานวจย [22] ประเภท bug report, not bug report, feature request, และ not feature request เพอน ามาเปนชดขอมลเรยนรและทดสอบใหกบโมเดลการจ าแนกประเภททพฒนาขน มการใชฟเจอรทสกดไดจากขอความในบทวจารณผใช เชน Bag of Word, TF-IDF, word2vec, doc2vec ฟเจอรทไดจากเมตาเดตาของบทวจารณของผใช เชน คะแนนความพงพอใจ คะแนนอารมณความรสกทไดจากการวเคราะหบทวจารณ ความยาวของขอความในบทวจารณ จ านวน part of speech ในบทวจารณ มการผสมกนของทงฟเจอรทสกดไดจากขอความและฟเจอรจากเมตาเดตา โดยอลกอรทมการเรยนรของเครองแบบเดยวและแบบรวมไดถกน ามาใชจ าแนกประเภทบทวจารณของผใช ผลลพธไดออกมาเปนโมเดลการจ าแนกประเภท bug report หรอ not bug report และโมเดลการจ าแนกประเภท feature request หรอ not feature request ซงโมเดลการจ าแนกบทวจารณประเภท bug report ทดทสด คอ การใช Random Forest ensemble model รวมกบ doc2vec ทไดจากการแปลงขอความในบทวจารณของผใชทเอาค าหยดออกไปแลว สวนโมเดลทดทสดในการจ าแนกบทวจารณประเภท feature request คอ การใช XGBoost ensemble model รวมกบ TF-IDF ทไดจากการแปลงขอความในบทวจารณของผใช และใชขอมลเมตาเดตาของบทวจารณ คอ คะแนนความพงพอใจ และคะแนนอารมณความรสก ซงทงสองโมเดลจะถกน าไปใชในขนตอนการพฒนาเครองมอสรางทคเกตส าหรบระบบตดตามปญหา ขนตอนทสองเปนการตรวจสอบความซ าซอนของบทวจารณของผใช เนองจากบทวจารณของผใชจ านวนมากมโอกาสทจะซ าซอนกน จงจ าเปนตองกรองบทวจารณเหลานนออก โดยท าการหาคาความเหมอนกนเชงความหมายของขอความโดยเทคนค universal sentence encoder มการทดลองเพอหาคาขดแบงทมจ านวน false positive นอยทสด และ accuracy มากทสด เพอลดโอกาสทเครองมอสรางทคเกตส าหรบระบบตดตามปญหาไมท าการสรางทคเกตทจรง ๆ แลวไมซ าซอนกน โดยขอมลในการทดลองไดรวบรวมมาจากแอปพลเคชน Facebook ผลลพธทไดออกมาคอคาขดแบงทเหมาะสมทสดในการระบวาบทวจารณคใด ๆ มความซ าซอนกนหรอไมคอ 0.78 ซงจะถกน าไปใชในขนตอนถดไป ขนตอนสดทายเปนการสรางทคเกตส าหรบระบบตดตามปญหาจากบทวจารณของผใช โดยมการรวบรวมบทวจารณของผใชใหมทยงไมเคยถกวเคราะหมากอนจากแอปสโตรและเพลยสโตร ซงเครองมอถกพฒนาออกมาในรปแบบโปรแกรม Command line ทสามารถระบพารามเตอรแพลตฟอรมของบทวจารณ ไอดของแอปพลเคชนทตองการดงขอมบทวจารณ และคาทเฉพาะเจาะจงกบจราบอรด เชน โปรเจคไอด หลงจากไดขอมลบทวจารณใหมมาแลว เครองมอกจะน าโมเดลการจ าแนกประเภททไดจากขนตอนแรกมาจ าแนกประเภทบทวจารณวาเปน bug report หรอ feature request เพอแยกประเภทของทคเกตจราทจะสรางขนออกเปนหมวดหมแลวน าขอมลจากบทวจารณทจ าเปนส าหรบการสรางทคเกต เชน หวขอ ค าอธบาย เวอรชนทพบปญหา เปนตน มาเชอมตอกบ APIs

27

71

58

03

46

Page 71: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

57

ของจราไดออกมาเปนชดของทคเกตบนบอรดของจราทผานการกรองบทวจารณซ าซอนแลว นอกจากนยงมการสกดประโยคอยางงายจากคอมเมนทเพอน ามาสรางเปนหวขอของทคเกตในบางบทวจารณทไมมขอมลหวขอของบทวจารณดวย กระบวนการทงหมดเหลานชวยลดภาระของนกพฒนาโมไบลแอปพลเคชนในการวเคราะหบทวจารณดวยสายตา รวมไปถงลดระยะเวลาทตองใชในการสรางทคเกตบนจราอกดวย

6.2 ขอจ ากดในโครงงานมหาบณฑต 6.2.1 การทดลองทงหมดเกยวกบบทวจารณของผใชในโครงงานมหาบณฑตนรองรบเพยงแคภาษาองกฤษเทานน 6.2.2 จ านวนบทวจารณของผใชทถกตดฉลากเรยบรอยแลว ยงมจ านวนนอยอย โดย bug report มเพยง 740 บทวจารณ และ feature request มเพยง 616 บทวจารณ 6.2.3 จ านวนผเชยวชาญทชวยในการยนยนการตดฉลากวาบทวจารณคใด ๆ นนมความซ าซอนกนหรอไม มเพยงคนเดยวเทานน 6.2.4 จ านวนขอมลทใชทดสอบหาคา threshold ทเหมาะสมทสดในการบงบอกวาบทวจารณคใด ๆ มความซ าซอนกนหรอไม ยงมจ านวนนอยอยเพยง 1,880 คบทวจารณ 6.2.5 ระดบความส าคญของทคเกตส าหรบระบบตดตามปญหาทถกสรางขนยงมคาพนฐานคอ ปานกลาง 6.2.6 ทคเกตทถกสรางขนยงไมสามารถระบรายละเอยดปลกยอยลงไปถงขน task หรอ sub-task ได นกพฒนายงตองเปนผระบเองอยบาง 6.2.7 การน า comment จากบทวจารณของผใชทมความยาวมากมาใสเปนค าอธบายของทคเกตโดยตรงนน บางครงไมเหมาะสมเนองจากท าใหค าอธบายทคเกตยาวเกนไป 6.2.8 การสกดประโยคอยางงาย แลวเลอกประโยคทมความส าคญมากทสดมาไมกประโยค ถาบทวจารณของผใชมความยาวมาก บางครงไมสามารถครอบคลมใจความทงหมดของยอหนาได 6.2.9 การพจารณาความคลายกนระหวางสองบทวจารณใน base set และ test set โดยผวจยและวศวกรโมไบลแอปพลเคชน เพอระบวาเปนบทวจารณซ าซอนหรอไม ท าในระดบบทวจารณ 6.2.10 ขอมล base set และ test set ทน ามาทดลองเพอหาคาขดแบงในการระบวาเปนบทวจารณซ าซอนหรอไม มแหลงทมาจากเพยงแอปพลเคชนเดยว คอ Facebook บนแอปสโตร

6.3 ขอเสนอแนะ 6.3.1 ท าการตรวจสอบไวยากรณของบทวจารณของผใชกอนเทรนโมเดลการจ าแนกประเภท 6.3.2 เปลยนค าสแลงใหเปนค าปกตกอนเทรนโมเดลการจ าแนกประเภท 6.3.3 รวบรวมบทวจารณของผใชทตดฉลากแลวจากแหลงอน ๆ เพอเพมจ านวนชดขอมลส าหรบใชเทรนโมเดลการจ าแนกประเภทใหมากขน 6.3.4 การสกดฟเจอรใหม ๆ ทมความหลากหลายมากขนจากบทวจารณของผใช 6.3.5 ท าการทดลองจ าแนกประเภทบทวจารณของผใชในภาษาอน ๆ นอกเหนอจากภาษาองกฤษ 6.3.6 ท าการวเคราะหระดบความส าคญของทคเกตทจะถกสรางขนจากบทวจารณของผใช

27

71

58

03

46

Page 72: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

58

6.3.7 ท าการสกดประโยคจากบทวจารณของผใชเพอน ามาเปนหวขอใหกบทคเกตโดยใชเทคนค Abstractive Text Summarization 6.3.8 น าเครองมอทไดพฒนาขนในโครงงานมหาบณฑตนไปทดลองใชงานจรงในอตสาหกรรมเพอส ารวจความพงพอใจของผใชงาน 6.3.9 การพจารณาความคลายกนระหวางสองบทวจารณใน base set และ test set โดยผเชยวชาญ เพอระบวาเปนบทวจารณซ าซอนหรอไม ควรพจารณาในระดบประโยค เนองจากในบทวจารณหนง ๆ อาจมใจความส าคญหลายเรอง 6.3.10 ใชขอมล base set และ test set ในการทดลองหาคาขดแบงวาเปนบทวจารณซ าซอนหรอไมจากหลายแอปพลเคชน และหลายสโตร

27

71

58

03

46

Page 73: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

บรรณานกรม

บรรณานกรม

1. Wikipedia. Smartphone. [cited 2018 Dec 23]; Available from: https://en.wikipedia.org/wiki/Smartphone.

2. Apple. App Store. [cited 2018 Dec 23]; Available from: https://www.apple.com/th/ios/app-store/.

3. Google. Play Store. [cited 2018 Dec 23]; Available from: https://play.google.com/store?hl=en.

4. Wikipedia. User Reviews. [cited 2018 Dec 23]; Available from: https://en.wikipedia.org/wiki/User_review.

5. Atlassian. Agile. [cited 2019 Jan 15]; Available from: https://www.atlassian.com/agile/.

6. Berkeley. Artificial Intelligence. [cited 2019 Jan 15]; Available from: http://aima.cs.berkeley.edu/.

7. ACM. Data Mining. [cited 2019 Jan 15]; Available from: https://dl.acm.org/citation.cfm?id=2778285/.

8. University, C.M. Machine Learning. [cited 2019 Jan 15]; Available from: http://www.cs.cmu.edu/~tom/mlbook.html/.

9. Saravanan, R. and P. Sujatha, A State of Art Techniques on Machine Learning Algorithms: A Perspective of Supervised Learning Approaches in Data Classification. 2018. 945-949.

10. Pacharawongsakda, E. Naïve Bayes introduction. [cited 2018 Dec 20]; Available from: http://dataminingtrend.com/2014/naive-bayes/.

11. Babelcoder. Introduction to k-Nearest Neighbors. [cited 2019 Jun 5]; Available from: https://www.babelcoder.com/blog/posts/k-nearest-neighbors#%E0%B8%97%E0%B8%9A%E0%B8%97%E0%B8%A7%E0%B8%99%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%AB%E0%B8%A1%E0%B8%B2%E0%B8%A2%E0%B8%82%E0%B8%AD%E0%B8%87-Classification.

12. Dataminingtrend. How to create Decision Tree. [cited 2019 Jun 5]; Available from: http://dataminingtrend.com/2014/decision-tree-model/.

27

71

58

03

46

Page 74: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

60

13. Rojarath, A., W. Songpan, and C. Pong-inwong. Improved ensemble learning for classification techniques based on majority voting. in 2016 7th IEEE International Conference on Software Engineering and Service Science (ICSESS). 2016.

14. Atlassian. JIRA Software. [cited 2019 Jan 15]; Available from: https://www.atlassian.com/software/jira/.

15. Wikipedia. Issue Tracking System. [cited 2019 Jan 7]; Available from: https://en.wikipedia.org/wiki/Issue_tracking_system/.

16. Scrum.org. What is a Product Backlog? [cited 2019 Jan 7]; Available from: https://www.scrum.org/resources/what-is-a-product-backlog/.

17. Atlassian. What is a board? [cited 2019 Jan 9]; Available from: https://confluence.atlassian.com/jirasoftwarecloud/what-is-a-board-764477964.html.

18. Jiao, Y. A Method of Calculating Comment Text Similarity Based on Tree Structure. in 2015 7th International Conference on Intelligent Human-Machine Systems and Cybernetics. 2015.

19. Rahimi, S.R., A.T. Mozhdehi, and M. Abdolahi. An overview on extractive text summarization. in 2017 IEEE 4th International Conference on Knowledge-Based Engineering and Innovation (KBEI). 2017.

20. SHRIMALI, V. Universal Sentence Encoder. [cited 2019 Jun 15]; Available from: https://www.learnopencv.com/universal-sentence-encoder/.

21. Plus, M.L. Cosine Similarity – Understanding the math and how it works. [cited 2019 Jun 15]; Available from: https://www.machinelearningplus.com/nlp/cosine-similarity/.

22. Maalej, W. and H. Nabil. Bug report, feature request, or simply praise? On automatically classifying app reviews. in 2015 IEEE 23rd International Requirements Engineering Conference (RE). 2015.

23. Li, X., Z. Zhang, and K. Stefanidis. Mobile App Evolution Analysis Based on User Reviews. in SoMeT. 2018.

24. Khalid, H., et al., What Do Mobile App Users Complain About? IEEE Software, 2015. 32(3): p. 70-77.

27

71

58

03

46

Page 75: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

61

25. Nayebi, M., et al. App Store Mining Is Not Enough. in 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). 2017.

26. Chen, N., et al., AR-miner: mining informative reviews for developers from mobile app marketplace, in Proceedings of the 36th International Conference on Software Engineering. 2014, ACM: Hyderabad, India. p. 767-778.

27. Karanwittayakarn, J. Automatically create Jira Issue from Firebase Crashlytics. [cited 2018 Dec 31]; Available from: https://medium.com/firebasethailand/%E0%B8%A1%E0%B8%B2%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87-jira-issues-%E0%B8%88%E0%B8%B2%E0%B8%81-crash-%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B9%80%E0%B8%81%E0%B8%B4%E0%B8%94%E0%B8%82%E0%B8%B6%E0%B9%89%E0%B8%99%E0%B9%83%.

28. Palomba, F., et al. Recommending and Localizing Change Requests for Mobile Apps Based on User Reviews. in 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). 2017.

29. Guzman, E., M. El-Haliby, and B. Bruegge. Ensemble Methods for App Review Classification: An Approach for Software Evolution (N). in 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE). 2015.

27

71

58

03

46

Page 76: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

27

71

58

03

46

Page 77: Classification of Mobile Application User Reviews for ...twittie/classes/797_798...สามารถท จะว เคราะห ป ญหาการใช งานแอปพล

CU iThesis 6070908021 independent study / recv: 27062562 18:07:33 / seq: 21

ประวตผเขยน

ประวตผเขยน

ชอ-สกล กตตศกด เพชรรงนภา วน เดอน ป เกด 7 พฤษภาคม 2533 สถานทเกด สโขทย ทอยปจจบน 141/557 อาคารรทมสาทร ถนนสาทรใต 21 แขวงยานนาวา เขตสาทร

กรงเทพมหานคร 10120

27

71

58

03

46