Используйте PHP для извлечения экземпляров вхождения слова в контекст и фильтрации результатов по определенным критериям. - PullRequest
3 голосов
/ 01 июня 2019

У меня есть массив строк, которые по сути являются английскими абзацами.

Я хотел бы извлечь все экземпляры слова Act (с заглавной буквой) в контексте. В контексте здесь означает, что я хотел бы видеть some text some text some text Act some text some text some text.

Может быть, около 12-15 слов слева и 5-8 слов справа. Это очень похоже на корпусное согласование для слова Act.

Однако я бы хотел исключить случаи Act, где:

  1. Act [0-2 слова] (Cap. // то есть, когда за Act следуют 0-2 слова и затем строка (Cap.
  2. Act [0-2 слова (Act // то есть, когда за Act следует 0-2 слова и затем строка (Act
  3. [Act // то есть, когда Act предшествует [
  4. ... и другие подобные случаи ...

Как бы вы сделали это с собственным PHP или PHP-фреймворком, который поддерживает NLP? Пожалуйста, покажите точно (т.е. предоставьте код), даже если вы используете НЛП или другую платформу или библиотеку. Просьба показать, какие функции, объекты или методы вы используете.

Я могу использовать только PHP, но если у вас есть другие языки, которые могут сделать это лучше, пожалуйста, оставьте комментарий. Примечание. Мне нужно сначала подключиться к MySQL для извлечения строк в массив, поэтому желательно, чтобы язык поддерживал взаимодействие с MySQL.

Я могу отказаться от работы со словами и вместо символов, если это трудно сделать в PHP (например, у меня может быть 40-45 символов слева и 20-25 символов справа в качестве контекста для Слово Акт). Я тоже не против использования регулярных выражений.

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