2015-11-18 7 views
3

Я использую веб-API семантического сходства, предоставляемый UMBC. В моей java-программе я отправляю HTTP-запрос http://swoogle.umbc.edu/SimService/GetSimilarityoperation=api&phrase1=XXXX&phrase2=XXXX и я разбираю вывод, чтобы получить результат.Внедрение Semantic сходства UMBC

Проблема, которую я испытываю, заключается в том, что я обрабатываю данные большого масштаба. Это занимает много времени, и я должен делать это много раз. Мне было интересно, есть ли более быстрый способ запроса веб-API в java? или существует ли версия этого инструмента? и насколько легко для кого-то, не являющегося экспертом в НЛП, реализовать его?

ответ

2

Похоже, вы хотите быстро обрабатывать многие пары фраз, а предоставленный здесь API не подлежит ремонту.

Ваших вариантов избежать болей сетей являются:

  1. Используйте альтернативный API, которая доступна в пакете. Если бы был вызов, который принимал много пар фраз и выводил сразу множество оценок сходства, это позволяло бы вам идти быстрее - но до тех пор, пока их API воплощает вызов функции (lhs, rhs) -> score, вы будете ограничены тем, как быстро вы можете вызвать функцию.

Там в related question, который был закрыт как по теме, но в котором упоминается cortical.io как API, который обеспечивает «основную часть» сравнить.

  1. Попросите источник запустить его самостоятельно. Обратитесь к организации, в которой размещен API, и спросите, могут ли они сделать свой исходный код доступным (публично или просто для вас).
  2. Внесите свой метод или что-то подобное себе.

Чтобы помочь с 3., я предоставил некоторые ресурсы ниже.

Сотрясая их website, и group's publication page, я нашел эту публикацию, которая может быть интересной.

Abhay L. Kashyap et al., "Robust Semantic Text Similarity Using LSA, Machine Learning and Linguistic Resources", Language Resources and Evaluation, январь 2016, 73 загрузки.

За то, что это проще реализовать, и по крайней мере конкурентоспособной в производительности, я бы рекомендовал смотреть на слова векторных подходов подобия, как Stanford's GloVe или Google's word2vec (вы, возможно, придется переучиваться, чтобы фразы размера вы хотите, или вы могут играть трюки с усреднением или добавлением векторов для представления фраз).

 Смежные вопросы

  • Нет связанных вопросов^_^