Câu hỏi: NLP301c Xử lý ngôn ngữ tự nhiên – Bộ ôn tập thi lại số 1
60 câu trắc nghiệm kèm lời giải của môn NLP301c - Xử lý ngôn ngữ tự nhiên, xếp đúng thứ tự trong đề.
Danh sách câu hỏi
20/60 câuCòn 40
ASyntax Analysis
BSemantic Analysis
CLexical Analysis
DPragmatic Analysis
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Syntax Analysis". Syntax analysis (phân tích cú pháp, còn gọi parsing) kiểm tra cách sắp xếp từ trong câu theo quy tắc ngữ pháp và dựng cấu trúc cho thấy từ nào quan hệ với từ nào; thứ tự từ quan trọng vì The dog bit the man và The man bit the dog dùng cùng các từ nhưng nghĩa khác hẳn, còn chuỗi bit dog the man the thì bị bác vì sai cú pháp. "Semantic Analysis" (phân tích ngữ nghĩa) lấy nghĩa của từ và câu, kiểm tra câu có hợp nghĩa hay không, như colorless green ideas đúng ngữ pháp nhưng vô nghĩa. "Lexical Analysis" (phân tích từ vựng) làm việc ở mức từ đơn lẻ: tách văn bản thành từ, đoạn, câu và nhận biết cấu trúc của từ, chưa xét thứ tự giữa các từ. "Pragmatic Analysis" (phân tích ngữ dụng) xét cách ngữ cảnh giao tiếp và ý định người nói chi phối cách hiểu câu.
AFST
BFSA
CDAWG
DStemmer Algorithm
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "FSA". FSA (finite state automaton, ôtômat hữu hạn trạng thái) đọc một chuỗi và chỉ trả lời chấp nhận hay không, tức nhận diện một tập chuỗi. FST (finite state transducer, bộ chuyển đổi hữu hạn trạng thái) mở rộng FSA bằng cách gắn cặp ký hiệu vào và ra trên mỗi cung, nên nó ánh xạ giữa hai mức biểu diễn, như từ dạng bề mặt cats sang dạng từ vựng cat +N +PL. Nhờ đó FST được dùng trong hình thái học hai mức để biểu diễn từ điển (lexicon) cùng luật chính tả. "FST" không thể là đáp án vì một khái niệm không thể là phiên bản nâng cao của chính nó. "DAWG" (directed acyclic word graph) là cấu trúc nén để lưu tập từ và tra cứu nhanh, chỉ nhận diện từ chứ không chuyển đổi. "Stemmer Algorithm" như Porter cắt hậu tố bằng luật kinh nghiệm, không phải loại ôtômat mà FST được mở rộng ra.
3Which techniques are used4 lựa chọncó code
for keyword normalization (reducing words to their base form)? (1) Lemmatization;(2) Levenshtein; (3) Stemming; (4) Soundex
A1 and 3
B1 and 2
C2 and 4
D1, 2 and 3
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "1 and 3". Chuẩn hoá từ khoá là đưa các biến thể về một dạng gốc: lemmatization (từ nguyên hoá) dùng từ điển và từ loại để trả về dạng từ điển (better thành good, studies thành study), còn stemming (cắt gốc) cắt hậu tố theo luật như Porter (connected thành connect); cả hai đều làm các dạng khác nhau của một từ khớp nhau khi tìm kiếm hay đếm. Levenshtein là khoảng cách chỉnh sửa, đếm số thao tác chèn, xoá, thay ký tự để biến chuỗi này thành chuỗi kia, dùng sửa lỗi chính tả hay so khớp mờ, không trả về dạng gốc. Soundex mã hoá từ theo cách phát âm (Robert và Rupert cùng mã R163) để so khớp tên đọc giống nhau. Do đó "1 and 2" sai vì kèm Levenshtein, "2 and 4" sai vì cả hai đều là kỹ thuật so khớp chuỗi chứ không chuẩn hoá, và "1, 2 and 3" sai vì thêm Levenshtein vào.
A0
BInfinity
Cany non-zero value
DNone of the mentioned
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Infinity". Perplexity đo mức một mô hình ngôn ngữ bị bất ngờ trước tập kiểm thử, bằng nghịch đảo xác suất của chuỗi kiểm thử lấy căn bậc N, với N là số từ. Mô hình không làm trơn ước lượng P(từ | lịch sử) bằng tỉ lệ đếm trong dữ liệu huấn luyện, nên từ chưa thấy (unseen word) có đếm bằng 0 và xác suất bằng 0; chỉ một thừa số 0 cũng làm cả tích bằng 0, và nghịch đảo của 0 là vô cực, vì thế perplexity bằng vô cực. Đây là lý do mô hình thực tế luôn làm trơn hoặc dùng token UNK. "0" sai vì perplexity có cận dưới là 1, đạt được khi mô hình gán xác suất 1 cho mọi từ đúng, không bao giờ về 0. "any non-zero value" quá chung chung, không nêu được hệ quả cụ thể của xác suất 0. "None of the mentioned" sai vì vô cực đã có trong các lựa chọn và là kết quả chính xác.
ALemmatization
BLevenshtein distance
CMorphing
DStemming
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Lemmatization". Chuẩn hoá từ khoá là đưa các biến thể về một dạng gốc để so khớp, và cả lemmatization lẫn stemming đều làm việc này; điểm phân biệt nằm ở cụm meaningful base form. Lemmatization (đưa về dạng từ điển) dùng từ điển và thông tin từ loại để trả về lemma là một từ có nghĩa thật, như studies thành study, better thành good. "Stemming" (cắt gốc) cũng chuẩn hoá từ khoá và về nguyên tắc cũng là câu trả lời hợp lệ, nhưng nó cắt hậu tố bằng luật như thuật toán Porter nên thường cho ra gốc không phải từ có nghĩa, như studies thành studi, vì vậy khi câu hỏi nhấn vào dạng gốc có nghĩa và chỉ cho chọn một, lemmatization là phương án sát nhất. "Levenshtein distance" là khoảng cách sửa, đếm số thao tác chèn, xoá, thay để biến chuỗi này thành chuỗi kia, dùng cho sửa lỗi chính tả, không trả về dạng gốc. "Morphing" không phải kỹ thuật chuẩn hoá văn bản, đó là thuật ngữ biến hình trong đồ hoạ.
A[1, 7, 5]
B[1, 9, 7]
C[1, 2, 1, 1, 2, 1, 1, 1, 2, 0, 1, 2, 0, 1, 1]
D[1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 0, 1, 2, 0, 1, 1]
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "[1, 7, 5]". Phương pháp trích đặc trưng bằng tần suất biểu diễn một câu bằng vector ba chiều gồm bias 1, tổng tần suất dương và tổng tần suất âm, với tổng lấy trên các từ khác nhau có mặt trong câu. Câu i love cat i also like dog có các từ khác nhau i, love, cat, also, like, dog. Cột pos: 2 + 1 + 1 + 1 + 1 + 1 = 7. Cột neg: 2 + 0 + 1 + 0 + 1 + 1 = 5. Thêm bias được [1, 7, 5]. "[1, 9, 7]" là kết quả khi cộng từ i hai lần vì nó xuất hiện hai lần trong câu, mỗi cột thêm 2; cộng theo từng lần xuất hiện có trong một số bản cài đặt, nhưng định nghĩa đặc trưng tần suất cộng mỗi từ của từ vựng có mặt trong câu đúng một lần. "[1, 2, 1, 1, 2, 1, 1, 1, 2, 0, 1, 2, 0, 1, 1]" và "[1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 0, 1, 2, 0, 1, 1]" liệt kê tần suất từng từ thành vector dài, không phải dạng ba chiều mà phương pháp này tạo ra; mục đích của nó chính là nén cả câu về hai con số pos và neg.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Xử lý ngôn ngữ tự nhiên là nhánh của khoa học máy tính và trí tuệ nhân tạo nghiên cứu sự tương tác giữa máy tính và ngôn ngữ của con người, theo hai chiều: hiểu ngôn ngữ (NLU) như phân tích cú pháp, trích xuất thông tin, phân loại cảm xúc, và sinh ngôn ngữ (NLG) như dịch máy, tóm tắt, chatbot trả lời. Phát biểu nêu đúng định nghĩa chuẩn này, trong đó chữ natural phân biệt các ngôn ngữ như tiếng Anh, tiếng Việt với ngôn ngữ hình thức như ngôn ngữ lập trình. Phương án "False" sai vì phủ nhận chính phạm vi của lĩnh vực; mọi bài toán NLP, từ tách từ tới mô hình ngôn ngữ lớn, đều là cách để máy tính đọc, xử lý hoặc tạo ra ngôn ngữ tự nhiên của con người.
A1 and 2
BOnly 1
COnly 2
DOnly 3
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "1 and 2". Số chiều của ma trận tài liệu–thuật ngữ (document-term matrix) bằng số từ khác nhau trong từ vựng, mỗi cột một từ. (1) đúng: bỏ từ dừng (stopword removal) xoá hẳn các cột như "the", "is", nên làm đổi số chiều. (2) đúng: chuẩn hoá từ (word normalization) như stemming, lemmatization hay sửa biến thể chính tả gộp "play", "plays", "played" về một cột, nên làm giảm số chiều. (3) sai: chuyển chữ thường (lowercasing) gộp "Data", "DATA" và "data" thành một cột, tức cũng làm giảm số chiều chứ không phải không ảnh hưởng. Vậy chỉ (1) và (2) đúng. "Only 1" bỏ sót phát biểu (2) vốn cũng đúng. "Only 2" bỏ sót phát biểu (1) về từ dừng. "Only 3" chọn đúng phát biểu duy nhất sai, vì với tweet viết hoa thường lẫn lộn, lowercasing thường làm giảm số cột đáng kể.
AChatBot
BSpeech Recognition
CSentimental Analysis
DMarket Basket Analysis
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Market Basket Analysis". Market basket analysis (phân tích giỏ hàng) là bài toán khai phá luật kết hợp trong khai phá dữ liệu, nằm ngoài NLP: nó đọc dữ liệu giao dịch, mỗi giao dịch là một tập mặt hàng, rồi dùng thuật toán như Apriori hay FP-Growth tìm luật kiểu ai mua bánh mì thì hay mua bơ, đánh giá bằng support, confidence và lift; dữ liệu là tập mặt hàng chứ không phải ngôn ngữ. "ChatBot" là ứng dụng NLP điển hình vì phải hiểu câu hỏi bằng ngôn ngữ tự nhiên và sinh câu trả lời. "Speech Recognition" (nhận dạng tiếng nói) chuyển tín hiệu tiếng nói thành văn bản, dùng mô hình âm học kết hợp mô hình ngôn ngữ, là một nhánh của xử lý ngôn ngữ. "Sentimental Analysis" (phân tích cảm xúc) phân loại văn bản là tích cực, tiêu cực hay trung tính, là bài toán phân loại văn bản quen thuộc của NLP.
10Cosine similarity measures the4 lựa chọn
AEuclidean distance between two vectors
BAngle between two vectors
CMagnitude difference between two vectors
DDot product of two vectors without normalization
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Angle between two vectors". Độ tương đồng cosine bằng tích vô hướng của hai vector chia cho tích độ dài của chúng, cos θ = u·v / (‖u‖‖v‖), nên giá trị chỉ phụ thuộc góc θ giữa hai vector: cùng hướng cho 1, vuông góc cho 0. Trong NLP nó được dùng để so văn bản hay embedding vì hai văn bản cùng chủ đề nhưng dài ngắn khác nhau vẫn có vector cùng hướng. "Euclidean distance between two vectors" là một độ đo khoảng cách khác, nhạy với độ dài vector: văn bản dài gấp đôi cho khoảng cách lớn dù nội dung giống nhau. "Magnitude difference between two vectors" là hiệu độ lớn, đúng thứ mà cosine cố ý loại bỏ khi chia cho chuẩn. "Dot product of two vectors without normalization" chỉ là tử số của công thức; thiếu bước chia cho chuẩn thì kết quả bị chi phối bởi độ dài vector, chưa phải cosine.
ASyntactic ambiguity
BAnaphoric ambiguity
CSemantic ambiguity
DLexical ambiguity
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Anaphoric ambiguity". Nhập nhằng hồi chỉ (anaphoric ambiguity) xuất hiện khi một đại từ trỏ ngược về phía trước mà người đọc không xác định chắc nó thay cho ai: trong câu đã cho, đại từ they không có tiền ngữ số nhiều nào, vì the school là số ít và I là người nói, nên không rõ they là giáo viên, nhân viên hay ban giám hiệu. "Syntactic ambiguity" đòi hỏi câu có hai cấu trúc ngữ pháp khả dĩ, ở đây cách chia mệnh đề là rõ ràng. "Semantic ambiguity" là khi nghĩa tổng thể của câu có nhiều cách hiểu dù từng từ đã rõ, câu này không rơi vào tình huống đó. "Lexical ambiguity" cần một từ đa nghĩa gây hiểu khác nhau, mà school, told, next day ở đây chỉ có một nghĩa phù hợp với ngữ cảnh.
AUnsupervised approach
BSupervised approach
CKnowledge based approach
DSense disambiguation approach
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Sense disambiguation approach". Câu hỏi phủ định, cần tìm thứ không phải cách tiếp cận học cho hệ hỏi đáp (Question Answering). Khử nhập nhằng nghĩa từ (word sense disambiguation) là một bài toán con của NLP, xác định nghĩa đúng của từ đa nghĩa trong ngữ cảnh; nó có thể là một bước xử lý trong hệ QA nhưng không phải cách tiếp cận để hệ thống học trả lời. "Unsupervised approach" là cách tiếp cận đúng, học từ dữ liệu không nhãn như gom cụm câu hỏi hay khai thác đồng xuất hiện giữa câu hỏi và đoạn văn. "Supervised approach" cũng đúng, huấn luyện trên các cặp câu hỏi và câu trả lời có nhãn, ví dụ mô hình đọc hiểu trích xuất đoạn trả lời. "Knowledge based approach" cũng là hướng hợp lệ, trả lời bằng truy vấn cơ sở tri thức hay ontology có cấu trúc; ba hướng này được nêu như các cách xây dựng hệ QA, nên không phải đáp án.
AConcatenating word embeddings
BSumming word frequencies
CTaking the dot product
DAveraging context word embeddings
Lời giải
Mở trang câu hỏi này →Đá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.
14Association rule mining/Market Basket Analysis is an unsupervised machine learning technique.2 lựa chọn
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Khai phá luật kết hợp (association rule mining), còn gọi phân tích giỏ hàng (market basket analysis), là kỹ thuật khai phá dữ liệu, nằm ngoài NLP nhưng thuộc học máy nói chung. Nó tìm các quy tắc dạng mua bánh mì và bơ thì thường mua sữa từ dữ liệu giao dịch, đo bằng support (độ hỗ trợ, tỷ lệ giao dịch chứa tập mục), confidence (độ tin cậy) và lift, qua các thuật toán như Apriori hay FP-Growth. Dữ liệu đầu vào chỉ là các giao dịch, không có nhãn đầu ra nào để mô hình học theo, và mục tiêu là phát hiện cấu trúc ẩn trong dữ liệu, nên nó thuộc học không giám sát (unsupervised), cùng nhóm với phân cụm. "False" sai vì học có giám sát đòi hỏi cặp đầu vào và nhãn đúng để huấn luyện như trong phân loại hay hồi quy, điều mà khai phá luật kết hợp hoàn toàn không cần.
AKT * Log(3)
BT * Log(3) / K
CK * Log(3) / T
DLog(3) / KT
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "K * Log(3) / T". Tần suất thuật ngữ TF bằng số lần thuật ngữ xuất hiện chia cho tổng số thuật ngữ của tài liệu, nên TF(hello) = K / T. Tần suất tài liệu nghịch đảo IDF = log(N / số tài liệu chứa thuật ngữ); hello có mặt trong khoảng N/3 tài liệu nên IDF = log(N chia cho N/3) = log(3). Nhân lại được TF × IDF = (K / T) × log(3), đúng bằng K * Log(3) / T. "KT * Log(3)" sai vì nhân K với T thay vì chia, khiến tài liệu càng dài điểm càng cao, ngược với ý chuẩn hoá theo độ dài. "T * Log(3) / K" đảo ngược TF thành T / K, nên thuật ngữ càng xuất hiện nhiều lại càng nhận điểm thấp. "Log(3) / KT" chia cho cả K lẫn T, cũng làm số lần xuất hiện K kéo điểm xuống thay vì đẩy lên.
16Which tool is commonly used for NLP in Python?4 lựa chọn
A
TensorFlowB
NLTKC
OpenCVD
MatplotlibLời giải
Mở trang câu hỏi này →Đáp án đúng: "NLTK". NLTK (Natural Language Toolkit) là thư viện Python chuyên cho xử lý ngôn ngữ tự nhiên, cung cấp sẵn các công cụ tách token, rút gọn gốc từ (PorterStemmer), lemmatization qua WordNet, gán nhãn từ loại, phân tích cú pháp, cùng nhiều kho ngữ liệu để học và thử nghiệm, nên là công cụ NLP kinh điển trong Python. "TensorFlow" là khung học sâu đa năng của Google; có thể dùng nó để xây mô hình NLP, nhưng bản thân nó là thư viện tính toán tensor và huấn luyện mạng nơ-ron cho mọi lĩnh vực, không phải bộ công cụ chuyên NLP. "OpenCV" là thư viện thị giác máy tính, xử lý ảnh và video như phát hiện cạnh, nhận dạng khuôn mặt. "Matplotlib" là thư viện vẽ biểu đồ và trực quan hoá dữ liệu, chỉ dùng để minh hoạ kết quả chứ không xử lý văn bản.
A
NumPyB
spaCyC
PandasD
SeabornLời giải
Mở trang câu hỏi này →Đáp án đúng: "spaCy". spaCy là thư viện Python chuyên cho xử lý ngôn ngữ tự nhiên, cung cấp sẵn pipeline gồm tokenization, gán nhãn từ loại, lemmatization, phân tích phụ thuộc, nhận diện thực thể có tên và vector từ, với mô hình huấn luyện sẵn cho nhiều ngôn ngữ; cùng với NLTK, nó là thư viện NLP hay gặp nhất. "NumPy" là thư viện tính toán số học với mảng nhiều chiều và đại số tuyến tính, là nền cho nhiều thư viện khác nhưng không có công cụ xử lý ngôn ngữ nào. "Pandas" là thư viện thao tác dữ liệu dạng bảng qua DataFrame, hữu ích để đọc và lọc tập dữ liệu văn bản nhưng không tách từ hay phân tích cú pháp. "Seaborn" là thư viện trực quan hoá dữ liệu thống kê xây trên Matplotlib, dùng để vẽ biểu đồ, không phải thư viện NLP.
ARooting
BDreaming
CSteaming
DLemmatization
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Lemmatization". Lemmatization (chuẩn hoá về dạng từ điển) đưa một từ về lemma, tức dạng gốc có trong từ điển, dựa trên từ loại và hình thái: better thành good, studies thành study, was thành be. Chữ also ngụ ý đây là kỹ thuật thứ hai cùng làm việc đưa từ về gốc bên cạnh stemming, và cụm root form hợp với lemma vì nó luôn là một từ thật. Có ý kiến chọn "Steaming" vì đây là cách in sai của Stemming, kỹ thuật cũng đưa từ về gốc; nhưng stemming chỉ cắt hậu tố theo luật nên gốc thu được không bảo đảm là từ thật (studies thành studi), còn chữ Steaming đúng như in nghĩa là hấp hơi, nên Lemmatization vẫn là lựa chọn được chốt. "Rooting" không phải tên một kỹ thuật tiền xử lý trong NLP, chỉ mượn chữ root để gây nhiễu. "Dreaming" là một từ thông thường không liên quan gì tới xử lý hình thái từ.
ACoreference resolution
BNamed entity recognition
CInformation extraction
DAll of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Coreference resolution". Giải quyết đồng tham chiếu (coreference resolution) gom mọi biểu thức tham chiếu, gồm tên riêng, cụm danh từ và đại từ, cùng trỏ về một thực thể ngoài đời thành một chuỗi; ví dụ trong đoạn Barack Obama was born in Hawaii, the former president said he loved it, ba cụm Barack Obama, the former president và he thuộc cùng một chuỗi đồng tham chiếu. "Named entity recognition" chỉ phát hiện và gán loại cho các cụm tên riêng như người, tổ chức, địa điểm, không nối đại từ hay cụm danh từ chung với thực thể mà chúng thay thế. "Information extraction" là lĩnh vực rộng rút dữ kiện có cấu trúc từ văn bản, có thể dùng đồng tham chiếu như một bước con nhưng không phải tên của đúng nhiệm vụ được mô tả. "All of the others" sai vì chỉ đồng tham chiếu mới khớp định nghĩa xác định các biểu thức cùng trỏ một thực thể.
20Identify odd one out4 lựa chọn
ANoun phrase
BVerb phrase
CPrepositional phrase
DSentences
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Sentences". Trong ngữ pháp thành phần (constituency grammar), cụm từ (phrase) là các đơn vị trung gian được xây quanh một từ trung tâm, rồi các cụm ghép lại thành câu theo luật như S → NP VP. "Noun phrase" (cụm danh từ, ví dụ "the old man") có trung tâm là danh từ, là một loại cụm. "Verb phrase" (cụm động từ, ví dụ "reads a book") có trung tâm là động từ, cũng là một loại cụm. "Prepositional phrase" (cụm giới từ, ví dụ "on the table") có trung tâm là giới từ, cũng thuộc nhóm cụm. Riêng "Sentences" là đơn vị ở mức cao hơn, là nút gốc S của cây cú pháp, được tạo thành từ các cụm chứ không phải một loại cụm, nên nó là phần tử khác loại.