Chủ đề của NLP301c - Xử lý ngôn ngữ tự nhiên

NLP301c - Phần 10: LSTM, nhận dạng thực thể và mạng Siamese

LSTM giảm nhẹ gradient tiêu biến bằng một trạng thái ô nhớ chạy dọc chuỗi, được điều khiển bởi cổng quên, cổng vào và cổng ra. Nhận dạng thực thể có tên gán cho từng token nhãn tên người, tổ chức hay địa điểm, một bài toán gán nhãn tuần tự mà LSTM hai chiều làm tốt vì nhìn được cả ngữ cảnh trước và sau. Mạng Siamese gồm hai nhánh dùng chung tham số, biến hai câu thành hai vector rồi so độ tương đồng cosine; hàm mất mát triplet kéo cặp cùng nghĩa lại gần và đẩy cặp khác nghĩa ra xa, phục vụ việc phát hiện câu hỏi trùng lặp. Khi câu đầu vào dài, việc nén mọi thông tin vào một trạng thái cuối trở thành nút thắt mà cơ chế attention ở Phần 11 tháo gỡ.

Xem danh sách câu hỏi6 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

6Câu hỏi hiện có

Câu hỏi của chủ đề

6/6 câuHết danh sách
1NER identifies:4 lựa chọn
AEntities
BRelations
CTokens
DTopics
Lời giải
Đáp án đúng: "Entities". Named Entity Recognition (nhận dạng thực thể có tên) tìm trong văn bản các cụm từ chỉ thực thể có tên và gán loại cho chúng như PERSON, ORGANIZATION, LOCATION, DATE; ví dụ trong câu Sundar Pichai leads Google in California, nó đánh dấu người, tổ chức và địa điểm, và thường được giải như bài toán gán nhãn chuỗi theo lược đồ BIO. "Relations" là đầu ra của trích xuất quan hệ (relation extraction), bước thường chạy sau NER để biết hai thực thể liên hệ thế nào, như ai lãnh đạo công ty nào. "Tokens" là kết quả của tách từ (tokenization), bước tiền xử lý đứng trước NER. "Topics" là chủ đề mà mô hình chủ đề như LDA rút ra từ cả tập tài liệu, không phải các cụm từ cụ thể trong câu.
Mở trang câu hỏi này →
AThe token is the end of an entity
BThe token is outside any named entity
CThe token is the only token in an entity
DThe token is overlapping with two entities
Lời giải
Đáp án đúng: "The token is outside any named entity". Lược đồ BIO gán mỗi token một trong ba loại nhãn: B (Begin) cho token mở đầu một thực thể, I (Inside) cho token nằm bên trong thực thể sau token đầu, và O (Outside) cho token không thuộc thực thể nào. Ví dụ Barack Obama visited Hanoi được gán B-PER I-PER O B-LOC, trong đó visited mang O. "The token is the end of an entity" mô tả nhãn E (End) hoặc L (Last) của các lược đồ mở rộng BIOES/BILOU, không có trong BIO. "The token is the only token in an entity" mô tả nhãn S (Single) hoặc U (Unit) của BIOES/BILOU; trong BIO thực thể một token chỉ mang B. "The token is overlapping with two entities" sai vì BIO gán đúng một nhãn cho mỗi token nên không biểu diễn được thực thể chồng lấn hay lồng nhau, và O lại chính là dấu hiệu token nằm ngoài mọi thực thể.
Mở trang câu hỏi này →
AViterbi Algorithm
BFeatured-based or neural sequence labelling techniques.
CHidden Markov Model
DMaximum Likelihood Estimation
Lời giải
Đáp án đúng: "Featured-based or neural sequence labelling techniques.". NER (named entity recognition, nhận dạng thực thể có tên) thường được mô hình hoá như bài toán gán nhãn chuỗi: mỗi token nhận một nhãn theo lược đồ BIO như B-PER, I-PER hay O. Bài toán được giải bằng kỹ thuật dựa trên đặc trưng như CRF (conditional random field) với đặc trưng chữ hoa, hậu tố, từ điển tên, hoặc bằng mạng nơ-ron như BiLSTM-CRF hay Transformer tinh chỉnh. "Viterbi Algorithm" chỉ là thuật toán giải mã tìm chuỗi nhãn tốt nhất bên trong HMM hay CRF, không tự nhận dạng thực thể. "Hidden Markov Model" là một mô hình gán nhãn chuỗi từng dùng cho NER thời kỳ đầu, nhưng chỉ là một trường hợp cụ thể và yếu hơn vì khó đưa đặc trưng phong phú vào; phương án đúng nêu cả họ kỹ thuật. "Maximum Likelihood Estimation" là phương pháp ước lượng tham số mô hình từ dữ liệu, không phải kỹ thuật nhận dạng hay phân loại thực thể.
Mở trang câu hỏi này →
AInput gate
BForget gate
CHidden gate
DOutput gate
Lời giải
Đáp án đúng: "Hidden gate". Câu hỏi phủ định, cần tìm thứ không phải cổng của LSTM. Một LSTM chuẩn có ba cổng, đều là lớp sigmoid cho giá trị từ 0 tới 1 để điều tiết luồng thông tin qua trạng thái ô nhớ (cell state); trạng thái ẩn (hidden state) là đầu ra của ô tại mỗi bước chứ không phải một cổng, nên "Hidden gate" không tồn tại. "Input gate" là cổng thật, quyết định bao nhiêu thông tin ứng viên mới được ghi vào ô nhớ. "Forget gate" cũng là cổng thật, quyết định phần nào của ô nhớ cũ bị xoá đi, nhờ nó LSTM giữ được phụ thuộc xa mà vẫn bỏ được thông tin đã hết giá trị. "Output gate" là cổng thứ ba, quyết định phần nào của ô nhớ sau khi qua tanh được đưa ra làm trạng thái ẩn. Vì ba cổng này đều có trong LSTM nên chúng không phải đáp án.
Mở trang câu hỏi này →
AClassify images into discrete categories
BEnsure the anchor is closer to the positive than to the negative by a margin
CReduce model overfitting through dropout
DIncrease the dimensionality of embeddings
Lời giải
Đáp án đúng: "Ensure the anchor is closer to the positive than to the negative by a margin". Mạng Siamese dùng chung một bộ mã hoá để biến mỗi đầu vào thành vectơ nhúng, và triplet loss huấn luyện trên bộ ba: anchor (mẫu gốc), positive (mẫu cùng loại) và negative (mẫu khác loại); hàm mất mát bằng max(0, d(anchor, positive) − d(anchor, negative) + α), chỉ bằng 0 khi khoảng cách từ anchor tới positive nhỏ hơn khoảng cách tới negative ít nhất một lề α. Nhờ đó không gian nhúng xếp các mẫu giống nhau lại gần nhau, dùng được cho nhận diện khuôn mặt hay tìm câu hỏi trùng nghĩa. "Classify images into discrete categories" là mục tiêu của hàm cross-entropy trên tầng softmax; triplet loss học độ tương đồng nên xử lý được cả lớp chưa thấy khi huấn luyện. "Reduce model overfitting through dropout" là việc của dropout, một kỹ thuật điều chuẩn độc lập với hàm mất mát. "Increase the dimensionality of embeddings" sai vì số chiều nhúng do kiến trúc quy định trước, triplet loss chỉ sắp xếp lại vị trí các vectơ trong không gian đó.
Mở trang câu hỏi này →
AOne-to-one RNN
BMany-to-one RNN
CSymmetric many-to-many RNN
DAsymmetric many-to-many RNN
Lời giải
Đáp án đúng gồm hai ý: "Symmetric many-to-many RNN" và "Asymmetric many-to-many RNN". NER (nhận diện thực thể có tên) nhận vào một chuỗi từ và trả ra nhãn thực thể, nên cần kiến trúc nhiều vào nhiều ra. Nếu dự đoán một nhãn cho mỗi token, độ dài đầu ra bằng độ dài đầu vào, như John lives in Paris thành B-PER O O B-LOC, thì dùng many-to-many đối xứng, ở mỗi bước thời gian RNN đọc một từ và xuất ngay một nhãn. Nếu sinh lại câu đã gắn nhãn, đầu ra có thể dài khác đầu vào vì chèn thêm thẻ, thì dùng many-to-many bất đối xứng dạng encoder-decoder (seq2seq): encoder đọc hết câu rồi decoder sinh chuỗi kết quả. "One-to-one RNN" nhận một đầu vào và cho một đầu ra, thực chất là mạng truyền thẳng thường, không xử lý được chuỗi từ. "Many-to-one RNN" đọc cả chuỗi nhưng chỉ xuất một nhãn cho toàn câu, hợp với phân loại cảm xúc, không gán nhãn được cho từng thực thể.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

3 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.