Entity Linking с простором / Википедия - PullRequest
1 голос
/ 06 февраля 2020

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

1 Ответ

2 голосов
/ 06 февраля 2020

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

Если вы хотите тренировать более ограниченную модель, конечно, вы можете кормить в своем собственном тренировочном наборе. Пример с игрушкой можно найти здесь: 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 показывает, как обучается модель для устранения неоднозначности "Russ Cochran" гольфист (Q2146908) от издателя (Q7381115). Обратите внимание, что это просто игрушечный пример: для приложения * realisti c потребуется большая база знаний с точными предыдущими частотами (как вы можете получить, запустив сценарии Wikipedia / Wikidata), и, разумеется, вам потребуется гораздо больше предложений и лексическое разнообразие. ожидать, что модель машинного обучения подберет правильные подсказки и эффективно обобщит невидимый текст.

...