使用Spacy进行新闻文章的文本分类

数据集:包含大约1500条数据的Csv文件,列为(Text,Labels),其中Text是尼泊尔语的新闻文章,Label是其类型(健康、世界、旅游、天气等)。

我正在使用Spacy来训练我的文本分类模型。到目前为止,我已经将数据集转换为如下所示的数据框enter image description here,然后通过以下代码将其转换为Spacy可接受的格式

dataset['tuples'] = dataset.apply(    lambda row: (row['Text'],row['Labels']), axis=1)training_data = dataset['tuples'].tolist()

这为我提供了训练数据集中元组列表,如[(‘text…’,’label…’),(‘text…’,’label…’)]

现在,我该如何在这里进行文本分类呢?

在Spacy的文档中,我找到了

textcat.add_label("POSITIVE")textcat.add_label("NEGATIVE")

我们是需要根据标签添加标签,还是也应该使用正面/负面这样的标签?Spacy在训练后会根据我们的数据集生成标签吗?

有什么建议吗?


回答:

你必须添加自己的标签。所以,在你的情况下:

textcat.add_label('Health')textcat.add_label('World')textcat.add_label('Tourism')...

spacy然后将能够预测你在上述代码块中添加的那些类别

训练数据有一个特殊的格式:你的数据列表中的每个元素都是一个包含以下内容的元组:

  1. 文本
  2. 仅包含一个元素的字典。cats是键,另一个字典是值。那个另一个字典包含所有你的类别作为键,10作为值,表示该类别是否正确。

所以,你的数据应该看起来像这样:

[('text1', {'cats' : {'category1' : 1, 'category2' : 0, ...}}), ('text2', {'cats' : {'category1' : 0, 'category2' : 1, ...}}), ...]

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注