我: 一直在想@白硕 老师说的话,白老师说话常让人费些思量;“有应用背景必被裹挟”,“被裹挟就意味着不能中立发声”。听上去像是“被迫”,如果是从一个人的背景和出身看,各人背景不同,角度不同很自然常见,但那不是被迫,是不由自主。如果是背后有金主,必须为其发声或宣传,可能会有些被迫的成分,另当别论。不过,工业界的金主(如果公司老板算金主的话)一般不在乎学术宗教。我遇到的工业老板有两类,一类是根本不在乎,对技术不懂,没看法,但无论白猫黑猫都持不明觉厉的鼓励态度,他只关心不同的 business use scenarios。另一类是不知不觉被学界影响或洗脑,天然地认为NLP=ML,忽然蹦出个非ML的NLP,搞不明白是真货还是骗人,于是敬而远之或简单排斥。后一种没少遇到,他们的怀疑排斥态度是可以理解的。这就好比本来带着病去看西医,突然来了个卖膏药的老中医,看上去就不能不令人生疑,虽然不能肯定是骗人,但总是增加了危险度。人在不懂的时候,随大流是较好的策略。这个群里的人很少有我所经历的这种夹缝中求生存的感受,30年前入行开始到如今。@雷司令大概是最近的能够多少有同感的。绝大部分的同行都是主流生主流长,非主流眼看着一个个被淘汰殆尽。没被淘汰的沦落为资料员,时间长了就少了见识和气势,构不成制衡。入行30年,直面十字军东征,那是兵败如山倒啊,我军片甲不留。我的幸运在于一直在小公司创业,一人之下,一组之上,有独立王国和平台。这个救了我。
30年学术一边倒的结果就是断层。我这样的计算语言学家后继无人,成孤家寡人了。所有的教授都必须主流,才能生存,发表或拿基金,才能资助自己的学生,组建团队。这个状况中外皆然。30年刚好一代人,于是断层就表现在整整一代。这就是机器学习老革命家 Church 作为有远见的资深主流的忧思所在,他在长篇大论【Church - 钟摆摆得太远】(在下精心翻译)中的反思和呼吁振聋发聩,quote:
我: 对,理想的状况是你中有我,我中有你。不是那种凑合并存。凑合并存比一边倒强,也能在应用中较容易实现。譬如 backoff model 类的应用系统,统计仍然做统计的,规则仍然做规则的,然后人为组合在一起。拿规则对付精准,拿统计来兜底。这样的结合容易而且合理。但不算是殊途同归的融合,是低层次的协作。更高层次的融合,需要有素质和洞察力的导师,以及尽可能有两栖训练的学生。感觉上,白老师大概是处于这种状况,桃李满天下,手中有有生力量,白老师自己的宏观指导可以保证做到不走偏,做到更好的融合。我也有一点这个条件,看运气了。如果我有机会与 ML 老搭档做项目,凭着多年的互相了解和欣赏,应该可以做到更深的融合。
又成自言自语了,但意犹未尽,姑且听之吧。最后举几个例子,说明 IE 很多就是一个玩儿。IE 的传统任务中有一些 events 需要抽取,一个是 Management Succession (高管变动),一个是产品发布(Product Launch),还有一个是公司购并(Company Acquisition),当年,这些典型的 IE 任务都来自于对企业市场的情报需求,是被看做一个有挑战性的情报挖掘的任务。有了这些情报,可以做出企业 BI (Business Intelligence) 方面的应用来。可是,现在看,这些任务简单到比玩具还不如 IF 你有一个 deep parser 核武器的话。
什么叫产品发布?顾名思义,就是:公司(S)发布(V)产品(O),some company launches some product。有了parser,所谓的 IE 开发就是照着 self-evident 的定义,编几行代码,pseudo-code 如下:
Verb=launch|release
(Subject=Company)
Object=Product
就这么一下 SVO search and IE mapping,就搞定这个事件抽取的大部了。上面的SVO抽取规则中,Subject 是可有可无的。所有的 dirty work 都被 deep parsing 做了,到了 IE 层面,就是一个玩儿。哪些 dirty work 呢?主动语态与被动语态:
Apple just launched its 10th generation iPhone 6S yesterday.
iPhone 6S was released yesterday
动词和名词:
the recent release of iPhone 6S was not a hit as expected
谓语动词和非谓语动词:
the recently launched iPhone 6S turned out not to sell well
诸如此类。
总之是表层结构的多变都被 deep parser 吃掉了,吃掉的根据就是英语的文法。它适用于一切 domains,因此是核心引擎擅长也是应该做的 dirty work。
公司购并以前举例过,那也特别简单,根据定义就可以了:what is Company Acquisition? It is a company (S) acquires (V) another company (O). 简单的 SVO pattern 就搞定。
高管变动呢?稍微复杂一点,多了一些 driving words,但是做起来也还是跟玩儿差不多。先想一想,语言是怎样表达高管变动的,用了哪些关键动词,其相应的 SVO 是什么。譬如:appoint sb as CXO 是一种,CXO step down 是另一种,replace sb by sb else as CXO 也是一种,一共也不过不到一打的 driving words,那就根据这些 words 写 SVO patterns 即可。给两天时间,有经验的开发人员大体可以搞定,就是这么简单。如果能轻松搞定,为啥还要去组织人力去标注呢?那个 ML 的知识瓶颈在这里已经不存在了。