NLP là gì? Tất tần tật về NLP mà bạn có thể chưa biết.
Trợ lý ảo, chatbot hay kiểm tra lỗi chính tả đều là những ứng dụng của NLP – xử lý ngôn ngữ tự nhiên. Vậy NLP là gì? VTC Academy Plus sẽ bật mí ngay bên dưới nhé!
Giới thiệu về xử lý ngôn ngữ tự nhiên NLP
NLP là gì? NLP xuất hiện từ khi nào?
NLP với tên gọi đầy đủ Natural Language Processing (Xử lý ngôn ngữ tự nhiên) là một nhánh của trí tuệ nhân tạo (AI). NLP nghiên cứu sự tương tác giữa máy tính và ngôn ngữ của con người từ dạng văn bản đến tiếng nói. Trong trí tuệ nhân tạo thì xử lý ngôn ngữ tự nhiên là một trong những phần khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ – công cụ hoàn hảo nhất của tư duy và giao tiếp.
Xử lý ngôn ngữ tự nhiên ra đời vào những năm 40 của thế kỷ XX. Mục tiêu của lĩnh vực này là giúp máy tính hiểu và thực hiện hiệu quả những nhiệm vụ liên quan đến ngôn ngữ của con người như: tương tác giữa người và máy, cải thiện hiệu quả giao tiếp giữa con người với nhau, 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 thành phần của NLP
Xử lý ngôn ngữ tự nhiên NLP được chia làm hai thành phần chính:
Hiểu ngôn ngữ tự nhiên (Natural Language Understanding – NLU)
Trong phần này bao gồm hai chủ đề cơ bản sau:
- Ánh xạ tới đầu vào đã biến ngôn ngữ tự nhiên thành các biểu diễn hữu ích
- Phân tích các khía cạnh khác nhau của ngôn ngữ
Tạo ngôn ngữ tự nhiên (Natural Language Generation – NLG)
Cần tạo ra các cụm từ và câu có nghĩa, dưới dạng ngôn ngữ tự nhiên từ biểu diễn bên trong. Quá trình này bao gồm:
- Lập kế hoạch văn bản: tìm kiếm và truy xuất các nội dung liên quan từ cơ sở tri thức.
- Lập kế hoạch về câu: chọn những câu từ cần thiết để thiết lập giọng điệu của câu.
- Hiện thực hóa văn bản: là quá trình ánh xạ kế hoạch các câu riêng lẻ thành cấu trúc câu.
Công cụ NLP và cách tiếp cận
Python và Natural Language Toolkit (NLTK)
Python được sử dụng nhiều trong việc dạy lập trình và nghiên cứu khoa học bởi tính đơn giản để học và sử dụng. NLTK là một trong những nền tảng hàng đầu để xây dựng các chương trình Python xử lý và phân tích dữ liệu ngôn ngữ của con người. NLTK cung cấp giao diện dễ sử dụng với hơn 50 tài nguyên ngữ liệu và từ vựng, cùng với một bộ thư viện xử lý văn bản để thực hiện khả năng suy luận ngữ nghĩa, khả năng đưa ra kết luận logic dựa trên các dữ kiện được trích xuất từ văn bản.
NLP thống kê, máy học (machine learning) và học sâu (deep learning)
NLP thống kê kết hợp các thuật toán máy tính với mô hình machine learning và deep learning để tự động trích xuất, phân loại và gắn nhãn các phần tử của dữ liệu văn bản và giọng nói, sau đó chỉ định thống kê cho cho mỗi ý nghĩa có thể có của các yếu tố đó. Ngày nay, mô hình deep learning và kỹ thuật học tập dựa trên Convolutional Neural Networks (CNNs – mạng nơ-ron tích chập) và Recurrent Neural Networks (RNNs – mạng thần kinh hồi quy) cho phép các hệ thống NLP “học” khi chúng hoạt động và trích xuất ý nghĩa chính xác hơn bao giờ hết từ khối lượng lớn các tập dữ liệu thô về văn bản và tiếng nói, không có cấu trúc và không được gắn nhãn.
Các bước xử lý của NLP, phân loại NLP
Xử lý ngôn ngữ tự nhiên bao gồm 5 bước như sau:
Bước 1. Phân tích hình thái: từng từ sẽ được phân tích và các ký tự không phải chữ (như các dấu câu) sẽ được tách ra khỏi các từ. Trong tiếng Anh và nhiều ngôn ngữ khác, các từ được phân tách với nhau bằng dấu cách. Tuy nhiên trong tiếng Việt, dấu cách được dùng để phân tách các tiếng (âm tiết) chứ không phải từ. Cùng với các ngôn ngữ như tiếng Trung, Hán và Nhật, phân tách từ trong tiếng Việt là một công việc không hề đơn giản.
Bước 2. Phân tích cú pháp: dãy các từ sẽ được biến đổi thành các cấu trúc thể hiện sự liên kết giữa các từ này. Sẽ có những dãy bị loại do vi phạm các luật văn phạm.
Bước 3. Phân tích ngữ nghĩa: thêm ngữ nghĩa vào các cấu trúc được tạo ra bởi bộ phân tích cú pháp.
Bước 4. Tích hợp văn bản: ngữ nghĩa của một câu riêng biệt có thể phụ thuộc vào những câu đứng trước, đồng thời nó cũng có thể ảnh hưởng đến các câu phía sau.
Tùy vào giải thuật và ngữ cảnh cụ thể mà các bước xử lý này có thể được tiến hành theo từng bước một hoặc tiến hành cùng một lúc.
Để hiểu rõ hơn về xử lý ngôn ngữ tự nhiên, ta có thể chia NLP thành hai nhánh lớn:
- Xử lý tiếng nói (speech processing): tập trung nghiên cứu và phát triển các thuật toán, chương trình máy tính xử lý ngôn ngữ của con người ở dạng tiếng nói (dữ liệu âm thanh). Các ứng dụng quan trọng của xử lý tiếng nói bao gồm nhận dạng tiếng nói và tổng hợp tiếng nói. Nhận dạng tiếng nói chuyển ngôn ngữ từ dạng tiếng nói sang văn bản, ngược lại, tổng hợp tiếng nói chuyển ngôn ngữ từ dạng văn bản thành tiếng nói.
- Xử lý văn bản (text processing): tập trung vào phân tích dữ liệu văn bản. Các ứng dụng quan trọng của xử lý văn bản bao gồm tìm kiếm và truy xuất thông tin, dịch máy, tóm tắt văn bản tự động hay kiểm lỗi chính tả tự động. Xử lý văn bản đôi khi được chia tiếp thành hai nhánh nhỏ hơn bao gồm hiểu văn bản và sinh văn bản. Nếu như hiểu liên quan tới các bài toán phân tích văn bản thì sinh liên quan tới nhiệm vụ tạo ra văn bản mới như trong các ứng dụng về dịch máy hoặc tóm tắt văn bản tự động. Xử lý văn bản trong NLP bao gồm 4 bước chính: phân tích hình vị, phân tích cú pháp, phân tích ngữ nghĩa, phân tích diễn ngôn.
Các lĩnh vực ứng dụng chính của NLP
Không thể phủ nhận việc NLP đang ngày được ứng dụng rộng rãi hơn, có thể kể đến một số ví dụ phổ biến sau đây:
Tìm kiếm (Searching): thuật toán của NLP xác định các yếu tố cụ thể trong văn bản. Bạn có thể tìm kiếm từ khóa trong tài liệu, phát hiện từ sai chính tả, từ đồng nghĩa theo ngữ cảnh và hơn thế nữa.
Người dùng Smartphone có lẽ không còn quá xa lạ với tính năng này khi nó được tích hợp ngay trên bàn phím. Hoặc trên các công cụ soạn thảo văn bản như Word hay Google Docs, kiểm lỗi chính tả cũng được tích hợp giúp người dùng phát hiện lỗi sai chính tả nhanh chóng. Ngoài ra, dự đoán được bật trên hầu hết các bàn phím Smartphone cho phép máy dự đoán từ tiếp theo bạn sẽ viết dựa trên ngữ cảnh của câu nói.
Tổng hợp tiếng nói: chuyển đổi ngôn ngữ từ dạng văn bản sang tiếng nói, thường được dùng trong đọc văn bản tự động.
Voice Aloud Reader là một trong những phần mềm phổ biến giúp chuyển văn bản thành giọng nói. Phần mềm này có thể đọc văn bản qua link, word hay file PDF.
Nhận dạng đối tượng được đặt tên (Named – Entity Recognition): đây là một thực thể khai thác, xác định và phân loại. Nó liên quan đến việc trích xuất tên của địa điểm, người và mọi thứ từ văn bản và đặt chúng dưới các danh mục nhất định: Người, Công ty, Thời gian, Vị trí… Các trường hợp sử dụng có thể bao gồm phân loại nội dung cho SEO, hỗ trợ khách hàng, phân tích báo cáo, nghiên cứu học thuật và hơn thế nữa.
Truy xuất thông tin: với sự trợ giúp của NLP, chúng ta có thể tìm thấy phần cần thiết trong số dữ liệu phi cấu trúc. Hệ thống truy xuất thông tin chỉ mục tập hợp tài liệu, phân tích truy vấn của người dùng, sau đó so sánh mô tả của từng tài liệu với truy vấn và trình bày kết quả có liên quan.
Các trang tìm kiếm vô cùng quen thuộc với người dùng như Google hay Baidu chính là ví dụ cho truy xuất thông tin. Tại đây, người dùng nhập vào ô tìm kiếm dữ liệu mình cần và hệ thống sẽ trích xuất ra các kết quả có liên quan đến từ khóa được nhập trước đó.
Tóm tắt văn bản tự động: các thuật toán NLP có thể được sử dụng để tạo ra một phiên bản rút gọn của bài báo, tài liệu, số lượng mục nhập…v…v… bao gồm các ý chính và từ khóa chính. Có hai cách tiếp cận chung: tóm tắt trừu tượng và tóm tắt khai thác. Trong trường hợp đầu tiên, mô hình NLP tạo ra một bản tóm tắt hoàn toàn mới về các cụm từ và câu sử dụng trong văn bản được phân tích. Trong trường hợp thứ hai, mô hình sẽ trích xuất các cụm từ và câu từ văn bản hiện có, sau đó nhóm chúng thành một bản tóm tắt.
Resoomer là một trong những website tóm tắt văn bản miễn phí. Tại đó, Resoomer sẽ giúp bạn tóm tắt và phân tích một đoạn văn bản dài dựa trên các từ khóa quan trọng.
Chatbot: chương trình máy tính có khả năng trò chuyện, hỏi đáp với con người qua hình thức hội thoại dưới dạng văn bản. Chatbot thường được sử dụng trong ứng dụng hỗ trợ khách hàng, giúp người dùng tìm kiếm thông tin sản phẩm hoặc giải đáp thắc mắc.
Hầu hết các website hay fanpage bán hàng đều sử dụng chatbot như một công cụ hỗ trợ giải đáp thắc mắc của khách hàng một cách nhanh chóng và ở mọi thời điểm. Chatbot được thiết lập sẵn một số câu hỏi cơ bản như: Bạn cần tư vấn? Mặt hàng này còn không? Giá của mặt hàng này?…
Tìm hiểu thêm: 5 lợi ích của Chatbot
Dịch máy: điều này thường liên quan đến việc dịch một ngôn ngữ tự nhiên này sang một ngôn ngữ tự nhiên khác, vẫn giữ nguyên ý nghĩa và cho ra kết quả văn bản trôi chảy. Các phương pháp và cách tiếp cận khác nhau được sử dụng ở đây: dựa trên quy tắc, thống kê và dịch máy bằng nơ-ron.
Một ví dụ vô cùng thực tế cho dịch máy chính là Google Dịch – nơi mà hầu hết mọi người đều tìm đến đầu tiên khi có nhu cầu dịch thuật một từ hay một đoạn văn bản ngắn từ ngôn ngữ này sang ngôn ngữ khác. Ngoài ra, một số phần mềm dịch thuật quen thuộc khác như TFlat, Duolingo… cũng được sử dụng rộng rãi.
Vì sao NLP lại quan trọng?
Dữ liệu văn bản khối lượng lớn
Xử lý ngôn ngữ tự nhiên giúp máy tính giao tiếp với con người bằng ngôn ngữ riêng của chúng và mở rộng các ứng dụng khác liên quan đến ngôn ngữ. Ví dụ, NLP giúp máy tính có thể đọc văn bản, nghe lời nói, diễn giải văn bản, đo lường cảm xúc và xác định phần nào là quan trọng trong văn bản.
Máy tính ngày nay có thể phân tích nhiều dữ liệu dựa trên ngôn ngữ hơn con người mà không cần quá tốn sức, theo một cách nhất quán và không sai lệch. Hàng ngày lượng dữ liệu phi cấu trúc đổ về đáng kinh ngạc, từ lĩnh vực y tế đến mạng xã hội, tự động hóa là cần thiết để có thể phân tích đầy đủ dữ liệu văn bản và giọng nói hiệu quả.
Sắp xếp nguồn dữ liệu phi cấu trúc cao một cách có cơ cấu
Ngôn ngữ của con người đa dạng và vô cùng phức tạp so với các ngôn ngữ khác. Vô vàn cách để chúng ta thể hiện bản thân, cả bằng lời nói và văn bản. Không chỉ có hàng trăm ngôn ngữ và phương ngữ, mà bên trong mỗi một ngôn ngữ lại là một tập hợp các quy tắc ngữ pháp, cú pháp, thuật ngữ và tiếng lóng. Khi nói, chúng ta thường viết sai chính tả, viết tắt hoặc bỏ dấu câu. Song song với đó, khi nói chúng ta cũng có giọng địa phương, nói không rõ chữ hay nói lắp, sử dụng các từ vay mượn nước ngoài.
Xử lý ngôn ngữ tự nhiên quan trọng vì nó giúp giải quyết sự mơ hồ trong ngôn ngữ và mã hóa dữ liệu cho các ứng dụng cuối cùng của NLP như kiểm tra lỗi chính tả, tóm tắt văn bản.
Học NLP để xây dựng công nghệ trí tuệ thông minh
Hầu hết các tiện ích tuyệt vời mà chúng ta đang sử dụng hằng ngày chính là chúng ta đang tương tác với xử lý ngôn ngữ tự nhiên NLP. Từ đó có thể thấy, trí tuệ nhân tạo đã và đang tạo ra ảnh hưởng vô cùng lớn đến đời sống công nghệ của con người, phát triển ngày càng tiến bộ hơn.
Nếu các bạn quan tâm đến khóa học trí tuệ nhân tạo, VTC Academy Plus sẽ là lựa chọn hoàn hảo bởi chương trình đào tạo tài năng chất lượng quốc tế được công nhận bởi các trường Đại học và Học viện hàng đầu thế giới tại Pháp, Canada hay Anh Quốc…, đón đầu các xu thế mới nhất về công nghệ trên thế giới với chuẩn đầu ra đáp ứng được nhu cầu nhân lực của các doanh nghiệp trên toàn cầu.
Ngoài ra, học viên tại VTC Academy Plus còn có cơ hội được liên thông quốc tế để lấy bằng cấp quốc tế từ các đối tác giáo dục của Học viện như Trường Cao đẳng North Island – NIC (Canada), Viện Thiết kế Quốc tế RUBIKA (Pháp)… Chương trình du học liên thông VTC Academy Plus sẽ là con đường lý tưởng để hiện thực hóa khát vọng gia nhập đội ngũ nhân lực toàn cầu của thế hệ trẻ Việt Nam.
Mức lương ngành AI cao hơn so với các ngành nghề khác trên thị trường tuyển dụng. Cụ thể, từ các vị trí chuyên viên cho đến các vị trí quản lý cấp cao, mức lương trung bình của ngành này có thể dao động từ 51.000.000 đồng đến 139.000.000 đồng/tháng (Theo báo cáo Vietnam IT Landscape 2022 của TopDev). Ngoài ra, TopDev nhận định AI được coi là một trong những ngành mang lại lợi thế cạnh tranh, là xu hướng bắt buộc đến năm 2025. Có thể thấy, triển vọng công việc của ngành AI vô cùng lớn và sẽ tiếp tục phát triển mạnh mẽ trong tương lai.