白:
“那个假流氓真流氓”
“这种做法不禁令我们大吃一惊”
李:
前一句有意思 等我回头试试,第二句没看到 catch 啊。
白:
分词和句法的相互作用,“禁令”是名词,“令”是类介词的动词。“不+名词”即使不是严格禁止的,至少也是极其低概率的。
李:
这个知识在多数切词程序里是没有容身之地。当然还有别的办法。人在伯克利 没法测 第一眼居然没看到切分歧义。刚回家第一件事就是测试白老师的句子,悲喜参半啊:
第一句出来了,第二句果然切分错了,当然前面说过,“不+名词”的规则通常在切词的时候没地方容纳。还是用更简单的ngram的头疼医疼的办法吧。于是改正如下:
不过话说回来,如果真要难为系统,总是可以的:譬如,假流氓真流氓我管不着。
果然中招:
分了真假 就做不好并列;做了并列 就难兼顾真假。
白:
按下葫芦起来瓢
李:
如果鱼与熊掌一定要兼得,就太过精巧 君子不为也。不是不可以做 但不能这样做。维持现状吧。
白:
对NLP没感觉的人很难理解是什么让顶尖高手不得不妥协。
雷: 哈哈哈。顶杆
李:
妥协是因为吃过亏 吃过自作聪明的亏 精巧的亏
白:
问题不在于你解决了什么,而在于你解决了“这一个”的同时,不影响你已经解决的“那些个”。
雷:
不可调和?not even by bribery?
李:
哈,那要看量
雷:
工程上可以
李:
没有不可以的事儿
白:
不是技术问题,是商业问题
雷:
理论上顶在那里
李:
但懂得什么时候选择不做 有时比做 更重要。见好就收吧。这是不同维度的纠缠。
白:
里维和外围的纠缠
我:
平行并列是一个维度。“真”“假”的词性和用法的不同是另一个维度。“流氓”的名词形容词歧义又增加了一个维度。事不过三原则(见【系统不能太精巧,正如人不能太聪明】) 说的就是当多维纠缠的时候 你可以随风起舞 跟着去绕 但不要绕进去太深 要有适可而止的智慧。
梅:
@wei 是啊,不必去fit noise。
李:
不仅是 noise,更主要的是要皮实,不能让系统内部相互依赖太多。“精巧”的系统今天把一个拐角处的“艰深”问题解决了,而且通过了 regressions 测试,似乎没有副作用。可是明天呢 后天呢?系统在前进过程中,一定会打破动态平衡,凡是太过精巧的地方最终会在前进中遭遇困扰。于是我们就被拖进了两难的泥潭,把注意力放到了不该放的犄角旮旯。两难是:
那个 case 是 tested case,进入了 regressions baseline,因为精巧而脆弱,因此常常成为 regressions testing 的红灯区。红灯一亮,我是去对付它呢,还是放过它呢,真地两难啊:
对付它就要耗费资源,耗费我的时间,为了维护的是一个小概率的case,不断地耗费资源,不值得。如果放过它呢,这就等价于我们一开始就不该做,不该精巧地“解决”这个问题。后一个选择是明智的,但还是不如一开始就坚持事不过三的原则来指导系统的开发。系统的鲁棒性比解决个别的长尾问题要重要。
首发 2016-06-02 【新智元笔记:做NLP也要见好就收,适可而止】-科学网
【相关】