Top 10 thuật toán NLP mà bạn cần biết

Với sự tiến bộ của khoa học kỹ thuật và sự phát triển của trí tuệ nhân tạo (AI) việc máy móc có thể hiểu được tiếng nói của con người là một điều đang dần hiện hữu và càng ngày càng trở nên phổ biến. Vậy, thứ gì giúp máy móc hiểu được những gì con người nói và thực thi mệnh lệnh? Hãy cùng VinBigData tìm hiểu trong bài viết bên dưới đây.

Trước hết, hãy tìm hiểu về NLP (Natural Language Processing) hay Xử lý ngôn ngữ tự nhiên là gì và nó đóng vai trò như thế nào trong việc phát triển trí tuệ nhân tạo.

Xử lý ngôn ngữ tự nhiên (NLP)

Xử lý ngôn ngữ tự nhiên (NLP) là một nhánh của trí tuệ nhân tạo được phát triển nhằm xây dựng các chương trình giúp máy tính phân tích, xử lý và hiểu ngôn ngữ của con người dưới dạng tiếng nói (speech) hoặc văn bản (text).

Xử lý ngôn ngữ tự nhiên không còn là một chủ đề mới, nhưng hiện tại nó đang có xu hướng phát triển một cách nhanh chóng nhờ mối quan tâm ngày càng tăng trong việc giao tiếp giữa con người và máy móc. Mục tiêu của NLP là giúp máy tính hiểu và thực hiện những nhiệm vụ như: tương tác giữa người và máy tính, cải thiện hiệu quả giao tiếp giữa con người với con người, hoặc đơn giản là nâng cao hiệu quả xử lý văn bản và lời nói.

Các ví dụ về xử lý ngôn ngữ tự nhiên có thể kể đến: kiểm tra chính tả, tự động hoàn thành câu chữ, nhắn tin bằng văn bản thoại, bộ lọc thư rác, từ khóa trên công cụ tìm kiếm, các trợ lý ảo Siri, Alexa, Google Assistant, ViVi,…

Ngôn ngữ của con người về bản chất là rất phức tạp. Xử lý ngôn ngữ tự nhiên không chỉ phải nắm bắt các quy tắc ngữ pháp, ý nghĩa và ngữ cảnh mà còn cả các từ thông tục, tiếng lóng và từ viết tắt được sử dụng trong một ngôn ngữ để diễn giải lời nói của con người. Đó chính là lý do các thuật toán xử lý ngôn ngữ tự nhiên được ra đời nhằm hỗ trợ máy tính hiểu được ngôn ngữ giao tiếp của con người.

Dưới đây liệt kê những thuật toán về Xử lý ngôn ngữ tự nhiên (NLP) phổ biến nhất.

Top 10 thuật toán NLP mà bạn cần biết

1. Nguồn gốc và Bổ đề ngôn ngữ (Lemmatization và Stemming)

Stemming (Nguồn gốc) là kỹ thuật dùng để biến đổi một từ về dạng gốc (được gọi là stem hoặc root form) bằng cách cực kỳ đơn giản là loại bỏ một số ký tự nằm ở cuối từ mà nó nghĩ rằng là biến thể của từ. Có thể lấy ví dụ đơn giản như các từ worked, working, works chỉ khác nhau ở những ký tự cuối cùng, bằng cách bỏ đi các hậu tố -ed, -ing, -s, chúng ta đều được từ nguyên gốc là work. Bởi vì nguyên tắc hoạt động của Stemming rất đơn giản nên tốc độ xử lý của nó rất nhanh và kết quả stem đôi khi cho ra những kết quả không như mong muốn. Một ví dụ khác như từ goes sẽ được stem thành từ goe (bỏ chữ s cuối từ) trong khi đó stem của từ go vẫn là go, kết quả là 2 từ goesgo sau khi được stem thì vẫn không giống nhau. Một nhược điểm khác là nếu các từ dạng bất quy tắt như went hay spoke thì kỹ thuật Stemming sẽ không thể đưa các từ này về dạng gốc là go hay speak. Tuy có các nhược điểm như trên nhưng trong thực tế Stemming vẫn được sử dụng khá phổ biến trong NLP vì nó có tốc độ xử lý nhanh và kết quả cuối cùng nhìn chung không hề tệ khi so với Lemmatization.

