无法从快速文本的文本文件中训练。获取ValueError:空词汇表

问题描述 投票:0回答:1

我正在尝试使用以下代码创建快速文本词嵌入

import fasttext
from os import path
txt_path = path.join("/home/ccse/FastText_embeddings", "train.txt")
model = fasttext.train_unsupervised(txt_path, model='cbow')

这里train.txt仅包含一行-“祝您有美好的一天。”

运行代码后,出现以下错误:

Read 0M words
Number of words:  0
Number of labels: 0
Traceback (most recent call last):
  File "ft_embedding.py", line 4, in <module>
    model = fasttext.train_unsupervised(txt, model='cbow')
  File "/home/ccse/.local/lib/python3.6/site-packages/fasttext/FastText.py", line 455, in train_unsupervised
    fasttext.train(ft.f, a)
ValueError: Empty vocabulary. Try a smaller -minCount value.

我不了解其原因以及解决方法。

附加信息:我在跑步-Ubuntu 18.04,Python 3.6.8,fasttext 0.9.1

python-3.x word-embedding fasttext
1个回答
0
投票

我得到了解决方案。我犯了一个愚蠢的错误。万一有人犯了和我一样的愚蠢错误,就把解决方案留在这里。minCount的默认值设置为5。由于我的训练文件只包含1行,每个单词仅出现一次,所以我遇到了该错误。要解决此问题,我只需要更改参数值即可。

model = fasttext.train_unsupervised(txt_path, model='cbow', minCount = 1)
© www.soinside.com 2019 - 2024. All rights reserved.