Parsing 如何解析文本对于形式语法来说太可变,但是对于NLP来说太受限?

Parsing 如何解析文本对于形式语法来说太可变,但是对于NLP来说太受限?,parsing,nlp,linguistics,Parsing,Nlp,Linguistics,我正在处理一个非正式编写的文本语料库,但通常按照惯例遵循非常标准的格式(比如Froyo冷冻酸奶、Smucker花生酱),偶尔需要递归(Froyo冷冻酸奶和Smucker花生酱) 有了regexes,复杂性很快变得难以控制(Froyo的冷冻酸奶、Smucker's的Froyo冷冻酸奶和花生酱等) 我很难找到资源来帮助我为此编写一个EBNF,而且NLP方法太复杂了(加上我的“词类”与普通英语并不完全对应)。是否有针对半形式化文本的中间方法 您可以将一个便宜且简单的EBNF“构建”到您最喜欢的编程语言

我正在处理一个非正式编写的文本语料库,但通常按照惯例遵循非常标准的格式(比如Froyo冷冻酸奶、Smucker花生酱),偶尔需要递归(Froyo冷冻酸奶和Smucker花生酱)

有了regexes,复杂性很快变得难以控制(Froyo的冷冻酸奶、Smucker's的Froyo冷冻酸奶和花生酱等)


我很难找到资源来帮助我为此编写一个EBNF,而且NLP方法太复杂了(加上我的“词类”与普通英语并不完全对应)。是否有针对半形式化文本的中间方法

您可以将一个便宜且简单的EBNF“构建”到您最喜欢的编程语言中,例如:(伪代码,让我们假设这些变量代表正则表达式)


(这是第一个例子)

这类词汇的其他一些例子可能是瓦雷斯版本的命名规则:和欧洲贵族头衔:我认为我们需要更多的例子来说明什么是有效的,什么是无效的。一些合理的模板:[制造商][风味][食品类型],[风味][食品类型](由[制造商]——我们有一个完整的(ish)食品类型和可能的制造商词典。人为的例子:由雀巢和Nabisco生产的含Praline的Edy巧克力片冰淇淋(解析树是这样的:)无效:Smucker的赛车(未知食品类型)、由Froyo进口的酸奶(由“未知关系”进口)、锐步冰淇淋(锐步以不是食品制造商而闻名)。这些可以用自由形式的句子出现(我喜欢斯莫克的花生酱)但更重要的是解决独立案例我不确定你的问题是什么..你想做什么?你能在问题主体中提供一些示例输入/输出,说明你想做什么以及为什么这是一个棘手的问题。你是想在文本中识别产品名称,还是试图解析st包含产品全名的环,并标识该名称的不同组成部分?
var digit_excluding_zero = "1|2|3|4|5|6|7|8|9";
var digit = "0|" + digit excluding zero;