Краткие советы по созданию специальных списков стоп-слов

1656572290 kratkie sovety po sozdaniyu speczialnyh spiskov stop slov

Кавита Ганнессон

1*eAdqKoWkI9p3NnQdx94yHw
Фото Джона Матичука на Unsplash

В программах обработки природного языка (NLP) и анализа текста стоп-слова используются для удаления неважных слов, позволяя программам сосредоточиться на важных словах.

Стоп-слова – это набор общеупотребительных слов любого языка. К примеру, в английском языке «the», «is» и «and» легко квалифицируются как стоп-слова.

Хотя существуют различные опубликованные стоп-слова, которые могут быть использованы, во многих случаях этих стоп-слов недостаточно, поскольку они не специфичны для домена. Например, в клинических текстах такие термины, как mcg dr. и «пациент» встречаются почти в каждом документе, который вы встретите. Следовательно, эти термины можно рассматривать как потенциальные стоп-слова для анализа и поиска клинического текста.

Аналогично, для твитов такие термины, как «#», «RT», «@username», могут рассматриваться как стоп-слова. Список стоп-слов для общего языка в целом нет охватывать следующие предметные термины.

Хорошая новость состоит в том, что в действительности достаточно легко создать свой собственный список стоп-слов для определенной области. Ниже приведены несколько способов сделать это, если у вас есть большой корпус текста из интересующей области, вы можете сделать один или несколько из следующего, чтобы управлять список стоп-слов:

1. Самые частые термины как стоп-слова

Подытожите частоты терминов каждого уникального слова (w) во всех документах в вашей коллекции. Отсортируйте сроки в порядке убывания частоты исходных сроков. Можно одержать верх К термины будут вашими стоп-словами.

Вы также можете исключить распространенные английские слова (используя опубликованный стоп-список) перед сортировкой, чтобы вы нацеливались на стоп-слова, характерные для домена.

Другой вариант — рассматривать встречающиеся в большем количестве слова. X% ваших документов как стоп-слова. Я нашел слова, исключающие 85% документы, чтобы быть эффективными в нескольких задачах анализа текста. Преимущество этого подхода состоит в том, что его действительно легко реализовать. Недостатком, однако, является то, что если у вас особенно длинный документ, частота необработанных терминов только из нескольких документов может доминировать и привести к тому, что срок будет в верхней части. Один из способов решить эту проблему – нормализовать частоту исходных терминов с помощью нормализатора, такого как длина документа – количество слов в данном документе.

2. Наименее частые термины как стоп-слова

Подобно тому, как термины, которые встречаются очень часто, могут быть отвлекающими, а не различающими терминами, термины, которые встречаются крайне редко, могут также не быть полезными для поиска и поиска текста. Например, имя пользователя @username, которое встречается только один раз в коллекции твитов, может быть не очень полезным. Другие термины, как «yoMateZ!» термины, которые могут быть просто вымышленными людьми, опять же могут быть не полезны для приложений для изучения текста.

Примечание: определенные сроки типа «яаааааааааааааа!!» часто можно нормализовать до стандартных форм, таких как «ура».

Однако, несмотря на всю нормализацию, если термин все еще имеет количество частот, равное единице, вы можете удалить его. Это может значительно снизить общее пространство функций.

3. Низкие термины IDF как стоп-слова

Частота обратного документа (IDF) относится к обратной доле документов в вашей коллекции, содержащей определенный термин (ti). скажем:

  • ты имеешь Н документы
  • срок ti произошло в М с Н документы.

ЦАХАЛ оф ti таким образом вычисляется как:

1*PABvj4Re2EypV6zjzLkjIg

Следовательно, тем больше документов ti появляется в, тем ниже ЦАХАЛ оценка. Это означает, что термины, которые появляются в каждом документе, будут оценены IDF 0.

Если оценить каждую ti в вашей коллекции по оценке IDF в порядке убывания, вы можете рассматривать нижний К условия с самый низкий IDF баллы будут вашими стоп-словами.

Опять же, вы также можете исключить распространенные английские слова, используя опубликованный стоп-лист перед сортировкой, чтобы вы нацелились на доменные слова с низким уровнем IDF. Это не нужно, если ваш К является достаточно большим, чтобы обрезать как общие стоп-слова, так и специфические для домена стоп-слова. Вы найдете больше информации об IDF здесь.

Итак, помогут ли остановленные слова моей задачи?

Как бы вы узнали, было бы полезно удаление специфических стоп-слов в вашем случае? Легко – проверьте это на подмножестве ваших данных. Убедитесь, что улучшается, остается неизменным или ухудшается показатель точности и производительности. Если деградация ухудшается, не стоит говорить, не делайте этого, если ухудшение незначительно, и вы увидите преимущества в других формах, таких как уменьшение размера модели или способность обрабатывать вещи в памяти.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *