Home

Awesome

OpenCC for Go

Go

This is a pure Go version of OpenCC(Open Chinese Convert 開放中文轉換) which is a project for conversion between Traditional and Simplified Chinese developed by BYVoid. Avoid C library dependency and use Go Embed feature for embed dict into to binary for deploy easily.

此项目是基于 Native Go 方式实现 OpenCC,利用 OpenCC 官方的词典,减少 C 库对环境的依赖,同时,基于 Go Embed 特性,可以让我们编译的时候,直接将字典打包到 Go 的二进制里面,以获得较好的开发部署体验。

Installation

go get github.com/longbridgeapp/opencc

Usage

package main

import (
    "fmt"
    "log"

    "github.com/longbridgeapp/opencc"
)

func main() {
    s2t, err := opencc.New("s2t")
    if err != nil {
        log.Fatal(err)
    }


    in := `自然语言处理是人工智能领域中的一个重要方向。`
    out, err := s2t.Convert(in)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%s\n%s\n", in, out)
    //自然语言处理是人工智能领域中的一个重要方向。
    //自然語言處理是人工智能領域中的一個重要方向。
}

預設配置文件

Development Guides

采用 make update:data 命令可以从 OpenCC 官方仓库更新词典。

$ make update:data

Benchmarks

See benchmark_test.go

Short text (100 chars)

ModeNumber of CharsDuration / op
s2t1000.04 ms
t2s1000.04 ms
s2hk-finance1000.07 ms
s2tw1000.063 ms

Long Text (14K)

Use 14K text to run benchmark.

ModeNumber of CharsDuration / op
s2t14K2.5 ms
t2s14K2.8 ms
s2hk-finance14K5 ms
s2tw14K3.8 ms

License

Apache License