Tôi sẽ thử 'gấp trong'. Điều này đề cập đến việc lấy một tài liệu mới, thêm nó vào kho văn bản, và sau đó chạy lấy mẫu Gibbs chỉ trên các từ trong tài liệu mới đó , giữ nguyên các bài tập chủ đề của các tài liệu cũ. Điều này thường hội tụ nhanh (có thể là 5-10-20 lần lặp) và bạn không cần phải lấy mẫu xác cũ của mình, vì vậy nó cũng chạy nhanh. Cuối cùng, bạn sẽ có sự phân công chủ đề cho mỗi từ trong tài liệu mới. Điều này sẽ cung cấp cho bạn phân phối các chủ đề trong tài liệu đó.
Trong bộ lấy mẫu Gibbs của bạn, bạn có thể có một cái gì đó tương tự như đoạn mã sau:
// This will initialize the matrices of counts, N_tw (topic-word matrix) and N_dt (document-topic matrix)
for doc = 1 to N_Documents
for token = 1 to N_Tokens_In_Document
Assign current token to a random topic, updating the count matrices
end
end
// This will do the Gibbs sampling
for doc = 1 to N_Documents
for token = 1 to N_Tokens_In_Document
Compute probability of current token being assigned to each topic
Sample a topic from this distribution
Assign the token to the new topic, updating the count matrices
end
end
Folding-in cũng vậy, ngoại trừ bạn bắt đầu với các ma trận hiện có, thêm mã thông báo của tài liệu mới vào chúng và thực hiện lấy mẫu chỉ cho các mã thông báo mới. I E:
Start with the N_tw and N_dt matrices from the previous step
// This will update the count matrices for folding-in
for token = 1 to N_Tokens_In_New_Document
Assign current token to a random topic, updating the count matrices
end
// This will do the folding-in by Gibbs sampling
for token = 1 to N_Tokens_In_New_Document
Compute probability of current token being assigned to each topic
Sample a topic from this distribution
Assign the token to the new topic, updating the count matrices
end
pTôiwwTôijwj
ΠjpTôiwj