1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/opensci-gAnswer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Система GAnswer

GAnswer — это система вопросов и ответов на естественном языке, разработанная Лабораторией управления данными Института компьютерных наук и технологий Пекинского университета под руководством профессора Цзоу Лэя. Система GAnswer может переводить вопросы на естественном языке в графы запросов, содержащие семантическую информацию. Затем система может преобразовать графы запросов в стандартные запросы SPARQL, которые будут выполняться в базах данных графов, чтобы получить ответы для пользователей. Мы применяем инновационный метод, основанный на данных, для семантической дезагрегации. В частности, при создании графов запросов мы поддерживаем несколько планов сопоставления сущностей и предикатов и проводим семантическую дезагрегацию в фазе выполнения запроса в соответствии с совпадениями сущностей и предикатов (неправильные сопоставления).

Это реализация для статьи TKDE 2018 «Ответы на вопросы на естественном языке путём сопоставления подграфов над графиками знаний».

Для получения справки нажмите здесь:

Быстрый старт

Сначала необходимо загрузить необходимые файлы данных dbpedia16.rar здесь. Код извлечения — 1mcr. Это ссылка Baidu Netdisk. Если у вас возникли проблемы с открытием, попробуйте эту ссылку Google Drive здесь. Вы должны распаковать файл в каталог с именем data. Поскольку для полных данных требуется не менее 20 ГБ основной памяти, вы можете попробовать меньший набор данных (требуется 5 ГБ). Код извлечения — zuue. Обратите внимание, что производительность системы ограничена небольшими данными. Мы гарантируем, что этот набор данных подходит, например, для вопросов на нашем официальном веб-сайте, а также в наборе данных QALD. В противном случае вы должны выбрать подходящий вопрос для тестирования на основе файлов данных.

Разверните GAnswer через jar

Мы рекомендуем вам развернуть 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-запрос

Вот пример того, как вызвать службу 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 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/opensci-gAnswer.git
git@api.gitlife.ru:oschina-mirror/opensci-gAnswer.git
oschina-mirror
opensci-gAnswer
opensci-gAnswer
master