Comments (5)
经实验不可以,因为当r为单个中文字时,unicode.IsLetter也会返回true,这样就起不到划分中文字的目的,比如
“**” 原本划分为 "中/国/",按照你的改动会划分为"**/"
如果假定非中日韩语言都是字节长度为1或者2的话(不确定这个假设),可修改为
if size <= 2 && r != " " {
经实验可正确处理下面的语言
中文,日文,韩文,德语,法语,西班牙语,俄语
见 https://github.com/huichen/sego/blob/master/segmenter.go#L239
from sego.
貌似只有中日韩是2或者3字节这个假设是正确的,只有一种印度的语言除外,见UTF-8分区表
http://en.wikipedia.org/wiki/Utf-8#Codepage_layout
但不清楚是否非中日韩语言都是依赖空格分词的,这个假设可能过强,但对主要的几个字母语言是正确的假设。
from sego.
抱歉没有仔细验证IsLetter对cjk的处理。
目前这个方法不错,对于分词应该够了,3字节及以上应该都是一些特殊字符。
我以后在做其它各个语言的数据采集时,会进行一下检查,有问题再联系。
我不知道你email,一些建议就在这里提一下了。
首先真的很希望你能把这个项目坚持下去,目前来看wukong应该是go语言第一个全文检索/搜索引擎了,说实话开源项目的先发优势,有时候还是很大的,所以如果能坚持下去,wukong是可能有一个很大的发展的,就像lucene、sphinx。当然这也确实需要大量的精力投入,如果你真的很忙,我也完全理解。
另外就是两个具体的建议,首先是多语言支持,其次是索引的持久化。
我在你的微博看到你现在人在google,那么是否有可能找一些自然语言处理方面的同事,一起完善一下多语言部分?持久化这个相信你也肯定考虑过,如果有具体的计划,
不妨也公布一下。
不管如何,多谢你的这个项目,我以前是用sphinx的,刚开始的时候sphinx连个go的库都没有,我自己还写一个了sphinx的client库。如果有纯go开发的全文检索库,可以做很多深入的针对业务的优化了。
2013/11/15 Hui Chen [email protected]
经实验不可以,因为当r为单个中文字时,unicode.IsLetter也会返回true,这样就起不到划分中文字的目的,比如
“**” 原本划分为 "**",按照你的改动会划分为"**/"
如果假定非中日韩语言都是字节长度为1或者2的话(不确定这个假设),可修改为
if size <= 2 && r != " " {
经实验可正确处理下面的语言
中文,日文,韩文,德语,法语,西班牙语,俄语
见 https://github.com/huichen/sego/blob/master/segmenter.go#L239
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/2#issuecomment-28542397
.
from sego.
又想起一个问题,目前这种方式,好像难以处理字母语言的标点符号。
而且有些语种的标点符号与英语不同,像阿拉伯语的问号,是倒过来的'؟'。
你看会不会这样好一些?
if size <= 2 && (unicode.IsLetter(r) || unicode.IsNumber(r)) {
2013/11/15 Fu Yunge [email protected]
抱歉没有仔细验证IsLetter对cjk的处理。
目前这个方法不错,对于分词应该够了,3字节及以上应该都是一些特殊字符。
我以后在做其它各个语言的数据采集时,会进行一下检查,有问题再联系。我不知道你email,一些建议就在这里提一下了。
首先真的很希望你能把这个项目坚持下去,目前来看wukong应该是go语言第一个全文检索/搜索引擎了,说实话开源项目的先发优势,有时候还是很大的,所以如果能坚持下去,wukong是可能有一个很大的发展的,就像lucene、sphinx。当然这也确实需要大量的精力投入,如果你真的很忙,我也完全理解。
另外就是两个具体的建议,首先是多语言支持,其次是索引的持久化。我在你的微博看到你现在人在google,那么是否有可能找一些自然语言处理方面的同事,一起完善一下多语言部分?持久化这个相信你也肯定考虑过,如果有具体的计划,
不妨也公布一下。不管如何,多谢你的这个项目,我以前是用sphinx的,刚开始的时候sphinx连个go的库都没有,我自己还写一个了sphinx的client库。如果有纯go开发的全文检索库,可以做很多深入的针对业务的优化了。
2013/11/15 Hui Chen [email protected]
经实验不可以,因为当r为单个中文字时,unicode.IsLetter也会返回true,这样就起不到划分中文字的目的,比如
“**” 原本划分为 "**",按照你的改动会划分为"**/"
如果假定非中日韩语言都是字节长度为1或者2的话(不确定这个假设),可修改为
if size <= 2 && r != " " {
经实验可正确处理下面的语言
中文,日文,韩文,德语,法语,西班牙语,俄语
见 https://github.com/huichen/sego/blob/master/segmenter.go#L239
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/2#issuecomment-28542397
.
from sego.
已经改正,多谢!
谢谢你对这个项目的鼓励和支持,正如你所说的,多语言支持和索引持久化正是悟空最缺乏的两个功能。如果你使用中有什么问题请尽管问。我也希望有更多人来使用和完善这个引擎,让我们一起把这个开源项目做大做好!
from sego.
Related Issues (20)
- 可以加载多个词库吗?貌似只会以最后一个词库为准?
- 怎样可以不输出日志? HOT 1
- 分词时应该把原词加入结果
- 分词时应将原词加入到结果 HOT 1
- Hi! 请问sego能忽略标点符号吗?
- 自定义函数toLower,是否可以替换为系统函数?
- 不能获取被匹配到的词么?
- 分词文本文件
- Please add LICENSE
- 错误:当词典只有一个关键词并且该关键词在句首时,无法得到该分词
- 关于并发 HOT 1
- go module 无法加载到字典文件
- 重新载入字典时,新加入的词未加入新的对象中
- 每次都要重复加载词典,加载词典时间又很长 HOT 2
- 请问如何自定义词典,有什么规律吗? HOT 1
- 有没办法支持从filesystem加载字典 例如packr pkger
- 10:00中的10的词性识别成了x
- is there a cpp implementation with a similar algorithms with sego?
- 将文本划分成字元 的时候为什么要吧大写转为小写
- 有可以直接在linux下解压开箱即用的二进制安装包吗?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sego.