我试图将大量的小字符串(数百万)分类为大约 10 个不相干的类别。每个类的类和字符串示例包括:
email: "foo@bar.com"
phone: "55", "22334455"
personName: "John", "Q.", "Public"
organizationName: "Reuters", "IBM"
date: "Dec.", "22.10.2010"
nameAndEmail: "Larsonlarson@gmail.com" (a last name has been concatenated with an email address.)
phoneAndEmail: "55larson@gmail.com" (part of a phone number has been concatenated with an emal address)
separator: ",", "and", "or"
other: stuff that does not fit in other categories.
通过一组启发式进行分类似乎很乏味,所以我一直在尝试使用 SVM。如果不做大量工作,我无法获得超过 80% 的准确率,例如“有一个 & 符号”、“大写”、“大部分是数字”、“中间有一个冒号”等.,这有点违背了目的。
我想知道使用 SVM 的部分挑战是否在于给定字符串的“显着特征”(例如“@”字符)不在字符串中的固定位置,因此它不会获得相同的特征每个字符串的索引。
有没有人有关于更合适的方法来完成这项任务的建议,或者任何人都可以推荐进一步阅读?