Go语言中文网 为您找到相关结果 41

Go语言的分词器(sego)

今天,主要来介绍一个Go语言的中文分词器,即sego。本分词器是由陈辉写的,他的微博在这里,github详 见此处。由于之前他在Google,所以对Go语言特别熟悉。sego的介绍如下 sego是Go语言的中文分词器,词典用前缀树实现, 分词器算法为基于词频的最短路径加动态规划。 支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务。 分词速度单线程2.7MB/s,goroutines并发13MB/s, 处理器Core i7-3615QM 2.30GHz 8核。 接下来,以如下几个方面来介绍sego 1. sego的安装 2. sego的原理 3. sego的使用 1. sego的安装 首先,在Go语言中,有很多第三方包,可以帮助我们实现某些特定的功能。比如这里...阅读全文

博文 2015-03-26 23:00:08 ACdreamers

Golang 图片上绘制文字

之前介绍过使用 FreeType-go 来绘制字(http://www.cnblogs.com/ghj1976/p/3445568.html), 现在相关的包被做了整合,主要是整合到了 github.com/golang/freetype 和 golang.org/x/image/font 这里了,所以就有了这篇博客。 例子代码在: https://github.com/golang/freetype/blob/master/example/freetype/main.go package main import ( "bufio" "flag" "fmt" "image" "image/color" "image/draw" "image/png" "io/ioutil" "log" "o...阅读全文

博文 2016-03-11 10:00:01 ghj1976

Telegram中文群组

Telegram与币用有一定的内在联系的且数据是互通,为了方便大家交流可以尝试下载Telegram软件,那么问题来了,怎么下载呢?不要着急,大V今天就把下载的流程分享给大家。 Telegram 是免费、安全、无广告的开源跨平台通讯软件。 除了网页版,移动版覆盖 Android / iOS / WindowsMobile,桌面版覆盖 Windows / OsX / Linux。 Telegram 官网:https://telegram.org/ 官网上很全,可以按照自己使用的系统安装相应的。 ![飞机.png](https://static.studygolang.com/200401/12534b496e653cda2ea90a814157c10e.png) 智能手机端安装结束后,是一个纸飞...阅读全文

博文 2020-04-01 16:02:05 ttl147369

golang分词工具sego的使用

使用的库是:github.com/huichen/sego // 载入词典 var segmenter sego.Segmenter //自带的分词库信息 segmenter.LoadDictionary("../github.com/huichen/sego/data/dictionary.txt") // 分词 text := []byte("使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大") segments := segmenter.Segment(text) // 处理分词结果 // 支持普通模式和搜索模式两种分词,见代码中SegmentsToString函数的注释。 fmt.Println(sego.Segment...阅读全文

博文 2017-11-14 07:03:06 迷路的阿修罗

年中记录与挖坑

记录李航大佬说过(原文链接) 计算机上达到和人同等的对话能力还非常困难。现在的技术,一般是数据驱动,基于机器学习的。 单轮对话有基于分析的,基于检索的,基于生成的方法。 好吧, 我也感觉基于检索的是low的, 但是现在各家智能音箱貌似都没有突破这个坎. 大家听到的siri的b-box, 背后是一个无聊的逗逼程序员; 小爱同学的惊人语录, 写语料也许是一群抠脚大汉. 这半年的工作, 主要集中在开发一个基于检索的语义理解平台, 最近几天刚刚完成了第三版的进化. 初代目 去年年底, 刚来这里接手这项工作的时候, 老大给我的架构是简单的纯检索, 基于ES, 把事先编好的模板写到搜索引擎里. 每次收到前台请求, 将asr获得的文本扔到ES里搜, 一开始模板量比较少的时候, 分类效果挺不错的, 甚至还有...阅读全文

博文 2018-09-01 16:35:00 MashoO

全自动装机工具 OSinstall

“CloudBoot”(OSinstall)云装机平台,是金融云初创公司杭州云霁科技推出的一款X86服务器全自动装机工具,遵循Apache协议,完全开源免费。 “CloudBoot”中文名为云启装机平台,简称云装机,寓意是”云端装机,云之开始”,有以下两层含义:     对已经使用云计算的公司,实现物理机的全自动安装,是构建云的第一步。     对没有使用云计算的公司,全自动构建物理机资源池,像创建虚拟机一样方便的安装物理机,是未来迈向云计算架构的第一步...阅读全文

开源项目 2016-05-08 16:00:00 idcos

为什么说程序员一定要看 ElasticSearch 源码

前提 人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需,大型企业早已淹没在系统生成的浩瀚数据流当中。大数据技术业已集中在如何存储和处理这些海量的数据上。Elasticsearch 作为开源领域的后起之秀,从2010年至今得到飞跃式的发展。 Elasticsearch 以其开源、分布式、RESTFul API 三大优势,已经成为当下风口中“会飞的猪”。在我的电脑本地写了几篇 ElasticSearch 的源码解析了,回过头来想想应该也写一篇为何我会去看它的源码?为什么呢?下面我讲讲自己从接触搜索到现在看源码的过程!第一次接触搜索 搜索,我们首先想到的是搜索引擎:Google、百度,这个就算是接触的最早的了。我自己项目里面接触搜索是大二暑假那时练习的一个项目...阅读全文

博文 2018-12-21 20:34:42 Java高级架构狮

Golang 统计字符串字数

比如新浪微博发微博的输入框有一个已输入字数的统计,它的规则推测是:汉字和中文标点算 1 个字数,英文和其他符号算 0.5 个字数。不足 1 个字算 1 个。大家可以去微博体验一下计算方式。​golang 可以使用正则和 unicode 包的方法判断。以下函数 GetStrLength 返回输入的字符串的字数,每个汉字和中文标点算 1 个字数,英文和其他字符算半个字数,不足 1 个字算 1 个。大家可以去微博体验一下。// GetStrLength 返回输入的字符串的字数,汉字和中文标点算 1 个字数,英文和其他字符 2 个算 1 个字数,不足 1 个算 1个 func GetStrLength(str string) float64 { var total float64 reg := re...阅读全文

博文 2018-05-09 11:14:03 nfwater

自然语言处理中的分词问题总结

众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。本文转载自明略研究院的技术经理牟小峰老师讲授的语言处理中的分词问题。 如何界定分词 中文分词指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程;在英文中,单词之间是以空格作为自然分界符,汉语中词没有一个形式上的分界符。(见百度百科) 正因为缺乏形式上的分界符,导致我们对词的认定会出现很大的偏差。1996 年 Sproat 等通过对 6 个母语为汉语的人进行调研,让这 6 人对同一篇中文文本进行人工切分,文本包括 100 个句子,最后统计认同率,见下表: 图1 不仅普...阅读全文

博文 2018-10-26 12:34:40 左手中的倒影

Go中文分词 Sego

[词典](https://github.com/huichen/sego/blob/master/dictionary.go)用双数组trie(Double-Array Trie)实现, [分词器](https://github.com/huichen/sego/blob/master/segmenter.go)算法为基于词频的最短路径加动态规划。 支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行[JSON RPC服务](https://github.com/huichen/sego/blob/master/server/server.go)。 分词速度[单线程](https://github.com/huichen/sego/blob/master/tools/bench...阅读全文

开源项目 2016-04-17 16:00:00 huichen

非官方中文文档Promethues监控系统

## Prometheus 非官方中文手册 --- ### 目录 - 介绍 [总览](introduction/overview.md) [安装](introduction/install.md) [启动](introduction/get_started.md) [对比](introduction/comparison.md) [常见问题](introduction/questions.md) [路线图](introduction/roadmap.md) [学习媒介](introduction/media.md) [词汇](introduction/glossary.md) - ...阅读全文

go语言

Go 中文社区 Go官方网站 http://golang.org/ Go中文官网 http://golang-china.org/ 中文论坛(测试中…) http://bbs.golang-china.org/ 中文用户讨论组(邮件) https://groups.google.com/group/golang-china/ 中文翻译(SVN) http://code.google.com/p/golang-china/ GitHub与Google Code同步(GIT) http://github.com/border/golang-china QQ群: 102319854(申请加入请到中文论坛留言) Go中文文档翻译计划 Install Go 初稿完成 Go Tutorial 初稿完成 ...阅读全文

博文 2014-10-16 12:00:06 u012867952

ElasticSearch+Spark 构建高相关性搜索服务&千人千面推荐系统 完整版

第1章 课程导学【终于遇到你】本章综合讲述了点评搜索推荐课程的项目业务背景,架构设计理念以及所需要用到的核心技术能力。第2章 项目设计【项目需求到技术方案的完美执行过程】本章中讲述了如何模拟现实情况中,点评搜索推荐项目从业务需求BRD到产品需求PRD,最终到技术方案选型,架构设计及技术落地的整个过程。第3章 项目基础搭建【业务系统之基础能力】本章中使用了SpringBoot加Mybatis框架完成基础项目能力建设,并加装通用返回值,异常处理,页面请求资源等处理方式完善业务系统的基础能力建设。第4章 基础服务之用户,运营,商户能力建设【业务系统主体实现】本章中,将项目中业务系统能力划分为C端用户层和运营后台管理层,建设了面向用户的登录注册服务与面向运营配置后台的统一权限管理,并建设了一套点评商...阅读全文

博文 2019-12-18 23:49:15 buzzttys

go 调用c dll,如何返回一个struct结构

我想封装nlpir的分词函数,其中有个函数 ```c result_t * NLPIR_ParagraphProcessA(const char *sParagraph,int *pResultCount,bool bUserDict=true) ``` result_t定义 ```c struct result_t{ int start; //start position,词语在输入句子中的开始位置 int length; //length,词语的长度 char sPOS[POS_SIZE];//word type,词性ID值,可以快速的获取词性表 int iPOS;//词性 int word_ID; //如果是未登录词,设成或者-1 int wor...阅读全文

riot search v0.10.0 发布, 优化引擎和分词等

Riot v0.10.0, Danube River 发布了. Go 开源,分布式,简单高效的搜索引擎 项目地址: https://github.com/go-ego/riot 主要变更: - [NEW] 增加 heartbeat - [NEW] Add go dependency package to vendor - [NEW] 增加 codecov - [NEW] Add context cancel - [NEW] 更新 gse 和 support Japanese - [NEW] 更新 [gse](https://github.com/go-ego/gse) 1. 更新加载字典方法增加默认字典 2. 增加多个字典兼容不同语言 - [...阅读全文

Rust中文社区上线了在线中文论坛

现在Rust中文社区形成了Rust中文文档中心和在线中文论坛,相辅相成致力于Rust语言中文网络! 访问论坛是直接访问 https://rustlang-cn.org 通过导航栏论坛访问,所以不需要在多记住一个地址!同时论坛的文档即为跳转到主站所以文档中心与中文论坛相辅相成...阅读全文

博文 2019-01-12 12:34:38 krircc

Go 语言高效分词gse

Go 语言高效分词, 支持英文、中文、日文等 [词典](https://github.com/go-ego/gse/blob/master/dictionary.go)用双数组trie(Double-Array Trie)实现, [分词器](https://github.com/go-ego/gse/blob/master/segmenter.go)算法为基于词频的最短路径加动态规划。 支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行[JSON RPC服务](https://github.com/go-ego/gse/blob/master/server/server.go)。 分词速度[单线程](https://github.com/go-ego/gse/blob/ma...阅读全文

渣渣菜鸡为什么要看 ElasticSearch 源码?

004 前提 人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需,大型企业早已淹没在系统生成的浩瀚数据流当中。大数据技术业已集中在如何存储和处理这些海量的数据上。Elasticsearch 作为开源领域的后起之秀,从2010年至今得到飞跃式的发展。 Elasticsearch 以其开源、分布式、RESTFul API 三大优势,已经成为当下风口中“会飞的猪”。 在我的电脑本地写了几篇 ElasticSearch 的源码解析了,回过头来想想应该也写一篇为何我会去看它的源码? 为什么呢?下面我讲讲自己从接触搜索到现在看源码的过程! 关注我 zhisheng 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/08/24...阅读全文

博文 2018-08-18 09:34:48 zhisheng_tian

Go 语言高效分词, 支持英文、中文、日文等

Go 语言高效分词, 支持英文、中文、日文等 词典用双数组trie(Double-Array Trie)实现, 分词器算法为基于词频的最短路径加动态规划。 支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务。 分词速度单线程9MB/s,goroutines并发42MB/s(8核Macbook Pro)。 ## 安装/更新 ``` go get -u github.com/go-ego/gse ``` ## Build-tools ``` go get -u github.com/go-ego/re ``` ### re gse To create a new gse application ``` $...阅读全文

Go 语言开发的搜索引擎 bleve

全文检索领域,Elasticsearch 应该是当之无愧的大佬了,当对与一些小的项目来说还是过于厚重了,不想用 Elasticsearch。只好搜寻其他能用的项目。目前自己的网站正好用 golang 来重后台,搜寻一下 go 语言有哪些可以用的开源项目,刚好看到一篇文章。转载记录一下。 先安利一个 Go 语言开发的搜索引擎 bleve,目前看来这应该是 Go 语言开发的搜索引擎里面最有潜力,或者说最不像玩具的搜索引擎。 简单试用了一下体验还可以,并试探性的提了一个关于打版本标签的 issue ,作者的回复响应速度也很快。 网上搜的资料上显示 bleve 是由 CouchBase 团队打造出来的。 但是我比较不理解的是为什么看了一下代码提交的commit ,主要都是由作者一个人提交的代码。 这...阅读全文

博文 2019-08-21 00:02:42 烈日星辰

go学习资料汇总

Go官方 http://golang.org/ Go代码 http://code.google.com/p/go/ http://code.google.com/p/gomingw/downloads/list Go 语言中文翻译项目 http://code.google.com/p/golang-china/ Go语言中文论坛 http://bbs.golang-china.org/ 在线学习 http://go-tour-zh.appsp0t.com/#1 http://www.mikespook.com/learning-go/comment-page-1/#comment-4000 go的eclipse插件 http://code.google.com/p/goclipse/ go代...阅读全文

博文 2014-10-05 23:12:32 海贼wang

golang在图片上绘制中文不乱码的方法

直接先上代码: package main import ( "fmt" "github.com/golang/freetype" "image" //"image/color" "image/png" "io/ioutil" "log" "os" ) const ( dx = 500 // 图片的大小 宽度 dy = 500 // 图片的大小 高度 // fontFile = "FZFSK.TTF" fontFile = "bbb.ttf" fontSize = 20 // 字体尺寸 fontDPI = 72 // 屏幕每英寸的分辨率 ) func main() { // 需要保存的文件 imgcounter := 123 imgfile, _ := os.Create(fmt.Sprint...阅读全文

博文 2017-12-26 03:33:06 迷路的阿修罗

Go中文分词包 cwsharp-go

Go中文分词库,支持中英文,混合词组,自定义字典。 # 安装&运行 go get github.com/zhengchun/cwsharp-go go run test.go # 说明 * simple - 简单的分词包,提供基本的字母或数字的分词功能,输出单个中文字符(一元分词) * bigram - 二元分词包 * mmseg - 基于词典的分词包,支持自定义字典和中英文混合 go run test.g...阅读全文

开源项目 2016-09-07 16:07:14 zhengchun

前期

比如新浪微博发微博的输入框有一个已输入字数的统计,它的规则推测是:汉字和中文标点算 1 个字数,英文和其他符号算 0.5 个字数。不足 1 个字算 1 个。大家可以去微博体验一下计算方式。golang 可以使用正则和 unicode 包的方法判断。以下函数 GetStrLength 返回输入的字符串的字数,每个汉字和中文标点算 1 个字数,英文和其他字符算半个字数,不足 1 个字算 1 个。// GetStrLength 返回输入的字符串的字数,汉字和中文标点算 1 个字数,英文和其他字符 2 个算 1 个字数,不足 1 个算 1个func GetStrLength(str string) float64 {var total float64reg := regexp.MustCompile...阅读全文

博文 2019-01-24 23:34:43 青云老师

Go语言统计中文词语的个数,分词.

主要目的是统计一篇文章中的出现词语最多的个数,目前只是出个大概的框架,统计出来的结果只有两种, 一种是两个字的一种是三个字的,而且准确率不高,需要优化的地方太多, 先记下来,回头闲了继续优化一下,把准确率和处理速度提上来. 菜鸟写的不好,望大家多多指教.

package main import ( "fmt" "io/ioutil" "strings" ) var Tri map[string]int = make(map[string]int) var Dou map[string]int = make(map[string]int) var Num int = 2 var Path string = "test.t...阅读全文

博文 2015-06-17 23:07:39 fyxichen

go语言编程在windows下开发环境配置(图文)

1.在Go中文论坛下载最新的Go for windows release 2010-05-04 2.将下载包解压在c盘下。 3.设置环境变量。 Code: set goroot=c:/go set goarch=386 set path=c:/go/bin set goos=windows 4.编写第一个go语言程序代码。 Code: package main import "fmt" func main(){ fmt.Printf("this is first my/n go program") }; 用记事本编写并保存为h.go,我保存在了c:/go/work下 5.编译并运行h.go文件 运行cmd,转到c:/go/work下分别输入 Code: 8g h.go 8l h.8 8.ou...阅读全文

博文 2015-04-17 19:00:00 javanian

Bleve目录结构

bleve是一个全文搜索引擎,golang里对标java的lucene,但是在结果封装等方面又借鉴了Elasticsearch很多设计,不得不说,不背负历史包袱更方便拨丝抽茧。 本章开始我们尝试分析bleve的源码,个人是不喜欢读他人源码的,1.思想受限。2.破坏自己的风格。当然最主要的是读代码比写代码难 -_-! . 如果你能很好很快的hold住一份复杂代码,你的功底至少比作者高出1个level才实际。不过这不影响咱们读代码。懂不懂不重要,重要的是读没读是吧哈哈。 废话不多说了,直接上一个图,然后嫖一下官网文档,本章交差 image 上图是bleve的目录结构。golang有着丧心病狂的包引用洁癖,所以go语言的程序分层相当讲究自上而下,这样也很方便阅读。 bleve 是top-level...阅读全文

博文 2018-11-02 15:34:43 ansj

中文分词器goscws

## golang goscws中文分词 scws是一个很好的中文分词库,由于项目中用到scws分词但go语言没有很好用的绑定,于是就自己 写了goscws,并且他支持协程分词。 ## 例子: 根据 SendText 设定的文本内容,返回一系列切好的词汇 ``` gs := goscws.NewScws() gs.SetCharset("utf8") err := gs.SetDict("/usr/local/scws/etc/dict.utf8.xdb", goscws.SCWS_XDICT_MEM) if err != nil { log.Println(err) } err = gs.SetRule("/usr/local/...阅读全文

开源项目 2018-07-19 20:32:32 jk0011

go语言编程在windows下开发环境配置(图文)

1.在Go中文论坛下载最新的Go for windows release 2010-05-04 2.将下载包解压在c盘下。 3.设置环境变量。 Code: set goroot=c:/go set goarch=386 set path=c:/go/bin set goos=windows 4.编写第一个go语言程序代码。 Code: package main import "fmt" func main(){ fmt.Printf("this is first my/n go program") }; 用记事本编写并保存为h.go,我保存在了c:/go/work下 5.编译并运行h.go文件 运行cmd,转到c:/go/work下分别输入 Code: 8g h.go 8l h.8 8.ou...阅读全文

Go 语言文本处理库Prose Go

Prose 是一款用于Go 语言的文本处理库(主要是英文),支持 okenization(分词)、part-of-speech tagging(词性标注)、named-entity extraction(命名实体提取)等。  [Tokenizing](https://github.com/jdkato/prose#tokenizing-godoc) [Tagging](https://github.com/jdkato/prose#tagging-godoc) [Transforming](https://github.com/jdkato/prose#transforming-godoc) [Summarizing](https://github.com/jdkato/pros...阅读全文

Gse v0.10.0 发布了, Go 高性能分词

Go 语言高效分词, 支持英文、中文、日文等 词典用双数组trie(Double-Array Trie)实现, 分词器算法为基于词频的最短路径加动态规划。 支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务。 项目地址: https://github.com/go-ego/gse ``` package main import ( "fmt" "github.com/go-ego/gse" ) func main() { var seg gse.Segmenter seg.LoadDict("zh,testdata/test_dict.txt,testdata/test_dict1.txt") ...阅读全文

golang goscws中文分词

## golang goscws中文分词 scws是一个很好的中文分词库,由于项目中用到scws分词但go语言没有很好用的绑定,于是就自己 写了goscws,并且他支持协程分词。 ## 例子: 根据 SendText 设定的文本内容,返回一系列切好的词汇 ``` gs := goscws.NewScws() gs.SetCharset("utf8") err := gs.SetDict("/usr/local/scws/etc/dict.utf8.xdb", goscws.SCWS_XDICT_MEM) if err != nil { log.Println(err) } err = gs.SetRule("/usr/local/scws/etc/rules.utf8.ini") if er...阅读全文

一道简单的分词程序

**题目:** > 给出字符串dogandcat及字典{"do", "d", "gand", "g", "and", "dog", "cat", "c", "at", "in", "play", "i", "nplay"}, > 找出组成字符串的所以可能的单词组合。 之前用haskell写过一个实现,但接触golang之后,发现可以写成更简明的版本,代码如下: ``` package main import ( "fmt" ) var word = "dogandcat" var dicts = []string{"do", "d", "gand", "g", "and", "dog", "cat", "c", "at", "in", "play", "i", "nplay"} var re...阅读全文

博文 2017-09-29 04:50:15 aliate

C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 00)

一、安装说明 https://studygolang.com/dl 二、环境变量 // 下载 *.msi 安装文件,部分环境变量默认配置好了。 其他配置如下描述 三、目录及项目层级关系 在系统环境变量配置以后,GOPATH 的目录就是你工作区,与 C#/Java 等语言不通,可以随意存放项目目录路径。 在GO中,如果有目录 "包" 层级引用关系的话,必须存放在 GOPATH 下面。 比如: GOPATH=D:\GoWorks 那么对应目录下会有 src、pkg、bin 三个目录 src 下面的每一个文件夹,就对应着一个独立的项目,所有的 IDE 工具引用目录,也是这个路径。 不然就会产生混淆,不利于开发效率。 四、经典实战案例 https://www.jianshu.com/p/a3f63b...阅读全文

Go字符串常用方法

更多方法,请见golang中文https://studygolang.com/pkgdoc // 1. =============统计字符串长度,按字节len(str) // ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。 // UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节 // go中都以utf8进行编码 str1 := "hello world 哈哈" fmt.Println("str len=", len(str1)) // 18 // 2. =============字符串遍历,同时处理有中文的问题 r:=[]rune(str) // 常规遍历时,一个中文占三个字节,直接遍历...阅读全文

博文 2019-12-26 08:32:42 领带衬有黄金