Giter Site home page Giter Site logo

Comments (5)

huichen avatar huichen commented on July 20, 2024

经实验不可以,因为当r为单个中文字时,unicode.IsLetter也会返回true,这样就起不到划分中文字的目的,比如

“**” 原本划分为 "中/国/",按照你的改动会划分为"**/"

如果假定非中日韩语言都是字节长度为1或者2的话(不确定这个假设),可修改为

if size <= 2 && r != " " {

经实验可正确处理下面的语言

中文,日文,韩文,德语,法语,西班牙语,俄语

https://github.com/huichen/sego/blob/master/segmenter.go#L239

from sego.

huichen avatar huichen commented on July 20, 2024

貌似只有中日韩是2或者3字节这个假设是正确的,只有一种印度的语言除外,见UTF-8分区表

http://en.wikipedia.org/wiki/Utf-8#Codepage_layout

但不清楚是否非中日韩语言都是依赖空格分词的,这个假设可能过强,但对主要的几个字母语言是正确的假设。

from sego.

yunge avatar yunge commented on July 20, 2024

抱歉没有仔细验证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.

yunge avatar yunge commented on July 20, 2024

又想起一个问题,目前这种方式,好像难以处理字母语言的标点符号。

而且有些语种的标点符号与英语不同,像阿拉伯语的问号,是倒过来的'؟'。
你看会不会这样好一些?
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.

huichen avatar huichen commented on July 20, 2024

已经改正,多谢!

谢谢你对这个项目的鼓励和支持,正如你所说的,多语言支持和索引持久化正是悟空最缺乏的两个功能。如果你使用中有什么问题请尽管问。我也希望有更多人来使用和完善这个引擎,让我们一起把这个开源项目做大做好!

from sego.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.