Behind the E-commerce ChatBot: AliMe

Weerasak Thachai
3 min readAug 10, 2020

--

เมื่อธุรกิจ e-commerce เติบโตเป็นอย่างมากในไม่กี่ปีมานี้ความต้องการสอบถามและซื้อขายอัตโนมัติจึงเติบโตไปด้วย

AliMe เปิดตัวปี 2015 เพื่อปรับปรุงการซื้อขายและประสบการณ์ผู้ใช้แบบเดิมๆ เมื่อปี 2017 AliMe ประสบความสำเร็จในการตอบคำถาม 9.04 ล้านครั้ง

ขั้นตอนแรกในการสร้าง Alime จำเป็นต้องสร้างสถานการณ์ต่างๆ เพื่อรองรับคำถาม

Framework ของ AliMe แบ่งเป็นสามหมวดหมู่ใหญ่ๆ โดยใช้ rule-based matching, retrieval, DL ซึ่ง AliMe based on ทั้งสามหมวดหมู่นี้

1. Intention identification

ในขั้นตอนนี้จะใช้หา intention (ความต้องการ) ของแต่ละ message โดยทำการ classification และ extract attributes เนื่องจาก intention จะเป็นตัวกำหนด domain ของ flow ที่เราจะให้ไป

The technical framework for AliMe’s intention and matching stratification

2. Answering

Question จะถูก matching และ identifying เพื่อสร้างคำตอบที่เหมาะสม ระบบการสนทนาของ AliMe ใช้กลยุทธ์การตอบสามแบบตาม intention ที่แตกต่างกัน

a. FAQs เช่น “?” ต้องไป query บน knowledge graph หรือ retrieval model

Knowledge graph สร้างโดยใช้ mining entities และ phrases ซึ่งความสัมพันธ์ได้ถูกกำหนดไว้แล้ว

Mining data for creating knowledge graphs

b. Task เช่น “I’d like to book a one-way flight from New York to Paris for tomorrow” สามารถตอบคำถามได้โดยใช้ intention commitment + slot filling matching หรือใช้ deep reinforcement learning model

c. Chitchatting เช่น “I’m in a bad mood” อาจใช้ retrieval model ร่วมกับ deep learning (DL)

chitchat domain ส่วนใหญ่เกี่ยวข้องกับ model 2 แบบคือ retrieval-based model และ deep generative model เริ่มแรกเราใช้การค้นหาจาก fixed corpus ภายหลังเราสร้างคำตอบโดยไม่ต้องพึ่งพา corpus แต่ทั้งคู่ยังใช้ทั้ง 2 model ร่วมกัน ขั้นตอนแรกเราจะได้ candidate dataset จาก retrieval model จากนั้นนำ candidate dataset ไป re-ranked ผ่าน Seq2Seq model และ top answer จะถูกเลือกโดยใช้เกณฑ์ preset threshold

AliME’s chatting module flow

แนวทางการใช้ Deep Learning เพื่อระบุ intention identification

การระบุและสกัด intention ขึ้นอยู่กับผลของ classification ซึ่ง AliMe ใช้ทั้งข้อความและพฤติกรรมของ user เพื่อวิเคราะห์หา intention ที่ไม่สมบูรณ์

The user behavior-based DL model’s classification of intentions

ในกระบวนการสร้าง DL-based prediction system ทีมงานได้สร้าง 2 model ตัวเลือก multi-classification model นั้นแม้ว่าจะทำงานได้เร็วกว่าแต่ต้อง retaining ทุกครั้งที่มี label ใหม่ๆ เข้ามา ในขณะที่ binary-classification ประสิทธิภาพแย่กว่า ทั้งสอง model มีข้อดีและข้อเสีย ดังนั้นจึงเลือกใช้ในสถานการณ์ที่ต่างกัน

AliMe Dl-based intention classification ได้ embeds เอา behavioral factors และ textual features และทำ concatenates ก่อนการ multi-classification หรือทำ binary-classification ซึ่ง textual represented ในรูปแบบ bag-of-word หรือ embedding

Classification of intentions by DL accounting for user behavior

AliMe เป็น Intelligent Shopping Guide ได้อย่างไร

Intelligent Shopping Guide จะตอบโต้กับ user เพื่อวิเคราะห์หา intention ด้วยเป้าหมายในการมอบประสบการณ์การ shopping ที่ดีกว่า ซึ่งการตอบโต้มีสองจุดประสงค์หลักคือ เป็นเครื่องมือที่ช่วยให้เข้าใจ user intention และช่วยในการ optimization recommendation ranking และปรับปรุงกระบวนกระบวนการตอบโต้ให้เหมาะสมที่สุด

Standard technical framework for the AliMe intelligent shopping guide

ระบบถูกสร้างขึ้นมาเพื่อหาสิ่งที่ลูกค้าต้องการและ attributes ของสินค้าเหล่านั้น นำมาซึ่ง issue ใหม่ๆ

challenge 1: ผู้ใช้มีแนวโน้มแสดงออกด้วยประโยคสั้นๆ ดังนั้นการ identifying intention ให้ได้แม่นยำต้องทำหลายรอบ

challenge 2: ผู้ใช้มักมีการตอบโต้ที่ไม่สอดคล้องกัน โดยปรับเปลี่ยนรายละเอียดบางส่วนของ intention

challenge 3: intention ของผู้ซื้ออาจไม่ถูกต้องหรือไม่แม่นยำพอ

challenge 4: ความสัมพันธ์ระหว่าง intention มีความซับซ้อนมาก

AliMe รองรับคำพูดแบบวลี การสลับระหว่าง intention และ knowledge graph ซึ่งเก็บข้อมูลผลิตภัณฑ์ ใน knowledge graph จะถูก combined ด้วย semantic indexes เพื่อให้การ identification มีประสิทธิภาพมากขึ้น

scenarios, category management ประกอบด้วย category identification และการคำนวณ category relations

Category relations framework

Category Identification

AliMe identification ถูก build บน knowledge graph, semantic indexes และ DSSM (deep semantic similarity model) ซึ่ง semantic indexes ถูก build บน textual information ก็คือข้อมูลการ search และ click นอกจากนั้นการหา similarity ระหว่าง word segmentation และ candidate categories จะถูกคำนวณโดยใช้ word embedding

AliME’s goods identification plan based on semantic indexing and DSSM

การคำนวณ Category Relations

มีสองตัวอย่างสำคัญในการคำนวณความสัมพันธ์คือ ความสัมพันธ์ระหว่างคำ (เชิงความหมาย) และความสัมพันธ์เชิงความเหมือน

ยกตัวอย่าง เมื่อ user ตอบโต้ intention แรกเพื่อซื้อเสื้อกันหนาวซักตัว แต่ตอนหลังเปลี่ยนใจไปซื้อถ้วย ซึ่ง attributes ของเสื้อกันหนาวนั้นไม่ควรถูกส่งผ่านไปยังถ้วย อีกกรณีหนึ่งถ้าเปลี่ยนใจไปซื้อเชิ๊ต ความสัมพันธ์ระหว่างคำ (เชิงความหมาย) ของเสื้อกันหนาว มี attributes ที่สามารถส่งผ่านไปยังเชิ๊ตได้

hyponymy relations (ความสัมพันธ์ของคำเชิงความหมาย) สามารถคำนวณได้ดังนี้

a. คำนวณจาก knowledge graph-based relation

b. สกัดจาก queries ของ user

similarity relations คำนวณได้จาก

a. ใช้เหมือนกับ hypernym: ยกตัวอย่าง ทั้ง xiaomi และ huawei ใช้วลี ‘mobile phone’ เป็น hypernym

b. semantic similarity based on embedding computation

--

--

No responses yet