UMBC 语义相似性实现
UMBC Semantic Similarity Implementation
我正在使用由 UMBC 提供的语义相似性网络 API。在我的 java 程序中,我发送了一个 HTTP 请求
http://swoogle.umbc.edu/SimService/GetSimilarityoperation=api&phrase1=XXXX&phrase2=XXXX
然后我解析输出以获得结果。
我遇到的问题是我正在处理大规模数据。这需要很长时间,我必须做很多次。我想知道是否有更快的方法来查询 java 中的 Web API?或者,是否有此工具的可实施版本?非 NLP 专家实施它有多容易?
听起来你想快速处理很多短语对,这里提供的API不可用。
您避免网络痛苦的选项是:
- 使用批量可用的备用 API。 如果有一个调用接受多对短语并同时输出许多相似性分数,这将允许你要走得更快——但只要他们的 API 包含
(lhs, rhs) -> score
的函数调用,你就会受到调用函数的速度的限制。
有一个 related question that was closed as being off-topic, but which mentions cortical.io 作为一个 API 提供了一个 "bulk" 比较。
- 自己索取源代码 运行。 联系托管 API 的组织并询问他们是否可以提供源代码(公开或只对你)。
- 自己实现他们的方法或类似的方法。
为了帮助完成 3.,我在下面提供了一些资源。
翻阅他们的 website, and the group's publication page,我发现这篇文章可能很有趣。
Abhay L. Kashyap 等人,"Robust Semantic Text Similarity Using LSA, Machine Learning and Linguistic Resources",语言资源和评估,2016 年 1 月,73 次下载。
对于更容易实现且至少在性能上具有竞争力的东西,我建议查看相似度的词向量方法,例如 Stanford's GloVe or Google's word2vec(您可能需要重新训练才能获得所需大小的短语,或者您可以通过平均或添加向量来表示短语来玩花样)。
我正在使用由 UMBC 提供的语义相似性网络 API。在我的 java 程序中,我发送了一个 HTTP 请求 http://swoogle.umbc.edu/SimService/GetSimilarityoperation=api&phrase1=XXXX&phrase2=XXXX 然后我解析输出以获得结果。
我遇到的问题是我正在处理大规模数据。这需要很长时间,我必须做很多次。我想知道是否有更快的方法来查询 java 中的 Web API?或者,是否有此工具的可实施版本?非 NLP 专家实施它有多容易?
听起来你想快速处理很多短语对,这里提供的API不可用。
您避免网络痛苦的选项是:
- 使用批量可用的备用 API。 如果有一个调用接受多对短语并同时输出许多相似性分数,这将允许你要走得更快——但只要他们的 API 包含
(lhs, rhs) -> score
的函数调用,你就会受到调用函数的速度的限制。
有一个 related question that was closed as being off-topic, but which mentions cortical.io 作为一个 API 提供了一个 "bulk" 比较。
- 自己索取源代码 运行。 联系托管 API 的组织并询问他们是否可以提供源代码(公开或只对你)。
- 自己实现他们的方法或类似的方法。
为了帮助完成 3.,我在下面提供了一些资源。
翻阅他们的 website, and the group's publication page,我发现这篇文章可能很有趣。
Abhay L. Kashyap 等人,"Robust Semantic Text Similarity Using LSA, Machine Learning and Linguistic Resources",语言资源和评估,2016 年 1 月,73 次下载。
对于更容易实现且至少在性能上具有竞争力的东西,我建议查看相似度的词向量方法,例如 Stanford's GloVe or Google's word2vec(您可能需要重新训练才能获得所需大小的短语,或者您可以通过平均或添加向量来表示短语来玩花样)。