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

OSCHINA-MIRROR/veni0-gse

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

Gse — это реализация jieba на языке Go, которая также включает поддержку NLP и дополнительные функции.

Возможности:

  • Поддержка различных режимов сегментации слов: общий, для поисковых систем, полный, точный и HMM.
  • Поддержка пользовательских и встроенных словарей, тегирования частей речи (POS), анализа информации о сегментах, стоп-слов и обрезки слов.
  • Многоязычная поддержка: английский, китайский, японский и другие языки.
  • Традиционный китайский язык поддерживается.
  • Сегментация текста с использованием алгоритма HMM и метода Витерби.
  • Возможность использования NLP с TensorFlow (в разработке).
  • Распознавание именованных сущностей (в разработке).
  • Совместимость с Elasticsearch и Bleve.
  • Запуск JSON RPC-сервиса.

Алгоритм:

  • Словарь реализован с помощью структуры данных «дерево» (Double-Array Trie).
  • Алгоритм сегментации основан на кратчайшем пути, учитывает частоту слов и использует динамическое программирование. Также применяются алгоритмы DAG и HMM для сегментации текста.

Скорость сегментации:

  • Однопоточная обработка — 9,2 МБ/с.
  • Параллельная обработка с использованием горутин — 26,8 МБ/с.
  • Скорость сегментации с использованием HMM в однопоточном режиме — 3,2 МБ/с (на MacBook Pro с 2 ядрами и 4 потоками).

Связывание:

Gse-bind обеспечивает связывание с JavaScript и другими языками.

Установка и обновление:

go get -u github.com/go-ego/gse

Использование:

package main

import (
    "fmt"
    "regexp"

    "github.com/go-ego/gse"
    "github.com/go-ego/gse/hmm/pos"
)

var (
    text = "Hello world, Helloworld. Winter is coming! 你好世界."

    new, _ = gse.New("zh,testdata/test_dict3.txt", "alpha")

    seg gse.Segmenter
    posSeg pos.Segmenter
)

func main() {
    // Загрузка словаря по умолчанию
    seg.LoadDict()
    // Загрузка встроенного словаря
    // seg.LoadDictEmbed()
    // 
    // Загрузка простого китайского словаря
    // seg.LoadDict("zh_s")
    // seg.LoadDictEmbed("zh_s")
    //
    // Загрузка традиционного китайского словаря
    // seg.LoadDict("zh_t")
}

Обратите внимание, что некоторые части исходного текста не были переведены из-за невозможности их интерпретации или отсутствия контекста. Данный фрагмент представляет собой код на языке Go. К сожалению, я не могу выполнить полноценный перевод этого фрагмента, так как он содержит множество специфических терминов и конструкций, для перевода которых требуется глубокое понимание контекста. Однако я могу предоставить общий перевод некоторых ключевых слов и фраз:

  • seg — сегмент;
  • gse — аббревиатура от «go-ego»;
  • text — текст;
  • hmm — вероятностная контекстно-свободная грамматика;
  • fmt — пакет форматирования;
  • regexp — регулярные выражения;
  • Cut — функция для вырезания текста;
  • Analyze — анализ текста;
  • Trim — обрезка текста;
  • Pos — позиция в тексте;
  • Segment — сегментация текста;
  • Slice — срез текста.

Это лишь некоторые ключевые слова и фразы из представленного фрагмента кода. Для более точного и полного перевода необходимо учитывать контекст и назначение программы.

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

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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