Основной формат представлен ниже: Корневое слово, синоним1[/(опциональное) произношение], синоним2[/(опциональное) произношение], ... синонимn[/(опциональное) произношение]
Пример: исследование, обсуждение, разработка, полировка/полирл
Требования:
### jcseg-2.1.1: (текущая версия)1. Улучшена реализация JcsegTokenizer: метод `clearAttributes` вызывается в методе `reset`, удалены вызовы `end()`, что позволяет удобнее использовать `TokenStream` вне его контекста для выполнения различных статистических запросов.
2. Исправлен баг в методе `Word#toString`, связанный со специальными символами в JSON-строках; добавлены предварительные обработки `" "` и `\`. Отчет предоставлен <https://github.com/luohuan02>.
3. Исправлен баг, связанный с выделением пустой строки между `""` при отсутствии содержимого внутри этих символов. Отчет предоставлен <http://git.oschina.net/fige>.
4. В режиме NLP-разбиения добавлена стандартная распознаваемость datetime-объектов. Например: 2017/03/07, 2017-03-07.
5. В режиме NLP-разбиения добавлена универсальная распознаваемость китайских datetime-объектов. Например: 2017年3月7日, 明天下午4点半, 下周二上午8点45分等, 明天凌晨2点一刻.
6. В режиме NLP-разбиения добавлена распознаваемость смешанных datetime-объектов. Например: 明天下午15:45, 下周二10:30, 2017-03-15下午三点半, 2017/12/24下午15:45.
7. Улучшено возможное конкурентное использование объекта словаря типа `IWord`; в настоящее время это особенно важно при автоматической загрузке обновлений словаря, когда происходит вызов `IWord.clone()`. Обновление и разбиение конкурируют за доступ к этим объектам.Пример тестового демонстрационного примера для распознавания datetime-объектов (различные части datetime разделены пробелами для удобства вторичного разбиения):
```shell
jcseg~tokenizer:NLP>> 2017年3月2日
Результат токенизации:
2017年 3月 2日/t/datetime.ymd
Завершено, всего:9, токенов:1, за 0.00105 секунды
jcseg~tokenizer:NLP>> 2017年03月07日
Результат токенизации:
2017年 03月 07日/t/datetime.ymd
Завершено, всего:11, токенов:1, за 0.00000 секунд
jcseg~tokenizer:NLP>> 明天下午4点半
Результат токенизации:
завтра вечер 4点半/t/datetime.dahi
Завершено, всего:7, токенов:1, за 0.00000 секунд
jcseg~tokenizer:NLP>> 下周二上午8点45分
Результат токенизации:
через неделю во вторник утром 8点 45分/t/datetime.dahi
Завершено, всего:10, токенов:1, за 0.00000 секунд
jcseg~tokenizer:NLP>> 2017年03月08日下午15点半去见一个投资人
Результат токенизации:
2017年 03月 08日 вечер 15点半/t/datetime.ymdahi идти/q/null встретиться/n/null один/q/null инвестор/n/null
Завершено, всего:24, токенов:5, за 0.00000 секунд
jcseg~tokenizer:NLP>> 明天凌晨2点一刻产品升级开始
Результат токенизации:
завтра рано утром 2点一刻/t/datetime.dahi продукт/n/null обновление/vn/null начать/n/null
Завершено, всего:14, токенов:4, за 0.00000 секунд
jcseg~tokenizer:NLP>> 明天下午15:45
Результат токенизации:
завтра вечер 15点 45分/t/datetime.dahi
Завершено, всего:9, токенов:1, за 0.00000 секунд
jcseg~tokenizer:NLP>> 2017/03/15下午16:45:36开始生日party
Результат токенизации:
2017/03/15 вечер 16点 45分 36秒/t/datetime.ymdahis начать/n/null день рождения/n-null party/en/null
Завершено, всего:29, токенов:4, за 0.00210 секунд
IWord#position
при параллельном выполнении, что могло привести к ошибкам выделения текста Lucene.<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>jcseg</artifactId>
<version>1.9.9</version>
</dependency>
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>jcseg-core</artifactId>
<version>1.9.9</version>
</dependency>
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>jcseg-analyzer</artifactId>
<version>1.9.9</version>
</dependency>
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>jcseg-elasticsearch</artifactId>
<version>1.9.9</version>
</dependency>
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>jcseg-server</artifactId>
<version>1.9.9</version>
</dependency>
JcsegTaskConfig
следующим образом:JcsegTaskConfig() //не выполняет никакой внутренней инициализации
JcsegTaskConfig(boolean autoLoad) //указывает, следует ли автоматически искать конфигурационные файлы
JcsegTaskConfig(String proFile) //инициализирует конфигурацию указанным файлом
JcsegTaskConfig(InputStream is) //инициализирует конфигурацию указанным потоком ввода
```##### 3. Теперь в JcsegTaskConfig или jcseg.properties можно установить путь к словарю как null.
##### 4. Класс ADictionary базового словаря расширен методами для загрузки словарей:
```java
load(File file) //загружает все записи из файла File
load(String file) //загружает все записи из указанного пути к файлу
load(InputStream is) //загружает все записи из входящего потока
loadDirectory(String lexDir) //загружает все записи из всех файлов в указанной директории словарей
loadClassPath() //загружает все записи из classpath
SEARCH_MODE
для более детального разбиения, предназначенный для поиска.DictionaryFactory#createSingletonDictionary
для создания единичного экземпляра словаря.analyzer
и elasticsearch
на основе единичного экземпляра, что позволяет экономить память и одновременно решает проблему неполной глобальной обновляемости словарей при использовании множества экземпляров.JcsegAnalyzer5X
для удобства сборки и выпуска приложений на базе Lucene:```java
JcsegAnalyzer5X(int mode, String proFile);
JcsegAnalyzer5X(int mode, JcsegTaskConfig config);
JcsegAnalyzer5X(int mode, JcsegTaskConfig config, ADictionary dic);
6. Стандартизация формата кода, например: использование четырёх пробелов вместо табуляции, переход строки перед фигурными скобками и так далее.
7. Оптимизация словарей (удаление некоторых бесполезных слов, улучшение определения частей речи для некоторых слов).
8. Устранение ошибки имени jcseg-server.properties#jcseg_global_setting, заменено на: jcseg_global_config.
9. Устранение ошибки установки JcsegServer#http_config и исправление опечатки TokenizerController#pos.
### jcseg-1.9.7:
1. Оптимизация словарей: добавление новых слов, улучшение определения частей речи.
2. Реализован RESTful API для модуля jcseg-server.
3. Выделение ключевых слов с помощью алгоритма TextRank для статьи.
4. Выделение ключевых фраз с помощью алгоритма TextRank.
5. Выделение ключевых предложений/резюме с помощью алгоритма TextRank.
6. Добавлены тестовые случаи для выделения ключевых слов/фраз/предложений/резюме в тестовой программе для терминала.
### jcseg-1.9.6:
1. Исправление ошибки lazyInitRace для фильтра mmseg.
2. Исправление проблемы высветления синонимов и латинских букв.
3. Добавление возврата положения и исправление части ошибок для режима detect.
4. Заполнение частями речей для большинства часто используемых слов.
5. Добавлена поддержка последних версий Lucene (5.1.0), Solr (5.1.0), Elasticsearch (1.5.2).
6. Исправление ошибки autoload для нескольких каталогов словарей.### jcseg-1.9.5:
1. Исправление ошибки добавления синонимов для некоторых англо-китайских слов.
2. Добавлен модуль jcseg-elasticsearch — плагин для разбиения Elasticsearch.
3. Исправление ошибки смещения для некоторых случаев разбиения слов.
4. Изменение поддержки Solr-4.9.
### jcseg-1.9.4:
1. Улучшение распознавания смешанных китайско-английских слов, теперь можно распознавать больше случаев, например: 高3.
2. Введение IHashQueue для замены исходного ILinkedList, что улучшает производительность пула слов и увеличивает скорость сегментации.
3. Изменение org.lionsoul.jcseg.util.STConverter для включения более полного списка эквивалентов упрощённых и традиционных символов.
4. Исправление проблемы преобразования китайских цифр в арабские цифры, когда некоторые комбинации были бы неверно отфильтрованы (<http://code.google.com/p/jcseg/issues/detail?id=22>).
5. Исправление ошибки при наличии пробелов в пути к словарю: JAR_HOME = java.net.URLDecoder.decode("", "utf-8").
6. Исправление бага при преобразовании китайских цифр в арабские, когда, например, 二零一四年 был бы неправильно преобразован в 1914 год.
7. Добавлен режим проверки сегментации (только те слова, которые уже есть в словаре, автоматическая корректировка регистра и полного/укороченного варианта).
### jcseg-1.9.3:1. Переход на управление Maven, также поддерживаются исходные сборки Ant.
2. Оптимизация повторной сегментации сложных английских слов, что позволяет избежать лишних вызовов (не влияет на использование).
3. Изменение порядка вывода повторно сегментированных английских слов и исходных слов, так как вторичная сегментация слов должна быть выведена раньше благодаря функции синонимов.
4. Исправление бага в проверке длины остановочных слов при загрузке словарей.
5. Исправление памяти-потребляемого бага PushbackReader.
### jcseg-1.9.2:1. Поддержка загрузки нескольких каталогов словарей через конфигурационный файл, разделённых ';'.
2. Автоматическая перезагрузка регулярных выражений для поддержки. --не завершена
3. Исправление бага при распознавании китайских дробей.
4. Исправление бага при невозможности преобразования некоторых китайских дробей в арабские.
5. Исправление бага в инструментах объединения словарей.
6. Дружественное сообщение об ошибке при загрузке словарей.
7. Повторная сегментация сложных числовых и английских слов, например: `QQ2013`, будет сегментировано как `qq2013`, `qq`, `2013`.
8. Автоматическое сохранение знаков препинания перемещено в конфигурационный файл `jcseg.properties` для удобства изменения и удаления запятой, `^` и других.
### jcseg-1.9.1:1. Оптимизация метода IStringBuffer#resizeTo(), используя System.arraycopy вместо циклического копирования элементов.
2. Добавление класса util.dic.STConverter для взаимного преобразования упрощённых и традиционных строк.
3. Добавление класса util.dic.DicConverter для управления взаимным преобразованием словарей JCSEG между упрощёнными и традиционными версиями.
4. Добавление класса util.dic.DicMerge для объединения упрощённых и традиционных словарей JCSEG для создания словаря с обоими вариантами.
5. Преобразование текущего упрощённого словаря JCSEG в традиционный словарь (подходит для сегментации традиционных символов).
6. Объединение упрощённого и традиционного словарей, чтобы получить словарь с обоими вариантами (универсальный, но потребляет больше памяти).
7. Исправление ошибки в методе ASegment#nextBasicLatin(), где комбинация "цифр + пробела + единицы" была бы неверно обработана без учёта пробела.### jcseg-1.9.0:1. Устранена проблема с распознаванием "дробных значений + единицы измерения". Изменено поведение метода ASegment#isDigit().
2. Ограничение по длине при загрузке словарей (слова длиной больше max_length отсеиваются).
3. Изменено распознавание слов смешенного английско-китайского состава (теперь поддерживаются любые сочетания английских и китайских слов):
Англо-китайское: Например: бэйчжоу, Англо-китайско-английское: амэрика1, Англо-китайско-китайско-английское: адоуламэн, Китайско-английское: караоке, Китайско-английско-английское: адзуламэн, Китайско-английско-английско-китайское: зуньюньамэрика
4. Изменены правила объединения единиц измерения, теперь поддерживаются более широкие незнакомые китайским символам единицы, такие как: ℃, ℉.
5. Для неопознанных символов предоставлен выбор между сохранением или фильтрацией.
6. Добавлены английские синонимы (расширен словарь lex-en.lex).
### jcseg-1.8.9:1. Сохранение английских полутоновых и полноценных знаков препинания и CJK знаков при делении на слова (может быть отфильтровано через список стоп-слов, по умолчанию все они отсеиваются).
2. Обработка частей речи (необходимо завершить маркировку частей речи в словарях).
3. Восстановлено исправление ошибки IStringBuffer#deleteCharAt.
4. Восстановлено исправление ошибки распознавания слов, состоящих из английских букв и знаков препинания (в некоторых случаях не распознается).
5. Изменено поведение загрузки словарей, чтобы предотвратить повторную загрузку синонимов и частей речи при перезагрузке словарей.
6. Базовые типы данных хранятся с использованием IntArrayList вместо ArrayList, что снижает количество операций разбора объектов.
7. По совету пользователей доработана документация по разработке.### jcseg-1.8.8:
1. Управление пользовательской конфигурацией JcsegTaskConfig через файл jcseg.properties (удобство управления для сложных проектов).
2. Изменён интерфейс ADictionary, позволяющий загружать словари по отдельности, что удобно для вторичной разработки или автоматической загрузки обновлённых словарей; словари разделены на синхронные и асинхронные.
3. Автоматическая загрузка обновлённых словарей.
4. Упорядочивание файла конфигурации jcseg.properties.
5. Распознавание слов смешанного английско-китайского состава (например: караоке).
### jcseg-1.8.7:
1. Изменение внутренней структуры jcseg (лучшая поддержка многопоточной работы).
> (1). Добавлен JcsegTaskConfig для описания параметров конфигурации Jcseg (предоставляет метод CloneFromProperties для клонирования конфигураций из jcseg.properties).
> (2). Изменено использование ASegment для задач Jcseg (генерируется конкретный алгоритм и режим с помощью JcsegFactory).
2. Добавлена возможность выделения ключевых слов из текста (не выполнено).
### jcseg-1.8.6:1. Устранено проблему с некоторыми терминами (некоторые словари могут попасть в процедуру распознавания китайских чисел; по умолчанию jcseg не имеет синонимов для китайских чисел) не добавляемых в качестве синонимов.
2. Добавлена функциональность фильтрации стоп-слов для всех категорий словарей, ранее версия поддерживала только фильтрацию стоп-слов для CJK терминов.
3. Добавлено переключение между китайским и арабским представлением дробей.
4. Добавлен интерфейс для разделения текста с помощью Solr.
5. Добавлен файл README.txt.
6. Добавлен файл LICENSE.txt.
7. Удалены ограничения на длину загружаемых словарей, таких как список stop-слов.### jcseg-1.8.3:
1. Исправлена проблема с идентификацией имени, вызванная выбросом `NullPointerException` при отсутствии соответствующего слова в `lex-chars.lex`.
2. Добавлено переключение между китайским и арабским представлением чисел; по умолчанию включено.
3. Проблема с поиском файла `jcseg.properties` решена следующими способами:
(1) Поиск в корневой директории JAR, если не найдено — попытка (2) (2) Поиск в classpath, если не найдено — попытка (3) (3) Поиск в домашней директории пользователя. Если не найдено, выбрасывается исключение с указанием метода решения проблемы.
### jcseg-1.8.2:
1. При загрузке словарей исключены синонимы длиннее `Config.MAX_LENGTH`.
2. Добавлена возможность фильтрации английских stop-слов (добавлено несколько сотен английских stop-слов).
3. Добавлена поддержка версий Lucene 4.x через `JcsegAnalyzer4X`.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )