假设我有一个包含几十万个字符串的数据集(如果有意义的话,这些字符串是自然语言句子),每个字符串都标记了一个特定的“标签”。每个句子只标记一个标签,共有大约10个标签,每个标签大约占数据集的10%。同一标签内的句子结构具有高度的相似性。
我知道上述描述听起来像是机器学习问题的经典例子,但我想要问一个略有不同的问题。是否有已知的技术可以编程生成一组正则表达式,用于每个标签,这些表达式能够成功分类训练数据,同时还能推广到未来的测试数据?
我很乐意看到文献参考;我意识到这不会是一个简单的算法 🙂
附注:我知道通常的分类方法是使用机器学习技术,如支持向量机(SVM)等。然而,我明确寻找的是生成正则表达式的方法。(我会对用于生成正则表达式的机器学习技术感到满意,但不希望使用机器学习技术进行分类本身!)
回答:
据我所知,这是进化计算当前研究的主题。
以下是一些例子:
请查看第40-44页的幻灯片
https://cs.byu.edu/sites/default/files/Ken_De_Jong_slides.pdf(在发布此答案时,幻灯片仍然存在)。
另外,请查看
http://www.citeulike.org/user/bartolialberto/article/10710768
以获取在GECCO 2012上展示的一个系统的更详细的评论。