Chuẩn hoá teencode API

Chuẩn hoá teencode, chữ viết tắt khi chat (ko, dc, j, z, ntn, iu…), chữ lặp và lỗi Telex sót, giữ nguyên chữ hoa. Trả danh sách thay đổi.

GETPOSThttps://apibox.io.vn/v1/vn-teencode

Gửi văn bản tiếng Việt kiểu chat ("ko dc j ạ, shop ơiiii, sp nàyyy bn z"), API trả về tiếng Việt chuẩn ("không được gì ạ, shop ơi, sản phẩm này bao nhiêu vậy") kèm danh sách từng chỗ thay đổi và vị trí. Bộ từ điển biên soạn sẵn khoảng 270 từ viết tắt thường gặp khi chat và mua bán (ko / k / hok → không, dc / đc → được, j → gì, z / dz → vậy, ntn → như thế nào, iu → yêu, sp → sản phẩm, sđt → số điện thoại, ck → chuyển khoản…). Từ ngắn dễ nhầm chỉ được thay khi ngữ cảnh rõ: "k" sau con số được giữ nguyên (50 k), "bn" thành "bao nhiêu" khi đứng trước tiền / tuổi hoặc cuối câu hỏi, còn lại là "bạn", "ck" là "chuyển khoản" khi đi với rồi / trước / stk và "chồng" khi đi với vk.

Chữ lặp từ ba lần trở lên được rút gọn (ơiiii → ơi), chữ cuối lặp đôi chỉ được rút khi kết quả là âm tiết có thật, và lỗi Telex sót "dd" thành "đ" (ddi → đi). Giữ nguyên kiểu chữ (KO → KHÔNG, Ko → Không). Emoji có thể giữ, xoá hoặc đổi thành nhãn ([cười], [đồng ý]). Thêm từ viết tắt riêng bằng dictionary; xử lý hàng loạt tới 200 đoạn bằng texts.

Phù hợp làm bước tiền xử lý trước khi tìm kiếm, phân loại, lọc từ tục hoặc tách đơn hàng. API không tự thêm dấu: với văn bản gõ không dấu, dùng thêm /v1/vn-diacritics.

Tham số

TênVị tríKiểuBắt buộcMặc định
textquery|bodystringcóVăn bản (tối đa 20.000 ký tự). Hoặc texts: mảng tối đa 200 đoạn.
emojiquery|bodystringkhôngkeepkeep (giữ), label ([cười], [đồng ý]…) hoặc remove (xoá).
dictionarybodyobjectkhôngTừ viết tắt riêng {"viết tắt": "thay bằng"} (tối đa 500), được ưu tiên.
squeezequery|bodybooleankhôngtrueRút gọn chữ lặp (ơiiii → ơi).
telexquery|bodybooleankhôngtrueSửa lỗi Telex sót dd → đ ở đầu từ.

Ví dụ

curl "https://apibox.io.vn/v1/vn-teencode?text=ko%20dc%20j%20%E1%BA%A1%2C%20shop%20%C6%A1iiii%2C%20sp%20n%C3%A0yyy%20bn%20z" \
  -H "Authorization: Bearer YOUR_API_KEY"

Kết quả trả về

{
  "input": "ko dc j ạ, shop ơiiii, sp nàyyy bn z",
  "text": "không được gì ạ, shop ơi, sản phẩm này bao nhiêu vậy",
  "changes": [
    {
      "from": "ko",
      "to": "không",
      "start": 0,
      "end": 2,
      "rule": "abbreviation"
    },
    {
      "from": "dc",
      "to": "được",
      "start": 3,
      "end": 5,
      "rule": "abbreviation"
    },
    {
      "from": "j",
      "to": "gì",
      "start": 6,
      "end": 7,
      "rule": "abbreviation"
    },
    {
      "from": "ơiiii",
      "to": "ơi",
      "start": 16,
      "end": 21,
      "rule": "repeated letters"
    },
    {
      "from": "sp",
      "to": "sản phẩm",
      "start": 23,
      "end": 25,
      "rule": "abbreviation (context)"
    },
    {
      "from": "nàyyy",
      "to": "này",
      "start": 26,
      "end": 31,
      "rule": "repeated letters"
    },
    {
      "from": "bn",
      "to": "bao nhiêu",
      "start": 32,
      "end": 34,
      "rule": "abbreviation (context)"
    },
    {
      "from": "z",
      "to": "vậy",
      "start": 35,
      "end": 36,
      "rule": "abbreviation"
    }
  ],
  "count": 8,
  "emojis": 0,
  "dictionary_size": 273,
  "note": "Rule-based: ambiguous short forms (k, v, bn, ck, s, h…) are replaced only in clear contexts. Add diacritics with /v1/vn-diacritics if the text has none."
}

Ứng dụng

  • Tiền xử lý bình luận trước khi phân tích cảm xúc, kiểm duyệt
  • Chuẩn hoá tin nhắn đầu vào của chatbot trước khi nhận ý định
  • Làm sạch bình luận livestream trước khi tách đơn
  • Tăng chất lượng tìm kiếm trên đánh giá sản phẩm viết tắt

Hỏi đáp

Từ dễ nhầm có bị thay sai không?

Các từ ngắn như k, v, bn, ck, s, h chỉ được thay khi các từ xung quanh làm rõ nghĩa; nếu không, chúng được giữ nguyên để kết quả an toàn.

Có thêm được từ viết tắt riêng không?

Có: gửi "dictionary": {"viết tắt": "thay bằng"} (tối đa 500 mục). Từ điển riêng được ưu tiên hơn danh sách sẵn có.

API có thêm dấu cho chữ không dấu không?

Không, API chỉ mở rộng chữ viết tắt và sửa chữ lặp. Dùng /v1/vn-diacritics để khôi phục dấu.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →