Как автоматизировать поиск предложений, похожих на предложения из данного списка? - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть список, скажем, «запрещенных предложений» (1000 из них, каждое из которых содержит около 40 слов). Я хочу создать инструмент, который найдет и отметит их в данном документе.

Проблема в том, что в таком документе это запрещенное предложение может быть выражено иначе, чем в этом списке, сохраняя то же значение, но измененное с помощью синонимов, нескольких слов более или менее, другого порядка слов, пунктуации, грамматики. и др c. Тот факт, что это все в Poli sh, не облегчает ситуацию с каждым существительным, местоимением и прилагательным, имеющим всего 14 падежей, а также модификаторы и род, что еще больше меняет слова. Я также думал о том, чтобы сделать так, чтобы найденные предложения ранжировались по вероятности того, что они будут запрещены, и с некоторым меньшим сходством.

Я изучал ИТ в течение двух лет, но у меня мало знаний по НЛП. Как вы думаете, это возможно сделать любителем? Не могли бы вы дать мне несколько советов о том, с чего начать, какие инструменты лучше всего использовать, чтобы собрать все вместе? Не нужно быть модным, просто практичным. Я надеялся найти готовый к использованию код, потому что я представляю, что это было сделано раньше. Есть идеи, где найти такие ресурсы или какие ключевые слова использовать при поиске? Я бы очень признателен за помощь, потому что я очень новичок в этом и должен начать с основ.

Заранее спасибо,

Камила

1 Ответ

0 голосов
/ 01 марта 2020

Вероятно, самой простой первой попыткой будет использование poli sh SpaCy, который является расширением популярной готовой библиотеки NLP для поддержки языка poli sh.

http://spacypl.sigmoidal.io/#home

Вы можете попробовать сделать это так:

  • Разделить документ на предложения.
  • Очистите эти предложения с помощью spacy (удаление стоп-слов, пунктуация, выполнение лемматизации - это поможет вам с различными rnet версиями одного и того же слова)
  • Также очистите "запрещенные предложения"
  • Подготовить векторное представление каждого предложения - вы можете использовать методы spaCy
  • Вычислить сходство между предложениями - косинусное сходство
  • Вы можете установить порог, с которого, если предложения документа похожи на любое из «запрещенных предложений» будет рассматриваться как запрещенное

Если что-то не ясно, дайте мне знать.

Удачи!

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