Lemmatization (Bổ đề ngôn ngữ) khác với Stemming – xử lý bằng cách loại bỏ các ký tự cuối từ một cách rất “máy móc”, Lemmatization sẽ xử lý thông minh hơn bằng một bộ từ điển hoặc một bộ ontology nào đó. Điều này sẽ đảm bảo rằng các từ như goes, wentgo sẽ chắc chắn có kết quả trả về là như nhau. Kể cả các từ danh từ như mouse, mice cũng đều được đưa về cùng một dạng như nhau. Người ta gọi bộ xử lý Lemmatization là Lemmatizer. Nhược điểm của lemmatization là tốc độ xử lý khá chậm vì phải thực hiện tra cứu từ trong cơ sở dữ liệu. Trong các ứng dụng Xử lý ngôn ngữ tự nhiên mà cần độ chính xác cao hơn và thời gian không quan trọng, người ta có thể sử dụng Lemmatization.

2. Mô hình chủ đề (Topic Modelling)

Mô hình chủ đề là một kiểu mô hình thống kê giúp khai phá các chủ đề ẩn trong tập dữ liệu. 

Một trong những phương pháp Xử lý ngôn ngữ tự nhiên nổi bật nhất để Lập mô hình Chủ đề là Phân bố Dirichlet tiềm ẩn (Latent Dirichlet Allocation). Để phương pháp này hoạt động, bạn sẽ cần phải xây dựng một danh sách các chủ đề mà bộ sưu tập tài liệu của bạn có thể được áp dụng.

Lúc đầu, bạn chỉ định một văn bản cho một chủ đề ngẫu nhiên trong tập dữ liệu của mình, sau đó xem lại mẫu nhiều lần, nâng cao khái niệm và gán lại tài liệu cho các chủ đề khác nhau.

3. Trích xuất từ khóa (Keyword Extraction)

Trích xuất từ khóa là một trong những nhiệm vụ quan trọng của Xử lý ngôn ngữ tự nhiên và nó chịu trách nhiệm xác định các cách khác nhau để trích xuất một số lượng đáng kể các từ và cụm từ trong một bộ sưu tập văn bản. Mục đích của việc này nhằm tổng hợp, hỗ trợ việc tổ chức, lưu trữ, tìm kiếm và truy xuất nội dung có liên quan.

Có nhiều loại thuật toán trích xuất từ khóa khác nhau, một số thuật toán chỉ trích xuất từ và một số thuật toán khác lại có thể trích xuất cả từ và cụm từ, ngoài ra còn có các thuật toán trích xuất từ khóa dựa trên nội dung của văn bản. 

Dưới đây liệt kê một số thuật toán trích xuất từ khóa nổi bật:

  • TextRank: thuật toán này hoạt động tương tự như việc Xếp hạng trang (PageRank). Google sử dụng thuật toán này để xếp hạng các trang web trên internet.
  • Term Frequency: Thuật toán này sẽ xác định rõ tầm quan trọng của một thuật ngữ trong tài liệu.
  • RAKE: Là viết tắt của Rapid Automatic Keyword Extraction – Trích xuất từ khóa tự động. Thuật toán này có thể trích xuất các từ khóa và cụm từ khóa từ nội dung của một tài liệu mà không cần tính đến các tài liệu khác trong cùng một bộ sưu tập.

4. Sơ đồ tri thức (Knowledge Graphs)

Sơ đồ tri thức là một tập hợp của ba mục: chủ đề, vị ngữ và thực thể – một phương pháp lưu trữ thông tin.

Sơ đồ tri thức đang trở nên ngày càng phổ biến, đặc biệt là khi nó được sử dụng bởi nhiều công ty lớn (chẳng hạn như Biểu đồ thông tin của Google) cho các hàng hóa và dịch vụ khác nhau.

Việc xây dựng một sơ đồ tri thức đòi hỏi nhiều kỹ thuật Xử lý ngôn ngữ khác nhau và việc sử dụng nhiều hơn các cách tiếp cận này sẽ tạo ra một sơ đồ tri thức hiệu quả và kỹ lưỡng hơn.

5. Đám mây từ (Word Cloud)

Đám mây từ, đôi khi được gọi là đám mây thẻ, là một cách tiếp cận trực quan hóa dữ liệu. Các từ của một văn bản được hiển thị trong một bảng, với các thuật ngữ quan trọng nhất được in bằng các chữ cái lớn hơn và các từ ít quan trọng hơn được mô tả ở kích thước nhỏ hơn hoặc hoàn toàn không hiển thị.

6. Nhận dạng thực thể có tên (Named Entity Recognition)

Thuật toán này phụ trách phân loại và xếp loại những người trong văn bản không có cấu trúc thành một tập hợp các nhóm được xác định trước. Điều này bao gồm các cá nhân, nhóm, ngày tháng, số tiền,…

7. Phân tích quan điểm (Sentiment Analysis)

Phân tích quan điểm là thuật toán thường được sử dụng nhất trong Xử lý ngôn ngữ tự nhiên. Phân tích quan điểm đặc biệt hữu ích trong những trường hợp người tiêu dùng đưa ra ý tưởng và đề xuất của họ, chẳng hạn như thăm dò ý kiến người tiêu dùng, xếp hạng và tranh luận trên phương tiện truyền thông xã hội.

Trong phân tích quan điểm, thang điểm ba mức (tích cực/tiêu cực/trung tính) là phương pháp đơn giản nhất. Trong những trường hợp phức tạp hơn, kết quả đầu ra có thể là một điểm số thống kê có thể được chia thành nhiều loại nếu cần.

Cả thuật toán được giám sát và không được giám sát đều có thể được sử dụng để phân tích quan điểm. Một trong số những mô hình phân tích quan điểm được sử dụng nhiều nhất là Naive Bayes. Cần có một kho dữ liệu đào tạo được gắn nhãn quan điểm, từ đó một mô hình có thể được đào tạo và sau đó được sử dụng để xác định quan điểm. 

8. Tóm tắt văn bản (Text Summarization)

Tóm tắt văn bản có thể được thực hiện theo hai cách: trích dẫn và trừu tượng hóa. Bằng cách xóa các bit khỏi văn bản, các phương pháp trích xuất sẽ tạo ra một bản tóm tắt. Trong khi đó phương pháp trừu tượng tạo ra bản tóm tắt bằng cách thiết lập một văn bản mới truyền tải nội dung của văn bản gốc. Các thuật toán phổ biến dùng để tóm tắt văn bản có thể kể tới như LexRank, TextRankPhân tích quan điểm ngầm (Latent Semantic Analysis).

9. Mô hình túi từ (Bag of Words)

Mô hình này thể hiện một văn bản giống như một túi (nhiều tập hợp) từ, không bao gồm ngữ pháp và trật tự từ trong khi vẫn giữ được tính đa dạng. Về bản chất, mô hình túi từ tạo ra một ma trận tỷ lệ. Các tần số hoặc trường hợp từ này sau đó được sử dụng như các tính năng trong việc đào tạo bộ phân loại (Classifier).

10. Tách từ (Tokenization)

Tách từ (Tokenization) là một trong những bước quan trọng nhất trong quá trình tiền xử lý văn bản. Cho dù bạn đang làm việc với các kỹ thuật NLP truyền thống hay sử dụng các kỹ thuật học sâu nâng cao thì vẫn không thể bỏ qua bước này. Nói một cách đơn giản, tokenization là quá trình tách một cụm từ, câu, đoạn văn, một hoặc nhiều tài liệu văn bản thành các đơn vị nhỏ hơn. Mỗi đơn vị nhỏ hơn này được gọi là Tokens. 

Các thuật toán này được VinBigData ứng dụng để phát triển các sản phẩm thuộc hệ sinh thái VinBase về xử lý ngôn ngữ tự nhiên nhằm tạo ra các cuộc hội thoại được phản hồi một cách nhanh chóng, chính xác và tự nhiên nhất. Các sản phẩm này có thể thay thế các nhân viên trực tổng đài (AI CallBot) hoặc giúp con người thực hiện các tác vụ rảnh tay (Virtual Assistant) với khả năng hoạt động 24/7, ứng dụng được trong đa ngành, đa lĩnh vực. Việc tự động hóa này không chỉ giúp doanh nghiệp tối ưu hiệu suất và chi phí hoạt động mà còn gia tăng trải nghiệm khách hàng, thúc đẩy doanh số, mở rộng thị trường.

Tìm hiểu thêm về các sản phẩm của VinBigData: Tại đây

Bài viết liên quan

    Cảm ơn bạn đã quan tâm và ủng hộ.

    File hiện tại không thể tải xuống
    Vui lòng liên hệ hỗ trợ.

    VinOCR eKYC

    Chọn ảnh từ máy của bạn

    Chọn ảnh demo dưới đây hoặc tải ảnh lên từ máy của bạn

    Tải lên ảnh CMND/CCCD/Hộ chiếu,...

    your image
    Chọn ảnh khác
    Tiến hành xử lý

    Thông tin đã được xử lý

    Mức độ tin cậy: 0%

    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -

    Xác thực thông tin thẻ CMND/CCCD

    Vui lòng sử dụng giấy tờ thật. Hãy đảm bảo ảnh chụp không bị mờ hoặc bóng, thông tin hiển thị rõ ràng, dễ đọc.

    your image
    Chọn ảnh khác

    Ảnh mặt trước CMND/CCCD

    your image
    Chọn ảnh khác

    Ảnh mặt sau CMND/CCCD

    your image
    Chọn ảnh khác

    Ảnh chân dung

    This site is registered on wpml.org as a development site.