Токенизатор, удаление стоп-слова, стемминг в Java

Согласно Мифическому Месяцу Человека, главная причина люди добавления к последнему проекту делают, это позже - O (n^2) коммуникация наверху.

я испытал одно основное исключение к этому: если существуют [только 110] один человек на проекте, они почти всегда обрекаются. Добавление второго ускоряет его почти каждый раз. Поэтому коммуникация не служебная в этом случае - это - полезная возможность разъяснить Ваши мысли и сделать меньше глупых ошибок.

кроме того, поскольку Вы, очевидно, знали при регистрации вопроса совет с Мифического Месяца Человека только относится поздний проекты. Если Ваш проект не является уже поздним, довольно возможно, что добавление людей не сделает его позже. Принятие Вас делает это правильно, конечно.

20
задан demongolem 20 February 2013 в 05:07
поделиться

3 ответа

AFAIK Lucene может делать то, что вы хотите. С помощью StandardAnalyzer и StopAnalyzer вы можете удалить стоп-слово. В сочетании с проектом Lucene contrib-snowball (который включает работу из Snowball ), вы также можете выполнить стемминг.

Но для стемминга также рассмотрите этот ответ на: Алгоритм выделения слов, который производит реальные слова

8
ответ дан 30 November 2019 в 01:23
поделиться

Это стандартные требования для обработки естественного языка, поэтому я бы посмотрел в таких наборах инструментов. Поскольку вам требуется Java, я бы начал с OpenNLP: http://opennlp.sourceforge.net/

Если вы можете посмотреть на другие языки, там также есть NLTK (Python)

Обратите внимание, что «ваш самый смешной парень, которого я знаю» не является стандартным синтаксисом, и поэтому труднее понять, чем «Ты самый смешной парень из всех, кого я знаю». Не невозможно, но намного сложнее. Я не знаю ни одной системы, которая бы приравняла «ваш» к «вы есть».

6
ответ дан 30 November 2019 в 01:23
поделиться

Вот полный список инструментов НЛП . Иногда имеет смысл создавать их самостоятельно, поскольку они будут легче, и у вас будет больше контроля над внутренней работой: используйте простое регулярное выражение для токенизации. Для стоп-слов просто вставьте список ниже или другой список в HashSet:

common-english-words.txt

Вот одна из многих Java-реализаций porter stemer ).

0
ответ дан 30 November 2019 в 01:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: