我有属于一个段落的句子。每个句子都有一个标签。[s1,s2,s3,…], [l1,l2,l3,…] 我知道我必须使用编码器对每个句子进行编码,然后使用序列标记。你能指导我如何做到这一点,将它们结合起来吗?
问问题
79 次
1 回答
2
如果我正确理解您的问题,您正在寻找将句子编码为数字表示的方法。
假设您有如下数据:
data = ["Sarah, is that you? Hahahahahaha Todd give you another black eye??"
"Well, being slick comes with the job of being a propagandist, Andi..."
"Sad to lose a young person who was earnestly working for the common good and public safety when so many are in the basement smoking pot and playing computer games."]
labels = [0,1,0]
现在您要构建一个分类器,因为训练分类器数据应该是数字格式,所以在这里我们将文本数据转换为数字结构,我们将使用 tf-idf 矢量化器为文本数据创建矩阵,然后应用任何算法。
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.svm import LinearSVC
from sklearn.pipeline import Pipeline
vectorizerPipe = Pipeline([
('tfidf', TfidfVectorizer(lowercase=True,stop_words='english')),
('classification', LinearSVC(penalty='l2',loss='hinge'))])
trained_model = vectorizerPipe.fit(data,labels)
这里构建了管道,第一步是特征向量提取(将文本数据转换为数字格式),下一步我们将对其应用算法。您可以尝试这两个步骤中的很多参数。稍后我们使用 .fit 方法启动管道并传递数据和标签。
于 2020-02-04T09:18:47.047 回答