Нужен совет

428 views
Skip to first unread message

Станислав Фатеев

unread,
Nov 19, 2015, 8:56:07 AM11/19/15
to nltk-russian
Есть задача обрабатывать строки такого вида: "John is a 6’4" quarterback who has a 30 in vertical, runs a 4.8 40 yard dash and weighs less that 250 pounds". Необходимо выделить рост и вес спортсмена (если они есть в предложении) и его результаты в определенных упражнениях (если они есть, количество их в строке может быть неограниченно, но количество типо конечно (на самом деле пока требуется выделять 5)) Рабочий алгоритм сделал на обычных преобразованиях строк и регэксах, без nltk, но чувствую что все очень костыльно и думаю внедрить nltk в процесс. Как я действую сейчас: делю предложения на части основываясь на словах 'who', 'that', 'and' и т.д. Выделяю в частях числовые значения - в том числе те, которые записаны прописью. Нахожу значащие слова - 'height', 'weighs', 'jump', '40 yard dash' и т.д. Используя простую эвристику (мне известны минимальные и максимальные значения показателей- например человек не может быть 3 метров высотой) ассоциирую слова со значениями. Что можно поправить или улучшить?

Vladimir Ignatev

unread,
Nov 1, 2020, 7:15:08 AM11/1/20
to nltk-russian
Можно попробовать сначала токенизировать и лематизировать текст и отфильтровать используя стоп слова, затем выбрать н-граммы. Некоторые нграммы будут содержать леммы, окружающие численное значение. Далее построить классификатор по этим нграммам для определения к какому классу значений можно его отнести. Переход от текста к нграммам сокращает число размерностей, и дальше строить отдельные классификаторы для вот этих нграмм.
Если векторизовать леммы из этих нграмм, можно будет потенциально использовать широкий круг алгоритмов классификации.

Reply all
Reply to author
Forward
0 new messages