Я хочу извлечь текстовые значения из текста в пространстве - PullRequest
3 голосов
/ 05 марта 2019

Я новичок в использовании spacy. Я хочу извлечь текстовые значения из предложений

training_sentence="I want to add a text field having name as new data"
        OR
training_sentence=" add a field and label it as advance data"

Итак, из приведенного выше предложения я хочу извлечь «новые данные» и «предварительные данные»

На данный момент я могу извлекать такие объекты, как «добавить», «поле» и «метка», используя Custom NER.

Но я не могу извлечь текстовые значения, так как эти значения могут быть любыми, и я не уверен, как извлечь их, используя пользовательский NER в spacy.

Я видел фрагмент кода здесь из отношений сущностей в документации по пространству Но не знаю, как реализовать это в соответствии с моим вариантом использования.

Я не могу поделиться кодом. Пожалуйста, помогите, как решить эту проблему

1 Ответ

2 голосов
/ 06 марта 2019

Я не уверен, что формулирование этой проблемы как задачи распознавания сущностей с чисто именованными значениями действительно имеет здесь смысл. Именованные сущности обычно являются собственными существительными и «объектами реального мира» - например, имя человека, например «Джон Доу», название организации, например «Google», или такие вещи, как болезни или гены, для именования примеров из более конкретного домена. Это также то, для чего оптимизатор именованных объектов spaCy оптимизирован.

В вашем примере кажется, что большинство подсказок на самом деле в синтаксисе , который вы обычно можете предсказать довольно хорошо из коробки. Например, вы ищете глаголы, такие как «добавить» и «метка», и их объекты («текстовое поле») или прикрепленные фразы предложения. Если вы визуализируете синтаксис, например, используя модуль displacy, вы увидите, что в структуре предложений есть много соответствующей информации, которую вы можете извлечь программным путем:

from spacy import displacy
doc = nlp("I want to add a text field having name as new data")
displacy.serve(doc)

Visualization of sentence

Вы также можете использовать сопоставление на основе правил , чтобы найти триггерные токены, такие как "label" (с тегом части речи VERB), а затем проверить дерево зависимостей найти жетоны, прикрепленные к ним. Например, если глагол «метка» прикреплен к предлогу «как», вы можете быть совершенно уверены, что прикрепленный к нему объект является именем метки. Или вы можете начать с корня предложения и перебрать его subtree и проверить, содержит ли оно токены или интересующие вас конструкции.

Возможно, вам придется немного поэкспериментировать, и вы, вероятно, в конечном итоге получите кучу разных правил для охвата различных типов конструкций, которые распространены в ваших данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...