Пост Go-CoNLLU - Необходимая поддержка машинного обучения в Go впервые появился на Qvault.

Python обычно рассматривается как язык AI / ML, но часто это тупой клинок из-за небезопасного набора текста и медлительности, например, действительно. Многие популярные наборы инструментов для обработки естественного языка имеют только API-интерфейсы Python, и мы хотим видеть это изменение. В Nuvi мы используем Go для большинства наших задач по обработке данных, потому что мы можем писать простой и быстрый код. Сегодня мы открываем исходный код инструмента, который помог нам упростить жизнь машинного обучения в Go. Передай привет go-conllu.

Что такое CoNLL-U?

Конференция по изучению естественного языка (CoNNL) создала несколько файловых форматов для хранения аннотаций на естественном языке. CoNLL-U является одним из таких форматов и используется Universal Dependency Project, в котором размещается множество аннотаций текстовых данных. Чтобы использовать эти корпуса, нам нужен синтаксический анализатор, который упрощает разработчикам использование данных.

Чем помогает Go-Conllu?

Go-conllu анализирует данные conllu. Это простой и надежный способ импортировать данные conllu в ваше приложение в виде структур Go.

Здесь можно найти GoDoc с подробностями

Давайте посмотрим на пример кода быстрого запуска из файла Readme. Сначала загрузите пакет.

go get github.com/nuvi/go-conllu

Затем в новом проекте:

package main

import (
	"fmt"
	"log"

	conllu "github.com/nuvi/go-conllu"
)

func main() {
	sentences, err := conllu.ParseFile("path/to/model.conllu")
	if err != nil {
		log.Fatal(err)
	}

	for _, sentence := range sentences {
		for _, token := range sentence.Tokens {
			fmt.Println(token)
		}
		fmt.Println()
	}
}

Все предложения и токены в корпусе будут выведены на консоль.

Если вам нужен корпус .conllu, вы можете скачать модель обучения английскому языку Universal Dependencies здесь: en_ewt-ud-train.conllu

Спасибо за чтение

Напишите мне в твиттере @wagslane, если у вас есть какие-либо вопросы или комментарии.

Следуй за мной на Dev.to: wagslane

Пост Go-CoNLLU - Необходимая поддержка машинного обучения в Go впервые появился на Qvault.