如何在scikit-learn中使用带有SVM的非整数字符串标签?蟒蛇

alv*_*vas 6 python nlp svm pos-tagger scikit-learn

Scikit-learn具有用于机器学习的相当用户友好的python模块.

我正在尝试为自然语言处理(NLP)训练SVM标记器,其中我的标签和输入数据是单词和注释.例如,词性标注,而不是使用双/整数数据作为输入元组[[1,2], [2,0]],我的元组将看起来像这样[['word','NOUN'], ['young', 'adjective']]

任何人都可以举例说明我如何将SVM与字符串元组一起使用?这里给出的教程/文档是针对整数/双输入的.http://scikit-learn.org/stable/modules/svm.html

ogr*_*sel 12

大多数机器学习算法处理作为浮动矢量的输入样本,使得一对样本之间的小(通常是欧几里德)距离意味着 2个样本以手头问题相关的方式相似.

机器学习从业者有责任找到一组好的浮动特征进行编码.这种编码是特定于域的,因此没有通用的方法来构建可以跨所有应用程序域工作的原始数据(各种NLP任务,计算机视觉,事务日志分析......).这部分机器学习建模工作称为特征提取.当涉及大量手动工作时,这通常被称为特征工程.

现在针对您的具体问题,可以通过使用scikit-learn 的DictVectorizer特征提取辅助类来适当地编码句子中感兴趣的词周围的单词窗口的POS标签(例如,用于序列标记,例如命名实体检测).