Система GAnswer
GAnswer — это система вопросов и ответов на естественном языке, разработанная Лабораторией управления данными Института компьютерных наук и технологий Пекинского университета под руководством профессора Цзоу Лэя. Система GAnswer может переводить вопросы на естественном языке в графы запросов, содержащие семантическую информацию. Затем система может преобразовать графы запросов в стандартные запросы SPARQL, которые будут выполняться в базах данных графов, чтобы получить ответы для пользователей. Мы применяем инновационный метод, основанный на данных, для семантической дезагрегации. В частности, при создании графов запросов мы поддерживаем несколько планов сопоставления сущностей и предикатов и проводим семантическую дезагрегацию в фазе выполнения запроса в соответствии с совпадениями сущностей и предикатов (неправильные сопоставления).
Это реализация для статьи TKDE 2018 «Ответы на вопросы на естественном языке путём сопоставления подграфов над графиками знаний».
Для получения справки нажмите здесь:
Сначала необходимо загрузить необходимые файлы данных dbpedia16.rar здесь. Код извлечения — 1mcr. Это ссылка Baidu Netdisk. Если у вас возникли проблемы с открытием, попробуйте эту ссылку Google Drive здесь. Вы должны распаковать файл в каталог с именем data. Поскольку для полных данных требуется не менее 20 ГБ основной памяти, вы можете попробовать меньший набор данных (требуется 5 ГБ). Код извлечения — zuue. Обратите внимание, что производительность системы ограничена небольшими данными. Мы гарантируем, что этот набор данных подходит, например, для вопросов на нашем официальном веб-сайте, а также в наборе данных QALD. В противном случае вы должны выбрать подходящий вопрос для тестирования на основе файлов данных.
Мы рекомендуем вам развернуть GAnswer с помощью предоставленных нами файлов jar. Конкретная процедура выглядит следующим образом:
— Загрузите 2 файла: Ganswer.jar и dbpedia16.rar. Мы настоятельно рекомендуем вам загрузить последнюю версию Ganswer.jar из выпусков этого проекта на github, чтобы обеспечить стабильность. — Распакуйте Ganswer.jar:
jar -xvf Ganswer.jar
Вы должны распаковать его в основной каталог проекта. Убедитесь, что сам Ganswer.jar находится в том же пути, что и распакованные файлы. — Распакуйте dbpedia16.rar. Обратите внимание: вы должны поместить распакованные файлы в каталог с именем data, и этот каталог должен находиться в том же пути с
unrar x dbpedia16.rar ./data/
— Другими словами, ваш каталог проектов должен выглядеть так:
Main_project_directory
Ganswer.jar
распакованные файлы из Ganswer.jar
dataраспакованные файлы из dbpedia16.rar
— Запустите файл jar:
java -jar Ganswer.jar
— Дождитесь процедуры инициализации. Когда вы увидите «Сервер готов!», инициализация прошла успешно, и вы можете получить доступ к службе GAnswer через HTTP-запросы.
Об API GAnswer Http можно узнать в главе 2.1.1 документа справки.
Вот пример того, как вызвать службу GAnswer через запрос http. Запустив GAnswerHttp, вы можете активировать GAnswer по URL следующим образом: http://[ip]:[port]/gSolve/?data={maxAnswerNum:1, maxSparqlNum:2, question:Who is the wife of Donald Trump?} Здесь [ip] и [port] — это IP-адрес и номер порта службы GAnswerHttp (порт по умолчанию — 9999). С помощью параметра «данные» в URL вы можете отправить строку json в GAnswer. В этом примере вы фактически отправляете следующие данные json:
{
"maxAnswerNum":"1",
"maxSparqlNum":"2",
"question":"Whos is the wife of Donald Trump?"
}
Здесь maxAnswerNum и maxSparqlNum соответственно ограничивают количество ответов и sparql, которые система вернёт. Оба они необязательны. Если всё пройдёт хорошо, GAnswer вернёт строку json, содержащую сгенерированный системой sparql и соответствующий ответ.
{
"question":"Who is the wife of Donald Trump?",
"vars":["?wife"],
"sparql":["select Для более подробной информации, пожалуйста, обратитесь к Главе 2.1.1 руководства пользователя.
### Запуск GAnswer в Eclipse
Если вы хотите запустить GAnswer в Eclipse, вам необходимо клонировать или загрузить исходный код и импортировать проект в Eclipse. После этого файлы jar в каталоге lib должны быть добавлены в путь сборки.
Из-за размера эти файлы jar не могут быть загружены на GitHub. Поэтому вы можете скачать их [здесь](https://pan.baidu.com/s/18IegmEgj02fF9KQFwaQr0g). Код извлечения — 64jd. Вы также можете загрузить zip-файл библиотеки через [Google Drive](https://drive.google.com/file/d/1tEsi4pBOBHd2gmwVgIOgt-ypJZQH9G3S).
Кроме того, необходим файл dbpedia16.rar. Пожалуйста, распакуйте его в каталог с именем data в главном каталоге проекта. Параметры о пути к данным можно найти в qa.Globals.localPath.
### Примечание
Для запуска GAnswer вам придётся иметь дело с множеством зависимостей, включая файлы jar, файлы данных и внешний API. Соответствующая информация содержится в главе 2.4 справочного документа.
После создания запросов sparql система по умолчанию будет обращаться к удалённому gStore для получения ответа, что может занять дополнительное время. Поэтому мы настоятельно рекомендуем вам развернуть gStore на собственном сервере для обеспечения наилучшей производительности.
- Загрузите [тройной файл DBpedia2016](https://pan.baidu.com/s/1l5Oui65sDn8QPYmA0rUvuA) и введите код извлечения 89yy.
- Разверните [gStore](http://gstore-pku.com) и используйте тройной файл DBpedia2016 для создания собственной базы данных. Стоит отметить, что тройной файл DBpedia 2016 составляет около 9,9 ГБ, а для построения требуется более 10 ГБ основной памяти и затраты более 10 часов.
## Другие вопросы
Вы можете использовать GAnswer и поделиться с нами своими ценными советами или отчётами об ошибках.
Если ваши советы или отчёт будут приняты, ваш вклад будет записан в нашем справочном документе.
Мы опубликовали несколько статей о GAnswer и задачах QA, которые вы можете найти в главе 3.2 справочного документа.
## Как сделать свои данные доступными в gAnswer
У вас может быть свой собственный набор троек, и вы захотите разместить их в gAnswer. Затем вам следует создать новый набор фрагментов из своих собственных троек. У нас есть [подробное руководство](genrate_fragments/How_to_generate_fragments.md), которое поможет вам в этом.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )