Contextualized Topic Models 项目教程
1. 项目的目录结构及介绍
contextualized-topic-models/
├── contextualized_topic_models/
│ ├── __init__.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── ctm.py
│ │ └── ...
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── data_preparation.py
│ │ └── ...
│ └── ...
├── tests/
│ ├── __init__.py
│ ├── test_ctm.py
│ └── ...
├── examples/
│ ├── example_usage.py
│ └── ...
├── setup.py
├── requirements.txt
├── requirements_dev.txt
├── setup.cfg
├── README.md
└── ...
目录结构介绍
contextualized_topic_models/
: 项目的主要代码目录,包含模型的实现和工具函数。models/
: 包含各种模型的实现,如ctm.py
中的CombinedTM
和ZeroShotTM
。utils/
: 包含数据准备和预处理的工具函数,如data_preparation.py
。
tests/
: 包含项目的测试代码,确保代码的正确性和稳定性。examples/
: 包含项目使用的示例代码,帮助用户快速上手。setup.py
: 项目的安装脚本,用于安装项目所需的依赖。requirements.txt
: 项目运行所需的依赖列表。requirements_dev.txt
: 开发和测试所需的额外依赖列表。setup.cfg
: 项目的配置文件,包含一些元数据和配置选项。README.md
: 项目的介绍文档,包含项目的概述、安装和使用说明。
2. 项目的启动文件介绍
项目的启动文件通常是指用户在实际使用项目时需要运行的文件。在 contextualized-topic-models
项目中,启动文件可以是 examples/example_usage.py
。
examples/example_usage.py
文件介绍
from contextualized_topic_models.models.ctm import CombinedTM
from contextualized_topic_models.utils.data_preparation import TopicModelDataPreparation
from contextualized_topic_models.utils.data_preparation import bert_embeddings_from_file
# 初始化数据准备工具
qt = TopicModelDataPreparation("all-mpnet-base-v2")
# 准备训练数据
training_dataset = qt.fit(
text_for_contextual=list_of_unpreprocessed_documents,
text_for_bow=list_of_preprocessed_documents
)
# 初始化模型
ctm = CombinedTM(bow_size=len(qt.vocab), contextual_size=768, n_components=50) # 50 个主题
# 训练模型
ctm.fit(training_dataset)
# 获取主题
ctm.get_topics(2)
启动文件说明
TopicModelDataPreparation
: 用于准备数据,包括上下文嵌入和词袋表示。CombinedTM
: 结合上下文嵌入和词袋表示的模型,用于生成连贯的主题。fit
: 训练模型的方法。get_topics
: 获取训练后的主题。
3. 项目的配置文件介绍
setup.py
setup.py
是 Python 项目的标准安装脚本,用于定义项目的元数据和依赖项。
from setuptools import setup, find_packages
setup(
name="contextualized_topic_models",
version="2.5.0",
packages=find_packages(),
install_requires=[
"numpy",
"torch",
"transformers",
# 其他依赖项
],
extras_require={
"dev": [
"pytest",
"flake8",
# 其他开发依赖项
]
},
# 其他元数据
)
requirements.txt
requirements.txt
列出了项目运行所需的依赖项。
numpy
torch
transformers
# 其他依赖项
requirements_dev.txt
requirements_dev.txt
列出了开发和测试所需的额外依赖项。
pytest
flake8
# 其他开发依赖项
setup.cfg
setup.cfg
是项目的配置文件,包含一些元数据和配置选项。
[metadata]
name = contextualized_topic_models
version = 2.5.0
description = A python package to run contextualized topic modeling
author = Your Name
author_email = your.email@example.com
url = https://github.com/MilaNLProc/contextualized-topic-models
[options]
packages = find:
install_requires =
numpy
torch
transformers
[options.extras_require]
dev =
pytest
flake8
配置文件说明
setup.py
: 定义项目的元数据和依赖项,用于安装项目。requirements.txt
: 列出项目运行所需的依赖项。requirements_dev.txt
: 列出开发和测试所需的额外依赖项。setup.cfg
: 包含项目的元数据和配置选项,如包名、版本号、作者信息等。
通过以上内容,用户可以了解 contextualized-topic-models
项目的目录结构、启动文件和配置文件,从而更好地理解和使用该项目。