NLP theo cách view của Machine Learning

Xu hướng trong mấy năm gần đây của NLP là dùng các kỹ thuật của Machine Learning để giải quyết vấn đề (do các tài nguyên về ngôn ngữ ngày càng nhiều, tốc độ xử lý của máy tính thì ngày càng nhanh).

Theo những gì mình đã đọc thì các bài toán NLP có thể được phân loại theo cách view của Machine Learning như sau:

(1) Bài toán Classification

Một số bài toán điển hình:
Text classification: Ví dụ, phân chia các tin tức thành các mục thể thao, thời sự, chính trị,… (phân lớp đa lớp); Lọc spam mail (phân lớp 2 lớp)
Sentiment classification: Phân loại các ý kiến thành positive, negative,…; hay như trong bài toán Textual Entailment phân lớp một câu dẫn xuất thành: Entailment, Contract, unknown,…

Theo quan điểm cá nhân, đâyLà một vấn đề được nghiên cứu khá kỹ, rất khó có đất để chen chân vào. Một số kỹ thuật hay được sử dụng: Naive Bayes, Cây quyết định (Decision Tree), Maxent, Perceptron, SVM. Kỹ thuật tốt nhất trong bài toán phân lớp có lẽ là SVM

(2) Bài toán Sequence Labeling

Bài toán này nói một cách nôm na là gán nhãn cho một chuối các quan sát một cách đồng thời. Một số bài toán điển hình
+ POS Tagging
+ Chunking
+ Named-Entity Recognition
+ Word Segmentation (Ví dụ Chinese Word Segmentation)
+ POS Tagging
+ Clause Splitting trong dịch máy

Các technique hay được dùng trong bài toán Sequence Labeling có thể kể tới là HMM (mô hình Markov ẩn), Maximum Entropy Markov Model, Conditional Random Field. Mô hình CRF có lẽ là mạnh nhất trong bài toán Sequence Labeling

(3) Bài toán Clustering

Bài toán này chủ yếu dựa trên độ đo sự tương tự để phân nhóm các thực thể tương tự thành một class. Mình không nắm rõ bài toán này lắm, chỉ biết một số technique hay dùng như: KNN, thuật toán EM,…

(4) Structured Prediction

Trong các loại bài toán này, output có cấu trúc phức tạp và thường khác so với input. Ví dụ input là sequence, output là graph,…Một số bài toán điển hình là: Parsing, Summarization.

Một số kỹ thuật hay dùng: Structured Perceptron, Structured SVM,…

(5) Các mô hình Unsupervised khác như Topic Modeling, Language Modeling,…

Vậy khi nghiên cứu về NLP, cái gì là quan trọng?

+ Với những ai mạnh về toán và Machine Learning: Khai thác các bài toán fundamental, đánhvề mặt toán hoặc Machine Learning. Cái khó là sự competitive là tương đối cao; và không phải ai cũng đề xuất được một mô hình Machine Learning hợp lý.

+ Đề xuất một vấn đề mới trong NLP, formulate vấn đề đó thành một bài  toán có thể giải quyết được bằng các mô hình Machine learning hiện tại, thử nghiệm các cách giải quyết dùng Machine Learning. Cái khó của cách này là phải chứng tỏ được là vấn đề mình đề xuất là mới và ý nghĩa, phương pháp của mình để giải quyết cũng phải có cái đặc trưng cho vấn đề đã đề xuất, nếu không sẽ dễ rơi vào tình trạng do exercise và không có gì đáng nói.

* Một số Background mình cần bổ sung:

– Background về xác suất thống kê: Cố gắng nắm được bàn chất của các mô hình xác suất để cách vận dụng vào để giải quyết vấn đề

– Background về Machine Learning: Tìm hiểu thêm về mô hình Sequence Labeling và các phương pháp giải quyết. Cái này mình tìm hiểu chưa được nhiều lắm

– Tìm hiểu xem vấn đề nào vẫn còn open, có nhiều “cửa” để làm trong NLP.

Ganbare!

Advertisements

3 Responses

  1. Bài viết của bạn hay quá, mình đang tìm hiểu về phân tích cú pháp tiếng Việt, rất mong được chia sẻ và giúp đỡ, nếu có thể bạn chia sẻ cho mình tài liệu về lv này được không?

  2. SOrry, my YM =tranban050179
    mail=tranban050179@yahoo.com

  3. Bạn vào đây để lấy các tài nguyên liên quan đến xử lý ngôn ngữ tiếng Việt nhé:

    http://vlsp.vietlp.org:8080/demo/?page=home

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: