Sam*_*ack 5 python svm nltk pos-tagger scikit-learn
我想在 Python 中使用带有非英语语料库的 SVM 进行 POS 标记。看起来 Python 还不支持使用 SVM 进行标记(http://www.nltk.org/_modules)。
scikit-learn 有一个 SVM 模块。所以我安装了 scikit-learn 并在 Python 中使用它,但我找不到任何关于使用 SVM 进行 POS 标记的教程。
我真的不知道该怎么做,任何帮助将不胜感激。
它必须是 SVM 吗?NTLK 有内置工具来进行词性标记:分类和标记单词
如果你想使用自定义分类器,请看这里: http: //www.nltk.org/api/nltk.classify.html,Ctrl+F “svm”,NTLK提供了一个名为scikit-learn算法的包装器SklearnClassifier
。然后看看这里http://www.nltk.org/api/nltk.tag.html “分类器”,有一个类nltk.tag.sequential.ClassifierBasedPOSTagger
显然可以使用sklearn中的包装分类器。
我还没有尝试过这个,但它可能会起作用。
编辑:它应该像这样工作:
from nltk.classify import SklearnClassifier
from sklearn.svm import SVC
clf = SklearnClassifier(SVC(),sparse=False)
cpos = nltk.tag.sequential.ClassifierBasedPOSTagger(train=train_sents,classifier_builder
= lambda train_feats: clf.train(train_feats))
Run Code Online (Sandbox Code Playgroud)
唯一的问题是 sklearn 分类器仅采用数字特征,因此您需要以某种方式转换您的分类器。
归档时间: |
|
查看次数: |
2021 次 |
最近记录: |