Я думаю о создании API, который позволил бы программе представить «отпечаток пальца» академической публикации, сопоставить его с базой данных статей из журналов открытого доступа и, если он найден, отправить пользователю каноническую информацию о цитировании. Первоначально это было бы для конкретной небольшой исследовательской области, поэтому для достижения успеха не обязательно иметь дело с 20 миллионами работ (даже если бы были охвачены 1000 наиболее часто цитируемых работ в этой области, это было бы огромным благом для производительности. и сотрудничество).
Интересно, какая библиотека (которая в идеале способна взаимодействовать с Ruby) была бы лучшей для этой «дактилоскопии». Я видел нечеткое совпадение Люсена, но, похоже, это работает на уровне слов, в то время как в этом случае мы, вероятно, хотели бы представить гораздо большее подмножество документа. Причина нечетких совпадений заключается в том, что некоторые люди могут иметь препринт Word.doc, некоторые могут иметь окончательный PDF и т. Д.
Я действительно ценю некоторые идеи здесь. Погуглив для «перцептивного хэша», я попаду в кучу нового материала. Я попытался обобщить многие из моих выводов здесь .
Кажется, что SimHash , например реализация C будет подходящим вариантом, но мне все еще нужно поэкспериментировать больше.