在文本中提取标签一向是NLP中的难点问题,因为文本可能存在多个标签,这是一个多标签多分类的问题。
sklearn.multiclass中有一个OneVsRestClassifier分类器,可以将二分类器转成多标签多分类器(通过one VS rest的方案),所以我们可以将xgboost转化成提取文本标签的模型。
具体做法是:
1、将所有可能的标签进行序列化,并针对每段文本标注标签进行向量化,即构造一个所有标签长度的向量,对每个标签进行标注:有则在对应位置标1,否则标0,从而构成label。
featureList = [0] * len(featureDic)
for f in featureDic.keys():