- vừa được xem lúc

Natural Language Processing (NLP) là gì và nó có ứng dụng như thế nào?

0 0 9

Người đăng: Dương Nguyễn Thị Thùy

Theo Viblo Asia

NLP có vẻ đã rất quen thuộc với anh em, lẽ ra giờ này chúng ta nên xem Generative AI, prompts nó như thế nào. Tuy nhiên hôm nay sẽ đi lại từ các nền tảng sơ khai của các ứng dụng "có thể hiểu con người nói gì", chúng ta sẽ cùng xem lại nó đã phát triển và có ứng dụng như thế nào qua mấy năm qua.

1. NLP là gì?

  • Xử lý ngôn ngữ tự nhiên - Natural Language Processing (NLP) là nhánh con của AI tập trung vào việc cho phép máy tính hiểu và tương tác với ngôn ngữ của con người.
  • Nó bao gồm các nhiệm vụ như nhận dạng giọng nói, hiểu ngôn ngữ và tạo ngôn ngữ. Sử dụng học máy (Machine Learning) và ngôn ngữ học tính toán (computational linguistics), NLP giải mã ngữ cảnh, âm điệu, ngữ nghĩa và cú pháp của ngôn ngữ.
  • Mục tiêu cuối cùng của NLP là tạo ra các hệ thống hiểu ngôn ngữ theo cách vừa thông minh vừa hữu ích cho con người, thu hẹp khoảng cách giữa giao tiếp của con người và hiểu biết của máy tính một cách hiệu quả.

Các công nghệ trong NLP

  • Tokenization: Chia văn bản thành các từ hoặc thuật ngữ (tokens).
  • Stop Words Removal: Loại bỏ những từ phổ biến, không quan trọng. Trong Tiếng Anh, sẽ loại bỏ các mạo từ như the, a, an, and. Trong Tiếng Việt thì sẽ loại bỏ các từ như à, ơi, cái, các, cả,...
  • Stemming and Lemmatization: Rút gọn các từ về dạng gốc của chúng. Ví dụ như learning -> learn
  • Part-of-Speech (POS) Tagging: Xác định và gắn nhãn cho mỗi từ trong văn bản tương ứng với một phần cụ thể của lời nói (danh từ, động từ, tính từ, v.v.), dựa trên cả định nghĩa và ngữ cảnh của nó
  • Named Entity Recognition (NER): Xác định và phân loại các thực thể được đặt tên trong văn bản thành các danh mục được xác định trước như tên người, tổ chức, địa điểm, mã y tế, biểu thức thời gian, số lượng, giá trị tiền tệ, tỷ lệ phần trăm, v.v.
  • Phân tích ngữ nghĩa (Semantic Analysis): Xác định ý nghĩa câu và vai trò của các từ trong câu.
  • Phân tích tình cảm (Sentiment Analysis): Xác định và phân loại các ý kiến được thể hiện trong một đoạn văn bản, đặc biệt là để xác định xem thái độ của người viết đối với một chủ đề hoặc sản phẩm cụ thể là tích cực, tiêu cực hay trung lập

2. Ứng dụng của NLP

Các ứng dụng của NLP được kể đến khá nhiều, ví dụ như khi tìm kiếm trên Google các bạn sẽ thấy:

image.png

Trong bài viết này, mình sẽ cập nhật các ứng dụng phổ biến thường hay được các doanh nghiệp, công ty phát triển và ứng dụng nhất.

2.1 Chatbots

Chatbots là một trong những ứng dụng phổ biến của xử lý ngôn ngữ tự nhiên (NLP). Sử dụng NLP, chatbot có thể hiểu và phản hồi ngôn ngữ con người qua văn bản và giọng nói. Các doanh nghiệp sử dụng chatbot để hỗ trợ dịch vụ khách hàng 24/7, giải quyết các thắc mắc và vấn đề thường gặp, nâng cao hiệu quả dịch vụ. Chatbot cũng có thể được tùy chỉnh theo phong cách thương hiệu, tạo trải nghiệm cá nhân hóa. Việc tích hợp NLP trong chatbot cho thấy sự tiến bộ lớn trong tương tác giữa người và máy tính.

2.2 Lọc email (Email filtering)

Lọc email là một ứng dụng thực tế khác của xử lý ngôn ngữ tự nhiên. Các dịch vụ email tận dụng NLP để phân loại, sắp xếp và lọc email, nâng cao trải nghiệm người dùng. Công nghệ này được sử dụng để phát hiện và lọc thư rác, cải thiện đáng kể độ tin cậy và an toàn của giao tiếp qua email. Ngoài ra, NLP được sử dụng để phân loại email thành nhiều danh mục khác nhau như mạng xã hội, quảng cáo,... điều này cho phép người dùng quản lý hộp thư đến của họ rõ ràng và hiệu quả hơn. Ứng dụng NLP trong việc lọc email như một ví dụ minh họa cách công nghệ góp phần tăng năng suất và hiệu quả trong cuộc sống và công việc hàng ngày mỗi của chúng ta.

2.3 Dịch ngôn ngữ (Language translation)

