Возможная ошибка с Stanford POS Tagger и классификационным намерением и ответами
У меня есть конкретный случай использования, где человек сказал бы что-то вроде этого:
- "Эй (Слово запуска), заметка в истории объекта XYZ" или:
- "Привет (Trigger Word), запишите в диагностике объекта, что PQR"
- ("объект", используемый в примере, является заполнителем и может быть заменен такими словами, как "Техническое обслуживание / пациент" и т. д.)
Я хотел бы узнать намерения и слоты.
Затем я использую Stanford Parser для синтаксического анализа предложения, например, синтаксический анализ "Примечание в объекте истории объекта последний раз обновлялся в двадцать восемнадцать мая" дает такой список-кортеж:
[('Note', 'VB'),
('in', 'IN'),
('object', 'NN'),
('history', 'NN'),
('object', 'NN'),
('was', 'VBD'),
('last', 'RB'),
('updated', 'VBN'),
('in', 'IN'),
('may', 'MD'),
('twenty', 'CD'),
('eighteen', 'CD')]
Теперь я хочу использовать эту информацию для получения необходимого результата:
- Где заметить (у нас есть поле в БД: История объекта) и
- Что следует отметить (объект был последний раз обновлен в двадцать восемнадцать мая).
Другая проблема заключается в том, что поскольку ввод НЛП происходит из системы ASR, капитализация отсутствует. И POS Tagger неправильно отмечает "примечание" как "NN" (вместо "VB"). В идеале "примечание" / "запись" должно быть глаголом. Как мне решить эту вероятную ошибку?
1 ответ
Вы можете использовать TrueCaseAnnotator для исправления проблем:
https://stanfordnlp.github.io/CoreNLP/truecase.html
В общем, вы, вероятно, просто хотите использовать TokensRegex и написать шаблоны правил для обработки этих шаблонов. Больше информации здесь: