Secure Management of User Location Data to Improve User Experience
(เขียนโดยทีมงานบอทน้อย)
หนึ่งในหมวดข้อมูลที่สำคัญที่สุดกับบริษัท LINE คือข้อมูลสถานที่การใช้งาน (location data) ของผู้ใช้งานบนแพลทฟอร์ม ซึงถือว่าเป็นข้อมูลส่วนตัวที่ค่อนข้างอ่อนไหว สามารถเชื่อมโยงกับชีวิตส่วนตัวของผู้ใช้งานทุกคนได้อย่างง่ายๆ
ข้อดีของการมีข้อมูลสถานที่ คือสามารถนำข้อมูลมาวิเคราะห์เพื่อพัฒนาประสบการณ์การใช้งานบนแพลตฟอร์มได้ (user experience)
สามารถเพิ่มบริการใหม่ๆ เช่น:
• ตรวจข่าวสารท้องถิ่น
• เดินทางไปทำงานด้วยเส้นทางที่ไม่แออัด
• หาและจองที่นั่งกับร้านอาหาร
• ส่งสถานที่ในแชทกับเพื่อนๆ
• ค้นหาข้อมูลใกล้ตัว
• ช็อปคูปองกับร้านต่างๆ
เป้าหมายคือ ‘Bring the local closer to you’ แปลว่า นำท้องถิ่นให้ใกล้ขึ้นกับตัวคุณนั่นเอง
แต่ข้อแม้คือ การเก็บข้อมูลเหล่านี้อย่างปลอดภัยเป็นพันธกิจระดับสูงขององค์กร เรามาดูกันว่า LINE มีมาตรการการรักษาความปลอดภัยอย่างไรบ้าง เพื่อทำความเข้าใจกับโครงสร้างพื้นฐานของการรักษาข้อมูลส่วนตัว
ขณะนี้ LINE มี 3 มาตรการหลักที่ใช้ร่วมกันเพื่อเก็บข้อมูลอย่างปลอดภัย
Governance Security — การเก็บและจัดการข้อมูลอย่างปลอดภัย
LINE ต้องมีสภาพแวดล้อมการจัดการข้อมูลที่เข้มแข็ง โดยหลักๆมี 3 ช่องทาง:
User Agreement: ข้อตกลงการใช้งานของผู้ใช้ ให้ยินยอมกับการเก็บข้อมูลส่วนตัวเพื่อมาพัฒนาแพลตฟอร์ม และสามารถแก้ไขตัวเลือกเก็บข้อมูลได้ทุกเมื่อ เช่นการลบข้อมูลของตัวเอง
Platform Environment: LINE มีหน้าที่ในการสร้างสภาพแวดล้อมบนแพลตฟอร์ม ที่สามารถเชื่อมต่อแอพอื่นๆกับข้อมูลส่วนตัวได้อย่างปลอดภัย และเก็บข้อมูลในที่ปลอดภัย โดยใช้ authentication หลายรูปแบบเพื่อดึงข้อมูลมาใช้ และถอดข้อมูลสถานที่ออกจากบัญชีที่มีข้อมูลส่วนตัวนอกเหนือจากที่ต้องการ ข้อมูลต้องผ่านขบวนการ mapping ที่ไม่ระบุตัวตนกับข้อมูล
Operations / Policy: การเข้าสู่ข้อมูลที่เก็บไว้ ต้องผ่านขั้นตอนการอนุมัติที่เคร่งครัด และการใช้งานข้อมูลในการพัฒนา ต้องผ่านการคัดเลือก use case กับ intent ถึงจะสามารถ implement ได้
Data Analysis — การวิเคราะห์ข้อมูลและทำความเข้าใจกับการใช้งาน
การวิเคราะห์ข้อมูลคือการสรุปข้อมูลสถานที่จำนวนมาก (location data) เพื่อเอามาทำความเข้าใจกับโปรไฟล์การใช้งานของผู้ใช้ (user profiling) และมาเสนอว่าโปรไฟล์ต่างๆมีความต้องการอะไรบ้าง (case study)
ข้อมูลที่ใช้ได้มาจากสามแหล่ง: ผู้ใช้ เวลาการใช้งาน และ ข้อมูลสถานที่
ข้อมูลผู้ใช้จะมาจากที่อยู่ IP และ GPS ของมือถือ และเราสามารถสร้างข้อมูลระยะเวลาจากข้อมูลสองแบบนี้ รวมกับข้อมูลแผนที่ท้องถิ่น
ข้อมูลการใช้งานในเดือนเดียวมีผู้ใช้อยู่เฉลี่ย 41 ล้านคน และเราสามารถแบ่งแยกจุดประสงค์การใช้งานได้ เช่นสถานที่การทำงาน ที่พักอาศัย เส้นการเดินทาง ฯลฯ แล้วนำไปสร้างโปรไฟล์การใช้งานโดยรวม
เรามาดูตัวอย่างขบวนการดีกว่า
ถ้าเรามีข้อมูลสถานที่ของผู้ใช้งานสองบัญชี เราสามารถทราบสายรถไฟที่เดินทาง และจุดประสงค์การเดินทางได้ไหม?
ถ้ารูปร่างของสถานที่การใช้งานในระยะเวลานึงของผู้ใช้งานคล้ายกับรูปร่างของสายรถไฟบนแผนที่ (shaping) อัลกอริทิมจะสามารถเดาได้ว่าน่าจะใช้สายรถไฟนี้!
ในท้องถิ่นนึง มีผู้ใช้งานทำอะไรกันอยู่ทุกวัน?
เมื่อรวมข้อมูลสถานที่ต่อระยะเวลารายวันแล้ว เราสามารถดูแผนที่ความหนาแน่นของประชากรต่อชั่วโมง และเดาได้ว่าแต่ละท้องถิ่นมีผู้ใช้งานทำอะไรบ้าง เช่น
ตอนกลางวัน ผู้ใช้งานส่วนใหญ่จะรวมตัวกันรอบสถานีรถไฟโตเกียว
แต่ตอนกลางคืน ผู้ใช้งานจะกระจายกันในวงรอบสถานีในระยะ 20 กม.
สรุปได้ง่ายๆคือ รอบสถานีคงเป็นแหล่งที่ทำงาน และนอกสถานีเป็นที่พักอาศัย ข้อมูลสรุปนี้เป็นตัวช่วยสำคัญในการเลือกบริการที่จะส่งต่อให้กับผู้ใช้ในบริเวนเหล่านี้
Delivery Search — สรุปข้อมูลใช้งานมาพัฒนาการใช้งาน และเสริมบริการในสถานที่ต่างๆอย่างถูกต้อง
ก่อนที่เราจะสามารถเพิ่มบริการให้ผู้ใช้ เราจำเป็นต้องเลือกผู้ใช้ที่เหมาะสมกับการรับบริการต่างๆ โดยทาง LINE ได้สร้าง API ที่สามารถค้นหาและเลือกผู้ใช้ตามที่ต้องการ
ข้อมูลการใช้งานเฉพาะตนจะถูกเก็บเป็นจุดพิกัดบนแผนที่และที่อยู่ IP การใช้งานข้อมูลในรูปแบบนี้จะใช้ลำบาก จึงต้องใช้ machine learning มาช่วย
เมื่อเราสรุปยอดการใช้งานในตำแหน่งที่คล้ายกันแล้ว เราจะได้ข้อมูลในรูปแบบ geohash มา จะเหมือนรูปร่างบนแผนที่ ที่มีข้อมูลเช่นชื่อ จุดประสงค์ เวลาการใช้งานหลัก และตำแหน่งใกล้เคียง
ข้อมูล geohash สามารถใช้ได้กับข้อมูลการใช้งาน เพื่อเลือกผู้ใช้ที่เหมาะสมกับการรับบริการในระยะเวลาที่ต้องการ
นอกจากนี้ ยังมีข้อมูล geofence ที่กำหนดพิกัดการใช้งานในแต่ละสถานที่ เช่นเวลาของการเข้าออกใน geohash
เมื่อเราได้ทำความเข้าใจกับข้อมูลสถานที่แล้ว เรามาดู use case กันดีกว่า
แจ้งเตือนอุบัติเหตุร้ายแรง
ในกรณีที่มีข่าวภัยอันตรายร้ายแรง เช่นพายุหรือแผ่นดินไหว เราควรทำอย่างไรดีเพื่อให้ทุกคนในสังกัดบริเวนได้รับรู้อย่างรวดเร็ว?
ผลการทดสอบ API ค้นหาผู้ใช้งาน ขณะนี้ใช้เวลาไม่เกินนาทีเดียวเพื่อดึงผู้ใช้งานที่เหมาะสมมา 22 ล้านคนรอบบริเวนเมือง 5 แห่ง โดยรวมจากข้อมูลการทำงานหรือพักอาศัย จนกลายเป็นเซ็ทที่รวมถึงทุกคนในบริเวณที่จะประสบภัย
อัลกอริทิมดังนี้ จะใช้ string matching กับ parallel index เพื่อค้นหาทุกคนอย่างรวดเร็วที่สุด เพาะในกรณีฉุกเฉินจริงๆจะมีเวลาจำกัด
เมื่อเลือกผู้ใช้ได้สำเร็จแล้ว สามารถส่งข้อความแจ้งเตือนให้กับทุกคนได้อย่างรวดเร็วผ่าน Line Official Account ผู้ใช้งานทุกคนจะได้มีเวลาเพียงพอที่จะหลีกเลี่ยงภัยอันตรายก่อนเกิดเหตุ
โฆษณาตามสถานที่ท้องถิ่น
ตั้งแต่สถานการณ์ COVID-19 ได้เริ่มต้นในเดือนพฤษภาคม การใช้งานของข้อมูลสถานที่ได้ลดลงอย่างยิ่ง เพราะข้อมูลสถานที่นับว่าใช้งานได้ถึง 15–20% ของการโฆษณาทั้งหมด
การเจาะจงโฆษณากับสถานที่มีสองขั้นตอน:
สร้าง POI (Point of Interest) จากข้อมูล geohash และพิกัดบนแผนที่ และทำความเข้าใจกับรูปแบบการใช้งานรายวันในแต่ละบริเวน เจ้าของธุรกิจหรือที่ดินในพิกัดนั้นสามารถเปลี่ยนแปลงข้อมูล POI ตามที่ต้องการ
2. สร้าง Geodemographic ขึ้นมาที่จะสรุปผลของนิสัยการใช้งาน เพราะคนที่อยู่ในบริเวนเดียวกัน จะมีพฤติกรรมที่คล้ายๆกัน และสามารถใช้ในการเจาะจงโฆษณาอย่างเหมาะสม
LINE จะผูกผู้ใช้กับข้อมูลเหล่านี้ เพื่อมาเสริมบริการเช่นส่วนลด คูปอง โฆษณาสินค้า ฯลฯ และอำนวยความสะดวกให้กับทั้งทางร้านและทางลูกค้า
POI ที่นึงจะมี content ที่เป็นเอกลักษณ์ ไม่เหมือนใคร และ LINE เป็นแพลทฟอร์มที่ส่งต่อข้อมูลนี้ให้กับกลุ่มเป้าหมายผู้ใช้งาน
สรุป…
ข้อมูลสถานที่เป็นอุปกรณ์ทรงพลังที่สามารถใช้ได้กับหลาย use case แต่เนื่องจากว่าเป็นข้อมูลส่วนตัว เราต้องระวังไม่ให้มีการเข้าใช้ที่มุ่งร้าย และเอามาใช้พัฒนาบริการที่อำนวยความสะดวกให้กับผู้ใช้งาน