Ngân hàng câu hỏi của chương

Câu hỏi: DAT301M - Phần 3: Xử lý ngôn ngữ tự nhiên với TensorFlow

24 câu trắc nghiệm kèm lời giải của môn DAT301m - Phát triển UDTTNT với TensorFlow, xếp theo thứ tự nhập vào ngân hàng.

Danh sách câu hỏi

20/24 câuCòn 4
ATo normalize the output probabilities over multiple words
BTo apply non-linearity to the input sequences
CTo control the learning rate during training
DTo calculate the loss function
Lời giải
Đáp án đúng: "To normalize the output probabilities over multiple words". Trong mô hình dự đoán từ tiếp theo, lớp Dense cuối có số nơ-ron bằng kích thước từ vựng và dùng activation softmax: hàm này lấy mũ từng logit rồi chia cho tổng, biến vector điểm thành phân phối xác suất (mọi giá trị dương, tổng bằng 1) trên toàn bộ các từ, từ đó chọn từ có xác suất cao nhất hoặc lấy mẫu. "To apply non-linearity to the input sequences" sai vì tính phi tuyến ở các lớp ẩn do ReLU, tanh hay các cổng của LSTM đảm nhận, còn softmax đặt ở đầu ra chứ không tác động lên chuỗi đầu vào. "To control the learning rate during training" sai vì learning rate (tốc độ học) là siêu tham số của optimizer như Adam, không liên quan tới hàm kích hoạt. "To calculate the loss function" sai vì hàm mất mát như categorical_crossentropy được tính riêng, nó chỉ nhận xác suất do softmax tạo ra làm đầu vào chứ softmax không phải là hàm mất mát.
Mở trang câu hỏi này →
AExpanding words to their full forms
BReducing words to their root or base form
CAnalyzing sentence structure
DIdentifying entities in text
Lời giải
Đáp án đúng: "Reducing words to their root or base form". Stemming (rút gọn về gốc từ) là bước tiền xử lý văn bản cắt bỏ hậu tố để đưa các biến thể về cùng một dạng gốc, ví dụ "running", "runs" đều thành "run"; nhờ vậy từ vựng nhỏ lại và các từ cùng nghĩa được đếm chung, có ích cho mô hình túi từ hay tìm kiếm. "Expanding words to their full forms" sai vì đó là mở rộng từ viết tắt hoặc dạng rút gọn (như "don't" thành "do not"), ngược hướng với việc cắt từ về gốc. "Analyzing sentence structure" sai vì phân tích cấu trúc câu là parsing (phân tích cú pháp), làm việc ở mức quan hệ giữa các từ chứ không biến đổi hình thái từng từ. "Identifying entities in text" sai vì nhận diện thực thể như tên người, địa danh là nhiệm vụ Named Entity Recognition (NER), không liên quan tới việc rút gọn hình thái từ.
Mở trang câu hỏi này →
ATokenizing text into subword units for language modeling
BTokenizing multilingual text with different scripts
CTokenizing text into individual words based on whitespaces
DTokenizing text based on learned subword units for WordPiece models
Lời giải
Đáp án đúng: "Tokenizing multilingual text with different scripts". SplitMergeTokenizer trong TensorFlow Text tách văn bản dựa trên nhãn split/merge gán cho từng ký tự: nhãn cho biết ký tự đó bắt đầu một token mới hay được gộp vào token trước, nên nó hữu ích với các hệ chữ không dùng khoảng trắng giữa các từ như tiếng Trung hay tiếng Nhật, nơi một văn bản đa ngôn ngữ có thể trộn nhiều kiểu chữ. "Tokenizing text into subword units for language modeling" là việc của các bộ tách đơn vị dưới từ như SentencepieceTokenizer, còn SplitMergeTokenizer không tự tạo đơn vị dưới từ. "Tokenizing text into individual words based on whitespaces" là chức năng của WhitespaceTokenizer, trong khi điểm mạnh của SplitMergeTokenizer chính là không phụ thuộc khoảng trắng. "Tokenizing text based on learned subword units for WordPiece models" mô tả WordpieceTokenizer, vốn dùng một bộ từ vựng WordPiece đã học sẵn chứ không dựa vào nhãn split/merge từng ký tự.
Mở trang câu hỏi này →
AThe length of each word in a document
BThe number of words in a sentence or document
CThe size of the vocabulary
DThe embedding dimension of the vectors
Lời giải
Đáp án đúng: "The number of words in a sentence or document". Khi chuyển văn bản thành chuỗi số bằng Tokenizer và texts_to_sequences, mỗi từ được thay bằng một chỉ số nguyên, nên độ dài chuỗi (sequence length) chính là số token, tức số từ trong câu hay văn bản; vì các câu dài ngắn khác nhau, ta dùng pad_sequences với maxlen để đệm hoặc cắt cho mọi chuỗi cùng độ dài trước khi đưa vào mạng. "The length of each word in a document" sai vì đó là số ký tự trong một từ, trong khi một từ chỉ ứng với một chỉ số duy nhất trong chuỗi. "The size of the vocabulary" sai vì kích thước từ vựng là số từ khác nhau mà Tokenizer quản lý (giới hạn bằng num_words), không phụ thuộc độ dài từng câu. "The embedding dimension of the vectors" sai vì đó là số chiều của vector biểu diễn mỗi từ, đặt bằng output_dim của lớp Embedding, không phải số từ trong chuỗi.
Mở trang câu hỏi này →
AImage classification
BNamed entity recognition
CText categorization
DSpeech synthesis
Lời giải
Đáp án đúng: "Text categorization". Sentiment analysis (phân tích cảm xúc) nhận một đoạn văn bản và gán cho nó một nhãn như tích cực, tiêu cực hoặc trung tính, tức là một bài toán phân loại văn bản; trong Keras thường dựng bằng Embedding, một lớp tổng hợp như GlobalAveragePooling1D hoặc LSTM, rồi một lớp Dense với sigmoid cho hai lớp hoặc softmax cho nhiều lớp. "Image classification" cũng là phân loại nhưng đầu vào là ảnh, không phải chuỗi từ. "Named entity recognition" (nhận dạng thực thể có tên) gán nhãn cho từng token như tên người, địa điểm, tổ chức, tức là gán nhãn chuỗi chứ không phải gán một nhãn cảm xúc cho cả văn bản. "Speech synthesis" (tổng hợp giọng nói) biến văn bản thành âm thanh, là bài toán sinh dữ liệu chứ không phải phân loại.
Mở trang câu hỏi này →
ATokenizing based on whitespace
BTokenizing using pre-trained models from TensorFlow Hub
CTokenizing using Sentencepiece
DTokenizing by splitting and merging text
Lời giải
Đáp án đúng: "Tokenizing by splitting and merging text". SplitMergeTokenizer trong thư viện TensorFlow Text nhận chuỗi kèm một dãy nhãn cho từng ký tự cho biết ký tự đó bắt đầu một token mới (split) hay được nối vào token đang dựng (merge); cách này hợp với các ngôn ngữ không dùng khoảng trắng như tiếng Trung, khi nhãn tách/gộp đến từ một mô hình phân đoạn. "Tokenizing based on whitespace" sai vì đó là việc của WhitespaceTokenizer, chỉ cắt tại khoảng trắng. "Tokenizing using pre-trained models from TensorFlow Hub" sai vì việc dùng mô hình phân đoạn tải từ TensorFlow Hub thuộc về HubModuleTokenizer, không phải SplitMergeTokenizer. "Tokenizing using Sentencepiece" sai vì đó là SentencepieceTokenizer, chia văn bản thành đơn vị subword (từ con) theo mô hình SentencePiece đã huấn luyện.
Mở trang câu hỏi này →
AA technique to remove unnecessary zeros from a dataset
BAdding extra data to the input to ensure consistent dimensions
CThe process of smoothing out noisy data
DResizing images to a fixed size during preprocessing
Lời giải
Đáp án đúng: "Adding extra data to the input to ensure consistent dimensions". Padding (đệm) là thêm giá trị phụ, thường là 0, vào dữ liệu để các mẫu có kích thước đồng nhất: với văn bản, pad_sequences chèn 0 để mọi chuỗi có cùng maxlen trước khi đưa vào Embedding; với ảnh, padding='same' trong Conv2D đệm viền để đầu ra giữ nguyên kích thước. "A technique to remove unnecessary zeros from a dataset" sai vì padding thêm vào chứ không bỏ đi số 0; thao tác ngược lại giống truncating hay loại phần đệm. "The process of smoothing out noisy data" sai vì làm mượt dữ liệu nhiễu là lọc hoặc trung bình trượt, không thay đổi kích thước. "Resizing images to a fixed size during preprocessing" sai vì resize co giãn nội dung ảnh bằng nội suy (ví dụ target_size trong flow_from_directory), còn padding giữ nguyên nội dung và chỉ đắp thêm giá trị ở rìa.
Mở trang câu hỏi này →
Atf.keras.Sequential.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Btf.keras.compile(model, optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Ctf.keras.Sequential().compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Dtf.keras.model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Lời giải
Đáp án đúng: "tf.keras.Sequential().compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])". Phương thức compile phải được gọi trên một đối tượng mô hình; tf.keras.Sequential() tạo ra đối tượng đó, và trong thực tế ta gán nó vào biến model, thêm các lớp LSTM cùng lớp Dense softmax rồi gọi model.compile với optimizer adam, loss categorical_crossentropy cho nhãn one-hot và metrics accuracy. "tf.keras.Sequential.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])" sai vì gọi compile trên chính lớp Sequential mà không tạo đối tượng, Python báo thiếu tham số self. "tf.keras.compile(model, optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])" sai vì Keras không có hàm compile cấp mô-đun nhận mô hình làm đối số. "tf.keras.model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])" sai vì không tồn tại mô-đun tf.keras.model viết thường; lớp thật là tf.keras.Model và compile vẫn phải gọi trên một thể hiện của nó.
Mở trang câu hỏi này →
AIt defines the out-of-vocabulary token.
BIt determines the sequence length.
CIt controls the learning rate during training.
DIt limits the vocabulary size to a specified number of words.
Lời giải

Đáp án đúng: "It limits the vocabulary size to a specified number of words.". Khi tạo Tokenizer(num_words=N), lớp này vẫn đếm mọi từ trong fit_on_texts nhưng lúc gọi texts_to_sequences chỉ giữ lại các từ có tần suất cao nhất, cụ thể là những từ có chỉ số nhỏ hơn N, còn từ hiếm bị bỏ đi hoặc thay bằng oov_token nếu có khai báo; nhờ vậy từ vựng gọn hơn và lớp Embedding có input_dim nhỏ hơn. "It defines the out-of-vocabulary token." sai vì token cho từ ngoài từ vựng được đặt bằng tham số riêng là oov_token, ví dụ oov_token='<OOV> '. "It determines the sequence length." sai vì độ dài chuỗi được thống nhất bằng tham số maxlen của pad_sequences, không phải ở Tokenizer. "It controls the learning rate during training." sai vì learning rate (tốc độ học) là tham số của optimizer, Tokenizer chỉ là bước tiền xử lý văn bản và không tham gia huấn luyện.

Mở trang câu hỏi này →
AConvolutional Neural Network (CNN)
BRecurrent Neural Network (RNN)
CSupport Vector Machine (SVM)
DDecision Tree
Lời giải
Đáp án đúng: "Recurrent Neural Network (RNN)". Dự đoán từ tiếp theo đòi hỏi mô hình đọc một chuỗi từ theo thứ tự và giữ lại ngữ cảnh đã đọc; RNN làm việc đó nhờ trạng thái ẩn được truyền từ bước này sang bước sau, và các biến thể LSTM, GRU giữ ngữ cảnh xa tốt hơn, nên trong Keras mô hình sinh văn bản thường gồm Embedding, Bidirectional LSTM rồi Dense softmax trên toàn bộ từ vựng. "Convolutional Neural Network (CNN)" mạnh ở việc trích mẫu cục bộ trong ảnh và có thể dùng Conv1D cho văn bản, nhưng không có trạng thái nhớ tuần tự nên không phải lựa chọn phổ biến cho bài toán này. "Support Vector Machine (SVM)" là mô hình học máy truyền thống cho phân loại, không xử lý chuỗi có độ dài thay đổi theo thứ tự. "Decision Tree" cũng là mô hình truyền thống, chia dữ liệu theo ngưỡng đặc trưng, không phải kiến trúc học sâu và không mô hình hoá thứ tự từ.
Mở trang câu hỏi này →
AIdentifying grammatical errors
BExtracting meaning from text
CDetermining the emotional tone of the text
DSummarizing the text content
Lời giải
Đáp án đúng: "Determining the emotional tone of the text". Sentiment analysis (phân tích cảm xúc) là bài toán phân loại văn bản theo thái độ, chẳng hạn tích cực hay tiêu cực ở đánh giá phim IMDB; mô hình Keras điển hình gồm Tokenizer, Embedding, rồi LSTM hoặc GlobalAveragePooling1D và một lớp Dense sigmoid xuất xác suất câu mang sắc thái tích cực. "Identifying grammatical errors" sai vì phát hiện lỗi ngữ pháp là bài toán sửa lỗi văn bản, quan tâm tới cấu trúc câu chứ không tới thái độ người viết. "Extracting meaning from text" quá rộng: đó là mục tiêu chung của hiểu ngôn ngữ tự nhiên, bao gồm cả phân tích cảm xúc lẫn nhiều bài toán khác, nên không mô tả đúng riêng mục tiêu được hỏi. "Summarizing the text content" sai vì tóm tắt văn bản là sinh ra bản rút gọn nội dung, một bài toán khác hẳn với việc gán nhãn cảm xúc.
Mở trang câu hỏi này →
AThe original text without tokenization
BA list of tokens obtained from the text
CToken indices representing the text
DA tokenized sequence in a matrix form
Lời giải
Đáp án đúng: "A list of tokens obtained from the text". Về khái niệm, tokenize là bước tokenization (tách token): cắt văn bản thành các đơn vị nhỏ, với BERT là các wordpiece (mảnh từ con) như từ playing thành mảnh play và mảnh đuôi ing, và kết quả của bước này là danh sách token lấy từ văn bản. Cần nói thật rằng hành vi phụ thuộc thư viện: BertTokenizer của Hugging Face trả về danh sách chuỗi token đúng như trên, còn BertTokenizer của TensorFlow Text mặc định trả về ID wordpiece dạng RaggedTensor vì token_out_type mặc định là tf.int64; câu hỏi ở đây hỏi theo nghĩa khái niệm của bước tách token. "The original text without tokenization" sai vì văn bản giữ nguyên thì phương thức chẳng làm gì cả. "Token indices representing the text" là kết quả của bước tra từ điển, như convert_tokens_to_ids hay encode bên Hugging Face, tức đổi token thành số chứ không phải bản thân việc tách token. "A tokenized sequence in a matrix form" là dạng tensor đã đệm (padding) cho cả một lô câu để đưa vào mô hình, việc này do bước gọi tokenizer kèm padding và trả về tensor đảm nhận, không phải tokenize.
Mở trang câu hỏi này →
AIt is fixed and predefined.
BIt is randomly generated during training.
CIt is based on the document frequency of subwords.
DIt is learned from the input text during training.
Lời giải
Đáp án đúng: "It is learned from the input text during training.". Bộ mã hoá từ con (subword text encoder) xây từ vựng bằng cách quét kho văn bản đầu vào, bắt đầu từ ký tự rồi lặp lại việc ghép những mảnh hay đi cùng nhau thành đơn vị lớn hơn cho tới khi đạt kích thước mục tiêu; vì vậy từ vựng phản ánh chính dữ liệu, từ hiếm được tách thành các mảnh quen thuộc và không còn từ nằm ngoài từ vựng. "It is fixed and predefined." sai vì từ vựng không được cho sẵn mà sinh ra từ kho văn bản cụ thể, đổi kho thì từ vựng đổi theo. "It is randomly generated during training." sai vì quá trình xây dựng là tất định dựa trên thống kê của văn bản, không phải ngẫu nhiên. "It is based on the document frequency of subwords." chưa đúng: tần suất xuất hiện có được dùng trong lúc học, nhưng document frequency (số văn bản chứa một từ) là đại lượng của TF-IDF, còn từ vựng từ con là kết quả của quá trình học trên văn bản chứ không phải một phép đếm số văn bản.
Mở trang câu hỏi này →
ATo summarize long passages of text
BTo determine the author's identity
CTo classify the emotional polarity of text
DTo translate text from one language to another
Lời giải
Đáp án đúng: "To classify the emotional polarity of text". Sentiment analysis (phân tích cảm xúc) xác định thái độ mà văn bản thể hiện, như tích cực hay tiêu cực, ví dụ phân loại bình luận phim IMDB hay tiêu đề mỉa mai; trong Keras, văn bản được tokenize, pad_sequences, đưa qua Embedding rồi tới lớp Dense sigmoid cho ra xác suất thuộc lớp tích cực. "To summarize long passages of text" là bài toán tóm tắt văn bản, đầu ra là một đoạn văn ngắn hơn chứ không phải nhãn cảm xúc. "To determine the author's identity" là bài toán xác định tác giả dựa trên văn phong, không quan tâm văn bản vui hay buồn. "To translate text from one language to another" là dịch máy, một bài toán chuỗi sang chuỗi, khác hoàn toàn với việc gán nhãn thái độ cho văn bản.
Mở trang câu hỏi này →
ATo identify stop words in text
BTo generate creative writing
CTo translate text between languages
DTo predict the probability of a word given its context in a sentence
Lời giải
Đáp án đúng: "To predict the probability of a word given its context in a sentence". Mô hình ngôn ngữ học phân phối xác suất của từ tiếp theo dựa trên các từ đứng trước (hoặc xung quanh); trong Keras có thể dựng bằng Embedding, LSTM và lớp Dense softmax cỡ từ vựng, và chính khả năng ước lượng xác suất này cho máy nắm được ngữ pháp và ngữ nghĩa, làm nền cho sinh văn bản, gợi ý từ hay dịch máy. "To identify stop words in text" sai vì từ dừng thường được lọc bằng danh sách cố định, không cần mô hình ngôn ngữ. "To generate creative writing" chỉ là một ứng dụng xây trên mô hình ngôn ngữ bằng cách lấy mẫu lặp lại từ phân phối xác suất, không phải vai trò cốt lõi của nó. "To translate text between languages" là một bài toán riêng dùng mô hình seq2seq có bộ mã hoá và bộ giải mã; mô hình ngôn ngữ có thể là một thành phần trong đó nhưng không định nghĩa vai trò được hỏi.
Mở trang câu hỏi này →
ACreating a bag-of-words representation
BReducing words to their root forms
CBreaking down text into individual words or tokens
DApplying sentiment analysis to words
Lời giải
Đáp án đúng: "Breaking down text into individual words or tokens". Tokenization (tách token) là bước đầu của mã hoá dựa trên từ: câu được cắt thành từng từ hoặc đơn vị (token), rồi mỗi token được gán một số nguyên; trong Keras, Tokenizer với fit_on_texts xây word_index và texts_to_sequences đổi câu thành dãy số, có thể đặt oov_token cho từ chưa gặp. "Creating a bag-of-words representation" sai vì túi từ là cách biểu diễn được xây sau khi đã tách token, đếm tần suất từ và bỏ qua thứ tự. "Reducing words to their root forms" sai vì đó là stemming hoặc lemmatization, một bước chuẩn hoá tuỳ chọn khác với việc tách token. "Applying sentiment analysis to words" sai vì phân tích cảm xúc là bài toán mô hình giải quyết ở phía sau, dùng chuỗi token làm đầu vào chứ không phải chính việc tách token.
Mở trang câu hỏi này →
Aencoder.decode_subwords(sequence)
Btf.text.decode_subwords(encoder, sequence)
Ctf.text.SubwordTextEncoder.decode(sequence)
Dencoder.decode(sequence)
Lời giải
Đáp án đúng: "encoder.decode(sequence)". Bộ mã hoá đơn vị dưới từ như SubwordTextEncoder đi kèm bộ dữ liệu imdb_reviews/subwords8k của TensorFlow Datasets là một đối tượng có hai phương thức đối xứng: encode biến chuỗi thành danh sách chỉ số subword, còn decode ghép các chỉ số đó lại thành văn bản gốc; vì từ vựng nằm trong chính đối tượng encoder, ta gọi decode trên thể hiện đó. "encoder.decode_subwords(sequence)" gọi một phương thức không có trên encoder. "tf.text.decode_subwords(encoder, sequence)" không phải hàm của TensorFlow Text, thư viện này không có hàm giải mã nhận encoder làm tham số. "tf.text.SubwordTextEncoder.decode(sequence)" sai ở hai điểm: SubwordTextEncoder thuộc TensorFlow Datasets chứ không nằm trong tf.text, và gọi decode trực tiếp trên lớp thì thiếu thể hiện mang bộ từ vựng cần để giải mã.
Mở trang câu hỏi này →
Atf.text.create_subword_encoder()
Btf.text.build_subword_encoder()
Ctf.text.generate_subword_encoder()
Dtf.text.SubwordTextEncoder.build_from_corpus()
Lời giải
Đáp án đúng: "tf.text.SubwordTextEncoder.build_from_corpus()". build_from_corpus là phương thức lớp thật của SubwordTextEncoder, nhận một bộ sinh văn bản và target_vocab_size rồi học từ vựng từ con trên kho văn bản đó, sau đó dùng encode và decode để chuyển chuỗi ký tự thành dãy số và ngược lại. Cần lưu ý trên thực tế lớp này nằm ở tfds.deprecated.text của TensorFlow Datasets (trước đó là tfds.features.text), không thuộc gói tf.text, nhưng trong bốn lựa chọn đây là cách gọi duy nhất ứng với một API có thật. "tf.text.create_subword_encoder()" sai vì không tồn tại hàm nào tên như vậy. "tf.text.build_subword_encoder()" sai vì tên này nghe giống build_from_corpus nhưng không phải hàm có thật, bộ mã hoá được dựng qua phương thức của lớp chứ không qua hàm tự do. "tf.text.generate_subword_encoder()" cũng là tên không tồn tại; tf.text chỉ cung cấp các tokenizer như WordpieceTokenizer hay SentencepieceTokenizer.
Mở trang câu hỏi này →
Anltk
Bgensim
Cscikit-learn
Dtf.text
Lời giải
Đáp án đúng: "tf.text". TensorFlow Text (import tensorflow_text, thường gọi tf.text) là thư viện đi kèm TensorFlow cung cấp các bộ tách subword (từ con) như WordpieceTokenizer, SentencepieceTokenizer và BertTokenizer, chạy được ngay trong đồ thị TensorFlow nên dùng được trong pipeline tf.data và khi triển khai mô hình. "nltk" sai vì NLTK là thư viện xử lý ngôn ngữ tự nhiên độc lập trong Python, mạnh về tách từ cổ điển, stemming, gán nhãn từ loại, không thuộc hệ TensorFlow. "gensim" sai vì Gensim chuyên mô hình chủ đề và vectơ từ như Word2Vec, không phải bộ mã hoá subword của TensorFlow. "scikit-learn" sai vì Scikit-learn có CountVectorizer, TfidfVectorizer cho văn bản nhưng làm việc ở mức từ hoặc n-gram ký tự, không phải thư viện TensorFlow cho subword.
Mở trang câu hỏi này →
Atf.text.train_subword_encoder_from_file()
Btf.text.train_subword_encoder()
Ctf.train.experimental.SubwordTextEncoder.train_from_corpus()
Dtf.text.train_from_corpus_subword_encoder()
Lời giải
Đáp án đúng: "tf.train.experimental.SubwordTextEncoder.train_from_corpus()". Ý tưởng cần nắm là subword encoder (bộ mã hoá từ con) được dựng từ chính corpus (kho văn bản) của bạn: nó đếm tần suất, chọn ra một bộ từ vựng gồm các mảnh từ con đến kích thước mục tiêu, nhờ đó từ lạ vẫn được tách thành các mảnh đã biết thay vì thành token OOV. Nói cho trung thực, cả bốn tên hàm đều không phải API thật; hàm thật là tfds.deprecated.text.SubwordTextEncoder.build_from_corpus của TensorFlow Datasets, nhận một generator duyệt qua các câu và tham số target_vocab_size. Phương án được chọn là phương án duy nhất gọi đúng lớp SubwordTextEncoder cùng phương thức dựng bộ mã hoá từ corpus của riêng mình, nên nó gần với API thật nhất. "tf.text.train_subword_encoder_from_file()" không tồn tại, và build_from_corpus nhận dữ liệu qua generator chứ không cần một hàm riêng để đọc tệp. "tf.text.train_subword_encoder()" cũng không có trong TensorFlow Text và không gắn với lớp SubwordTextEncoder. "tf.text.train_from_corpus_subword_encoder()" chỉ đảo trật tự các chữ thành một hàm độc lập không có thật.
Mở trang câu hỏi này →