Мне неизвестно о каких-либо готовых к использованию библиотеках с открытым исходным кодом, которые реализуют кластеризацию по требованию именованных объектов, предоставляемых Google Sets. Тем не менее, есть несколько научных работ, в которых подробно описывается, как создавать подобные системы, например:
Ниже приводится краткое изложение метода Вана и Коэна. Если вы в конечном итоге реализуете что-то подобное, возможно, было бы неплохо начать с их метода. Я подозреваю, что большинство людей найдут его более интуитивным, чем формулировка Гахрамани и Хеллера.
Wang and Cohen 2009
Ванг и Коэн начинают с описания метода автоматического построения шаблонов извлечения , которые позволяют им находить списки именованных сущностей в любом виде структурированного документа. Метод просматривает префиксы и суффиксы, заключающие в скобки известные вхождения именованных сущностей. Эти префиксы и суффиксы затем используются для идентификации других именованных объектов в том же документе.
Чтобы завершить кластеры сущностей, они строят график , состоящий из взаимосвязей между именованными сущностями, шаблонов извлечения, связанных с ними, и документов. Используя этот график и начиная с узлов исходных объектов кластера (то есть начального набора объектов в наборе, который должен быть завершен), они выполняют многочисленные случайные обходы на графике длиной до 10 шагов. Они подсчитывают, сколько раз они достигают узлов, соответствующих не начальным объектам. Объекты без начального числа с высоким числом могут затем использоваться для завершения кластера.