【发布时间】:2019-11-21 18:32:12
【问题描述】:
为了规范段落,我面临查找和替换模式的挑战。举个例子更容易理解:我有很多类似的词:
- nm5638238.tmp、nm23345.tmp、nm56382334.tmp等
- myfile0x233454、myfile0x233124、myfile0x23AW54 等
等等。问题是我不喜欢这种自定义的正则表达式方法(我的意思是,每种情况我都需要一个正则表达式)。我需要一种“无人值守”的方法,例如发现一种模式是 myfileSOMETHING,另一种是 nmSOMETHING.tmp 等等。有什么 NLP 技术可以推荐给我吗?
谢谢!
【问题讨论】:
-
首先,您必须知道模式才能找到并替换它,对吧?实际上,正则表达式不是自定义的,而是一种常规语言。您可以构建自己的自动机,但我的意思是,无论如何您最终都会得到一个类似正则表达式的模块。您不需要为数百个(?)奇怪的文件名中的每一个使用一个表达式,而是一个用于 nm[0-9]*.tmp 和一个用于 myfile0x[0-9]* 以匹配您的表达式。也许再看看正则表达式语法:docs.python.org/3/library/re.html#regular-expression-syntax。您可以在 chomsky 层次结构上更上一层楼,但我认为没有任何好处。
标签: python nlp pattern-matching nltk