NLP – Stemming và Lemmatization

Danh sách những bài viết về NLP :

Trong quá trình xử lý tiếng nói tự nhiên, chúng ta sẽ với nhu cầu so sánh những từ (token) với nhau. Việc so sánh này tưởng nghe đâu đơn thuần là lấy 2 chuỗi ký tự và sử dụng phép “==” để rà soát, nhưng thực tế thì ko phải là tương tự. Đối với một số tiếng nói, tiêu biểu là tiếng Anh, mỗi từ với thể với nhiều biến thể khác nhau. Điều này làm cho việc so sánh giữa những từ là ko thể mặc dù về mặc ý nghĩa cơ bản là như nhau. Ví dụ những từ “walks“, “walking“, “walked” đều là những biến thể của từ “walk” và đều mang ý tức là “đi bộ”. Vậy làm sao để so sánh những từ như thế với nhau? Lemmatization và Stemming chính là 2 kỹ thuật thường được sử dụng cho việc này.

Stemming

Stemming là kỹ thuật sử dụng để biến đổi 1 từ về dạng gốc (được gọi là stem hoặc root form) bằng cách hết sức đơn thuần là loại bỏ 1 số ký tự nằm ở cuối từ mà nó nghĩ rằng là biến thể của từ. Ví dụ như chúng ta thấy những từ như walked, walking, walks chỉ khác nhau là ở những ký tự cuối cùng, bằng cách bỏ đi những hậu tố -ed, -ing hoặc -s, chúng ta sẽ được từ nguyên gốc là walk. Người ta gọi những bộ xử lý stemming là Stemmer.

Bởi vì nguyên tắc hoạt động của stemmer rất là đơn thuần tương tự cho nên tốc độ xử lý của nó rất là nhanh, và kết quả stem thỉnh thoảng ko được như chúng ta mong muốn. Chẳng hạn như từ goes sẽ được stem thành từ goe (bỏ chữ s cuối từ) trong lúc đó stem của từ go vẫn là go, kết quả là 2 từ “goes” và “go” sau lúc được stem thì vẫn ko giống nhau. Một nhược điểm khác là nếu những từ dạng bất quy tắt như went hay spoke thì stemmer sẽ ko thể đưa những từ này về dạng gốc là go hay speak.

Tuy với những điểm yếu kém như trên nhưng trong thực tiễn Stemming vẫn được sử dụng khá phổ cập trong NLP vì nó với véc tơ vận tốc tức thời khắc phục và xử lý nhanh và hiệu quả ở đầu cuối nhìn chung ko hề tệ lúc so với Lemmatization .

Lemmatization

Khác với Stemming là xử lý bằng cách loại bỏ những ký tự cuối từ một cách rất heuristic, Lemmatization sẽ xử lý thông minh hơn bằng một bộ tự điển hoặc một bộ ontology nào đó. Điều này sẽ đảm bảo rằng những từ như “goes“, “went” và “go” sẽ kiên cố với kết quả trả về là như nhau. Kể những từ danh từ như mouse, mice cũng đều được đưa về cùng một dạng như nhau. Người ta gọi bộ xử lý lemmatization là lemmatizer

Nhược điểm của lemmatization là véc tơ vận tốc tức thời khắc phục và xử lý khá chậm vì phải thực thi tra cứu từ trong cơ sở vật chất tài liệu. Trong những ứng dụng khắc phục và xử lý NLP mà cần độ đúng chuẩn cao hơn và thời hạn ko quan yếu, người ta hoàn toàn với thể sử dụng Lemmatization .

Trong tiếng Việt

Một tin vui là so với tiếng Việt thì tất cả chúng ta ko cần phải sử dụng 2 kỹ thuật này vì mỗi từ tiếng Việt nó ko với những biến thể khác nhau ( dựa trên hiểu biết của bản thân mình ). Vì thế nếu bạn đang làm một ứng dụng NLP cho tiếng Việt thì cũng đừng lo về việc này, chỉ lúc nào khắc phục và xử lý ngôn từ như tiếng Anh thì chắc như đinh tất cả chúng ta sẽ phải chăm sóc tới chúng .

Nếu muốn tìm hiểu thêm về Stemming và Lemmatization, những bạn với thể đọc bài viết này: http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization. Bộ NLTK của Python cũng đã với sẵn những thư viện thực hiện stemming và lemmatization cho tiếng Anh nên việc tích hợp vào những ứng dụng khá thuận tiện.

San sớt:

Thích bài này:

Thích

Đang tải …

Source: https://bloghong.com
Category: Là Gì