在java 中怎么调用 PullWord (http://api.pullword.com/) 分词接口?

如题所述

先说个通知,去年加入社交数据会员的同学们,数据都已经发给你们了,希望对大家的科研有帮助。 如果没收到邮件,请和我联系。

今天一个朋友来信,说我开放的那个分词,不支持跨域访问,需要在php中加这么一句:header("Access-Control-Allow-Origin: *");。加上后,他说可以了,我其实对php完全不懂,也不知道这是啥,其实分词我也是门外汉,我这个也没有用语言模型那套东西,完全走了另外一条路。

最开始pullword分词还很初级,本质上没有分词能力,就是把一句话切成两两,三三的string。比如“清华大学”构造出:“清华,华大,清华大,华大学,清华大学” 这样几个string。很显然里面“华大学”不是一个词。但是把这个揉到聚类中,聚出类后,会发现这些“烂词”在很多性质上很特别,比如在类上的分布。比如和清华大学在类分布上的相似性,用一些简单的规则可以砍掉很多词。。请注意到目前为止,我并没有利用词典来判断“华大学”不是一个词,而是根据一些结构性信息来做出“华大学”不是一个词。这样反复redo这个“切分词->聚类->得到烂词->改进且分词的能力”过程,最后通过类的信息可以构造出一个不错的字典。后来我发现了这个方法在行业语料和电商语料上“构建”了非常大的词库,并开始组建团队开始了词库创业之旅,虽然没有融到一毛钱,唯一一个老板愿意出资5万元,占股8%,我想也没想就拒绝了。。

很快挣到了一些钱,很多搞SEO,搞爬虫的找我买词库,对他们来说一个全的词库太重要了,原因大家都懂,我就不深入解释了。词库这个生意很难维持,这是因为买了词库的人,不会再买了,因为词的变化是比较少的,新词每年也就涌现有限的一点,这个生意失败后,我也就沉寂了。

直到有一天某大佬找我,说你搞这么大词库,分词行不行?我开始琢磨有了词库怎么做分词,当时一批搞机器学习的人在我身边经常交流,有一天我突然考虑了一种方法来把一句话中可能成词的每个词都用一种能量模型来进行概率量化,常识了下效果居然很好,后来有用了一些trick来让结果更稳定,比如正则化,比如随机drop一些梯度更新等等。在我的自动评分中从80分左右提高到了95分。当然这和很多分词软件提到的准确率99.99%还有距离,但是这些分词软件大部分在人民日报语料上做的,而不是在微博和贴吧这种大众化语料上做的,所以不需要多大词库也能做到很好的效果。

后来我把这个工具拿给这个大佬单位用,他给了我一笔经费(记得是2万元)。后来他说,你这个效果不错,干脆开放给社会吧。我在微信朋友圈提了这个想法,fenng马上就赞助了第一个月的费用,那会性能还不行,需要每个月1000多元来跑这个服务。后来陆续不少人赞助,直到美团云给了3.7万元,才结束了四处乞讨的生活。

快毕业的时候百度API store把pullword收录进去,目前从百度这个渠道已经累计调用3200万次,现在每天的请求也过200万次,有时候能达到400多万次,成为了一个服务社会的小产品。

后来有人问我为什么你不把语言模型和能量方程的方法结合起来,也许更好呢?语言模型的方法我觉得已经有人走的很深入了,用一个特别语言的路子解决语言问题可能并不对。而用一个不是那么语言的路子解决语言问题也不一定对,但起码值得探索。

pullword可能是我博士生涯对社会最重要的贡献,希望能为社会的进步出一份小小的力量。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网