Trình trích xuất N-gram
N-gram là một chuỗi gồm n từ liên tiếp trong văn bản. Công cụ này chuyển văn bản của bạn về chữ thường, tách thành từ tại mỗi khoảng trắng và dấu câu, rồi đếm mọi n-gram có độ dài bạn chọn (từ 1 đến 8). Kết quả là bảng tần suất dạng CSV, sắp xếp từ cụm xuất hiện nhiều nhất xuống ít nhất: đúng loại bảng dùng để kiểm tra mật độ từ khóa trong SEO, làm mượt mô hình ngôn ngữ và phát hiện đạo văn.
Cách trích xuất n-gram
-
1
Dán văn bản của bạn
Có thể là bài viết, bản gỡ băng hoặc nội dung mô tả sản phẩm. Không giới hạn độ dài với văn bản ở mức hợp lý.
-
2
Chọn n
Unigram (1), bigram (2), trigram (3), tối đa là 8. Mỗi lần chạy chỉ xử lý một độ dài.
-
3
Trích xuất
Văn bản được chuyển về chữ thường rồi tách thành từ; dấu câu được coi là dấu phân cách và bị loại bỏ.
-
4
Đọc bảng tần suất
Mỗi n-gram hiện kèm số lần xuất hiện, sắp xếp theo tần suất giảm dần.
-
5
Sao chép file CSV
Kết quả phân tách bằng dấu phẩy (N-gram,Count), dán thẳng vào bảng tính được ngay.
Mỗi độ dài n-gram cho bạn biết điều gì
| N | Tên | Trường hợp sử dụng |
|---|---|---|
| 1 | Unigram | Mật độ từ khóa, phác họa chủ đề |
| 2 | Bigram | Cụm từ (“search intent”, “page speed”), kết hợp từ quen thuộc |
| 3 | Trigram | Cụm từ đuôi dài, phát hiện đặc trưng |
| 4+ | Từ 4-gram trở lên | Phát hiện nội dung trùng lặp, dấu hiệu đạo văn |
Công cụ tách văn bản của bạn như thế nào
- Mọi thứ đều chuyển về chữ thường, nên “The” và “the” nằm chung một dòng.
- Từ là một chuỗi liền mạch gồm chữ cái, chữ số hoặc dấu nháy đơn. Mọi ký tự khác (dấu câu, ký hiệu, xuống dòng) đều là dấu phân cách và bị loại bỏ.
- Ranh giới câu không được giữ lại. Từ cuối của câu này và từ đầu của câu kế tiếp vẫn có thể ghép thành một n-gram, vì vậy hãy thận trọng với các cặp bắc cầu qua hai câu. Nếu điều đó quan trọng, hãy phân tích từng câu hoặc từng đoạn một.
- Từ dừng được giữ nguyên. Công cụ không lọc giúp bạn; nếu chỉ muốn các cụm có nghĩa, hãy xóa những dòng đó khỏi file CSV sau khi xuất.
- Từ được nhận diện nhờ khoảng trắng và dấu câu. Với tiếng Việt, khoảng trắng ngăn cách âm tiết chứ không ngăn cách từ, nên cái mà công cụ gọi là “từ” thực chất là âm tiết: bigram sẽ gom đúng các từ ghép hai âm tiết như “công cụ” hay “tìm kiếm”, còn unigram chỉ cho bạn từng âm tiết rời. Vì vậy, với tiếng Việt hãy bắt đầu từ n = 2 hoặc n = 3. Tiếng Trung, tiếng Nhật và tiếng Thái thì không có khoảng trắng nào giữa các từ: cả câu sẽ vào như một “từ” duy nhất, cần tách từ trước bằng jieba, MeCab hoặc bộ tách từ tiếng Thái.
Khi nào nên loại bỏ từ dừng
Từ dừng là những hư từ xuất hiện với tần suất rất cao, như “the”, “a”, “of”, “and” trong tiếng Anh, hay “của”, “và”, “là”, “được” trong tiếng Việt. Giữ chúng lại sẽ khiến danh sách bigram đầy những cụm vô nghĩa như “of the” hay “của và”. Công cụ này không xóa chúng, nên hãy tự bỏ những dòng đó khỏi bản xuất khi bạn chỉ cần các cụm mang nghĩa, và giữ lại khi bạn nghiên cứu văn phong, xác định tác giả, hoặc huấn luyện mô hình ngôn ngữ, nơi hư từ chính là tín hiệu.
Ứng dụng trong SEO
Với một bài viết nhắm tới “nginx config generator”, hãy kiểm tra:
- Bigram và trigram mục tiêu có nằm trong top 20 không. Nếu “nginx config” xếp thứ 40, nhiều khả năng bạn đang dùng thuật ngữ đó quá ít.
- Bạn có nhồi từ khóa không. Nếu nó đứng thứ nhất với khoảng cách quá xa, bài viết sẽ đọc như spam.
- Có các cụm gần nghĩa đi kèm không. Những bigram liên quan như “server block”, “proxy pass” và “ssl certificate” giúp công cụ tìm kiếm tin rằng chủ đề đã được bao quát đầy đủ.
Ứng dụng trong NLP và học thuật
- Các mô hình ngôn ngữ dùng tần suất n-gram để làm mượt và backoff (Kneser-Ney, Good-Turing).
- Nghiên cứu xác định tác giả so sánh phân bố trigram giữa các tác giả khả dĩ.
- Đánh giá dịch máy (BLEU) chấm điểm dựa trên mức trùng khớp n-gram giữa bản dịch máy và bản dịch tham chiếu.
Câu hỏi thường gặp
Từ một dòng tweet (khi đó n-gram gần như vô nghĩa) cho tới một chương sách. Để bigram đủ tin cậy về mặt thống kê, hãy dùng từ 1.000 từ trở lên; với trigram là từ 10.000 trở lên. Ít hơn mức đó, thứ hạng sẽ rất nhiễu.
Có, nhưng cần hiểu đúng: khoảng trắng trong tiếng Việt ngăn cách âm tiết chứ không ngăn cách từ, nên mỗi “từ” mà công cụ đếm thực ra là một âm tiết. Hãy dùng n = 2 để bắt các từ ghép hai âm tiết (“máy tính”, “công cụ”) và n = 3 cho cụm ba âm tiết. Nếu cần đúng ranh giới từ, hãy tách từ trước bằng underthesea hoặc VnCoreNLP rồi dán kết quả vào đây.
Ở đây thì không. Văn bản luôn được chuyển về chữ thường trước khi đếm, nên “The” và “the” (hay “Apple” và “apple”) cùng nằm một dòng thay vì tách làm hai. Không có chế độ phân biệt hoa thường: nếu cần giữ riêng tên riêng hay đoạn mã, hãy đánh dấu chúng trong văn bản trước khi dán.
Chúng đóng vai trò dấu phân cách và không bao giờ nằm trong một n-gram. Tuy vậy chúng không cắt cửa sổ đếm: từ cuối câu này và từ đầu câu sau vẫn được tính chung thành một bigram. Nếu bạn cần tôn trọng nghiêm ngặt ranh giới câu, hãy xử lý riêng từng câu hoặc từng đoạn.
Công cụ không áp dụng danh sách nào, bạn tự lọc sau khi xuất. Danh sách từ dừng tiếng Anh phổ biến nhất là bộ 179 từ của NLTK, được hầu hết công cụ SEO sử dụng. Snowball, SpaCy và scikit-learn cung cấp các danh sách hơi khác nhau. Với tiếng Việt, hãy dùng danh sách từ dừng tiếng Việt đi kèm underthesea.
Công cụ liên quan
Trình tìm cờ emoji
Tìm emoji cờ của 195 quốc gia theo tên địa phương, tên tiếng Anh hoặc mã hai chữ cái. Kiểm tra chuỗi Unicode và sao chép ngay trong trình duyệt.
Ký hiệu mũi tên để sao chép
Sao chép các mũi tên Unicode phổ biến chỉ với một lần nhấp: thẳng, đôi, chéo, móc, vòng và tam giác cho tài liệu, chat và thiết kế.
Trình dịch chữ nổi Braille
Dịch văn bản sang chữ nổi Braille Unicode cấp 1 và giải mã Braille trở lại thành chữ cái. Xử lý chữ hoa, chữ số và dấu câu.
Bộ tạo phông chữ Discord
Chuyển văn bản bình thường thành các kiểu chữ Unicode phù hợp với tên dùng trong Discord, tên máy chủ và tin nhắn, bao gồm các dạng đậm, nghiêng, fraktur, monospace và dạng trang trí.
Trình tạo font Instagram
Tạo "font" Unicode (đậm, nghiêng, viết tay, đẳng khoảng, fraktur) để dán thẳng vào bio, tên, caption và bình luận Instagram của bạn.
Ký hiệu nhỏ hơn hoặc bằng
Sao chép ký hiệu ≤ cùng các ký hiệu so sánh toán học liên quan. Bao gồm Unicode, thực thể HTML và cú pháp LaTeX cho bảng tính, tài liệu nghiên cứu và trang web.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- N-gram 抽出ツール [JA]
- N-그램 추출기 [KO]
- مستخرج N-gram [AR]
- Extrator de n-gramas [PT]
- N-Gramm-Extraktor [DE]
- Extractor de n-gramas [ES]
- Extracteur de n-grammes [FR]
- N-gram-extractor [NL]
- N-gram-extraktor [SV]
- Ekstraktor N-gram [ID]
- เครื่องมือแยก N-gram [TH]
- Ekstraktor n-gramów [PL]
- N-gram Extractor [EN]
- Estrattore di n-grammi [IT]
- Экстрактор N-грамм [RU]
- N-gram Çıkarıcı [TR]
- N-gram 提取器 [ZH]