我正在使用语义相似的web API,由UMBC提供。在我的java程序中,我发送一个HTTP http://swoogle.umbc.edu/SimService/GetSimilarityoperation=api&phrase1=XXXX&phrase2=XXXX,并解析输出以获得结果。
我遇到的问题是我正在处理一个大规模的数据。花了这么长时间,我不得不做很多次。我想知道是否有一种更快的方法来查询java中的Web?或者,这个工具有一个可实现的版本吗?对于非NLP专家来说,实施NLP有多容易呢?
发布于 2015-11-19 13:09:10
听起来,您需要快速处理许多短语对,这里提供的API是不可用的。
为了避免网络的痛苦,您的选择是:
(lhs, rhs) -> score
的函数调用,您就会受到调用该函数的速度的限制。有一个被关闭为非主题的相关问题,但它提到cortical.io是一个提供“批量”比较的API。
为了帮助3,我在下面提供了一些资源。
环顾他们的网站和组的出版页面,我发现这个出版物可能很有趣。
Abhay L. Kashyap等人,基于LSA、机器学习和语言资源的鲁棒语义文本相似度,“语言资源和评价”,2016年1月,下载73次。
为了更容易实现,并且至少在性能上具有竞争力,我建议使用单词向量方法来实现相似性,比如斯坦福大学GloVe或谷歌的word2vec (您可能需要重新训练以获得您想要的短语大小,或者您可以使用平均值或添加向量来表示短语)。
https://stackoverflow.com/questions/33784448
复制相似问题