如何使用张量流进行文本分类?

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

我是tensorflow和机器学习的新手。我在编写一个tensorflow代码时遇到了问题,该代码的文本分类类似于我使用sklearn库尝试的文本分类。我在对数据集进行矢量化并将输入提供给tensorflow层时遇到了主要问题。

我确实记得在一次热编码标签中成功,但是前面的tensorflow层不接受创建的数组。请注意,我已经阅读了大多数关于stackoverflow的文字分类问题,但是它们过于具体或需要解决复杂的问题。我的问题案例太狭窄,需要非常基本的解决方案。

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

使用的数据集位于: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."])
python tensorflow machine-learning scikit-learn text-classification
2个回答
1
投票

这个问题有点广泛。也许您可以看看Tensorflow网站上发布的the tutorial,以进行二进制文本分类(正负),并尝试实现它。在此过程中,如果您遇到任何需要进一步解释的问题或概念,请搜索StackOverflow以查看是否有人提出了与您类似的问题。如果不是,请花点时间在these guidelines之后写一个问题,以便有能力回答的人将拥有他们需要的所有信息。我希望这些信息能使您有个好的开始,并欢迎您使用Stack Overflow!


0
投票

如果您想获得开创性的成绩,我宁愿使用一些嵌入程序。自然语言是相当多维的。如今,有许多预训练的架构。因此,您只需将文本编码到一些潜在的空间,然后在这些功能上训练模型。一旦有了数字特征向量,应用某些重采样技术也变得容易得多。

我自己,我主要使用来自Facebook的LASER embedder。了解更多有关它的信息here。还有一个非官方的pypi程序包,可以正常工作。另外,您的模型将可以直接使用多种语言,这非常可爱。

[还有Google的(BERT)[https://github.com/google-research/bert],但预先训练的模型还很裸,因此您必须先将其进一步推开。

© www.soinside.com 2019 - 2024. All rights reserved.