Tất cả câu hỏi
Ngân hàng câu hỏi trắc nghiệm có giải thích chi tiết.
5.380/20.347 câuCòn 14.967
5361Word2Vec is used for:4 lựa chọn
AText Classification
BSpeech Recognition
CWord Embedding
DParsing
Lời giải
Mở trang câu hỏi này →Đá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ừ.
ANeural Network
BDecision Tree
CK-means Clustering
DAssociation Rule Mining/Market Basket Analysis
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Association Rule Mining/Market Basket Analysis". Câu hỏi đếm xem chocolate cup cake được mua bao nhiêu lần khi brownie và strawberry muffin cùng nằm trong giỏ, tức luật kết hợp dạng {brownie, strawberry muffin} suy ra {chocolate cup cake}; đây là bài toán khai phá dữ liệu giao dịch, nằm ngoài NLP, giải bằng khai phá luật kết hợp hay phân tích giỏ hàng với các thuật toán như Apriori, FP-Growth, đếm support (tỷ lệ giao dịch chứa cả ba món) và confidence (tỷ lệ giao dịch có hai món đầu mà cũng có món thứ ba). "Neural Network" và "Decision Tree" là mô hình học có giám sát, cần một nhãn đích để dự đoán, không sinh ra luật đồng xuất hiện giữa các món hàng. "K-means Clustering" gom khách hàng hoặc giao dịch thành cụm theo khoảng cách, cho biết nhóm nào giống nhau chứ không đếm được tần suất một món đi kèm một tổ hợp món khác.
5363Which of the following best describes the purpose of word embeddings in Natural Language Processing?4 lựa chọn
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
Mở trang câu hỏi này →Đá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ả.
AMeasure the shortest path between two words on WordNet
BCount the number of shared parent nodes
CMeasure the difference between their depths in WordNet
DMeasure the difference between the size of child nodes they have
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Measure the shortest path between two words on WordNet". WordNet là mạng từ vựng trong đó các synset (tập đồng nghĩa) nối với nhau bằng quan hệ hypernym/hyponym thành một phân cấp; độ liên quan ngữ nghĩa dựa trên đường đi đo khoảng cách ngắn nhất giữa hai synset trên phân cấp này, đường càng ngắn thì hai từ càng gần nghĩa, ví dụ path similarity trong NLTK bằng 1/(độ dài đường + 1), và Leacock-Chodorow cũng dựa trên độ dài đường ngắn nhất. "Count the number of shared parent nodes" không phải độ đo chuẩn: hầu như mọi danh từ đều chung các tổ tiên ở gần gốc như entity, nên chỉ đếm số cha chung không phân biệt được cặp gần và cặp xa. "Measure the difference between their depths in WordNet" sai vì hai từ ở cùng độ sâu nhưng thuộc hai nhánh xa nhau sẽ bị coi là giống hệt. "Measure the difference between the size of child nodes they have" chỉ cho biết từ nào khái quát hơn (nhiều hyponym hơn), không nói gì về việc hai từ có liên quan nhau hay không.
AZero
BInfinity
CAny Non-Zero Value
DInefficient
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Infinity". Perplexity (độ hỗn loạn) của mô hình ngôn ngữ trên tập kiểm thử W gồm N từ được tính bằng PP(W) = P(w1…wN) mũ (−1/N), tức nghịch đảo xác suất chuẩn hoá theo độ dài. Mô hình không làm trơn (unsmoothed) ước lượng xác suất bằng tần suất tối đa (maximum likelihood), nên một từ chưa từng gặp trong tập huấn luyện nhận xác suất 0; tích xác suất của cả câu khi đó bằng 0 và PP = 1 chia cho 0 tiến tới vô cực. Đây chính là lý do phải dùng làm trơn Laplace, Kneser-Ney hay token UNK. "Zero" sai vì perplexity luôn lớn hơn hoặc bằng 1, càng nhỏ mô hình càng tốt, và chỉ có thể giảm chứ không thể về 0. "Any Non-Zero Value" quá mơ hồ và hàm ý một số hữu hạn, trong khi ở đây giá trị không xác định hữu hạn. "Inefficient" là một tính từ đánh giá, không phải giá trị số mà công thức perplexity trả về.
AInflectional
BDerivational
CCliticization
DAll of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Derivational". Hình thái học phái sinh (derivational morphology) ghép phụ tố vào gốc để tạo một từ mới, thường đổi cả từ loại và nghĩa: từ động từ compute, thêm -er được danh từ computer, thêm -ation và -al được tính từ computational; computer là danh từ còn computational là tính từ, nên cặp này minh hoạ đúng quá trình phái sinh. "Inflectional" là biến tố, chỉ thêm dấu ngữ pháp như số nhiều, thì, ngôi (computer thành computers, compute thành computed) mà không đổi từ loại hay tạo từ mới. "Cliticization" là việc gắn một từ rút gọn dính vào từ khác như I'm, we've, can't, ở đây không có thành phần nào như vậy. "All of the others" sai vì biến tố và gắn từ dính đều không mô tả được quan hệ giữa computer và computational.
AInflectional, derivational
BDerivational, inflectional
CDirect, Indirect
DNone of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Derivational, inflectional". Hình thái học (morphology) chia phụ tố thành hai loại: phụ tố biến tố (inflectional) chỉ đánh dấu đặc điểm ngữ pháp như số, thì, cấp so sánh mà không đổi từ loại hay nghĩa gốc, còn phụ tố phái sinh (derivational) tạo ra từ mới, thường đổi nghĩa hoặc đổi từ loại. Tiếng Anh chỉ có khoảng tám hậu tố biến tố (-s số nhiều, -'s sở hữu, -s ngôi thứ ba, -ed, -ing, -en, -er và -est), trong khi phụ tố phái sinh rất nhiều như un-, re-, pre-, -ness, -ment, -able, -ize, -ful, -tion. Vì thế hình thái phái sinh dùng nhiều phụ tố hơn hẳn hình thái biến tố. "Inflectional, derivational" đảo ngược đúng quan hệ trên nên sai. "Direct, Indirect" không phải cặp phân loại trong hình thái học; trực tiếp và gián tiếp là khái niệm của lời dẫn hay tân ngữ trong ngữ pháp, không dùng để phân loại phụ tố. "None of the others" sai vì đã có một phương án mô tả đúng quan hệ giữa hai loại hình thái.
APOS tagging
BNamed Entity Recognition
CSpeech recognition
DAll of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All of the others". Sequential labeling (gán nhãn chuỗi) là bài toán nhận vào một chuỗi đơn vị và gán cho mỗi đơn vị một nhãn, trong đó nhãn của phần tử này phụ thuộc vào ngữ cảnh và nhãn lân cận; các mô hình điển hình là HMM, CRF và RNN/LSTM. "POS tagging" gán cho từng token một nhãn từ loại như NN, VB, JJ, là ví dụ kinh điển của gán nhãn chuỗi. "Named Entity Recognition" gán cho từng token nhãn dạng BIO như B-PER, I-PER, O để khoanh vùng thực thể, cũng là gán nhãn chuỗi. "Speech recognition" theo cách tiếp cận cổ điển dùng HMM để gán cho chuỗi khung âm thanh một chuỗi trạng thái âm vị rồi giải mã bằng Viterbi, nên cũng thuộc cùng họ kỹ thuật. Mỗi tác vụ này đứng riêng đều đúng nhưng chỉ là một phần, nên phương án bao gồm cả ba mới là câu trả lời đầy đủ.
ADiscourse
BSemantic Analysis
CLexical Analysis
DPragmatic Analysis
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Discourse". Discourse integration (tích hợp diễn ngôn) là mức phân tích xét nghĩa của một câu trong mạch các câu đứng trước nó và cũng ảnh hưởng tới cách hiểu câu đứng sau, ví dụ đại từ "it" ở câu thứ hai chỉ hiểu được nhờ danh từ đã nêu ở câu thứ nhất; đó đúng là "sense of the context" theo chuỗi câu mà đề mô tả. "Semantic Analysis" (phân tích ngữ nghĩa) gán nghĩa đen cho từng câu, kiểm tra câu có nghĩa hay không, nhưng xét câu tương đối độc lập với các câu lân cận. "Lexical Analysis" (phân tích từ vựng) ở mức thấp nhất, tách văn bản thành đoạn, câu, từ và nhận diện hình vị, chưa đụng tới ngữ cảnh liên câu. "Pragmatic Analysis" (phân tích ngữ dụng) cũng dùng ngữ cảnh, nhưng là ngữ cảnh tình huống và ý định người nói, tri thức thế giới thực để diễn giải lại câu, chứ không phải sự phụ thuộc nghĩa giữa câu trước và câu sau trong cùng văn bản.
5370Modern NLP algorithms are based on machine learning, especially statistical machine learning.2 lựa chọn
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Từ cuối thập niên 1980, NLP chuyển từ các hệ luật viết tay sang học từ dữ liệu: mô hình n-gram, HMM, Naive Bayes, CRF học tham số xác suất từ kho ngữ liệu (corpus), và các mạng nơ-ron ngày nay như LSTM, Transformer vẫn là học máy thống kê vì chúng tối ưu một hàm mất mát trên dữ liệu mẫu và đưa ra dự đoán dưới dạng phân phối xác suất. Cách tiếp cận này chịu được nhập nhằng và biến thể của ngôn ngữ thật tốt hơn luật cứng, nên phát biểu mô tả đúng nền tảng của NLP hiện đại. Phương án "False" sai vì nó ngầm cho rằng NLP hiện đại vẫn chủ yếu dựa trên luật hoặc tri thức viết tay; luật vẫn còn được dùng cho vài bước như tách câu hay chuẩn hoá chuỗi, nhưng không còn là nền tảng của các thuật toán chính.
5371Which of the following are valid ways to represent words in natural language processing tasks?4 lựa chọn
AIntegers (e.g., assigning each word a unique number)
BOne-hot vectors (e.g., binary vectors with a single 1)
CWord embeddings (e.g., dense vectors capturing semantic meaning)
DEncoding each word based on the number of syllables it contains
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm ba ý: "Integers (e.g., assigning each word a unique number)", "One-hot vectors (e.g., binary vectors with a single 1)" và "Word embeddings (e.g., dense vectors capturing semantic meaning)". Mô hình học máy không xử lý trực tiếp chuỗi ký tự nên mỗi từ phải được ánh xạ sang dạng số. Cách đơn giản nhất là gán cho mỗi từ trong từ vựng một chỉ số nguyên (index), vốn chính là đầu vào của lớp embedding trong mạng nơ-ron. One-hot vector là vector nhị phân dài bằng kích thước từ vựng, chỉ một vị trí bằng 1; nó không mang thông tin ngữ nghĩa nhưng là biểu diễn hợp lệ và là nền của bag-of-words. Word embedding là vector đặc (dense) ít chiều học từ ngữ cảnh, khiến các từ gần nghĩa nằm gần nhau, như Word2Vec hay GloVe. "Encoding each word based on the number of syllables it contains" không phải cách biểu diễn hợp lệ vì số âm tiết là một đặc trưng ngữ âm rất thô: vô số từ khác nghĩa có cùng số âm tiết (cat, dog, run đều một âm tiết), nên ánh xạ này không phân biệt được các từ với nhau và không giữ được nghĩa, đánh mất tính một-một mà mọi phép biểu diễn từ cần có.
5372One of the major challenges that causes almost all stages of Natural Language Processing a hard one is about handling,4 lựa chọn
AAmbiguity of sentences
BTokenization
CPOS tagging
DAll of the mentioned
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Ambiguity of sentences". Ambiguity (tính nhập nhằng) nghĩa là một chuỗi ngôn ngữ có thể hiểu theo nhiều cách, và nó xuất hiện ở mọi tầng: một từ có nhiều nghĩa (nhập nhằng từ vựng), một câu có nhiều cây cú pháp như "I saw the man with the telescope" (nhập nhằng cấu trúc), một đại từ có thể chỉ nhiều đối tượng (nhập nhằng đồng sở chỉ). Vì thế gần như mọi bước xử lý đều phải chọn một cách hiểu giữa nhiều khả năng, đó là thách thức gốc của NLP. "Tokenization" (tách từ) là một bước tiền xử lý cụ thể, bản thân nó khó chính vì nhập nhằng ranh giới từ, nên nó là nơi thách thức biểu hiện chứ không phải thách thức xuyên suốt. "POS tagging" (gán nhãn từ loại) cũng là một tác vụ, khó vì một từ như "book" có thể là danh từ hoặc động từ, tức lại quy về nhập nhằng. "All of the mentioned" sai vì hai bước xử lý trên không phải là thách thức chung làm mọi tầng trở nên khó.
5373What is Natural Language Processing good for?4 lựa chọn
ASummarize blocks of text
BAutomatically generate keyword tags
CIdentify the type of entity extracted
DAll of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All of the others". Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là lĩnh vực giúp máy đọc, hiểu và sinh ngôn ngữ người, nên nó phục vụ cùng lúc nhiều bài toán ứng dụng khác nhau, và cả ba ứng dụng được nêu đều là việc NLP làm hằng ngày. "Summarize blocks of text" là tóm tắt văn bản tự động (automatic summarization), rút ý chính của một đoạn dài thành bản ngắn. "Automatically generate keyword tags" là trích xuất từ khoá (keyword extraction), dùng thống kê như TF-IDF hay mô hình học máy để gắn nhãn chủ đề cho tài liệu. "Identify the type of entity extracted" là nhận dạng thực thể có tên (Named Entity Recognition – NER), xác định một cụm từ là tên người, tổ chức, địa điểm hay ngày tháng. Vì mỗi phát biểu riêng lẻ đều đúng, chọn một trong ba là bỏ sót hai ứng dụng hợp lệ kia, nên chỉ phương án gộp tất cả mới trả lời trọn câu hỏi.
5374The most widely used stemmer algorithm is __________.4 lựa chọn
AViterbi Algorithm
BPorter Algorithm
CDecision Algorithm
DStemmer Algorithm
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Porter Algorithm". Stemming (cắt gốc từ) là kỹ thuật tiền xử lý cắt bỏ hậu tố để đưa các biến thể như connected, connecting, connection về cùng một gốc connect; thuật toán Porter do Martin Porter công bố năm 1980 áp dụng tuần tự các bộ luật viết lại hậu tố có điều kiện, đơn giản, nhanh và có sẵn trong NLTK dưới tên PorterStemmer, nên trở thành stemmer được dùng rộng rãi nhất cho tiếng Anh. "Viterbi Algorithm" là thuật toán quy hoạch động tìm chuỗi trạng thái ẩn khả dĩ nhất trong HMM, dùng cho gán nhãn từ loại hay nhận dạng tiếng nói, không cắt hậu tố. "Decision Algorithm" không phải tên một thuật toán stemming nào; nó chỉ gợi tới cây quyết định, một mô hình phân lớp. "Stemmer Algorithm" chỉ lặp lại tên loại bài toán, không chỉ ra thuật toán cụ thể nào nên không trả lời được câu hỏi thuật toán nào phổ biến nhất.
AEvaluation problem
BLikelihood estimation problem
CDecoding problem
DLearning problem
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Decoding problem". HMM (Hidden Markov Model, mô hình Markov ẩn) có ba bài toán cơ bản theo cách trình bày kinh điển của Rabiner: tính xác suất chuỗi quan sát, tìm chuỗi trạng thái ẩn tốt nhất, và học tham số. Bài toán giải mã (decoding) chính là tìm chuỗi trạng thái có xác suất cao nhất đã sinh ra chuỗi quan sát, giải hiệu quả bằng thuật toán Viterbi dùng quy hoạch động với độ phức tạp O(N²T) thay vì duyệt cả N^T chuỗi khả dĩ. "Evaluation problem" là bài toán tính P(O|λ), xác suất mô hình sinh ra chuỗi quan sát, giải bằng thuật toán forward, chỉ trả về một con số chứ không trả về chuỗi trạng thái. "Likelihood estimation problem" là tên gọi khác của chính bài toán đánh giá đó (tính likelihood, độ hợp lý của quan sát), nên cũng không cho ra chuỗi trạng thái. "Learning problem" là ước lượng ma trận chuyển trạng thái và ma trận phát xạ từ dữ liệu, thường bằng thuật toán Baum-Welch (forward-backward), tức điều chỉnh mô hình chứ không giải mã một chuỗi quan sát cụ thể.
5376Which file extension is used for Blazor components?4 lựa chọn
A.cshtml
B.razor
C.aspx
D.html
Lời giải
Mở trang câu hỏi này →Đáp án đúng: ".razor". Component Blazor được viết trong tệp .razor, trộn markup HTML với C# theo cú pháp Razor, phần logic đặt trong khối @code, và mỗi tệp được biên dịch thành một lớp C# cùng tên kế thừa ComponentBase để dùng như thẻ trong component khác. ".cshtml" sai vì đó là đuôi của Razor view trong MVC và Razor Page, render ở máy chủ theo từng request chứ không phải component. ".aspx" sai vì đó là trang Web Forms của ASP.NET cổ điển trên .NET Framework, không có trong ASP.NET Core. ".html" sai vì HTML tĩnh không chứa C#, trong Blazor WebAssembly tệp index.html chỉ là trang vỏ để nạp ứng dụng.
5377What is the purpose of configuring CORS (Cross-Origin Resource Sharing) when using SignalR?4 lựa chọn
ATo manage database connections.
BTo allow clients from different origins to connect to the SignalR hub.
CTo encrypt data.
DTo manage user sessions.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To allow clients from different origins to connect to the SignalR hub.". Trình duyệt áp chính sách cùng nguồn (same-origin policy): trang chạy ở origin khác, tức khác scheme, tên miền hoặc cổng, gọi tới hub sẽ bị chặn trừ khi máy chủ trả header CORS cho phép. Vì vậy cần AddCors với policy liệt kê WithOrigins, AllowAnyHeader, AllowCredentials (client SignalR gửi kèm credentials) rồi UseCors trước khi ánh xạ hub. "To manage database connections." sai vì CORS chỉ là luật về header HTTP giữa trình duyệt và máy chủ, không liên quan tới cơ sở dữ liệu. "To encrypt data." sai vì mã hoá do HTTPS/TLS đảm nhận, CORS không mã hoá gì. "To manage user sessions." sai vì phiên do xác thực và cookie quản lý, CORS chỉ quyết định origin nào được phép gọi tới.
A
call()B
invoke()C
execute()D
run()Lời giải
Mở trang câu hỏi này →Đáp án đúng: "invoke()". Thư viện client JavaScript của SignalR cung cấp connection.invoke nhận tên phương thức hub và các đối số, trả về Promise được hoàn tất bằng giá trị mà phương thức hub trả về, bên cạnh đó send() chỉ gửi mà không chờ kết quả, client .NET dùng InvokeAsync tương ứng. "call()" sai vì đó là Function.prototype.call của JavaScript, chỉ gọi một hàm cục bộ với giá trị this tuỳ chọn chứ không gửi gì qua kết nối. "execute()" sai vì HubConnection không có phương thức nào tên như vậy, gọi vào sẽ báo lỗi is not a function. "run()" sai vì cũng không tồn tại trên HubConnection, còn chiều ngược lại khi máy chủ gọi xuống thì client đăng ký hàm nhận bằng connection.on.
5379With AddTransient<IEmailService, EmailService>(), injecting into a controller twice will produce:4 lựa chọn
AThe same instance
BDifferent instances
CNull references
DRuntime error
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Different instances". Vòng đời Transient tạo thể hiện mới ở mỗi lần container giải quyết dịch vụ, nên nếu hàm khởi tạo của controller có hai tham số cùng kiểu IEmailService thì hai tham số nhận hai đối tượng EmailService khác nhau, so sánh tham chiếu sẽ ra false. "The same instance" sai vì chỉ Singleton, hoặc Scoped trong cùng một request, mới trả về cùng một đối tượng. "Null references" sai vì IEmailService đã được đăng ký nên container luôn tạo được, null chỉ xuất hiện khi gọi GetService với kiểu chưa đăng ký. "Runtime error" sai vì tiêm hai lần một dịch vụ Transient là hoàn toàn hợp lệ, lỗi lúc chạy chỉ xảy ra khi EmailService cần phụ thuộc chưa được đăng ký.
5380What is the primary purpose of TempData in ASP.NET Core?4 lựa chọn
ATo store data for the duration of a single HTTP request.
BTo store data persistently across multiple requests.
CTo store data for a short period between two consecutive HTTP requests.
DTo manage user sessions.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To store data for a short period between two consecutive HTTP requests.". TempData dùng để chuyển dữ liệu ngắn hạn từ request này sang request kế tiếp, điển hình là thông báo sau khi lưu form: action POST gán TempData rồi redirect, request GET sau đọc ra hiển thị và giá trị bị xoá sau khi đọc (trừ khi gọi Keep hoặc Peek). "To store data for the duration of a single HTTP request." sai vì dữ liệu chỉ sống trong một request là ViewData, ViewBag hay HttpContext.Items, chúng mất khi request kết thúc nên không qua được redirect. "To store data persistently across multiple requests." sai vì lưu bền qua nhiều request cần session, cookie hoặc cơ sở dữ liệu, TempData bị xoá ngay khi đã đọc. "To manage user sessions." sai vì phiên do middleware Session và ISession quản lý, TempData có thể chọn session làm nơi lưu nhưng không quản lý phiên.