如何使用tensorflow进行文本分类?

2024-04-19 16:06:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我对tensorflow和机器学习是新手。我在编写一个tensorflow代码时遇到了一些问题,该代码的文本分类与我尝试使用sklearn库的分类类似。我面临的主要问题是如何对数据集进行矢量化以及向tensorflow层提供输入。你知道吗

我确实记得在一次热编码中成功地对标签进行了编码,但是前面的tensorflow层不接受创建的数组。 请注意,我已经阅读了大多数关于stackoverflow的文本分类问题,但它们太具体或有复杂的需要解决。 我的问题范围太窄,需要非常基本的解决办法。你知道吗

如果有人能告诉我类似于sklearn机器学习算法的步骤或tensorflow代码,那将是非常有帮助的。你知道吗

使用的数据集可在:https://www.kaggle.com/virajgala/classifying-text


from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.linear_model import SGDClassifier
from sklearn.pipeline import Pipeline

#Reading the csv dataset
df = pd.read_csv(('/Classifyimg_text.csv'), index_col=False).sample(frac=1)

#Splitting the dataset
train_data, test_data, train_labels, test_labels = train_test_split(df['sentence'], df['label'], test_size=0.2)

#Vectorization and Classification 
streamline = Pipeline([('vect', TfidfVectorizer(max_features=int(1e8))),
                           ('clf', SGDClassifier())]).fit(train_data, train_labels)

#Prediction
Output = streamline.predict(["This is my action to classify the text."])

Tags: csvthe代码textfromtestimport机器
2条回答

如果你想取得开创性的成绩,我宁愿用一些嵌入器。自然语言是相当超维的。现在有很多经过训练的建筑。因此,您只需将文本编码到潜在空间,然后根据这些特征训练模型。一旦有了数字特征向量,应用重采样技术也容易得多。你知道吗

我自己,我主要使用Facebook的激光嵌入器。阅读更多信息here。有一个非官方的pypi包,可以正常工作。此外,您的模型将在几十种语言的开箱即用,这是相当可爱的工作。你知道吗

还有来自Google的BERT,但是预先训练的模型是相当简单的,所以你必须先把它推进一点。你知道吗

这个问题有点宽泛。也许您可以看看Tensorflow网站上发布的the tutorial二进制文本分类(正反两种)并尝试实现它。在此过程中,如果您遇到任何需要进一步解释的问题或概念,请搜索StackOverflow,查看是否有人提出了与您类似的问题。如果没有,花点时间在these guidelines后面写一个问题,这样有能力回答的人就能得到他们需要的所有信息。我希望这些信息能让你有一个好的开始,欢迎使用堆栈溢出!你知道吗

相关问题 更多 >