【从V个P到抓取邮电地址看 clear patterns 如何抵御 sparse data】

前几天的例子:V个P (挣个毛、挣个求、挣个妹,等)
P={P,屁,头,鸟,吊,jiba,妹,鬼,……}
可以看到,小数据为依据的规则系统,有时候比大数据训练的系统,可能更加有效:更精准,更能对抗 sparse data 从而提高 recall(具有 clear patterns 性质的语言现象,可以一网打尽,完全没有 sparse data 的困扰),模拟语言现象更加直接,因此也更加容易debug和维护。

在 IE 历史上,直到 MUC-7,当时表现最牛的 NE 系统 NetOwl 就是基于 pattern rules 的,几乎所有的统计对手都拿它作为拼杀的对象。NetOwl 从 SRA spinoff 出去想以 NE 为技术基础,进行商业运作,一开始在分类广告业拿下了一些业务,终究不能持续赚钱,后来被 SRA 收回,逐渐销声匿迹了。后来追随潮流,系统里面也混杂了机器学习的模块。

从此在学界就再也见不到规则系统了,哪怕是对于规则非常适用的某些 NE 任务:譬如 时间,数量结构,等。可见潮流之厉害,貌似所向披靡。但事物的本质和本性并没有改变,对于自然语言中的具有 clear patterns 的现象,依据小数据,经过人脑的归纳,行数据驱动去开发规则系统,仍然是如上述高效而高质量:工业界默默实行的人、团队和系统并不鲜见,只不过大家心知肚明,只做不说而已。

相对应,发动群众去标注大数据,然后用大数据训练一个系统如何?这是主流的默认、honored 的方法。如果数据足够大,其质量的确可以接近或匹敌规则系统。当数据量不理想的时候,就捉襟见肘了: 或者 underkill (由于 sparse data,漏掉很多统计性稍弱的变体)伤害 recall,或者 overkill (smoothing 过度,把不该抓的现象抓进),影响了precision。

什么叫有 clear pattern 的语言现象呢?举个例子,抓取邮政地址,这个工作我自己作为一个 fun project 做过。美国地址大体是 门牌、街道、城市、州、邮政编码,最后是国名,patterns 相当地 clear,可你可能无法想象上述 pattern 的构件变体之多,有些变体绝对是 long tails,再大的数据量也难涵盖其组合爆炸的本性。

如果你收集了一个巨大的美国地址库作为训练集(大数据),你完全可以设计一个学习系统来做这件事儿。而另一边,虽然也是 data driven,但只需要小数据样本,然后经过人的大脑去举一反三进行开发,最后到 raw data 的大数据中去验证反馈。可以拍胸脯的是,后一种办法做出来的系统绝对是高质量易维护,几乎天生地具有 sparse data 的免疫性。

云:
@wei , 地址parsing属于reg expressions就能搞定的事,我们大数据分析经常要做的事。这个和NLP没有多大的关系。 这是一个context free的grammer, 相对简单。

我: finite state, 是 regex 就搞定,但不少人还是训练。这是其一。
其二是,自然语言复杂性比起相对简单的地址识别,不过是多了几层而已。都可以 finite.  譬如,subcat 说需要 主语、宾语,还要一个宾语补足语,这与地址说需要一个街名、城市名和州名,也差不多。

云:
不一样的,
1. 街名
2. 城市
3. 州名
各自独立,互不依赖。
而主谓宾相互有上下文关系

我:
比喻都是跛脚的。anyway 二者都是 finite 装置可以搞定。地址由于其组件的独立性,利用 macros 调用,可以一层搞定,也可以不利用 macros 多层搞定。NL 通常要多层 finite 装置搞定。

其实我要说的是,自然语言看上去千丝万缕,复杂无比,但本性上、大面上是背后具有 clear patterns 的 monster。为什么自然语言有 clear patterns (所谓句法)在背后?乔姆斯基归结为 UG,是从娘胎里带出来的。有意思的是,语言学家看自然语言,看到的是章法,甭管这个章法多么地扑朔迷离。而没多少语言学训练的NLP工作者,往往看到的是一团纠缠不清的迷雾。

 

【相关】

中文处理

Parsing

【置顶:立委NLP博文一览】

《朝华午拾》总目录

发布者

liweinlp

立委博士,计算语言学家,多语言多领域自然语言处理(NLP)资深架构师。前弘玑首席科学家,聚焦RPA+AI的NLP低代码多领域落地,设计NLP核心引擎雕龙,落地多领域场景,包括金融、电力、航空、水利、客服等。前讯飞AI研究院副院长,研发支持对话的多语言平台,前京东主任科学家, 主攻深度解析和知识图谱及其应用。Netbase前首席科学家,期间指挥研发了18种语言的理解和应用系统。特别是汉语和英语,具有世界一流的解析(parsing)精度,并且做到鲁棒、线速,scale up to 大数据,语义落地到数据挖掘和问答产品。Cymfony前研发副总,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得17个小企业创新研究的信息抽取项目(PI for 17 SBIRs)。立委NLP工作的应用方向包括大数据舆情挖掘、客户情报、信息抽取、知识图谱、问答系统、智能助理、语义搜索等等。

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据