Practical NLP - Chapter 08 - Social Media

Mục tiêu cần hiểu

  • Social media text khác văn bản chuẩn ở nhiễu, slang, hashtag, emoji, URL, mention và tốc độ drift.
  • Pipeline NLP cần điều chỉnh tokenizer, preprocessing và monitoring cho social data.
  • Sentiment, trend detection, support và fake news có failure modes riêng.
  • Biết vì sao SMTD cần tokenizer, representation và evaluation riêng thay vì bê nguyên pipeline cho văn bản báo chí/sách vở.
  • Nhìn được các bài toán business chính: trending topic, opinion/sentiment, customer support, content moderation, meme và fake news.

Định nghĩa quan trọng

Mental model

Noisy social text
-> normalization / tokenizer
-> task-specific representation
-> model
-> drift-aware monitoring
Social platform stream
-> filter / collect
-> specialized preprocessing
-> representation robust to OOV
-> task model
-> business action

Applications

  • Trending topic detection: theo dõi hashtag/chủ đề đang tăng traction theo thời gian và theo địa điểm. Với social media, trend có thể đổi theo giờ nên hệ thống cần gần real-time hơn so với phân tích corpus tĩnh.
  • Opinion mining: gom và tóm tắt rất nhiều post để hiểu ý kiến công chúng về sản phẩm, dịch vụ, chính sách hoặc sự kiện.
  • Sentiment detection: đo polarity và sự thay đổi sentiment theo thời gian để brand hiểu khách hàng, competitor và rủi ro truyền thông.
  • Customer support: phân loại inbound messages thành actionable conversations và noise. Actionable messages cần support team xử lý nhanh; noise gồm promo, coupon, troll, opinion chung hoặc spam.
  • Rumor / fake news detection: phát hiện nội dung sai lệch hoặc tin đồn có khả năng lan nhanh trên mạng xã hội.
  • Adult / toxic content filtering: lọc nội dung không phù hợp như profanity, racism, threats hoặc nội dung người lớn.

Unique Challenges của SMTD

  • Dữ liệu mạng xã hội phá vỡ nhiều giả định của NLP truyền thống: không luôn đơn ngôn ngữ, không luôn cùng script, không formal, không đúng ngữ pháp và có rất nhiều non-textual signals.
  • Người dùng viết tắt, bỏ dấu câu, viết hoa tùy tiện, dùng slang và rút gọn từ như r, v, lol.
  • Code-mixing và transliteration làm language identification, tokenization và representation khó hơn.
  • Hashtag, mention, URL, emoji và emoticon không phải noise mặc định; chúng có thể là tín hiệu chính của trend, sentiment hoặc intent.
  • Vocabulary thay đổi nhanh, gây OOV nghiêm trọng. Word embeddings train trên news/Wikipedia thường không cover tốt social media text.
  • Văn bản ngắn và nhiễu làm feature sparse hơn, khiến BoW/TF-IDF hoặc word embeddings không đúng domain dễ giảm hiệu năng.

NLP for Social Data

  • Tokenizer: dùng tokenizer chuyên cho SMTD như twokenize, TweetTokenizer, Twikenizer hoặc Twokenizer thay vì tokenizer tiếng Anh chuẩn. Ví dụ @NLPer, #NLProc, :-D nên được giữ thành token có nghĩa thay vì bị tách thành ký tự rời.
  • Emoji handling: xóa emoji có thể làm mất nghĩa. Nên map emoji thành mô tả text khi task cần sentiment hoặc emotion signal; sách nhắc thư viện demoji cho bước này.
  • Apostrophe / slang normalization: mở rộng các dạng rút gọn như 're, 'r, hoặc biến thể slang nếu có mapping phù hợp.
  • Repeated character normalization: rút gọn chuỗi ký tự lặp như yessssss để giảm sparsity, nhưng cần cẩn thận vì độ lặp cũng có thể thể hiện intensity.
  • URL normalization: xóa hoặc chuẩn hóa URL bằng regex khi URL không phải tín hiệu chính; giữ lại nếu task cần link/source credibility.
  • Text representation: BoW/TF-IDF thường sparse với SMTD; Google News Word2Vec có thể lệch vocabulary. Nên thử embeddings train trên tweet, tokenizer tốt hơn, hoặc character n-gram embeddings như fastText để giảm OOV.

Memes và Fake News

  • Meme identification có hai hướng: content-based và behavior-based.
  • Content-based matching dùng text/template similarity như Jaccard distance hoặc regex để phát hiện biến thể của cùng meme template, ví dụ dạng “This is PersonX. Be like PersonX.”
  • Behavior-based detection dựa vào share/comment/like bất thường theo thời gian. Đây gần với anomaly detection hơn là chỉ text classification.
  • Fake News Detection có thể dùng fact verification với external sources, phân tích phong cách ngôn ngữ, hoặc mô hình phát hiện generated text như GLTR/Grover.
  • Fake news thường cần dữ liệu ngoài text: source credibility, claim verification, propagation pattern và context xã hội. Chỉ nhìn nội dung câu chữ có thể không đủ.

Phần cần biết

  • Đừng xử lý social data như văn bản sạch.
  • Khi đọc, chú ý những quyết định preprocessing nào có thể xóa mất tín hiệu quan trọng.
  • Với SMTD, preprocessing là một phần của modeling decision: giữ hay xóa hashtag/mention/emoji/URL phụ thuộc vào task.
  • OOV và vocabulary drift là rủi ro production, không chỉ là vấn đề train-time.
  • Customer support trên social channel là bài toán ưu tiên hành động, không chỉ phân loại sentiment.
  • Fake news và meme detection thường cần kết hợp NLP với tín hiệu hành vi hoặc external knowledge.

Câu hỏi review

  1. Hashtag, mention và URL nên được giữ hay xóa trong từng task?
  2. Sentiment trên social media sai vì những loại ambiguity nào?
  3. Fake news detection cần dữ liệu ngoài text không?
  4. Vì sao tokenizer chuẩn có thể sai trên SMTD?
  5. Vì sao word embeddings train trên news/Wikipedia có thể kém trên Twitter?
  6. Actionable message khác noise trong customer support ở đâu?

Gợi ý trả lời câu hỏi review

  • Trả lời theo từng task: trend, support, sentiment, fake news.
  • Tokenizer chuẩn thường tách @user, #hashtag hoặc emoticon thành các mảnh rời, trong khi với SMTD chúng là token có nghĩa.
  • Word embeddings train trên news/Wikipedia lệch vocabulary và style so với social media, nên OOV cao và representation kém.
  • Actionable message là nội dung support team cần xử lý; noise là promo, coupon, troll, opinion chung hoặc spam không cần phản hồi trực tiếp.
  • Fake news detection thường cần external sources để verify claim, cộng thêm tín hiệu propagation hoặc credibility.

Liên kết