Ngày đăng:
Ngày cập nhật: Công nghệ giọng nói
1,780 lượt xem
Xử lý ngôn ngữ tự nhiên (NLP) có lẽ hiện là lĩnh vực được nhắc đến nhiều nhất trong khoa học dữ liệu. Sau khi ChatGPT ra đời, NLP càng nhận được sự chú ý của cả giới nghiên cứu lẫn đại chúng.
Công nghệ này đứng đằng sau hàng loạt ứng dụng mà chúng ta đang sử dụng mỗi ngày, chẳng hạn như Google search, trình lọc email rác, trợ lý ảo, chatbot,… Trong tương lai, NLP sẽ tiếp tục là lĩnh vực tiềm năng để các doanh nghiệp tập trung đầu tư và đội ngũ nhân sự trẻ phát triển năng lực chuyên môn.
Với những ai muốn nghiêm túc theo đuổi sự nghiệp nghiên cứu và lập trình ứng dụng NLP, giờ là lúc để bạn bắt đầu trau dồi những kiến thức cơ bản đầu tiên.
FriData tuần này sẽ tổng hợp 6 kỹ thuật NLP mà mọi nhà khoa học dữ liệu cần biết. Hãy nhanh tay lưu lại và chia sẻ cùng anh em trong ngành nhé!
Danh mục nội dung
Lemmatization và stemming
Lemmatization và stemming có lẽ là hai bước đầu tiên để xây dựng một dự án NLP. Chúng đại diện cho các khái niệm cốt lõi của lĩnh vực này và thường là những kỹ thuật đầu tiên bạn sẽ thực hiện trên hành trình trở thành kỹ sư hay chuyên gia NLP.
Thông thường, những người mới bắt đầu có xu hướng nhầm lẫn giữa lemmatization và stemming. Mặc dù có một số điểm tương đồng, song đây là hai khái niệm khác nhau.
Stemming: Stemming là một tập hợp các thuật toán lược bỏ hậu tố của từ để đạt được dạng nguyên thể của nó. Các thuật toán này xem xét các tiền tố và hậu tố phổ biến của ngôn ngữ đang được phân tích. Có nhiều thuật toán phục vụ stemming; được sử dụng phổ biến nhất trong tiếng Anh là Porter stemmer. Thuật toán này bao gồm 5 giai đoạn hoạt động tuần tự để lấy được gốc của từ.
Lemmatization: Để khắc phục những sai sót của Stemming, các thuật toán lemmatization đã được thiết kế. Thuật toán này đòi hỏi được cung cấp một số kiến thức về ngôn ngữ và ngữ pháp để có thể đưa ra quyết định tốt hơn khi trích xuất dạng nguyên thể của một từ. Lemmatization thường yêu cầu sử dụng từ điển ngôn ngữ để có thể phân loại chính xác từng từ.
Dựa trên những định nghĩa này, có thể thấy việc xây dựng một bộ lemmatization phức tạp và tốn nhiều thời gian hơn so với stemming. Tuy nhiên, nó chính xác và sẽ ít gây nhiễu hơn trong kết quả phân tích cuối cùng.
Keywords extraction
Trích xuất từ khóa (Keywords extraction) – đôi khi được gọi là phát hiện từ khóa hoặc phân tích từ khóa – là một kỹ thuật NLP được sử dụng để phân tích văn bản. Mục đích chính của kỹ thuật này là tự động trích xuất các từ và cách diễn đạt thông dụng nhất từ nội dung văn bản. Nó thường được sử dụng như một bước để tóm tắt ý chính của văn bản.
Keywords extraction giúp trích xuất và đơn giản hóa một văn bản nhất định để máy tính có thể hiểu được. Thuật toán có thể được điều chỉnh và áp dụng cho bất kỳ loại ngữ cảnh nào, từ văn bản học thuật đến văn bản thông dụng trong các bài đăng trên mạng xã hội.
Trích xuất từ khóa có nhiều ứng dụng thực tế, bao gồm giám sát mạng xã hội, phản hồi/dịch vụ khách hàng, phân tích sản phẩm và tối ưu hóa công cụ tìm kiếm.
Named Entity Recognition (NER)
Giống như stemming và lemmatization, nhận dạng thực thể được đặt tên (NER) là kỹ thuật cơ bản và cốt lõi của NLP. NER được sử dụng để trích xuất các thực thể từ phần nội dung của văn bản, chẳng hạn như tên người, địa điểm, ngày tháng, v.v.
Thuật toán NER chủ yếu có hai bước. Đầu tiên, nó phát hiện một thực thể trong văn bản và sau đó phân loại chúng vào danh mục đã đặt. Hiệu suất của NER phụ thuộc rất nhiều vào dữ liệu đào tạo. Dữ liệu đào tạo càng phù hợp với dữ liệu thực tế thì kết quả sẽ càng chính xác. Ngoài ra, một yếu tố khác góp phần vào độ chính xác của mô hình NER là kiến thức ngôn ngữ được sử dụng khi xây dựng mô hình.
Ứng dụng của NER có thể tìm thấy trong nhiều lĩnh vực khác nhau, ví dụ: xây dựng hệ thống khuyến nghị trong chăm sóc sức khỏe để cung cấp dịch vụ tốt hơn cho bệnh nhân hay giúp sinh viên tìm kiếm tài liệu liên quan đến phạm vi nghiên cứu.
Topic Modelling
Bạn có thể sử dụng các kỹ thuật trích xuất từ khóa để tóm tắt nội dung đã cho thành một số từ khóa và ý tưởng chính, từ đó rút ra được chủ đề của văn bản.
Một kỹ thuật khác nâng cao hơn để xác định chủ đề của văn bản là Topic Modelling. Đây là mô hình hàng đầu được xây dựng dựa trên học máy không giám sát, không yêu cầu dữ liệu được gán nhãn để đào tạo.
Có nhiều thuật toán hỗ trợ mô hình hóa một chủ đề của văn bản, chẳng hạn như Correlated Topic Model, Latent Dirichlet Allocation, Latent Sentiment Analysis. Phương pháp được sử dụng phổ biến nhất là Latent Dirichlet. Cách tiếp cận này phân tích văn bản, chia nhỏ văn bản thành các từ và câu, sau đó trích xuất các chủ đề khác nhau từ những từ và câu này.
Summarization
Một trong những ứng dụng đầy hứa hẹn của NLP là tóm tắt văn bản. Kỹ thuật Summarization thường được sử dụng trong các bài báo dài, nhằm tóm tắt các tài liệu nghiên cứu.
Summarization là một kỹ thuật nâng cao, áp dụng đồng thời topic modeling và keyword extraction. Summarization thực hiện hai bước, một là trích xuất (nội dung chính) và sau đó tổng hợp lại.
Trong giai đoạn trích xuất, thuật toán trích xuất các phần quan trọng của văn bản dựa trên tần suất xuất hiện của chúng. Sau đó, nó tạo ra một văn bản hoàn toàn mới truyền tải thông điệp giống như văn bản gốc. Có nhiều thuật toán tóm tắt văn bản, ví dụ: LexRank và TextRank.
Trong LexRank, thuật toán phân loại các câu trong văn bản bằng mô hình xếp hạng. Thứ bậc được xác định dựa trên sự tương đồng giữa các câu; một câu càng giống với phần còn lại của văn bản thì nó sẽ được xếp hạng càng cao.
Sentiment Analysis
Sentiment Analysis là kỹ thuật NLP nổi tiếng và được sử dụng nhiều nhất. Chức năng cốt lõi của kỹ thuật này là trích xuất thái độ, quan điểm đằng sau nội dung văn bản.
Kết quả đơn giản nhất mà mô hình Sentiment Analysis trả ra là thang đo có 3 cực: tiêu cực, tích cực và trung lập. Thuật toán có thể phức tạp và nâng cao hơn; tuy nhiên, kết quả sẽ được thể hiện dưới dạng điểm số trong trường hợp này. Nếu kết quả là một số âm, thì cảm xúc đằng sau văn bản có xu hướng tiêu cực, và ngược lại.
Sentiment Analysis là một trong những bài toán phổ biến của học máy. Nó có thể được thực hiện bằng cách sử dụng các kỹ thuật có giám sát hoặc không giám sát. Kỹ thuật có giám sát phổ biến nhất giúp phân tích quan điểm là thuật toán Naive Bayes. Các thuật toán học máy có giám sát khác có thể được sử dụng là gradient boosting và random forest.