สามารถใช้ข้อมูลได้หลายวิธีเพื่อตอบสนองความต้องการของหน่วยธุรกิจต่างๆ เช่น การตลาด การขาย หรือผลิตภัณฑ์ ในโพสต์นี้ เรามุ่งเน้นที่การใช้ข้อมูลเพื่อสร้างคำแนะนำส่วนบุคคลเพื่อปรับปรุงการมีส่วนร่วมของผู้ใช้ปลายทาง แอปพลิเคชันอีคอมเมิร์ซส่วนใหญ่ใช้ข้อมูลลูกค้าจำนวนมากซึ่งสามารถนำมาใช้เพื่อให้คำแนะนำส่วนบุคคลได้ อย่างไรก็ตาม ข้อมูลนั้นอาจไม่ได้รับการล้างหรืออยู่ในรูปแบบที่ถูกต้องเพื่อให้ข้อมูลเชิงลึกอันมีค่าเหล่านั้น
เป้าหมายของโพสต์นี้คือสาธิตวิธีการใช้งาน AWS กาว เพื่อแยก แปลง และโหลดข้อมูล JSON ของคุณให้อยู่ในรูปแบบ CSV ที่สะอาดหมดจด จากนั้นเราจะแสดงวิธีเรียกใช้เครื่องมือแนะนำที่ขับเคลื่อนโดย ปรับแต่ง Amazon เกี่ยวกับข้อมูลการโต้ตอบกับผู้ใช้ของคุณเพื่อมอบประสบการณ์ที่ปรับให้เหมาะกับลูกค้าของคุณ ผลลัพธ์ที่ได้จาก Amazon Personalize คือคำแนะนำที่คุณสามารถสร้างได้จาก API
กรณีใช้งานทั่วไปคือแพลตฟอร์มอีคอมเมิร์ซที่รวบรวมข้อมูลการโต้ตอบระหว่างผู้ใช้กับรายการ และแนะนำผลิตภัณฑ์หรือผลิตภัณฑ์ที่คล้ายคลึงกันที่ลูกค้าอาจชอบ ในตอนท้ายของโพสต์นี้ คุณจะสามารถนำข้อมูล JSON ที่ไม่สะอาดของคุณ และสร้างคำแนะนำส่วนบุคคลตามผลิตภัณฑ์ต่างๆ ที่ผู้ใช้แต่ละคนโต้ตอบด้วย สร้างประสบการณ์ที่ดีขึ้นสำหรับผู้ใช้ปลายทางของคุณ สำหรับจุดประสงค์ของโพสต์นี้ โปรดดูที่ ชุดข้อมูลการโต้ตอบกับผู้ใช้รายการ เพื่อสร้างโซลูชันนี้
ทรัพยากรของโซลูชันนี้อาจมีค่าใช้จ่ายในบัญชี AWS ของคุณ ดูข้อมูลราคาได้ที่ ราคากาว AWS และ Amazon กำหนดราคาในแบบของคุณ.
ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมโซลูชันของเรา
เบื้องต้น
สำหรับโพสต์นี้ คุณต้องมีสิ่งต่อไปนี้:
สำหรับคำแนะนำในการสร้างที่เก็บข้อมูล โปรดดูที่ ขั้นตอนที่ 1: สร้างที่เก็บข้อมูล S3 แรกของคุณ. ตรวจสอบให้แน่ใจว่า แนบนโยบายการเข้าถึง Amazon Personalize.
นโยบายเหล่านี้เป็นนโยบายที่อนุญาตอย่างมาก ในทางปฏิบัติ เป็นการดีที่สุดที่จะใช้สิทธิ์น้อยที่สุดและให้สิทธิ์การเข้าถึงเมื่อจำเป็นเท่านั้น สำหรับคำแนะนำในการสร้างบทบาท โปรดดูที่ ขั้นตอนที่ 2: สร้างบทบาท IAM สำหรับ AWS Glue.
การรวบรวมข้อมูลของคุณด้วย AWS Glue
เราใช้ AWS Glue เพื่อรวบรวมข้อมูลผ่านไฟล์ JSON เพื่อกำหนดสคีมาของข้อมูลของคุณและสร้างตารางข้อมูลเมตาใน AWS Glue Data Catalog ของคุณ แค็ตตาล็อกข้อมูลมีการอ้างอิงถึงข้อมูลที่ใช้เป็นแหล่งที่มาและเป้าหมายของงาน ETL ของคุณใน AWS Glue AWS Glue เป็นบริการจัดเตรียมข้อมูลแบบไร้เซิร์ฟเวอร์ที่ทำให้ง่ายต่อการแยก ล้าง เพิ่มคุณภาพ ทำให้เป็นมาตรฐาน และโหลดข้อมูล ช่วยเตรียมข้อมูลของคุณสำหรับการวิเคราะห์หรือการเรียนรู้ของเครื่อง (ML) ในส่วนนี้ เราจะอธิบายวิธีเตรียมข้อมูล JSON ของคุณให้พร้อมสำหรับ Amazon Personalize ซึ่งต้องใช้ไฟล์ CSV
ข้อมูลของคุณอาจมีคอลัมน์ต่างๆ ที่คุณอาจไม่ต้องการหรือจำเป็นต้องเรียกใช้ผ่าน Amazon Personalize ในโพสต์นี้เราใช้ user-item-interaction.json
ไฟล์และล้างข้อมูลนั้นโดยใช้ AWS Glue เพื่อรวมเฉพาะคอลัมน์ user_id
, item_id
และ timestamp
ในขณะที่ยังแปลงเป็นรูปแบบ CSV คุณสามารถใช้โปรแกรมรวบรวมข้อมูลเพื่อเข้าถึงที่เก็บข้อมูลของคุณ แยกข้อมูลเมตา และสร้างคำจำกัดความของตารางใน Data Catalog โดยจะค้นหาข้อมูลใหม่และแยกคำจำกัดความของสคีมาโดยอัตโนมัติ ข้อมูลนี้สามารถช่วยให้คุณเข้าใจข้อมูลและสิ่งที่คุณต้องการรวมได้ดีขึ้นในขณะฝึกแบบจำลองของคุณ
พื้นที่ user-item-interaction
ข้อมูล JSON คืออาร์เรย์ของระเบียน โปรแกรมรวบรวมข้อมูลถือว่าข้อมูลเป็นวัตถุเดียว: แค่อาร์เรย์ เราสร้าง ลักษณนามที่กำหนดเอง เพื่อสร้างสคีมาที่ยึดตามแต่ละเร็กคอร์ดในอาร์เรย์ JSON คุณสามารถข้ามขั้นตอนนี้ได้หากข้อมูลของคุณไม่ใช่อาร์เรย์ของระเบียน
- บนคอนโซล AWS Glue ภายใต้ โปรแกรมรวบรวมข้อมูลเลือก ลักษณนาม.
- Choose เพิ่มตัวแยกประเภท.
- สำหรับ ชื่อลักษณนามเข้าสู่
json_classifier
. - สำหรับ ประเภทลักษณนามให้เลือก JSON.
- สำหรับ เส้นทาง JSONป้อน
$[*].
- Choose สร้างบัญชีตัวแทน.
- เกี่ยวกับ หน้าโปรแกรมรวบรวมข้อมูลเลือก เพิ่มโปรแกรมรวบรวมข้อมูล.
- สำหรับ ชื่อโปรแกรมรวบรวมข้อมูลป้อน
json_crawler
. - สำหรับ ตัวแยกประเภทที่กำหนดเองเพิ่มตัวแยกประเภทที่คุณสร้างขึ้น
- Choose ถัดไป.
- สำหรับ ประเภทแหล่งที่มาของโปรแกรมรวบรวมข้อมูลเลือก ที่เก็บข้อมูล.
- ปล่อยให้ทุกอย่างเป็นค่าเริ่มต้นและเลือก ถัดไป.
- สำหรับ เลือกที่เก็บข้อมูลป้อนเส้นทาง Amazon S3 ไปยังไฟล์ข้อมูล JSON ของคุณ
- Choose ถัดไป.
- ข้ามส่วน เพิ่มที่เก็บข้อมูลอื่น.
- ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร เลือกบทบาท IAM เลือก เลือกบทบาท IAM ที่มีอยู่.
- สำหรับ บทบาท IAM, เลือกบทบาทที่คุณสร้างไว้ก่อนหน้านี้ (
AWSGlueServiceRole-xxx
). - Choose ถัดไป.
- ปล่อยให้ความถี่เป็น รันออนดีมานด์.
- เกี่ยวกับ เอาท์พุต หน้าให้เลือก เพิ่มฐานข้อมูล.
- สำหรับ ชื่อฐานข้อมูลป้อน
json_data
. - Choose เสร็จสิ้น.
- Choose เรียกใช้ตอนนี้.
คุณยังสามารถเรียกใช้โปรแกรมรวบรวมข้อมูลได้โดยไปที่ โปรแกรมรวบรวมข้อมูล หน้า การเลือกโปรแกรมรวบรวมข้อมูลของคุณ และเลือก เรียกใช้โปรแกรมรวบรวมข้อมูล.
ใช้ AWS Glue เพื่อแปลงไฟล์ของคุณจาก CSV เป็น JSON
หลังจากที่โปรแกรมรวบรวมข้อมูลของคุณทำงานเสร็จแล้ว ให้ไปที่ ตาราง หน้าบนคอนโซล AWS Glue ไปที่ตารางที่โปรแกรมรวบรวมข้อมูลของคุณสร้างขึ้น คุณสามารถดูสคีมาของข้อมูลได้ที่นี่ จดฟิลด์ที่คุณต้องการใช้กับข้อมูล Amazon Personalize ของคุณ สำหรับโพสต์นี้ เราขอเก็บ user_id
, item_id
และคอลัมน์ประทับเวลาสำหรับ Amazon Personalize
ณ จุดนี้ คุณได้ตั้งค่าฐานข้อมูลของคุณแล้ว Amazon Personalize ต้องใช้ไฟล์ CSV ดังนั้นคุณต้องแปลงข้อมูลจากรูปแบบ JSON เป็นไฟล์ CSV ที่ล้างแล้วสามไฟล์ที่มีเฉพาะข้อมูลที่คุณต้องการใน Amazon Personalize ตารางต่อไปนี้แสดงตัวอย่างไฟล์ CSV สามไฟล์ที่คุณสามารถรวมไว้ใน Amazon Personalize สิ่งสำคัญคือต้องสังเกตว่า ปฏิสัมพันธ์ จำเป็นต้องมีข้อมูลในขณะที่ ผู้ใช้งาน และ ชิ้น ข้อมูลเมตาของข้อมูลเป็นทางเลือก
ประเภทชุดข้อมูล | ช่องที่ต้องเติม | คีย์เวิร์ดที่สงวนไว้ |
ผู้ใช้ |
1 ฟิลด์ข้อมูลเมตา |
|
รายการ |
1 ฟิลด์ข้อมูลเมตา |
CREATION_TIMESTAMP (ยาว) |
ปฏิสัมพันธ์ |
|
|
สิ่งสำคัญคือต้องแน่ใจว่าคุณมีปฏิสัมพันธ์ทางประวัติศาสตร์และเหตุการณ์รวมกันอย่างน้อย 1,000 ครั้งเพื่อฝึกโมเดล สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโควต้า โปรดดูที่ โควต้าใน Amazon Personalize.
ในการบันทึกข้อมูลเป็น CSV คุณต้องเรียกใช้งาน AWS Glue กับข้อมูล งานคือตรรกะทางธุรกิจที่ทำงาน ETL ใน AWS Glue งานเปลี่ยนรูปแบบจาก JSON เป็น CSV สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดรูปแบบข้อมูล โปรดดูที่ การจัดรูปแบบข้อมูลที่ป้อนของคุณ.
- เกี่ยวกับ แดชบอร์ดกาว AWSเลือก AWS กาวสตูดิโอ.
AWS กาวสตูดิโอ เป็นอินเทอร์เฟซแบบกราฟิกที่ใช้งานง่ายสำหรับการสร้าง รัน และตรวจสอบงาน AWS Glue ETL
- Choose สร้างและจัดการงาน.
- เลือก เพิ่มแหล่งที่มาและเป้าหมายลงในกราฟ
- สำหรับ แหล่งเลือก S3.
- สำหรับ เป้าเลือก S3.
- Choose สร้างบัญชีตัวแทน.
- เลือกที่เก็บข้อมูล S3 ของแหล่งข้อมูล
- เกี่ยวกับ คุณสมบัติแหล่งข้อมูล – S3 แท็บ เพิ่มฐานข้อมูลและตารางที่เราสร้างไว้ก่อนหน้านี้
- เกี่ยวกับ แปลง แท็บ เลือกกล่องที่จะปล่อย
user_login
และlocation
.
ในโพสต์นี้ เราไม่ใช้ข้อมูลเมตาเพิ่มเติมเพื่อเรียกใช้อัลกอริธึมการปรับเปลี่ยนในแบบของคุณ
- เลือกบัคเก็ต S3 เป้าหมายข้อมูล
- เกี่ยวกับ คุณสมบัติเป้าหมายข้อมูล – S3 แท็บสำหรับ รูปแบบเลือก CSV.
- สำหรับ ตำแหน่งเป้าหมาย S3ป้อนเส้นทาง S3 สำหรับเป้าหมายของคุณ
สำหรับโพสต์นี้ เราใช้ถังเดียวกันกับที่ใช้กับไฟล์ JSON
- เกี่ยวกับ รายละเอียดงาน หน้าสำหรับ Name, ป้อนชื่องานของคุณ (สำหรับโพสต์นี้
json_to_csv
). - สำหรับ บทบาท IAMเลือกบทบาทที่คุณสร้างไว้ก่อนหน้านี้
คุณควรรวม AmazonS3FullAccess
นโยบายก่อนหน้านี้
- ปล่อยให้ฟิลด์ที่เหลือเป็นการตั้งค่าเริ่มต้น
- Choose ลด.
- Choose วิ่ง.
อาจใช้เวลาสองสามนาทีในการทำงาน
ในบัคเก็ต Amazon S3 ของคุณ คุณควรเห็นไฟล์ CSV ที่คุณใช้ในส่วนถัดไป
การตั้งค่า Amazon Personalize
ณ จุดนี้ คุณมีรูปแบบข้อมูลของคุณในประเภทไฟล์ที่ Amazon Personalize สามารถใช้ได้ Amazon Personalize เป็นบริการที่มีการจัดการเต็มรูปแบบซึ่งใช้ ML และประสบการณ์แนะนำมากกว่า 20 ปีใน Amazon.com เพื่อให้คุณปรับปรุงการมีส่วนร่วมของผู้ใช้ปลายทางได้ด้วยการเพิ่มประสิทธิภาพคำแนะนำผลิตภัณฑ์และเนื้อหาส่วนบุคคลแบบเรียลไทม์ และโปรโมชันการตลาดแบบกำหนดเป้าหมาย ในส่วนนี้ เราจะอธิบายวิธีการสร้างโซลูชัน Amazon Personalize เพื่อใช้ข้อมูลของคุณเพื่อสร้างประสบการณ์ที่ปรับให้เป็นส่วนตัว
- บนคอนโซล Amazon Personalize ภายใต้ กลุ่มชุดข้อมูลใหม่เลือก สมัครที่นี่.
- ป้อนชื่อสำหรับกลุ่มชุดข้อมูลของคุณ
กลุ่มชุดข้อมูลประกอบด้วยชุดข้อมูล โซลูชัน และ API การนำเข้าเหตุการณ์
- ป้อนชื่อชุดข้อมูล และป้อนรายละเอียดสคีมาตามข้อมูลของคุณ
สำหรับชุดข้อมูลนี้ เราใช้สคีมาต่อไปนี้ คุณสามารถเปลี่ยนสคีมาตามค่าในชุดข้อมูลของคุณได้
- Choose ถัดไป.
- ป้อนชื่องานนำเข้าชุดข้อมูลของคุณเพื่อนำเข้าข้อมูลจาก Amazon S3
ตรวจสอบให้แน่ใจว่าบทบาทบริการ IAM ของคุณมีสิทธิ์เข้าถึง Amazon S3 และ Amazon Personalize และบัคเก็ตของคุณมีความถูกต้อง นโยบายถัง.
- ป้อนเส้นทางไปยังข้อมูลของคุณ (บัคเก็ต Amazon S3 จากส่วนก่อนหน้า)
- เกี่ยวกับ Dashboard หน้าสำหรับกลุ่มชุดข้อมูลของคุณ ภายใต้ อัปโหลดชุดข้อมูล, นำเข้า
user-item-interactions
ข้อมูล (ข้อมูลผู้ใช้และข้อมูลรายการเป็นทางเลือก แต่สามารถปรับปรุงโซลูชันได้)
เรารวมตัวอย่าง item.csv
แฟ้มใน repo GitHub. ภาพหน้าจอต่อไปนี้แสดงตัวอย่างข้อมูลรายการ
- ภายใต้ สร้างโซลูชั่นสำหรับ การฝึกอบรมการแก้ปัญหาเลือก เริ่มต้น.
โซลูชันคือรูปแบบการฝึกอบรมของข้อมูลที่คุณให้ไว้กับอัลกอริทึมหรือสูตรที่คุณเลือก
- สำหรับ ชื่อโซลูชันป้อน
aws-user-personalization
. - Choose ถัดไป.
- ตรวจสอบและเลือก เสร็จสิ้น.
- บนแดชบอร์ด ภายใต้ เปิดตัวแคมเปญสำหรับ การสร้างแคมเปญเลือก เริ่มต้น.
แคมเปญช่วยให้แอปพลิเคชันของคุณได้รับคำแนะนำจากเวอร์ชันโซลูชันของคุณ
- สำหรับ ชื่อแคมเปญ, ป้อนชื่อ
- เลือกโซลูชันที่คุณสร้างขึ้น
- Choose สร้างแคมเปญ.
ตอนนี้คุณใช้ข้อมูลจาก Data Lake ของคุณสำเร็จแล้ว และสร้างแบบจำลองคำแนะนำที่สามารถใช้เพื่อรับคำแนะนำต่างๆ ได้ ด้วยชุดข้อมูลนี้ คุณจะได้รับคำแนะนำส่วนบุคคลสำหรับผลิตภัณฑ์ในครัวเรือนโดยอิงจากการโต้ตอบของผู้ใช้กับผลิตภัณฑ์อื่นๆ ในชุดข้อมูล
ใช้ Amazon Personalize เพื่อรับคำแนะนำของคุณ
หากต้องการทดสอบโซลูชันของคุณ ให้ไปที่แคมเปญที่คุณสร้างขึ้น ใน ทดสอบผลแคมเปญ ส่วนใต้ รหัสผู้ใช้ป้อน ID เพื่อรับคำแนะนำ รายการรหัสจะปรากฏขึ้นพร้อมกับคะแนนสัมพัทธ์ รหัสรายการสัมพันธ์กับผลิตภัณฑ์เฉพาะที่แนะนำ
ภาพหน้าจอต่อไปนี้แสดงการค้นหา ID ผู้ใช้ 1
. พวกเขาได้รับ ID รายการแนะนำ 59
ซึ่งสัมพันธ์กับกรอบรูปไม้ คะแนนที่อยู่ถัดจากรายการจะช่วยให้คุณคาดการณ์ความเกี่ยวข้องของแต่ละรายการกับผู้ใช้ของคุณ
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคะแนน Amazon Personalize โปรดดูที่ ขอแนะนำคะแนนการแนะนำใน Amazon Personalize.
หากต้องการสร้างคำแนะนำ คุณสามารถโทรหา GetRecommendations
or GetPersonalizedRanking
API โดยใช้ อินเทอร์เฟซบรรทัดคำสั่ง AWS AWS (AWS CLI) หรือ SDK เฉพาะภาษา ด้วย Amazon Personalize คำแนะนำของคุณสามารถเปลี่ยนแปลงได้เมื่อผู้ใช้คลิกที่รายการสำหรับกรณีการใช้งานแบบเรียลไทม์มากขึ้น ดูข้อมูลเพิ่มเติมได้ที่ รับคำแนะนำแบบเรียลไทม์.
สรุป
AWS นำเสนอ . ที่หลากหลาย AI / ML และ การวิเคราะห์ บริการที่คุณสามารถใช้เพื่อรับข้อมูลเชิงลึกและเป็นแนวทางในการตัดสินใจทางธุรกิจที่ดีขึ้น ในโพสต์นี้ คุณใช้ชุดข้อมูล JSON ที่รวมคอลัมน์ข้อมูลเพิ่มเติม และล้างและแปลงข้อมูลนั้นโดยใช้ AWS Glue นอกจากนี้ คุณได้สร้างโมเดลแบบกำหนดเองโดยใช้ Amazon Personalize เพื่อให้คำแนะนำแก่ลูกค้าของคุณ
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Amazon Personalize โปรดดูที่ คู่มือนักพัฒนา. ลองใช้วิธีแก้ปัญหานี้และแจ้งให้เราทราบหากคุณมีคำถามใดๆ ในความคิดเห็น
เกี่ยวกับผู้เขียน
โซอิช ปิธาวาลา เป็นสถาปนิก Startup Solutions ที่ Amazon Web Services ซึ่งตั้งอยู่ในซานฟรานซิสโก เธอทำงานกับลูกค้าเริ่มต้นเป็นหลักเพื่อช่วยสร้างโซลูชันที่ปลอดภัยและปรับขนาดได้บน AWS
แซม ทราน เป็นสถาปนิก Startup Solutions ที่ Amazon Web Services ซึ่งตั้งอยู่ในซีแอตเทิล เขามุ่งเน้นที่การช่วยลูกค้าสร้างโซลูชันที่มีการออกแบบทางสถาปัตยกรรมที่ดีบน AWS
ที่มา: https://aws.amazon.com/blogs/machine-learning/setting-up-amazon-personalize-with-aws-glue/