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

NLP301c - Phần 8: Word embedding với mạng nơ-ron

Word embedding biểu diễn mỗi từ bằng một vector dày đặc vài trăm chiều, trong đó những từ hay xuất hiện trong ngữ cảnh giống nhau nằm gần nhau. Mô hình CBOW đoán từ ở giữa từ các từ xung quanh, còn skip-gram làm theo chiều ngược lại; cả hai là mạng nơ-ron nông mà tham số của lớp ẩn chính là bảng embedding cần học. GloVe đạt kết quả tương tự bằng cách khai thác ma trận đồng xuất hiện của toàn kho văn bản. Chất lượng embedding được đánh giá trực tiếp qua phép loại suy kiểu vua trừ đàn ông cộng phụ nữ, hoặc gián tiếp qua kết quả ở một bài toán đích. Khác với one-hot hay TF-IDF ở Phần 5, embedding là vector dày đặc mang nghĩa, nhưng vẫn gán một vector cho mỗi từ bất kể ngữ cảnh, giới hạn mà các mô hình ở Phần 12 khắc phục.

Xem danh sách câu hỏi9 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

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

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

9/9 câuHết danh sách
ATo store words in a dictionary for fast lookup
BTo represent words as dense vectors that capture semantic and syntactic relationships.
CTo count the frequency of words in a text corpus.
DTo translate words from one language to another.
Lời giải
Đáp án đúng: "To represent words as dense vectors that capture semantic and syntactic relationships.". Word embedding (nhúng từ) ánh xạ mỗi từ thành một vector số thực ít chiều, thường vài trăm chiều, học từ ngữ cảnh xuất hiện theo giả thuyết phân bố: từ dùng trong những ngữ cảnh giống nhau thì có nghĩa gần nhau. Nhờ vậy khoảng cách và hướng giữa các vector phản ánh quan hệ ngữ nghĩa (king gần queen) lẫn quan hệ ngữ pháp (walk với walked giống quan hệ swim với swam). "To store words in a dictionary for fast lookup" mô tả một cấu trúc dữ liệu tra cứu như bảng băm, không tạo ra biểu diễn mang nghĩa. "To count the frequency of words in a text corpus." là việc của các mô hình đếm như bag-of-words, cho vector thưa và không nắm được quan hệ giữa các từ. "To translate words from one language to another." là bài toán dịch máy; embedding có thể làm đầu vào cho hệ dịch nhưng bản thân nó không dịch gì cả.
Mở trang câu hỏi này →
2Word2Vec is used for:4 lựa chọn
AText Classification
BSpeech Recognition
CWord Embedding
DParsing
Lời giải
Đáp án đúng: "Word Embedding". Word2Vec là họ mô hình mạng nơ-ron nông do nhóm của Mikolov tại Google công bố, học vectơ dày (dense vector) cho mỗi từ sao cho các từ xuất hiện trong ngữ cảnh giống nhau có vectơ gần nhau; nó có hai kiến trúc là CBOW (đoán từ đích từ ngữ cảnh) và Skip-gram (đoán ngữ cảnh từ từ đích). Kết quả của nó chính là biểu diễn từ dạng nhúng (word embedding). "Text Classification" (phân loại văn bản) là bài toán hạ nguồn có thể dùng vectơ Word2Vec làm đặc trưng đầu vào, nhưng Word2Vec bản thân không gán nhãn cho văn bản. "Speech Recognition" (nhận dạng tiếng nói) chuyển tín hiệu âm thanh thành chữ, dựa trên mô hình âm học, không phải mục đích của Word2Vec. "Parsing" (phân tích cú pháp) dựng cây cấu trúc ngữ pháp của câu bằng văn phạm hoặc bộ phân tích phụ thuộc, khác hẳn việc học vectơ nghĩa của từ.
Mở trang câu hỏi này →
AWord2Vec
BGloVe
CELMo
DTF-IDF
Lời giải
Đáp án đúng: "ELMo". Embedding ngữ cảnh (contextual) cho cùng một từ những vector khác nhau tùy câu chứa nó, nên bank trong river bank và trong bank account có hai biểu diễn khác nhau. ELMo (Embeddings from Language Models) lấy trạng thái ẩn của mô hình ngôn ngữ LSTM hai chiều chạy trên cả câu, nên vector của mỗi từ phụ thuộc toàn bộ ngữ cảnh. "Word2Vec" học một vector cố định cho mỗi từ; sau khi huấn luyện, mọi lần xuất hiện của từ đều dùng chung vector đó nên là embedding tĩnh. "GloVe" cũng tĩnh, học từ ma trận đồng xuất hiện trên toàn kho ngữ liệu, mỗi từ đúng một vector. "TF-IDF" thậm chí không phải embedding học được mà là trọng số thống kê theo tần suất từ trong văn bản và độ hiếm trong kho, cho vector thưa không phụ thuộc ngữ cảnh câu.
Mở trang câu hỏi này →
4Word2Vec is a:4 lựa chọn
AClassification model
BRule-based system
CWord embedding technique
DParsing technique
Lời giải
Đáp án đúng: "Word embedding technique". Word2Vec do Mikolov và cộng sự tại Google công bố năm 2013 học cho mỗi từ một vectơ đặc (dense vector) vài trăm chiều bằng một mạng nông với hai kiến trúc CBOW (đoán từ giữa từ các từ ngữ cảnh) và Skip-gram (đoán ngữ cảnh từ từ giữa); các từ xuất hiện trong ngữ cảnh giống nhau nhận vectơ gần nhau, nên nó là kỹ thuật nhúng từ (word embedding). "Classification model" sai vì Word2Vec không gán nhãn cho văn bản; vectơ của nó chỉ được dùng làm đặc trưng đầu vào cho một bộ phân lớp khác. "Rule-based system" sai vì không có luật viết tay nào, mọi vectơ đều học từ kho ngữ liệu. "Parsing technique" sai vì phân tích cú pháp dựng cây cấu trúc câu, còn Word2Vec không xét quan hệ ngữ pháp giữa các từ.
Mở trang câu hỏi này →
AThe architecture of word2vec consists of only two layers - continuous bag of words and skip-gram model
BContinuous bag of word (CBOW) is a Recurrent Neural Network model
CBoth CBOW and Skip-gram are shallow neural network models
DAll of the others
Lời giải
Đáp án đúng: "Both CBOW and Skip-gram are shallow neural network models". word2vec có hai kiến trúc: CBOW đoán từ trung tâm từ các từ ngữ cảnh, Skip-gram đoán từ ngữ cảnh từ từ trung tâm; cả hai là mạng nông chỉ gồm lớp vào, một lớp chiếu (projection) tuyến tính và lớp ra softmax, ma trận trọng số học được chính là vector từ. "The architecture of word2vec consists of only two layers - continuous bag of words and skip-gram model" sai vì CBOW và skip-gram là hai mô hình thay thế nhau, chọn một trong hai khi huấn luyện, chứ không phải hai lớp xếp chồng của một mạng. "Continuous bag of word (CBOW) is a Recurrent Neural Network model" sai vì CBOW không có kết nối hồi quy, nó lấy trung bình vector ngữ cảnh và bỏ qua thứ tự từ, đúng như chữ bag of words. "All of the others" sai vì hai phát biểu vừa bác là sai, chỉ một phát biểu đúng.
Mở trang câu hỏi này →
AConcatenating word embeddings
BSumming word frequencies
CTaking the dot product
DAveraging context word embeddings
Lời giải
Đáp án đúng: "Averaging context word embeddings". Trong CBOW, mỗi từ ngữ cảnh quanh từ đích được tra ra vector embedding từ ma trận đầu vào, rồi các vector này được lấy trung bình (hoặc cộng) thành một vector ẩn duy nhất; vector đó nhân với ma trận đầu ra và qua softmax để đoán từ trung tâm. Lấy trung bình làm thứ tự từ không còn ý nghĩa, đúng tinh thần bag of words. "Concatenating word embeddings" là cách của mô hình ngôn ngữ nơ-ron cửa sổ cố định, giữ vị trí từng từ và làm vector dài theo kích thước cửa sổ, không phải cách CBOW gộp ngữ cảnh. "Summing word frequencies" cộng tần suất xuất hiện, tức làm việc với số đếm kiểu bag of words truyền thống chứ không với vector embedding học được. "Taking the dot product" là phép tính điểm giữa vector ẩn và vector đầu ra của từng từ ứng viên ở lớp ra, nó cho một số vô hướng chứ không gộp nhiều từ ngữ cảnh thành một vector.
Mở trang câu hỏi này →
ATrue
BFalse
Lời giải
Đáp án đúng: "True". Word2Vec (Mikolov và cộng sự, 2013) là tên chung cho một họ mô hình học embedding gồm hai kiến trúc. CBOW (continuous bag of words) dự đoán từ trung tâm từ trung bình vector của các từ ngữ cảnh xung quanh, huấn luyện nhanh và tốt với từ phổ biến. Skip-gram làm ngược lại, dùng từ trung tâm để dự đoán từng từ ngữ cảnh, chậm hơn nhưng biểu diễn từ hiếm tốt hơn. Cả hai đi kèm các kỹ thuật tăng tốc như negative sampling hay hierarchical softmax. Vì vậy nói Word2Vec không phải một thuật toán duy nhất mà là tổ hợp hai kỹ thuật là đúng. "False" sai vì khi dùng Word2Vec người ta phải chọn một trong hai kiến trúc, chẳng hạn tham số sg trong thư viện gensim quyết định dùng CBOW hay Skip-gram.
Mở trang câu hỏi này →
AThe context words given a target word
BThe target word given surrounding context words
CThe most frequent word in a corpus
DWord embeddings for all possible n-grams
Lời giải
Đáp án đúng: "The target word given surrounding context words". CBOW (Continuous Bag-of-Words) là một trong hai kiến trúc của Word2Vec: nó lấy các từ ngữ cảnh trong một cửa sổ quanh vị trí cần đoán, cộng hoặc lấy trung bình vectơ của chúng (bỏ qua thứ tự, nên gọi là túi từ), rồi dự đoán từ đích ở giữa; trọng số học được chính là vectơ nhúng từ. "The context words given a target word" là cách làm ngược lại của Skip-gram, kiến trúc còn lại của Word2Vec, đoán các từ xung quanh từ một từ trung tâm. "The most frequent word in a corpus" chỉ là phép đếm tần suất, không cần mạng nơ-ron và không học được biểu diễn nghĩa. "Word embeddings for all possible n-grams" gần với ý tưởng của FastText, vốn biểu diễn từ bằng các n-gram ký tự, còn CBOW không sinh vectơ cho mọi n-gram có thể.
Mở trang câu hỏi này →
ATrue
BFalse
Lời giải
Đáp án đúng: "True". Word embedding biểu diễn mỗi từ bằng một vector số thực nhiều chiều, thường vài chục tới vài trăm chiều với Word2Vec hay GloVe. Mỗi chiều không được gán nghĩa cụ thể bằng tay, nhưng tổng thể các chiều mã hoá nhiều khía cạnh của từ cùng lúc: nghĩa, giống, số ít số nhiều, thì, quan hệ chủ đề. Phép toán vector king trừ man cộng woman cho kết quả gần queen cho thấy có một hướng trong không gian nắm thông tin giới tính, trong khi hướng khác nắm quan hệ thủ đô và quốc gia. Vì vậy nói embedding nắm nhiều chiều thông tin và được biểu diễn dưới dạng vector là đúng. "False" sai vì embedding chính là vector theo định nghĩa, và nó khác one-hot ở chỗ thông tin ngữ nghĩa được phân bố trên nhiều chiều thay vì chỉ đánh dấu một vị trí.
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.