计算机是否可以通过用户提供的示例“学习”正则表达式?

计算机是否可以通过用户提供的示例“学习”正则表达式?

为了澄清:

  • 想学习正则表达式。
  • 我希望创建一个程序,该程序可以通过用户交互提供的示例“学习”正则表达式,也许是通过从文本中选择部分内容或选择开始或结束标记。

这有可能实现吗?是否存在我可以用来在 Google 上搜索的算法、关键字等?

编辑:感谢你们的回答,但我对提供此功能的工具不感兴趣。我正在寻找理论信息,例如论文、教程、源代码、算法名称,以便我自己创建一些东西。


回答:

书籍计算学习理论导论包含一种学习有限自动机的算法。由于每个正则语言都等价于一个有限自动机,因此程序可以学习一些正则表达式。@人名和@人名展示了一些无法学习有限自动机的情况。一个相关的问题是学习隐马尔可夫模型,这是一种可以描述字符序列的概率自动机。请注意,编程语言中使用的大多数现代“正则表达式”实际上比正则语言更强大,因此有时更难学习。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注