我正在维护一个程序,该程序需要解析以文本中“几乎结构化”形式存在的数据。即产生它的各种程序使用稍微不同的格式,它可能已经被打印出来并且OCR'd返回(是的,我知道)有错误等等,所以我需要使用启发式来猜测它是如何产生的并应用不同的怪癖模式等令人沮丧,因为如果事情表现良好,我对解析的理论和实践有点熟悉,并且那里有很好的解析框架等,但是数据的不可靠性导致我写了一些非常邋遢的临时代码。目前还可以,但我担心当我扩展它以处理更多变化和更复杂的数据时,事情会失控。所以我的问题是:
由于有相当数量的现有商业产品可以做相关的事情(网络浏览器中的“怪癖模式”、编译器中的错误解释,甚至自然语言处理和数据挖掘等),我相信一些聪明的人已经考虑过这个,并试图发展一个理论,那么以尽可能有原则的方式解析无原则数据的背景阅读的最佳来源是什么?
我意识到这有点开放,但我的问题是我认为我需要更多的背景知识才能知道要问的正确问题是什么。