То, что я хочу знать, - это лучший способ извлечь смысл из текста. Я прочитал NLTK , и это дало мне хорошую информацию об основах НЛП.
Я новичок в nlp, поэтому мне тяжело решить, каким должно быть мое направление. После прочтения текста NLTK вот что я думаю, что решит мою проблему:
Вот моя идеальная цель с примерами предложений:
Введите:
Делать Х с 29.08.2008 г. по 12.09.2008 г. (каждую среду) и 10.09.2008 г. (понедельник)
Выходная часть тега Speech выделена жирным шрифтом (по крайней мере то, что я предлагаю):
Выполните X 29.08.2008 ( Дата ) до ( Диапазон ) 9/12/2018 ( Дата ) (каждые ( Частота ) Среда ( День ) и 9/10 / 2018 ( Дата ) (понедельник) ( День )
Далее я бы перебрал часть речевых тегов и бросил текст. Я надеюсь, что после правильного разбиения текста мне потребуется дополнительная обработка, чтобы выяснить, чего именно хочет пользователь. Вот что я думаю, что результат будет после успешного извлечения значения из предложения:
8/29/2018 - 9/12/2018, среда
9/10/2018, понедельник
Я понимаю, что найти дни месяца, дни, даты и т. Д. Можно легко с помощью регулярного выражения.
Но моя проблема в том, что метод NLTK nltk.pos_tag не будет работать для меня. (Для тех, кто не знаком, этот метод является частью речевого тегирования слов likw существительное, глагол и т. Д.) Скорее всего, мне придется настроить свой собственный метод pos_tag ?
Так вот мой вопрос. Является ли тегирование каждого токенизированного слова первым, а затем разбиение предложений из тегов считается лучшей практикой для извлечения значения?
Полагаю, мне понадобится какая-то классификация ИИ, чтобы выучить часть фрагмента, чтобы в будущем я мог извлечь смысл из более чем одного предложения.
Мой подход вменяемый? Я сошел с ума? :)