2012-02-26 55 views
1

我正在测试一个想法,使用回声状态网络的分层组合向量化任何符号的安全性到R^n中的固定大小的向量。目标是将这些序列分类为矢量(有许多机器学习算法可用于固定大小的实矢量)。向量化单词以使用机器学习算法

特别是,我用英文单词测试这个算法,试图将它们分类为名词或形容词。我的数据集在这里:http://www.ashley-bovan.co.uk/words/partsofspeech.html

使用支持向量机进行分类,我得到了9%的错误,有人请指向我相关论文或结果进行比较?

谢谢!

+0

不错的例子 - 但90%似乎是一个普遍的常数。你能发布一些错误分类的单词吗?什么是n,你如何规范化n-矢量? – denis 2012-02-27 17:59:46

回答

0

几年前,我研究了使用马尔可夫链将字符串分类为正确的俄语单词或一些随机字符串(不使用任何字典)的算法。这里是链接到翻译的文章:

http://www.begellhouse.com/journals/2b6239406278e43e,685626ff507e6e58,5232ec7f32b362ef.html

我得到的结果91%左右(非常类似于你得到了你的问题,我觉得这很迷人)。在我的研究过程中,我遇到了另一项研究,作者试图将一个短语(至少包含三个词的字符串)分类为英语,法语或德语。他们的成功率稍低(〜80%)。我无法找到他们在互联网上的工作链接,但它被称为像 - 穆雷“概率语言建模”

+0

如果您还记得我可以在哪里找到一些要测试的数据集,那么比较它会很有趣。谢谢! – user1234299 2012-02-27 13:16:17

0

你是如何使用SVM分类?哪个公式 - c-svm,nu-svm等? SVM对其参数非常敏感。你在使用哪个内核?你使用的是什么内核参数? C/nu的价值?

正确的参数将根据数据集而不同,通常部分数据用于查找内核&参数的最佳组合。错误的组合可以很容易地将您的结果显着关闭。也许你已经做到了这一点,但是从你说的话并不清楚,并且可以产生重大影响。

+0

我正在使用c-svm(在基于libsvm的mdp中的python中)。内核是线性的,但我没有真正调整libsvm给出的参数,我只是使用默认值(根据libsvm文档,c = 1),因为我想做快速测试并知道它离多远最先进的。 – user1234299 2012-02-27 13:06:16

+0

不幸的是SVM不是一个好的'快速测试'分类器 - 为了获得好的结果,你需要调整参数。我建议阅读[许志伟]支持向量分类实用指南(http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf),Chih-Chung Chang和林志仁。它会继续如何确保您的数据正确缩放,并且您已经很好地调整了参数。如果你在没有调整的情况下准确度达到91%,那么你可能会做得更好。 – karenu 2012-02-27 20:14:11

+0

在确定最新技术水平方面 - 我的研究不在这方面,所以我不知道是非正式的,而是一个快速[Google学者搜索](http://scholar.google.com/scholar?hl=en&q =%22parts + of + speech%22 + tag&btnG = Search&as_sdt = 0%2C22&as_ylo =&as_vis = 0)揭示了这篇论文:[基于变换的错误驱动 学习和自然语言处理: 词类分析标签](http://acl.ldc.upenn.edu/J/J95/J95-4004.pdf),超过1500条引用。他们声称99%的准确性,但我只是剔除它。从那里开始,看看引用这篇论文的论文来寻找更近期的工作。 – karenu 2012-02-27 20:19:35