2016-09-07 91 views
1

我是机器学习的新手,我正在寻找一种基于训练数据集学习字符串模式的技术。用于学习字符串模式的机器学习技术

我的问题: 我有不同类型的单词,属于不同的类别。每个类别都有一些自己的模式(例如,一个只有特殊字符的固定长度,另一个只存在于这个“单词”类别中的其他字符)。

例如:

"ABC" -> type1 
"ACC" -> type1 
"a8 219" -> type2 
"c 827" -> type2 
"ASDF 123" -> type2 
... 

我正在寻找一个机器学习技术,了解自身的这些模式的基础上,训练数据。我已经尝试着自己定义一些预测变量(例如字符长度,特殊字符的数量......),然后使用神经网络来学习和预测类别。但那是非常不合我想要的。我想要一种技术来自己学习每个类别的模式 - 甚至可以学习我从未想过的模式。

我想为算法提供学习数据(由单词范畴示例组成),并希望它为每个类别学习模式,以便在稍后的生产中预测类似或相同的单词。

有没有一种最先进的方法来做到这一点?

感谢您的帮助

回答

3

既然你有标签秧鸡,该过程会

1.创建饲料arff文件

@relation weka_mymodel_model 

@attribute text string 
@attribute @@[email protected]@ {type1,type2} 

@data 
'boy am I stupid. I mean, wow, that was a major oversight. let\'s blame it on monday.',type1 
..... all your data 

2.装载文件在weka软件中

在pre-proc您可以过滤(转换)数据;到例如StringToWordVector可以与J48分类等可以使用,但我们将离开这个现在,只使用可直接处理您的输入

3.分类

在标签“分类”分类,选择属性@@[email protected]@然后选择能够支持文本分类直接一个良好的开端是NaiveBayesMultinominal

在分类器的界面,设置你的设置,施特默尔禁用词,分词等

的分类使用,并与小号设置依赖于数据,但您可以在“使用训练集”,“提供的测试集”或“交叉折叠”上运行分类器,以了解您的不同设置具有哪些结果。

4创建模型

当你很高兴与您的设置,导出模型(右键单击结果>>保存模型)。

5使用模型

加载Java中的模型,创建实例,它传递给模型,并撷取您的结果。

结论

的秧鸡软件让您测试不同的设置,不同的分类算法,以找到最佳分类的最好方法是试运行不同的分类器(使用过滤器,选择属性等),与上一个不同的设置“提供测试集”并检查结果。

[Example of classifier output]

+0

非常感谢您的结构清晰和明确的答案。我已经用weka GUI尝试过了,但没有成功。我认为有一个原因可能是我的单词不是自然语言单词,它们更像是单个随机文本标识符。 – chresse