首页 > 解决方案 > 与 bertopic 一起使用的 hdbscan 出现问题:OSError: [Errno 22] Invalid argument

问题描述

我写作是因为我有一个问题(我知道这是愚蠢而明显的介绍)。

我正在尝试使用 RStudio 中的 Python 解释器和reticulate扩展来使用 BERTopic 包:

Python 3.6.13 (C:/Users/Francesco/AppData/Local/r-miniconda/envs/r-reticulate/python.exe)
Reticulate 1.18.9008 REPL——R 中的 Python 解释器。

我设法安装它 pip3 install bertopic

起初,尝试安装会bertopic导致与hdbscan依赖关系有关的错误,特别是与所使用的轮子有关的错误;我通过 conda 安装 hdbscan 克服了它(使用 pip 问题似乎无法解决),并且在这样做之后似乎两者都已安装并且很好(pip 会确认)。

之后,我尝试按照Medium/Towards Data Science 中的包教程(这里是我正在关注的Colab版本)来熟悉这个包并检查一切是否按预期工作。

我基本上是在我正在使用的 RMarkdown 文件中的 Python 块上复制和粘贴 Colab 的代码,但是当我尝试将教程的相同代码应用于所使用的相同数据集时:

from sklearn.datasets import fetch_20newsgroups

docs = fetch_20newsgroups(subset='all',  remove=('headers', 'footers', 'quotes'))['data']

from bertopic import BERTopic

topic_model = BERTopic(language="english", calculate_probabilities=True, verbose=True)

topics, probs = topic_model.fit_transform(docs)

我收到以下错误:

批次:100%|##########| 589/589 [28:21<00:00, 2.89s/it]
2021-04-29 16:24:25,973 - BERTopic - 将文档转换为嵌入
2021-04-29 16:24:35,752 - BERTopic - 使用降维UMAP
OSError:[Errno 22] 无效参数

理论上,按照 colab 的输出,我应该得到:

..................... - BERTopic - 使用 HDBSCAN 的集群 UMAP 嵌入

因为我有问题,hdbscan我相信它与它有某种关系,我阅读了几个 GitHub 和 Stackoverflow 页面,指出了这样一个包的问题,​​但我不知道如何解决这个问题,但我真的需要,因为我需要为我的论文使用包。

有人能帮助我吗?

PS:这是我第一次在 stackoverflow 上提问:我希望我写下了所有必要的信息,但如果缺少某些信息,请告诉我。

标签: pythonroserrorhdbscan

解决方案


推荐阅读