1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/liuyuantao-mmseg4j

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

1. mmseg4j — это китайский токенизатор, разработанный на основе алгоритма MMSeg Чи-Хао Цая (Chih-Hao Tsai) (http://technology.chtsai.org/mmseg/). Он реализован с использованием анализатора lucene и TokenizerFactory для solr, что упрощает его использование в Lucene и Solr.

2. Алгоритм MMSeg имеет два метода токенизации: Simple и Complex. Оба метода основаны на прямом сопоставлении. В методе Complex добавлено четыре правила. По словам разработчиков, точность распознавания слов достигает 98,41%. mmseg4j реализует оба метода токенизации.

  • Скорость токенизации версии 1.5 для метода Simple составляет около 1100 кб/с, а для метода Complex — около 700 кб/с (на тестовом компьютере AMD athlon 64 2800+ с 1 ГБ оперативной памяти под управлением операционной системы XP).
  • Версия 1.6 основана на методе Complex и добавляет функцию максимального слова («очень хорошо» -> «очень|хорошо», «Китайская Народная Республика» -> «Китай|народ|республика»).
  • Версии 1.7-beta имеют скорость токенизации около 1200 кб/с для метода Complex и около 1900 кб/с для метода Simple. Однако объём используемой памяти увеличился примерно до 50 МБ по сравнению с предыдущими версиями, где использовалось около 10 МБ.

Подробности о функциях, реализованных в mmseg4j, можно найти по адресу: http://mmseg4j.googlecode.com/svn/trunk/CHANGES.txt.

3. В пакете com.chenlb.mmseg4j.example представлены примеры трёх видов токенизации.

4. Пакет com.chenlb.mmseg4j.analysis расширяет анализатор lucene. MMSegAnalyzer использует метод max-word по умолчанию для токенизации.

5. Пакет com.chenlb.mmseg4j.solr расширяет TokenizerFactory в solr. В schema.xml в solr можно определить тип поля следующим образом:

<fieldType name="textComplex" class="solr.TextField" >
  <analyzer>
    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>
  </analyzer>
</fieldType>
<fieldType name="textMaxWord" class="solr.TextField" >
  <analyzer>
    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>
  </analyzer>
</fieldType>
<fieldType name="textSimple" class="solr.TextField" >
  <analyzer>
    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/>
  </analyzer>
</fieldType>

Здесь dicPath указывает путь к словарю (каждый MMSegTokenizerFactory может указывать на разные каталоги), а mode определяет режим токенизации (simple|complex|max-word, по умолчанию используется max-word).

6. Для запуска программы необходимо указать словарь с помощью свойства mmseg.dic.path. Словарь можно разместить в каталоге classpath или в текущем каталоге в подкаталоге data. Если используется пакет mmseg4j-*-with-dic.jar, то указывать каталог словаря не обязательно (хотя это возможно).

Для запуска программы можно использовать следующие команды:

java -jar mmseg4j-core-1.9.0.jar

или

java -cp .;mmseg4j-core-1.9.0.jar -Dmmseg.dic.path=./other-dic com.chenlb.mmseg4j.example.Simple

или

java -cp .;mmseg4j-core-1.9.0.jar com.chenlb.mmseg4j.example.MaxWord

7. Программа обрабатывает некоторые символы, такие как английские, русские, греческие буквы и цифры (включая ①㈠⒈). Однако она не обрабатывает маленькие цифры, например, римские цифры I, II, III рассматриваются как отдельные слова, так как они не найдены в словаре chars.dic.

8. Словарь состоит из следующих файлов:

  • data/chars.dic содержит информацию о частоте отдельных слов в корпусе текстов. Этот файл уже включён в версию 1.5, и его не нужно изменять.
  • data/units.dic содержит информацию об единицах измерения. Он считывается из jar-файла по умолчанию, но его можно настроить.
  • data/words.dic — основной словарь, содержащий одно слово в каждой строке. Можно использовать собственный словарь или словари, используемые в предыдущих версиях. Версия 1.5 использует словарь sogou, а версия 1.0 — словарь rmmseg.
  • Начиная с версии 1.6, поддерживается несколько словарей в формате data/wordsxxx.dic. Каталог data (или указанный каталог) будет искать файлы, начинающиеся с «words» и заканчивающиеся на «.dic». Например, data/words-my.dic.

9. MMseg4jHandler позволяет контролировать загрузку и проверку словаря в solr через URL. Параметры включают:

  • dicPath — путь к каталогу словаря, аналогичный параметру dicPath в MMSegTokenizerFactory.
  • check — указывает, проверять ли словарь. Значение true или on.
  • reload — указывает, пытаться ли загрузить словарь. Значение true или on переопределяет значение параметра check.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Последняя версия MMSeg4j 1.9.1 не поддерживает Lucene 5.0. Измените исходный код MMSeg4j для поддержки lucene5.x. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/liuyuantao-mmseg4j.git
git@api.gitlife.ru:oschina-mirror/liuyuantao-mmseg4j.git
oschina-mirror
liuyuantao-mmseg4j
liuyuantao-mmseg4j
master