Кратко о PullNet

искусственный интеллект глубокое обучение
Кратко о PullNet

Кратко о PullNet

Бумага: PullNet: Ответы на открытые вопросы предметной области с итеративным поиском по базам знаний и тексту

адрес:АР Вест V.org/ABS/1904.09…

Исходный код: нет исходного кода

предложить фон

Большая БЗ не может полностью хранить все знания, поэтому БЗ является неполной. Корпус обычно хранит знания в относительно полной форме, но он не так структурирован, как БЗ. Заданный вопрос — это не простой одношаговый ответ, а многошаговый вопрос, требующий рассуждений.

PullNet сочетает в себе как базу знаний, так и корпус, и использует итеративный подход для построения конкретных подграфов, содержащих информацию, связанную с проблемой. Исходя из вопроса и сущностей, содержащихся в вопросе, строится разнородный подграф (включая связанные текстовые узлы и тройные узлы).Каждая итерация вычисляет вероятность расширения каждого узла в соответствии с GCN и выбирает k узлов, превышающих порог для расширения. . Затем для выбранных k узлов извлеките связанные с ними документы, объекты и тройки, обновите их до построенного подграфа и, наконец, используйте аналогичный GCN, чтобы получить ответ после T итераций.

конкретный метод

Background

для конкретных проблемqq, чей проблемный подграфGq={V,E}G_q = \{V,E\}. Подграф задачи содержитqqНеоднородные графы связанных корпусов текстов и информации, связанной с базой знаний.VVявляются узлами в графе.

Есть три вида узловV=VeVdVfV = V_e \cup V_d \cup V_f:

  • VeV_e: узел объекта,veеVev_e \in V_e, сущность в КБ

  • VdV_d: текстовый узел,vdеVdv_d \in V_d, документ в корпусе, содержащий последовательность токенов:(w1,w2,...,wd)(w_1,w_2,...,w_{|d|}), документ представляет собой всего одно предложение, и его можно найти непосредственно через объект упоминаний.

  • VfV_f: узел факта,vfеVfv_f \in V_f, утраивается в КБ(vs,r,vo)(v_s,r,v_o), включая головную сущность, хвостовую сущность и связьrr.

EEэто ребро между узлами:

  • Если узел сущностиvev_eузел связанного фактаvfv_f,Такvev_eэто узел фактаvfv_fГоловной объект или хвостовой объект .

  • Если узел сущностиvev_eсвязанные текстовые узлыvdv_d, то текстvdv_dупомянуть об этом объектеvev_e.

алгоритм

fig1.PNG

  1. Диаграмма проблемы инициализации в началеGq0={V0,E0}G_q^0 = \{V^0,E^0\}.V0={eqi}V^0 = \{e_{q_i}\}, список сущностей для вопроса в вопросе.E0E^0это пустое множество.

  2. повторятьTTраз, каждый раз, когда вы выбираетеkkКаждая сущность дополняется, и на каждой итерации для выбранной сущности извлекается соответствующий текстовый набор и набор фактов.

  3. В конце каждой итерации в проблемный граф добавляются новые ребра.GqtG_q^t. иttПосле субитеративного расширения в конце добавляется этап классификации для определения ответа на графе вопросов.

Тяговая операция

Простая вытяжка:

  • pull_entities(vd)pull\_entities(v_d): извлечение всех упоминаний из текста.

  • pull_headtail(vf)pull\_headtail(v_f): извлечение объектов головы и хвоста из троек.

Сложная поисковая тяга:

  • pull_docs(ve,q)pull\_docs(v_e,q): В его бумажном методе все документы могут быть получены путем связывания объектов, то есть два объекта A и B упоминаются в предложении, а затем предложение может быть получено напрямую с использованием A и B в качестве индекса. В дополнение к сущности можно напрямую получить текст, а также ранжировать текст и вопросы.qqСходство IDF с , вы, наконец, можете получить вершинуNdN_dтекстовые предложения.

  • pull_facts(ve,q)pull\_facts(v_e,q): Получить и объект в КБvev_eСвязано с тем, чтобы попасть в топNfN_fузел факт. Ограничьте узлы фактов вvev_eДолжна быть его головная сущность или хвостовая сущность, то есть получить сущность в БЗvev_eПодграф с одним переходом и отношение между узлами факта рангаrrи вопросqqподобие, основанное на формулеS(r,q)S(r,q).

    • связьrrВложениеhrh_r,проблемаqqпоследовательность словq=(w1,w2,...,wq)q = (w_1,w_2,...,w_{|q|}). Сходство - это преобразование LSTMqqПредставление последнего уровня и отношениеrrСкалярное произведение вложений. Затем введите в формулу сигмовидной, чтобы получить вероятность.
    • hq=LSTM(w1,w2,...,wq)еRnh_q = LSTM(w_1,w_2,...,w_{|q|}) \in R^n
    • S(r,q)=sigmoid(hrThq)S(r, q) = sigmoid(h_r^Th_q)

Классифицировать операцию

Два типаclassifyclassifyОперации находятся в подграфахGqtG_q^tВычисления выполняются на узлах графа (вычисления продолжаются только на сущностных узлах графа). Использование графа CNN, поэтому даже если учитываются только узлы сущностей, некоторые узлы и ребра, не являющиеся сущностями, могут повлиять на окончательный результат классификации.

  • classify_pullnodes(Gqt)classify\_pullnodes(G_q^t): получить узел объектаvev_eВероятность расширения на следующей итерации. Фаза построения подграфа, на каждой итерации выберите толькоkkузел с наибольшей вероятностью.

  • classify_answer(Gqt)classify\_answer(G_q^t): После построения подграфа вычислить, может ли узел сущности ответить на вопрос, и сущность с наибольшей вероятностью является окончательным ответом.

  • GraftNet: все вышеперечисленные операции классификации рассчитываются GraftNet, который является вариантом графа CNN.

операция обновления

Приведите график, полученный на предыдущей итерацииGqt1G_q^{t-1}Добавить физический узел{ve(f)i}{ve(d)i}\{v_{e(f)_i}\} \cup \{v_{e(d)_i}\}, текстовый узел{vdi}\{v_{d_i}\}, а узел факта{vfi}\{v_{f_i}\}. И обновите ребра, соединяющие узлы.

тренироваться

Во время обучения задаются пары вопросов и ответов, где путь вывода неявный. Обучение состоит из вышеперечисленныхclassifyclassifyоперация и расчет подобия.

Во время обучения, учитывая пару вопросов и ответов, сначала найдите кратчайший путь от сущности вопроса к сущности ответа в базе знаний, а сущности, через которые проходит путь, помечаются какпромежуточные объекты-кандидаты. Для каждого промежуточного объекта-кандидата запишите его кратчайший путь к проблемному узлу.tet_e.

  • classify_pullnodesclassify\_pullnodesвttобучение в следующей итерации, эти положительные примерыe'e'подключен к потенциальному промежуточному объектуee, а расстояние равноet=t+1e_t = t + 1

  • S(r,q)S(r, q)Положительное отношение также к промежуточному объекту-кандидатуeeрасстояниеet=t+1e_t = t + 1

  • Таким образом, при извлечении больше внимания уделяется узлам кратчайшего пути к ответу.

Извлекайте все узлы сущностей во время обучения, пока их прогнозируемые оценки превышают заданный порог.ϵ\epsilon, а не только k узлов с наивысшей оценкой. В процессе обучения, если операция извлечения не получает промежуточный объект-кандидат, он все равно добавляется в граф сам по себе.

Т и порогϵ\epsilonВсе являются гиперпараметрами, и T должен быть больше или равен максимальной длине цепочки деривации.