你好,
再次感谢你为Bertopic所做的出色工作。我使用Bertopic进行了许多研究项目。
最近我注意到vectorizer_model可能存在一个棘手的bug。我检查了代码,发现当我将自定义的vectorizer_model传递给BerTopic时,BerTopic类中定义的n_gram_range不会传递给它。相反,当我们创建vectorizer_model时,需要同时传递这两个参数。
b1uwtaje1#
感谢分享!这实际上不是错误,而是设计。基本理念是,不熟悉 CountVectorizer 的用户可以直接使用 n_gram_range 参数。然而,在使用 vectorizer_model 时,它应该覆盖 n_gram_range,因为您正在创建自己的自定义向量化器模型。与此相关的其他参数应无影响。换句话说,您可以从 BERTopic 直接使用 n_gram_range 参数,或者通过 vectorizer_model 使用,但永远不要两者都用。
CountVectorizer
n_gram_range
vectorizer_model
z9smfwbn2#
好的,我明白了,这很好,谢谢你总是即时回复。设计很酷,你可以考虑在文档中添加一些说明。再次感谢。
w7t8yxp53#
没问题!实际上它已经在那里了😉BERTopic/bertopic/_bertopic.py第155行到第159行| | n_gram_range:CountVectorizer的n-gram范围。|| | 建议在1和3之间保持较高的值。|| | 更高的值可能会导致内存问题。|| | 注意:如果您传入自己的CountVectorizer,此参数将不会被使用。|
3条答案
按热度按时间b1uwtaje1#
感谢分享!这实际上不是错误,而是设计。基本理念是,不熟悉
CountVectorizer
的用户可以直接使用n_gram_range
参数。然而,在使用vectorizer_model
时,它应该覆盖n_gram_range
,因为您正在创建自己的自定义向量化器模型。与此相关的其他参数应无影响。换句话说,您可以从 BERTopic 直接使用
n_gram_range
参数,或者通过vectorizer_model
使用,但永远不要两者都用。z9smfwbn2#
好的,我明白了,这很好,谢谢你总是即时回复。设计很酷,你可以考虑在文档中添加一些说明。再次感谢。
w7t8yxp53#
没问题!实际上它已经在那里了😉
BERTopic/bertopic/_bertopic.py
第155行到第159行
| | n_gram_range:CountVectorizer的n-gram范围。|
| | 建议在1和3之间保持较高的值。|
| | 更高的值可能会导致内存问题。|
| | 注意:如果您传入自己的CountVectorizer,此参数将不会被使用。|