Проверка грамматики / орфографии с предложением слов Python - PullRequest
0 голосов
/ 07 ноября 2018

Я работаю над проектом НЛП, который анализирует спецификации на естественном языке. Я использую инструментарий NLTK и автозамену для токенизации, POS-тегов и проверки на орфографические ошибки. Но я недавно столкнулся с проблемой. Так что пример: «Тогда крачки ушли». в то время как пользователь на самом деле означает «Затем он поворачивает налево».

POS-тегер из набора инструментов NLTK распознает «крачки» как прилагательное. Но поскольку само предложение грамматически неверно, а синтаксический анализатор NLTK по-прежнему ограничен исправленными предложениями, я не буду винить его. А так как «tern» является правильным английским словом, функция автозамены также не улавливает ошибку. Когда я использую грамматические инструменты, такие как Грамматика, для проверки предложения, я получаю предложение вроде: слово «крачки», кажется, не соответствует этому контексту, и предлагает мне заменить его словами «повороты».

Как я могу исправить эту проблему? Например, сообщить об ошибке и дать предложение на предложение «Тогда крачки слева». -> «Тогда он поворачивает налево.»

Теперь я думаю сначала проверить грамматику. Например, может быть, слово «между» и «слева» должно быть глаголом. Затем дает предложение, основанное на том, что нам нужен глагол. Синтаксический анализатор NLTK на самом деле не говорит, какое слово вызывает проблему. Я также попробовал грамматическую проверку и проверку языка (которые они одинаковы). Это слишком медленно для моей цели.

Есть предложения о том, как решить эту проблему?

1 Ответ

0 голосов
/ 08 ноября 2018

То, что вы здесь описываете, представляет собой сложную проблему, но она может быть потенциально решена путем проверки слова concordance или, другими словами, путем проверки контекстов, в которых слово используется в других средах. Затем вы можете сделать обоснованное предположение на основе контекста, если использование этого слова имеет какой-либо смысл, когда оно используется в предложении субъекта. Вот пример из nltk docs , использующего Моби Дика в качестве пространства поиска.

>>> text1.concordance("monstrous")
Displaying 11 of 11 matches:
ong the former , one was of a most monstrous size . ... This came towards us ,
ON OF THE PSALMS . " Touching that monstrous bulk of the whale or ork we have r
ll over with a heathenish array of monstrous clubs and spears . Some were thick
d as you gazed , and wondered what monstrous cannibal and savage could ever hav
that has survived the flood ; most monstrous and most mountainous ! That Himmal
they might scout at Moby Dick as a monstrous fable , or still worse and more de
th of Radney .'" CHAPTER 55 Of the monstrous Pictures of Whales . I shall ere l
ing Scenes . In connexion with the monstrous pictures of whales , I am strongly
ere to enter upon those still more monstrous stories of them which are to be fo
ght have been rummaged out of this monstrous cabinet there is no telling . But
of Whale - Bones ; for Whales of a monstrous size are oftentimes cast up dead u
>>>

Кроме того, если вы еще не используете тегер Stanford POS вместо стандартного тега NTLK, он может дать лучшие результаты за счет производительности.

...