舟:新闻标题:“球员明天昨日与爱妻举行婚礼,武汉队官方送上祝福” 如何解析?
白:爱妻一个坑,球员一个坑,武汉队反填球员坑,球员反填爱妻坑。明天做专有名词。什么都能做专有名词,明是一个姓,更能。昨日倒是只能做状语。再加上一个矛盾的时间状语,优先级折损,让专有名词义项露出来。
“明天”本来就是名词,组成同位结构和降格成为状语两个可能性,在句法层面本来都是存在的。只不过,同位结构是NN合并,需要白名单制。进入白名单的条件之一就是“类型相谐、一称呼一实例”。现在,是要在句法标签同为N的情况下,解决本体标签由Time向Human转换的问题。
舟:@白硕 谷歌百度,都没有搞定翻译![Tongue][Scream]
球员明天昨日与爱妻举行婚礼,武汉队官方送上祝福。
百度:The players will have a wedding with their beloved wife tomorrow and the Wuhan team will send their best wishes to them.
谷歌:The player held a wedding with his beloved wife yesterday, and the Wuhan team officially sent blessings.
谷歌还是聪明一些,把明天扔掉了……[Tongue][Grin][Shhh]
詹:这个得有篇章处理能力才好。正文第一句“武汉队球员明天与爱妻举行婚礼”。这个“明天”还得继续是专名。
荀:从工程角度看,类似这样的极端例子,不是现阶段NLP能力所及,处理对了也未必理解了上下文。可以愣是迎着困难上,很可能得不偿失,灌入更多类似语言现象数据,或者引用更多语言知识,这句对了,可能受伤大批句子。
学理上可以深入讨论,能得到以点带面的结论是非常好的,但是那这些句子去测试机器翻译,测试大模型的能力,没有意义。
李:荀老师所言极是。
有过教训的。极端例子的处理很难“包圆”,这往往造成副作用远大于正面作用。这是因为极端例子统计上属于极小概率。对于极小概率的现象,最有利的工程策略是选择忽略它,与噪音过滤同理。
可以探讨原则性的解决方案,实现的时候需要小心与现架构或pipeline小心对接。例如,专有名词的任意性是一类现象,虽然每一个具体案例都是小概率,但这类现象可以探讨一种原则性的出路。出路往往出现在另一个层面,例如应用场景的动态词典层面:一个与常用词同形的专名在 discourse 或某个数据源中反复出现,当它远远高于它作为常用词的正常出现频率的时候,它作为专有名词的小概率就变成了现实可能性。动态词典或用户词典可以收录它,增加它作为专名的权重。把动态词典与系统核心词典融合,可望帮助解决这类层次纠缠。但这种融合还是需要格外小心。比如,动态词典不仅仅要适合的时机融入处理,也要在合适的时候退出,以免对于变化了的场景产生持续的副作用。
通常的 NLP 只针对局部字符串。现在出现了更大的场景约束: dicourse、data source(source 本身也份不同层次)、domain 以及用户词典。为这些场景规划范围,以及资源进出的条件边界,是一个远远超出常规NLP处理流程的更高层面的控制逻辑。很不容易处理妥帖。
弄巧成拙的坑,不知道栽进去多少回了。
很多年前,还是在跟随刘倬老师做MT的时候,我们做过一个动态领域词典帮助确定领域场景的简单实现,有动态加入和忘记的功能:就是建立一个有限长度的先进先出的队列,当进入某个 discourse,有足够多领域A的词汇时候,就认定为A领域场景。当数据源源不断进入系统处理,领域B的词汇进来会冲刷领域A词汇,系统就进入领域B的场景。
这是为了解决WSD的领域问题,很多常用术语是跨好几个领域的,不同领域的译词不同。当时的办法就是希望动态决定,实际上就是 domain 词汇 propagation 的效果。取得了局部成功。当然,现如今的神经系统对于更大的上下文有表示记忆,这类当年的难题原则上在 discourse层面已经解决。超越 discourse 层面的,很多翻译软件(例如搜狗)允许用户自己设定一个大的领域。
另:现在对预训练的好感越来越浓,彷佛看见了一道曙光。隐隐觉得 预训练+下游NLP落地 可能是人间正道,可望碾压 parser+落地,但在当下的时间点,还不好说这条道路在规模化领域落地方面的可行性究竟如何。觉得时间窗口是 5-10 年。按照现在的科研进步和资源投入,5 年左右还做不到遍地开花,那就是遇到了真麻烦。否则,有可能终结符号路线。
荀:深度语义解析,离不开符号和结构,但不会是之前合一运算那样暴力使用知识,而是跟模型结合,处理好符号和参数方法的适用边界和做好两者融合是关键。我们在这个方向探索了多年,有了一些经验和体会,正在努力地把它写出来并开源。
李:looking forward to it ....
有时候,我也有建设开源社区的冲动,一直没有机会和精力。同时也觉得真开源了,也是门可罗雀。不知道要经营多久才有可能形成社区效应。但有一些积累如果总不开源,一辈子的思索和闯荡,也就老死手中了,想想也挺悲催的。
荀:是的,有心理准备,学习代价就是最大障碍。在努力地做到简单易学易用,届时各位老师多指教。
李:学习代价是个拦路虎。无论怎么简单易学,实现低代码,符号NLP 还是很难普及。
内部曾经说过,正则和 Excel 够简单了吧,真学好还是要费力气的。我说我定义的语言script 比正则还要简单,为什么说难呢?被告知:正则学了,Excel 学了,到处可用,那是万金油。学这个 哪里认呢?
想想也是。这不是简单降低门槛,把设计做到极致简单就可以普及的事情。
荀:不管效果如何,算是多一些不同的声音和思路。不过还是小有信心的,在北语,可以部分放在课程体系中,几轮下来,辐射面挺乐观的。
李:嗯,学校环境有所不同,可以渐渐辐射。工业界不一样,前场救火似的,很难有耐心和动机坐下来学一门偏门的东西。
荀:nlp往深里做,不可能不结合语言知识,只是找到好的做法。逼到墙角了,不得不学,不得不用,现在还没到墙角,还可以发论文,还可以拿到项目。
白:script的服务对象是程序员,那是最难伺候的用户群。
学一套特殊的表示如果能赚许多钱,没人跟钱过不去。有了钱,把这套特殊的表示传承下去也不是问题。否定别人的时候用百年老店的思维,肯定自己的时候用急功近利的思维,这叫双标。恐怕掌握特殊表示的人是否稳定,才是真正需要解决的问题。
李:好绕 lol
表示无所谓,不过就是面子而已。但是没有面子,也不知道如何传达里子。魔鬼在里子。
这种矛盾的确道可道非常道。
朋友圈刚看到这篇:Yann LeCun:发现智能原理是AI的终极问题 | 独家对话
很有意思的对话,其中谈预训练和自监督 从 raw corpus 学习所谓先验知识/结构,LeCun 信心满满认为这是AI的革命性转折。
在 raw corpus 里学习知识/结构,这与人们跳到水中学会游泳同理,与孩子在语言环境中自然学会说话同理。学校里学文法(成为 parser)是明着学结构,而预训练是暗着学结构。 表示不同,目标和原理一致。
白:其实明暗还可以细分,明着学what暗着学how是一种选择,what和how都暗着学是另一种选择。目前主流做了后一种选择,我看不出来除了商业考量(标注成本)之外有什么科学上的依据证明“明着学what”有何不妥。
李:没有不妥,主要是消化不良。主流还没有 figure out 如何接受明学的结构。既然消化不了,索性禁食,另有所食,发现还原到热量和维生素差不多是等价的。
这里有一个断裂。主流其实某种程度上 figure out 了如何生成显式结构,例如谷歌的 SyntaxNet 和 斯坦福 parser,都是深度神经训练出来的,在新闻类标准测试集上表现优异(但对于数据太过敏感,一旦换到领域数据,质量悬崖式下跌),可以媲美专家系统。但是,这是为 parsing 而 parsing,因为主流 parser 的结果主流自己也不知道如何消化和落地。
预告:李维《巴别塔影:符号自然语言处理之旅》(人民邮电出版社 2022)