String text = "Политика, которая способствует развитию отрасли";
System.out.println(filter.replace(text)); // Политика, которая способствует развитию отрасли
context.removeWord(Collections.singletonList("Отрасль"), WordType.WHITE);
System.out.println(filter.replace(text)); // Политик**, которая способствует развитию **отрасли**
String text = "Политика, которая способствует развитию отрасли";
System.out.println(filter.include(text)); // false
context.removeWord(Collections.singletonList("Отрасль"), WordType.WHITE);
System.out.println(filter.include(text)); // true
String text = "Политика, которая способствует развитию отрасли";
System.out.println(filter.wordCount(text)); // 0
context.removeWord(Collections.singletonList("Отрасль"), WordType.WHITE);
System.out.println(filter.wordCount(text)); // 1
String text = "1 Политика, которая способствует развитию 1 отрасли";
System.out.println(filter.wordList(text)); // []
context.removeWord(Collections.singletonList("Отрасль"), WordType.WHITE);
System.out.println(filter.wordList(text)); // [отрасли]
blacklist.txt
whitelist.txt
- replace(final String text) // distance=0&symbol=*
- replace(final String text, final char symbol) // distance=0
- include(final String text) // distance=0
- wordCount(final String text) // distance=0
- wordList(final String text) // distance=0
// В чёрный список добавляется «5000»
context.addWord(Collections.singletonList("5000"), WordType.BLACK);
// «5000» удаляется из чёрного списка (если в чёрном списке нет этого слова, то оно игнорируется)
context.removeWord(Collections.singletonList("5000"), WordType.BLACK);
// «Чрезвычайное происшествие» удаляется из белого списка (если в белом списке нет этого слова, то оно игнорируется)
context.removeWord(Collections.singletonList("Чрезвычайное происшествие"), WordType.WHITE);
WordContext context = new WordContext();
Этот объект используется для инициализации и управления словарём. По умолчанию он читает файлы с именами blacklist.txt
и whitelist.txt
, которые находятся в пути класса. Также можно передать имена файлов:
WordContext context = new WordContext("/blacklist.txt","/whitelist.txt");
WordFilter filter = new WordFilter(context);
Передаётся созданный на предыдущем шаге объект WordContext. После создания фильтра можно использовать его методы. Для добавления или удаления слов из словаря можно использовать API объекта WordContext:
// Слово «чрезвычайный» добавляется в чёрный список
context.addWord(Collections.singletonList("чрезвычайный"), WordType.BLACK);
// Слово «чрезвычайный» удаляется из чёрного списка (если его там нет, то ничего не происходит)
context.removeWord(Collections.singletonList("чрезвычайный"), WordType.BLACK);
// Слово «чрезвычайное происшествие» удаляется из белого списка (если его там нет, то ничего не происходит)
context.removeWord(Collections.singletonList("чрезвычайное происшествие"), WordType.WHITE);
Программа пропускает разные расстояния при поиске чувствительных слов. Чем больше расстояние, тем строже фильтр и ниже эффективность. Разработчик может настроить это в соответствии с требованиями. Здесь слово «чрезвычайный» используется как чувствительное слово для примера.
Решена проблема, аналогичная проблеме с коммутатором 24 порта. Разделены белый и чёрный списки.
Чёрный список («чрезвычайный»). Белый список («чрезвычайное происшествие»).
Мы решили отправить 5000 человек в жилые районы, чтобы помочь пострадавшим от бедствия, и объявить чрезвычайную ситуацию. И мы решили не объявлять чрезвычайную ситуацию для «чрезвычайного происшествия». ``` String text = "利于上游1行业发展的政策逐渐发布"; System.out.println(filter.wordList(text)); //[]] context.removeWord(Collections.singletonList("上游行业"), WordType.WHITE); System.out.println(filter.wordList(text)); //[游行] }
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )