Tiền xử lý dữ liệu nlp

Tiền xử lý dữ liệu nlp

Trong bài viết này, ta sẽ khảo sát bài toán Rút trích thông tin (Information extraction – IE), một nhánh nghiên cứu nâng cao thiên về rút trích thông tin ngữ nghĩa trong văn bản. Từ đây, ta sẽ có nhiều ứng dụng cho nhiều domain như Web mining (rút trích tên người nổi tiếng, sản phẩm đang hot, so sánh giá sản phẩm, nghiên cứu đối thủ cạnh tranh, phân tích tâm lý khách hàng), Biomedical, Business intelligent, Financial professional (đánh giá thị trường từ các nguồn khác nhau: giá xăng dầu tăng giảm, thông tin chiến tranh, chính trị giữa các nước, điều luật mới trong thị trường kinh doanh), Terrism event (sử dụng vũ khí gì, đối tượng tấn công là ai).

Sau các bước tiền xử lý thiên về từ vựng và cú pháp như tách câu, tách từ, phân tích cú pháp, gán nhãn từ loại. Từ IE ta sẽ đơn giản hóa thành các bài toán con gồm: Rút trích tên thực thể (Named entity recognition – NER: people, organization, location), phân giải đồng tham chiếu (Coreference resolution) và Rút trích quan hệ giữa hai thực thể (Relation extraction – RE: founderOf, headQuarteredIn). Các mô hình khi thực nghiệm sẽ được đánh giá thông qua các chỉ số Precision, Recall, F1-score. Dưới đây là một ví dụ về rút trích quan hệ trong câu.

Tiếp tục đọc “Information extraction – Bài toán rút trích thông tin trong văn bản”

Tiền xử lý dữ liệu nlp
Tagging problem

Trong nhiều tác vụ của Xử lý ngôn ngữ tự nhiên (XLNNTN), ta mong muốn xây dựng được một mô hình mà chuỗi các quan sát đầu vào (từ, ngữ, câu,…) đi kèm với chuỗi các nhãn đầu ra (từ loại, ranh giới ngữ, tên thực thể,…) gọi là pairs of sequences.

Gán nhãn từ loại (Part-of-speech tagging – POS) có lẽ là bài toán sớm nhất được nghiên cứu và được mọi người biết đến khi nhập môn chuyên ngành XLNNTN. Trong bài viết này, ta sẽ tìm hiểu về bài toán gán nhãn từ loại, các hướng tiếp cận và thuật toán cơ bản để giải quyết vấn đề này.

Tiếp tục đọc “Gán nhãn từ loại (Part-of-Speech tagging POS)”

Tiền xử lý dữ liệu nlp
Language model

Trong bài viết này, ta sẽ tìm hiểu thế nào là một mô hình ngôn ngữ (language modeling). Làm sao để xây dựng được một mô hình ngôn ngữ từ tập các mẫu câu của một ngôn ngữ bất kỳ (Anh, Việt, Nhật, …). Mô hình ngôn ngữ ban đầu được ứng dụng trong nhận dạng tiếng nói (speech recognition) và đã được áp dụng vào trong những tác vụ khác liên quan trong lĩnh vực Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) như gán nhãn từ loại (tagging), phân tích cây cú pháp (parsing), dịch máy (machine translation), …

Tại sao chúng ta cần mô hình ngôn ngữ? Lý do thứ nhất, mô hình này cung cấp cho bạn thông tin về phân bố xác suất tiền nghiệm (prior distribution) để xét xem câu gồm các từ đầu vào có phù hợp hay không với ngôn ngữ xác định. Ví dụ, ta sẽ có xác suất của câu

p(tối nay được đi chơi rồi vui quá) > p(quá rồi vui được đi chơi nay tối)

nhờ vậy mà ta xác định được câu “tối nay được đi chơi rồi vui quá” sẽ phù hợp hơn với ngôn ngữ tiếng Việt hơn câu hai “quá rồi vui được đi chơi nay tối”. Thứ hai, các kĩ thuật liên quan đến ước lượng tham số cho mô hình thông qua tập dữ liệu huấn luyện cho trước được sử dụng trong các mô hình khác như Hidden Markov Model, Natural Language Parsing. Và cuối cùng, đây là một trong những cơ sở kiến thức để các bạn đọc hiểu được các bài viết liên quan đến Long short-term memory (LSTM).

Tiếp tục đọc “Language Modeling là gì”

Tiền xử lý dữ liệu nlp
NLP tools

Nếu bạn đang làm việc và nghiên cứu trên ngôn ngữ tiếng Anh thì ta có thể sử dụng các thư viện/module NLP của Python được liệt kê bên dưới. Mục đích của bài viết này được dùng để liệt kê những thư viện/module và những chức năng hữu ích trong NLP. Các bạn có thể tham khảo danh sách các thuật ngữ liên quan đến các chức năng ở bài viết này.

Tiếp tục đọc “Giới thiệu các công cụ Xử lý ngôn ngữ tự nhiên”

Tiền xử lý dữ liệu nlp
Natural Language Processing

Vai trò của Xử lý ngôn ngữ tự nhiên-XLNNTN (Natural Language Processing-NLP) trong khai thác Big Data là không thể phủ nhận trong bối cảnh phát triển của doanh nghiệp hiện nay. Đối với ngôn ngữ tiếng Anh, ta đã được kế thừa nhiều tri thức cũng như nhiều công cụ có sẵn để áp dụng ngay vào thực tiễn. Tuy nhiên, đối với ngôn ngữ tiếng Việt, ta vẫn còn gặp nhiều khó khăn (nhân sự có chuyên môn còn hạn chế, ngữ liệu để huấn luyện chưa đủ lớn) bên cạnh những cơ hội rất lớn (thị trường Việt Nam chưa được khai thác) cho những ai đam mê lĩnh vực này.

Vì vậy, trong bài viết này, tôi xin lập ra danh sách các thuật ngữ thường gặp trong NLP để tiện tham khảo cũng như giúp cho những bạn mới bắt đầu có thể nhanh chóng tra cứu sơ để tiến hành nghiên cứu ngay các tài liệu khoa học. Bài viết sẽ luôn được cập nhật. Nếu có các thuật ngữ chưa rõ, các bạn có thể comment để chúng ta tiếp tục mở rộng thêm danh sách này.

Tiếp tục đọc “Các thuật ngữ trong Xử lý ngôn ngữ tự nhiên”

Tiền xử lý dữ liệu nlp
natural langage processing

Các doanh nghiệp hiện nay đang đối mặt với “cơn lũ” dữ liệu về mọi mặt: feedback của khách hàng, thông tin đối thủ cạnh tranh, emails của khách hàng, tweets, thông tin họp báo, hồ sơ pháp lý, các văn bản về sản phẩm và kĩ thuật. Việc khai thác được những dữ liệu này là điểm mấu chốt để các doanh nghiệp có thể triển khai nhanh chóng các quyết định của mình so với đối thủ cạnh tranh.

Vấn đề ở đây là gì? Có quá nhiều thông tin để xử lý cùng lúc (hơn 85% dữ liệu trên thế giới không có cấu trúc), và kích thước dữ liệu ngày càng tăng. Đối với nhiều doanh nghiệp, điều này là bất khả thi để điều động nhân sự đọc tất cả mọi thứ được cho là quan trọng (các khách hàng đang nói gì về sản phẩm, những đối thủ cạnh tranh của chúng ta đang làm gì).

Tiếp tục đọc “Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là gì?”