Связывание сущностей с пространством / Википедия

Я пытаюсь следовать примеру здесь: https://github.com/explosion/spaCy/tree/master/bin/wiki_entity_linking. Но я просто смущен тем, что находится в обучающих данных. Это все из Википедии? Скажем, мне просто нужны данные для обучения по нескольким объектам. Например, E1, E2 и E3. Позволяет ли мне указать в примере только несколько сущностей, которые я хочу устранить?

1 ответ

Если вы запустите сценарии, как указано в https://github.com/explosion/spaCy/tree/master/bin/wiki_entity_linking, они действительно создадут набор обучающих данных из Википедии, который вы можете использовать для обучения общей модели.

Если вы хотите обучить более ограниченную модель, конечно, вы можете использовать свой собственный тренировочный набор. Пример игрушки можно найти здесь: https://github.com/explosion/spaCy/blob/master/examples/training/train_entity_linker.py, где вы можете определить формат обучающих данных:

def sample_train_data():
    train_data = []

    # Q2146908 (Russ Cochran): American golfer
    # Q7381115 (Russ Cochran): publisher

    text_1 = "Russ Cochran his reprints include EC Comics."
    dict_1 = {(0, 12): {"Q7381115": 1.0, "Q2146908": 0.0}}
    train_data.append((text_1, {"links": dict_1}))

    text_2 = "Russ Cochran has been publishing comic art."
    dict_2 = {(0, 12): {"Q7381115": 1.0, "Q2146908": 0.0}}
    train_data.append((text_2, {"links": dict_2}))

    text_3 = "Russ Cochran captured his first major title with his son as caddie."
    dict_3 = {(0, 12): {"Q7381115": 0.0, "Q2146908": 1.0}}
    train_data.append((text_3, {"links": dict_3}))

    text_4 = "Russ Cochran was a member of University of Kentucky's golf team."
    dict_4 = {(0, 12): {"Q7381115": 0.0, "Q2146908": 1.0}}
    train_data.append((text_4, {"links": dict_4}))

    return train_data

Этот пример в train_entity_linker.py показывает, как модель учится устранять неоднозначность "Расс Кокрэн" гольфиста (Q2146908) от издателя (Q7381115). Обратите внимание, что это всего лишь игрушечный пример: реалистичное приложение потребует более обширной базы знаний с точными априорными частотами (как вы можете получить, запустив сценарии Википедии / Викиданных), и, конечно, вам потребуется гораздо больше предложений и лексического разнообразия, чтобы ожидать Модель машинного обучения, чтобы подбирать правильные подсказки и эффективно обобщать невидимый текст.

Другие вопросы по тегам