Dịch ngôn ngữ đã rất quen thuộc với chúng ta, bằng cách chuyển đổi từ ngôn ngữ này sang ngôn ngữ khác một cách liên tục. Các công cụ dịch thuật ngày nay sử dụng NLP để hiểu ngữ cảnh, ngữ pháp và ngữ nghĩa của ngôn ngữ đầu vào và tạo ra các bản dịch chính xác ở ngôn ngữ đầu ra. NLP phá vỡ rào cản ngôn ngữ và tạo điều kiện thuận lợi cho giao tiếp toàn cầu, hỗ trợ đáng kể trong việc đối thoại và nghiên cứu đa văn hóa, đa ngôn ngữ.

2.4 Phân tích tình cảm (Sentiment Analysis)

Phân tích tình cảm, còn được gọi là khai thác ý kiến, là một ứng dụng của NLP vào việc xác định sắc thái cảm xúc đằng sau các từ để hiểu được thái độ, ý kiến và cảm xúc được thể hiện trong một đoạn văn bản. Trong các ứng dụng thực tế, NLP sử dụng phân tích tình cảm để xác định tình cảm trong dữ liệu xã hội, đánh giá của khách hàng, khảo sát,...

Ví dụ: doanh nghiệp có thể sử dụng phân tích cảm tính để hiểu cảm xúc của khách hàng đối với sản phẩm, thương hiệu hoặc dịch vụ dựa trên các đánh giá trực tuyến (online reviews) hoặc các cuộc trò chuyện trên mạng xã hội. Bằng cách phát hiện những cảm xúc tiêu cực, các công ty có thể thực hiện các bước chủ động để giải quyết mối quan tâm của khách hàng và cải thiện trải nghiệm của họ. Mặt khác, tình cảm tích cực có thể nhấn mạnh các chiến lược và lĩnh vực thành công của công ty.

Ngoài ra, gần đây khá phổ biến các ứng dụng "social listening" nhằm mong muốn "lắng nghe" người dùng từ các trang mạng xã hội. Từ đó có các chiến lược, kế hoạch marketing hoặc truyền thông, bán hàng hiệu quả. Do đó, có thể nói rằng: phân tích tình cảm là một ứng dụng không thể thiếu trong các lĩnh vực như nghiên cứu thị trường, quản lý thương hiệu và dịch vụ khách hàng.

2.5 Tiên đoán văn bản (Predictive text)

Tiên đoán văn bản là một ứng dụng phổ biến của NLP trong các hoạt động kỹ thuật số hàng ngày của chúng ta. Tính năng này sử dụng NLP để gợi ý từ cho người dùng khi gõ trên thiết bị, do đó đẩy nhanh quá trình nhập văn bản. Hệ thống văn bản tiên đoán học hỏi từ thông tin đầu vào trước đây của người dùng, các từ thường được sử dụng và các mẫu ngôn ngữ tổng thể để đưa ra gợi ý từ.

Ví dụ: dựa trên tần suất của những kết hợp này trong lần sử dụng trước đó, khi người dùng nhập 'tí nữa đi', hệ thống có thể đề xuất 'ăn', 'chơi', 'ra' làm từ sau. Trong smartphone, văn bản tiên đoán cũng có thể sửa lỗi typing và lỗi chính tả.

2.6 Tóm tắt văn bản (Text summarization)

Tóm tắt văn bản là một ứng dụng đáng chú ý khác của xử lý ngôn ngữ tự nhiên nhằm tạo ra một bản tóm tắt ngắn gọn về các tài liệu văn bản dài. Nó xác định và trích xuất các điểm chính từ tài liệu nguồn một cách thông minh, trình bày chúng ở định dạng cô đọng, dễ hiểu. Công nghệ này đặc biệt hữu ích trong việc xử lý tình trạng quá tải thông tin, giúp người dùng hiểu và giải thích khối lượng lớn dữ liệu dễ dàng hơn.

2.7 Smart assistant

Các trợ lý thông minh, chẳng hạn như Siri của Apple, Alexa của Amazon hoặc Google Assistant, là một ứng dụng mạnh mẽ khác của NLP. Các hệ thống thông minh này tận dụng NLP để hiểu và giải thích lời nói của con người, cho phép người dùng tương tác với thiết bị của họ bằng ngôn ngữ tự nhiên.

Ví dụ: người dùng có thể hỏi Siri về thời tiết, ra lệnh cho Alexa phát một bài hát hoặc hướng dẫn Trợ lý Google đặt báo thức, tất cả đều bằng giọng nói của họ. Các hệ thống này sử dụng NLP để hiểu lệnh, trích xuất thông tin cần thiết và thực hiện hành động, làm cho công nghệ trở nên dễ tương tác và thân thiện hơn với người dùng.

Ngoài ra, trợ lý thông minh cũng có thể tham gia giao tiếp hai chiều, đưa ra câu trả lời cho các câu hỏi của người dùng theo cách trò chuyện. Khả năng hiểu, phản hồi và học hỏi từ ngôn ngữ của con người có thể thực hiện được nhờ sự tích hợp của NLP, củng cố vai trò của nó trong việc tăng cường tương tác giữa con người và máy tính.

2.8 Chấm điểm bài luận tự động (Automated Essay Scoring (AES))

Chấm điểm bài luận tự động là một ứng dụng sáng tạo của NLP đã cách mạng hóa việc đánh giá giáo dục. Hệ thống AES sử dụng NLP để đánh giá và chấm điểm các bài luận viết dựa trên các thông số khác nhau như ngữ pháp, từ vựng, tính mạch lạc và cấu trúc lập luận. Công nghệ này còn đảm bảo tính nhất quán trong việc chấm điểm, loại bỏ những thành kiến tiềm ẩn. Ngày nay, các ứng dụng học online ngày càng nhiều, việc tích hợp hệ thống AES giúp học sinh, sinh viên dễ dàng nhận được kết quả ngay sau khi hoàn thành bài tập giúp dễ dàng học tập chủ động và giảm đáng kể khối lượng công việc cho giáo viên.

3. Giới hạn của xử lý ngôn ngữ tự nhiên

Mặc dù có nhiều ứng dụng mạnh mẽ, nhưng khi phát triển hệ thống NLP bạn sẽ gặp một số hạn chế:

  • Hiểu Ngữ Cảnh (Understanding Context): NLP thường gặp khó khăn với các sắc thái, sự mơ hồ và ngữ cảnh của ngôn ngữ, đặc biệt là sự châm biếm, hài hước và các biểu thức thành ngữ, tục ngữ.
  • Khác Biệt Văn Hóa: Ngôn ngữ gắn liền với văn hóa. Sự khác biệt trong cách hiểu từ hoặc cụm từ ở các bối cảnh văn hóa khác nhau có thể gây khó khăn cho hệ thống NLP.
  • Bảo Mật Dữ Liệu: NLP phụ thuộc nhiều vào dữ liệu để huấn luyện, điều này có thể gây ra mối lo ngại về quyền riêng tư, đặc biệt khi xử lý thông tin nhạy cảm.
  • Tốn Kém Tài Nguyên: Phát triển hệ thống NLP mạnh mẽ và hiệu quả đòi hỏi nhiều tài nguyên tính toán và chuyên môn cao. Điều này có thể là trở ngại đối với các tổ chức nhỏ.
  • Hỗ Trợ Ngôn Ngữ: xử lý ngôn ngữ tiếng Anh đã có nhiều cải tiến và tiến bộ vượt bậc. Tuy nhiên đối với các ngôn ngữ khác, đặc biệt là những ngôn ngữ ít phổ biến vẫn còn hạn chế trong NLP.

Xử lý ngôn ngữ tự nhiên đã có những tác động tích cực và cải thiện mạnh mẽ giao tiếp giữa con người và máy móc với hàng loạt ứng. Tuy nhiên, giống như bao công nghệ khác, NLP vẫn có những giới hạn và tiếp tục là điểm mấu chốt cho các nhà nghiên cứu và nhà phát triển tiếp tục đổi mới, cải tiến ứng dụng vào các lĩnh vực cuộc sống và kinh doanh.

Cảm ơn mọi người đã đọc tới đây, cùng comment thảo luận các chủ đề, ứng dụng của NLP nha!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Các thuật toán cơ bản trong AI - Phân biệt Best First Search và Uniform Cost Search (UCS)

Nếu bạn từng đọc các thuật toán trong AI (Artificial Intelligence - Trí tuệ nhân tạo), rất có thể bạn từng nghe qua về các thuật toán tìm kiếm cơ bản: UCS (thuộc chiến lược tìm kiếm mù) và Best First Search (thuộc chiến lược tìm kiếm kinh nghiệm). Khác nhau rõ từ khâu phân loại rồi, thế nhưng hai th

0 0 169

- vừa được xem lúc

Con đường AI của tôi

Gần đây, khá nhiều bạn nhắn tin hỏi mình những câu hỏi đại loại như: có nên học AI, bắt đầu học AI như nào, làm sao tự học cho đúng, cho nhanh, học không bị nản, lộ trình học AI như nào... Sau nhiều lần trả lời, mình nghĩ rằng nên viết hẳn một bài để trả lời chi tiết hơn, cũng như để các bạn sau này

0 0 157

- vừa được xem lúc

[ChatterBot] Thư viện chatbot hay ho dành cho Python| phần 3

Trong bài trước mình đã trình bày về Training data cho chatbot và tiền xử lý dữ liệu. Trong phần này sẽ trình bày với các bạn về logic adapter.

0 0 62

- vừa được xem lúc

[Deep Learning] Kỹ thuật Dropout (Bỏ học) trong Deep Learning

. Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.1. Dropout trong mạng Neural là gì.

0 0 64

- vừa được xem lúc

Kỹ thuật Dropout (Bỏ học) trong Deep Learning

Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.

0 1 80

- vừa được xem lúc

Blockchain dưới con mắt làng Vũ Đại 4.0

Mở bài. Hey nhô các bạn, lại là mình đây .

0 0 50