Список "стоп-слов" для английского?
Я генерирую некоторую статистику для некоторого англоязычного текста, и я хотел бы пропустить неинтересные слова, такие как "a" и "the".
- Где я могу найти списки этих неинтересных слов?
- Является ли список этих слов таким же, как список наиболее часто используемых слов в английском языке?
обновление: это, очевидно, называется "стоп-словами", а не "пропустить слова".
6 ответов
Волшебное слово, которое нужно вставить в Google - это "стоп-слова". Это приводит к разумно выглядящему списку.
В MySQL также есть встроенный список стоп-слов, но он слишком исчерпывающий для моих вкусов. Например, в нашей университетской библиотеке у нас были проблемы, потому что "третий" в "третьем мире" считался стоп-словом.
В зависимости от субдомена английского языка, на котором вы работаете, у вас может возникнуть желание составить собственный список стоп-слов. Некоторые общие стоп-слова могут быть значимыми в домене. Например, слово "являются" может фактически быть аббревиатурой / аббревиатурой в некоторой области. И наоборот, вы можете игнорировать некоторые специфичные для домена слова в зависимости от вашего приложения, которые вы можете не захотеть игнорировать в области общего английского языка. Например, если вы анализируете совокупность больничных отчетов, вы можете игнорировать такие слова, как "история" и "симптомы", так как они встречаются в каждом отчете и могут оказаться бесполезными (с точки зрения простого ванильного инвертированного индекса).
В противном случае списки, возвращаемые Google, должны быть в порядке. Porter Stemmer использует это, а реализация движка Lucene использует это.
Получить статистику о частоте слов в больших текстовых корпусах. Игнорировать все слова с частотой> некоторого числа.
Я думаю, что я использовал список стоп-слов для немецкого языка здесь, когда я создал поисковое приложение с lucene.net некоторое время назад. Сайт также содержит список для английского языка, и списки на сайте, по-видимому, являются теми, которые проект lucene также использует по умолчанию.
Обычно эти слова появляются в документах с наибольшей частотой. Предполагая, что у вас есть глобальный список слов:
{ Word Count }
Со списком слов, если бы вы упорядочили слова от самого высокого числа к самому низкому, у вас был бы график (число (ось Y) и слово (ось X), которые являются обратной функцией журнала. Все стоп-слова были бы слева, и точка остановки "стоп-слов" будет в том месте, где существует самая высокая 1-я производная.
Это решение лучше, чем словарная попытка:
- Это решение является универсальным подходом, не связанным языком
- Эта попытка узнать, какие слова считаются "стоп-словами"
- Эта попытка даст лучшие результаты для коллекций, которые очень похожи, и даст уникальные списки слов для элементов в коллекциях
- Стоп-слова могут быть пересчитаны позднее (с этим может быть кеширование и статистическое определение того, что стоп-слова могли измениться с момента их вычисления)
- Это также может исключить основанные на времени или неформальные слова и имена (такие как сленг, или если у вас была пачка документов, в которых заголовок имел название компании)
Попытка словаря лучше:
- Время поиска намного быстрее
- Результаты записаны
- Это просто
- Кто-то еще придумал стоп-слова.