Qua phần 1 ta đã biết xử lý ngôn ngữ tự nhiên có thể hiểu đơn giản là ngôn ngữ của con người. Máy tính được lập trình để xử lý tốt đối với dữ liệu có cấu trúc như các bảng số hay database. Nhưng ngôn ngữ của con người lại được thể hiện trên từ ngữ. Để máy tính có thể hiểu và xử lý được ngôn ngữ con người, chúng ta cần có quy trình được gọi là Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP).
Tiếp theo, tại phần 2, chúng tôi đã giới thiệu những khái niệm cơ bản và các bước trong NLP. Quy trình 8 bước tại phần 2 là quy trình đầy đủ đổi với tiếng Anh, chúng ta hoàn toàn có thể tùy biến để phù hợp với ngôn ngữ mà chúng ta đang xử lý.
Trong bài viết này hãy cùng tìm hiểu cách cài đặt NLP sử dụng Python. Trên Python, ta sẽ sử dụng thư viện spaCy để hỗ trợ:
# Install spaCy pip3 install -U spacy # Download the large English model for spaCy python3 -m spacy download en_core_web_lg # Install textacy which will also be useful pip3 install -U textacy
Các bước xử lý ngôn ngữ tự nhiên như sau:
import spacy # Load the large English NLP model nlp = spacy.load('en_core_web_lg') # The text we want to examine text = """London is the capital and most populous city of England and the United Kingdom. Standing on the River Thames in the south east of the island of Great Britain, London has been a major settlement for two millennia. It was founded by the Romans, who named it Londinium. """ # Parse the text with spaCy. This runs the entire pipeline. doc = nlp(text) # 'doc' now contains a parsed version of text. We can use it to do anything we want! # For example, this will print out all the named entities that were detected: for entity in doc.ents: print(f"{entity.text} ({entity.label_})")
Kết quả bạn sẽ nhận được một list NER như sau:
London (GPE) England (GPE) the United Kingdom (GPE) he River Thames (FAC) Great Britain (GPE) London (GPE) two millennia (DATE) Romans (NORP) Londinium (PERSON)
Bạn có thể xem ý nghĩa của mã thực thể tại đây.
Lưu ý rằng, mô hình đã dự đoán sai thực thể “Londinium” , đây là tên địa danh chứ không phải tên người. NER yêu cầu có một chút tinh chỉnh trong mô hình xây dựng tùy thuộc vào dữ liệu đầu vào của bạn.
Thư viện spaCy là một thư viện hỗ trợ bạn rất nhiều trong vấn đề xử lý ngôn ngữ tự nhiên.
Hãy bắt đầu từ đó. Và tôi hi vọng sẽ giúp ích cho bạn.
Bài viết đến đây là hết. Hãy vào https://trituenhantao.io/ để có nhiều bài viết thú vị hơn nhé.