Sách về Xử lý ngôn ngữ tự nhiên

Tác giả trang

Trang chủ

Vietnamese Natural Language Processing

  Xử lý ngôn ngữ là một kĩ thuật quan trọng nhằm giúp máy tính hiểu được ngôn ngữ của con người, qua đó hướng dẫn máy tính thực hiện và giúp đỡ con người trong những công việc có liên quan đến ngôn ngữ như : dịch thuật, phân tích dữ liệu văn bản, nhận dạng tiếng nói, tìm kiếm thông tin, ... 

  XLNN cũng đóng một vai trò quan trọng trong việc đẩy mạnh sự phát triển của CNTT Việt Nam để sánh ngang với các cường quốc khác. 

  Tuy nhiên, XLNN tiếng Việt [XLNNTV] cũng vấp phải vô vàn khó khăn, mà lớn nhất phải kể đến sự khó khăn về nhân sự. Những người nắm giữ những kiến thức về XLNNTV quả thực không nhiều, và cũng không có được 1 mạng lưới liên kết, trao đổi và hỗ trợ một cách hiệu quả. Ngoài ra, những khó khăn khác như không có dữ liệu đủ lớn, thiếu những nghiên cứu nền tảng, ... cũng hạn chế không ít sự phát triển của XLNNTV. 

  Trang web này được tạo ra để chia sẻ và tập hợp những thông tin về nghiên cứu XLNN nói chung, và XLNNTV nói riêng. Thông qua trang web này, chúng tôi muốn kêu gọi sự đoàn kết và giúp đỡ của những người quan tâm đến XLNNTV. 

  Đầu tiên, chúng tôi muốn tạo ra 1 mailing list để tăng cường sự hiểu biết và liên kết giữa mọi người. Tiếp đó, với sự cộng tác này, chúng tôi sẽ thực hiện những nghiên cứu cơ bản, viết sách cho người mới học, giới thiệu những nghiên cứu mới, tạo dữ liệu và chia sẻ với mọi người. 

  Nếu bạn có sự quan tâm đến XLNNTV, hãy tham gia vào mailing list của chúng tôi.

  Bạn có thể gửi mail về địa chỉ anh[a]jnlp.org. Chúng tôi xin trân trọng cảm ơn sự quan tâm của các bạn.  

Tác giả

Address: Nagaoka City, Niigata, 940-2188 JAPAN


Download :

  • Download dữ liệu tự vựng[corpus]
  • Bài toán tự động thêm dấu cho tiếng Việt. 
    Tài liệu : Automatic Diacritics Restoration for Vietnamese Text [IALP2012]. Độ chính xác đạt 94.7%. 


Bài viết mới : 

  1.    Bài toán tự động thêm dấu cho tiếng Việt. 


Để phân tích một câu nào đó theo mô hình này, chúng ta phải hiểu câu đó, ngôn ngữ đó đang sử dụng là gì [Anh, Pháp, Hoa, Việt,...]. Trong quá trình phân tích, chúng ta không quan tâm các từ được phân rã giữ chức năng, từ loại nào.
Giải:


Tương tự ta phân tích câu: "Nam đang học toán"


2] Giải thích câu: "Nam học bài" theo Phrase Structure Grammar _ CFG [Context-Free Grammar - Văn phạm phi ngữ cảnh].


Một số quy tắc ký hiệu [sẽ khác so với một số nguồn tài liệu]:
NNP: Danh từ riêng; NP: Danh ngữ; NN: Danh từ chung; PRP: Đại danh từ [nó,họ,...]; VP: Ngữ động từ; VB: Động từ; RB: Trạng từ; IN: Giới từ; PP: Giới ngữ; CC: Liên từ[và, với]; S: Câu

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”

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]”

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ì”

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”

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”

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ì?”

Chủ Đề