Tôi đang cố gắng thực hiện mô hình chủ đề LDA với Mallet 2.0.7. Tôi có thể đào tạo một mô hình LDA và nhận được kết quả tốt, đánh giá bởi đầu ra từ phiên đào tạo. Ngoài ra, tôi có thể sử dụng inferencer được xây dựng trong quá trình đó và nhận được kết quả tương tự khi xử lý lại tệp đào tạo của tôi. Tuy nhiên, nếu tôi lấy một tập tin cá nhân từ tập huấn luyện lớn hơn, và xử lý nó với inferencer tôi nhận được kết quả rất khác, điều đó không tốt.Tại sao nhận kết quả khác nhau với suy luận chủ đề MALLET cho một và nhiều tài liệu?
Hiểu biết của tôi là người trợ giúp nên sử dụng mô hình cố định và chỉ có tính năng cục bộ cho tài liệu đó, vì vậy tôi không hiểu tại sao tôi nhận được bất kỳ kết quả nào khác trong khi xử lý 1 tệp hoặc 1k từ tập huấn luyện của tôi. Tôi không cắt giảm tần số mà dường như là một hoạt động toàn cầu có thể có loại hiệu ứng này. Bạn có thể thấy các thông số khác mà tôi đang sử dụng trong các lệnh bên dưới, nhưng chúng hầu hết là mặc định. Thay đổi # lần lặp lại thành 0 hoặc 100 không giúp ích gì.
nhập dữ liệu:
bin/mallet import-dir \
--input trainingDataDir \
--output train.data \
--remove-stopwords TRUE \
--keep-sequence TRUE \
--gram-sizes 1,2 \
--keep-sequence-bigrams TRUE
Train:
time ../bin/mallet train-topics
--input ../train.data \
--inferencer-filename lda-inferencer-model.mallet \
--num-top-words 50 \
--num-topics 100 \
--num-threads 3 \
--num-iterations 100 \
--doc-topics-threshold 0.1 \
--output-topic-keys topic-keys.txt \
--output-doc-topics doc-topics.txt
chủ đề giao trong đào tạo thành một tập tin đặc biệt, # 14 là về rượu vang đó là chính xác:
998 file:/.../29708933509685249 14 0.31684981684981683
> grep "^14\t" topic-keys.txt
14 0.5 wine spray cooking car climate top wines place live honey sticking ice prevent collection market hole climate_change winery tasting california moldova vegas horses converted paper key weather farmers_market farmers displayed wd freezing winter trouble mexico morning spring earth round mici torrey_pines barbara kinda nonstick grass slide tree exciting lots
Run suy luận về toàn bộ lô tàu:
../bin/mallet infer-topics \
--input ../train.data \
--inferencer lda-inferencer-model.mallet \
--output-doc-topics inf-train.1 \
--num-iterations 100
Suy luận điểm trên tàu - rất giống nhau:
998 /.../29708933509685249 14 0.37505087505087503
Run suy luận trên một tập tin dữ liệu huấn luyện bao gồm duy nhất mà tập 1 txt:
../bin/mallet infer-topics \
--input ../one.data \
--inferencer lda-inferencer-model.mallet \
--output-doc-topics inf-one.2 \
--num-iterations 100
Suy luận trên một tài liệu sản xuất chủ đề 80 và 36, rất khác nhau (14 được cho gần 0 điểm):
0 /.../29708933509685249 80 0.3184778184778185 36 0.19067969067969068
> grep "^80\t" topic-keys.txt
80 0.5 tips dog care pet safety items read policy safe offer pay avoid stay important privacy services ebay selling terms person meeting warning poster message agree sellers animals public agree_terms follow pets payment fraud made privacy_policy send description puppy emailed clicking safety_tips read_safety safe_read stay_safe services_stay payment_services transaction_payment offer_transaction classifieds_offer