首页 文章

学习字符串模式的机器学习技术

提问于
浏览
2

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

My problem: 我有不同类型的单词,属于不同的类别 . 每个类别都有自己的模式(例如,一个具有固定长度,只有特殊字符,另一个存在其他字符,只出现在此类别的_1556651中) .

例如:

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

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

我想给算法提供学习数据(由单词类别示例组成),并希望它学习每个类别的模式,以便在 生产环境 后期从类似或相同的单词预测类别 .

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

谢谢你的帮助

1 回答

  • 3

    既然你有标签weka,那么过程就是

    1.为arff文件创建Feed

    @relation weka_mymodel_model
    
    @attribute text string
    @attribute @@class@@ {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软件中加载文件

    在预处理选项卡中,您可以过滤(转换)数据;例如 StringToWordVector 可以与 J48 分类器等一起使用,但是我们暂时不会这样做,只使用可以直接处理输入的分类器

    3.分类

    在选项卡"Classify"中,选择属性 @@class@@ ,然后选择一个可以直接支持文本的分类器,一个好的开始就是NaiveBayesMultinominal

    在分类器的界面中,设置设置,Stemmer,StopWords,Tokenizer等 .

    要使用的分类器和设置取决于数据,但您可以在“使用训练集”,“提供的测试集”或“交叉折叠”上测试运行分类器,以了解不同设置的结果 .

    4创建模型

    如果对设置满意,请导出模型(右键单击结果>>保存模型) .

    5使用模型

    在java中加载模型,创建实例,将其传递给模型并检索结果 .

    结论

    weka软件允许您使用不同的设置测试不同的分类器算法,找到最佳分类器的最佳方法是在“提供的测试集”上测试运行不同分类器(使用过滤器,选择属性等)和不同的设置并检查结果 .

    ![Example of classifier output
    ]

相关问题