Add BERTopic.

This commit is contained in:
戒酒的李白
2025-08-12 19:01:20 +08:00
parent e2323d579c
commit c5c530775e
256 changed files with 28666 additions and 0 deletions
@@ -0,0 +1,55 @@
import copy
import pytest
@pytest.mark.parametrize(
"model",
[
("kmeans_pca_topic_model"),
("base_topic_model"),
("custom_topic_model"),
("merged_topic_model"),
("reduced_topic_model"),
("online_topic_model"),
],
)
def test_barchart(model, request):
topic_model = copy.deepcopy(request.getfixturevalue(model))
fig = topic_model.visualize_barchart()
assert len(fig.to_dict()["layout"]["annotations"]) == 8
for annotation in fig.to_dict()["layout"]["annotations"]:
assert int(annotation["text"].split(" ")[-1]) != -1
fig = topic_model.visualize_barchart(top_n_topics=5)
assert len(fig.to_dict()["layout"]["annotations"]) == 5
for annotation in fig.to_dict()["layout"]["annotations"]:
assert int(annotation["text"].split(" ")[-1]) != -1
@pytest.mark.parametrize(
"model",
[
("kmeans_pca_topic_model"),
("base_topic_model"),
("custom_topic_model"),
("merged_topic_model"),
("reduced_topic_model"),
("online_topic_model"),
],
)
def test_barchart_outlier(model, request):
topic_model = copy.deepcopy(request.getfixturevalue(model))
topic_model.topic_sizes_[-1] = 4
fig = topic_model.visualize_barchart()
assert len(fig.to_dict()["layout"]["annotations"]) == 8
for annotation in fig.to_dict()["layout"]["annotations"]:
assert int(annotation["text"].split(" ")[-1]) != -1
fig = topic_model.visualize_barchart(top_n_topics=5)
assert len(fig.to_dict()["layout"]["annotations"]) == 5
for annotation in fig.to_dict()["layout"]["annotations"]:
assert int(annotation["text"].split(" ")[-1]) != -1