Fast Entity Linker Core
Эта библиотека выполняет сегментацию запросов и сущность, связывающую с целевой справочной базой знаний (т.е. Википедия). В своей нынешней версии он адаптирован +к связующему объекту запроса (альтернативно, короткие фрагменты текста). Основной целью было иметь чрезвычайно быстрый линкер (в среднем <1 или 2 мс/запрос на стандартный ноутбук), который полностью не контролируется, так что более сложные подходы могут работать над ним с приличным временным бюджетом. Побочным эффектом этого является то, что DataPack, используемый линкером, занимает <3GB, что делает его подходящим для запуска на сетке (и создавая след на серверных машинах очень низким).
Пожалуйста, установите Maven, прежде чем запустить этот проект. Проект поставляется с pom.xml , который должен устанавливать все зависимости при запуска командной mvn install .
Библиотека выполняет запрос и документирование сущности. Он реализует различные алгоритмы, которые возвращают достоверную оценку (~ вероятность журнала), которые должны быть (более или менее) сопоставимы по частям текста различной длины, чтобы можно было использовать глобальный порог для связывания. Программа работает с двумя данных Datastructures, одним большим хэш и сжатыми векторами и объектами. Хэш генерируется из данных, который записывает количество фраз и сущностей, которые совместно встречаются. Эти подсчеты могут поступать из разных источников, например, якорных текста и журналов запросов. В привязке, когда есть ссылка на соответствующую страницу сущности, мы храним якорь и подсчет сущностей. В журнале запросов всякий раз, когда появляется щелчок на страницу сущности, мы бы обновили количество запросов и сущностей. Слово и векторные файлы сущности являются сжатыми векторными представлениями, которые учитывают контексты, в которых появляется слово/сущность. Библиотека предоставляет способ выучить векторы сущности. Векторы слов могут быть сгенерированы с использованием общих инструментов, таких как Word2VEC, или вы можете повторно использовать предварительно обученные векторы слов, такие как те, которые доступны в быстроте в Facebook.
Библиотека также поставляется с двумя разными наборами инструментов для генерации хэш и словесных векторных файлов.
Если вы используете эту библиотеку, пожалуйста, укажите следующие документы:
@inproceedings{Blanco:WSDM2015,
Address = {New York, NY, USA},
Author = {Blanco, Roi and Ottaviano, Giuseppe and Meij, Edgar},
Booktitle = {Proceedings of the Eight ACM International Conference on Web Search and Data Mining},
Location = {Shanghai, China},
Numpages = {10},
Publisher = {ACM},
Series = {WSDM 15},
Title = {Fast and Space-Efficient Entity Linking in Queries},
Year = {2015}
}
@inproceedings{Pappu:WSDM2017,
Address = {New York, NY, USA},
Author = {Pappu, Aasish, and Blanco, Roi, and Mehdad, Yashar and Stent, Amanda, and Thadani, Kapil},
Booktitle = {Proceedings of the Tenth ACM International Conference on Web Search and Data Mining},
Location = {Cambridge, UK},
Numpages = {10},
Publisher = {ACM},
Series = {WSDM 17},
Title = {Lightweight Multilingual Entity Extraction and Linking},
Year = {2017}
}
Существует ряд разных ранков/линкеров, которые используют разные концептуальные модели. Общее описание алгоритма с некоторыми деталями реализации приведен по адресу:
Быстрый и космический эффект, связывающий запросы
Основным классом для использования является com.yahoo.semsearch.fastlinking.FastEntityLinker
Класс можно вызвать с помощью --help для перечисления доступных параметров. Они обеспечивают интерактивную связь через Stdin (отредактируйте код или расширяют класс, если вам нужен пользовательский формат вывода).
Сначала загрузите набор данных из WebSCOPE, следуя указанным ниже ссылкам.
Пример использования вызов:
mvn exec:java -Dexec.mainClass=com.yahoo.semsearch.fastlinking.FastEntityLinker
-Dexec.args= " en/english-nov15.hash " Класс CoherentEntityLinker принимает упоминания сущностей и N-лучшего списка сущностей для каждой организации упоминания в качестве входных данных. Он строит решетку из N-лучших списков и запускает алгоритм вперед.
Больше алгоритмов когерентности находятся под экспериментами. Они будут добавлены в будущих версиях кода.
mvn clean compile exec:java
-Dexec.mainClass=com.yahoo.semsearch.fastlinking.CoherentEntityLinkerWrapper
-Dexec.args= " en/enwiki.wiki2vec.d300.compressed en/english-nov15.hash test.txt "
-Dexec.classpathScope=compileВы можете включить файл отображения в аргументы линкеров объектов (ниже), который отображает интегральные категории объектов по категориям, читаемым человеком.
Следующая команда запустит линкеров в сетке Hadoop:
hadoop jar FEL-0.1.0-fat.jar
com.yahoo.semsearch.fastlinking.utils.RunFELOntheGrid
-Dmapred.map.tasks=100
-Dmapreduce.map.java.opts=-Xmx3g
-Dmapreduce.map.memory.mb=3072
-Dmapred.job.queue.name=adhoc
-files en/english-nov15.hash#hash, src/main/bash/id-type.tsv#mapping
< inputfile >
< outputfile >Класс читает файлы, в которых есть один запрос на строку - он расщепляет и принимает первый элемент. Выходной формат:
entity_type <TAB> query <TAB> modifier <TAB> entity_id
где
entity_type приведен в DataPackquery - оригинальный запросmodifier - это строка запроса, когда псевдоним объекта removeentity_id - это извлеченное сущностьВ общем, вы должны полагаться на пороговое значение и, возможно, придерживаться получения сущности TOP-1, но это зависит от того, как вы собираетесь его использовать.
Этот пакет также предоставляет код для
Подробнее об этом можно найти в пакете W2V.
В инструменте используется данные, в котором хранятся подсчеты и псевдонимы (упоминания) объектов из разных источников. Первоначально мы использовали якорный текст и журналы запросов. В следующем описывается, как добывать и вычислить якорный текст с публичной дампы Википедии, используя кластер Hadoop (или если его нет, вы можете использовать Hadoop в одной машине). Это основано на коде из инструментария Cloud9.
Подробнее об этом можно найти в пакете iO.
###Z
DataPack будет содержать два файла: один с подсчетом для каждого въезда, а один-с объектом с отображением идентификаторов. Затем вы можете хэшировать это, используя:
com.yahoo.semsearch.fastlinking.hash.QuasiSuccinctEntityHash
-i < datapack_file > -e < entity2id_file > -o < output_file > Следующие предварительно обученные модели предоставляются для выполнения сущности, связывающейся с инструментарием и доступны через Yahoo! Программа WebScope для исследовательских целей. Эти модели обучаются на Википедии и распространяются с использованием лицензии Creative Commons по лицензии SA 4.0 (см. Models_license).
Английский хэш подготовлен с ноября 2015 года Википедии
Английская сущность встраивается
Испанский хэш подготовлен с октября 2015 года Википедии
Испанская сущность встраивается
Китайский хэш подготовлен с декабря 2015 года Википедии
Китайская сущность встраивается
Roi blanco, aasish pappu