Những điều cơ bản về Xử lý ngôn ngữ tự nhiên (NLP)

Xử lý ngôn ngữ tự nhiên với spaCy

Azadeh Mobasher

Principal Data Scientist

Xử lý ngôn ngữ tự nhiên (NLP)

 

  • Một phân ngành của Trí tuệ nhân tạo (AI)
  • Giúp máy tính hiểu ngôn ngữ tự nhiên
  • Hỗ trợ rút trích thông tin từ dữ liệu phi cấu trúc
  • Kết hợp thống kê, học máyhọc sâu

 

NLP, một phân ngành của AI

Xử lý ngôn ngữ tự nhiên với spaCy

Ứng dụng NLP

Phân tích cảm xúc  

  • Dùng máy tính để xác định sắc thái chủ quan của một đoạn văn bản

 

Ví dụ phân tích cảm xúc

Xử lý ngôn ngữ tự nhiên với spaCy

Ứng dụng NLP

Nhận dạng thực thể có tên (NER)  

  • Xác định và phân loại các thực thể được nhắc đến trong văn bản phi cấu trúc vào các nhóm định sẵn
  • Thực thể có tên là đối tượng trong thế giới thực như người hoặc địa điểm

 

Ví dụ NER

Xử lý ngôn ngữ tự nhiên với spaCy

Ứng dụng NLP

 

  • Tạo phản hồi giống con người cho đầu vào văn bản, ví dụ ChatGPT

 

Chatbots

Xử lý ngôn ngữ tự nhiên với spaCy

Giới thiệu về spaCy

spaCy là thư viện miễn phí, mã nguồn mở cho NLP trong Python với khả năng:

  • Thiết kế để xây dựng hệ thống trích xuất thông tin
  • Cung cấp mã sẵn sàng triển khai cho các bài toán NLP
  • Hỗ trợ 64+ ngôn ngữ
  • Ổn định, nhanh và có thư viện trực quan hóa

 

spaCy và NLP

Xử lý ngôn ngữ tự nhiên với spaCy

Cài đặt và import spaCy

 

  • Bước đầu, cài spaCy bằng trình quản lý gói pip
  • Có thể tải các mô hình đã huấn luyện của spaCy
  • Nhiều mô hình tiếng Anh có sẵn tại spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
Xử lý ngôn ngữ tự nhiên với spaCy

Đọc và xử lý văn bản với spaCy

  • Mô hình spaCy en_core_web_sm đã tải = đối tượng nlp
  • Đối tượng nlp chuyển văn bản thành đối tượng Doc (vùng chứa) để lưu văn bản đã xử lý

Xử lý văn bản với spaCy

Xử lý ngôn ngữ tự nhiên với spaCy

spaCy thực hành

  • Xử lý một chuỗi bằng spaCy
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Tách từ (Tokenization)
    • Token là đơn vị nhỏ nhất mang nghĩa trong văn bản.
    • Tokenization: Quá trình chia văn bản thành danh sách token có nghĩa
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
Xử lý ngôn ngữ tự nhiên với spaCy

Ayo berlatih!

Xử lý ngôn ngữ tự nhiên với spaCy

Preparing Video For Download...