Git Product home page Git Product logo

Comments (15)

yudong27 avatar yudong27 commented on July 21, 2024 11

1、在同等条件下,crf是比bilstm+crf快,但有几个问题:1)有个软件叫crf++,用c++写的,可以导入python中使用,比纯python的代码快很多,比起性能,这份代码没有优势;2)易用性上来说,不管tensorflow、pytorch、crf++,只要代码封装好,都可以易用,像hanlp这样用java写成的包依然可以封装python接口
2、比如前向后向算法,隐马尔科夫模型和感知机模型====> 首先,这几个算法不在一个层级上,其次HanLP中文分词提供下列功能: 最短路分词、N-最短路分词、感知机分词、CRF分词、极速词典分词,其他分词工具没找到确切的算法说明
3、这种模型一旦迁移到其他领域,性能下降的会非常明显。所以为了改进这问题,我们针对不同领域提供了不同的预训练模型====>这只是训练语料的差异,不是模型的问题
以上其实都不是什么问题,代码谁都可以写,最让人想吐槽的是代码的介绍:“高准确度中文分词工具,简单易用,跟现有开源工具相比大幅提高了分词的准确率”,这种比较是不公平的,也是不准确的,再加上机器之心的宣传,让人有多少希望就有多少失望。

from pkuseg-python.

yaleimeng avatar yaleimeng commented on July 21, 2024 9

分词领域不可能有突破性进展,都是一点点缓慢前进。作者本来就是灌水一下论文,想提振一下声望,大家切勿认真。取消star是上策。

from pkuseg-python.

benjinus avatar benjinus commented on July 21, 2024 8

您好,我们在早期pkuseg的代码里面,使用了LSTM和crf的方法。虽然这种方法是近两年比较流行的research方法。但是这种方法跟纯crf比起来,运行速度时间过长,而且深度学习的方法一般要求一些底层的框架,比如tensorflow和pytorch。作为research的研究,深度学习的方法在效果提升上是值得肯定的。但是作为工具包使用的话,必须考虑性能需求和易用性。综合考虑,我们使用了crf作为我们的模型基础。之前的一些比较有名的中文分词工具包也都是采用了比较简单易用的方法,比如前向后向算法,隐马尔科夫模型和感知机模型。

同时我们想要强调的是,我们发布此款工具包的目的并不是为了发布一个非常fancy的模型框架。我们的初衷是想给大家提供更多细粒度的预训练模型。考虑到易用性,我们在模型部分反而做了很多简化。传统的中文分词包一般只会提供单一的通用模型,这种模型一旦迁移到其他领域,性能下降的会非常明显。所以为了改进这问题,我们针对不同领域提供了不同的预训练模型。这样用户在实际运用过程中,可以自由地选择跟待分词领域比较接近的预训练模型进行分词,以此来提高分词效果。@yudong27 @Guhaifudeng

既然是做研究,除开专有名词外,回复还是不要夹杂英文。比如:

作为research的研究

近两年比较流行的research方法

发布一个非常fancy的模型框架

一流大学应该有一流的、严谨的态度。

from pkuseg-python.

jingjingxupku avatar jingjingxupku commented on July 21, 2024 7

分词领域不可能有突破性进展,都是一点点缓慢前进。作者本来就是灌水一下论文,想提振一下声望,大家切勿认真。取消star是上策。

分词在传统的新闻领域确实已经有了效果上的瓶颈,我们非常同意您的观点。但是在实际应用中,分词效果还有很大的提升空间,尤其是领域对分词效果影响。如果其余设置一样的话,使用有针对性的特定领域训练的模型一般比在单一语料训练的通用模型更有优势,这恰恰也是我们推出此工具包的目的。我们想给大家提供更多的细领域预训练的模型,让大家在实际使用的过程中可以尽可能避免领域对分词效果的干扰。虽然我们现在提供的预训练模型还比较少,仅支持了新闻和weibo领域,但是我们拟在最近推出小说,专利,旅游,医药等等专有领域的预训练模型来给大家提供更多选择。

我们的代码包目前并不完善,我们欢迎您对具体的工具包的问题提出问题和质疑,这些对我们工具包的继续改进有很大的帮助,但是也请不要随便对开发人员进行人身攻击。希望可以得到您的理解和认可,谢谢!

from pkuseg-python.

jingjingxupku avatar jingjingxupku commented on July 21, 2024 4

您好,我们在早期pkuseg的代码里面,使用了LSTM和crf的方法。虽然这种方法是近两年比较流行的研究方法。但是这种方法跟纯crf比起来,运行速度时间过长,而且深度学习的方法一般要求一些底层的框架,比如tensorflow和pytorch。作为研究型的工作,深度学习的方法在效果提升上是值得肯定的。但是作为工具包使用的话,必须考虑性能需求和易用性。综合考虑,我们使用了crf作为我们的模型基础。之前的一些比较有名的中文分词工具包也都是采用了比较简单易用的方法,比如前向后向算法,隐马尔科夫模型和感知机模型。

同时我们想要强调的是,我们发布此款工具包的目的并不是为了发布一个非常复杂的模型框架。我们的初衷是想给大家提供更多细粒度的预训练模型。考虑到易用性,我们在模型部分反而做了很多简化。传统的中文分词包一般只会提供单一的通用模型,这种模型一旦迁移到其他领域,性能下降的会非常明显。所以为了改进这问题,我们针对不同领域提供了不同的预训练模型。这样用户在实际运用过程中,可以自由地选择跟待分词领域比较接近的预训练模型进行分词,以此来提高分词效果。@yudong27 @Guhaifudeng

from pkuseg-python.

yudong27 avatar yudong27 commented on July 21, 2024 2

大致看了一遍,只有crf,优化算法还有两个未实现

from pkuseg-python.

xxllp avatar xxllp commented on July 21, 2024 2
      怎么感觉这么打脸呢这个代码库

一个开源库而已,我很好奇的是网上那些文章是哪家先发现这个库的。媒体真是无恶不作

from pkuseg-python.

yangbisheng2009 avatar yangbisheng2009 commented on July 21, 2024 1

怎么感觉这么打脸呢这个代码库

from pkuseg-python.

jingjingxupku avatar jingjingxupku commented on July 21, 2024 1

1、在同等条件下,crf是比bilstm+crf快,但有几个问题:1)有个软件叫crf++,用c++写的,可以导入python中使用,比纯python的代码快很多,比起性能,这份代码没有优势;2)易用性上来说,不管tensorflow、pytorch、crf++,只要代码封装好,都可以易用,像hanlp这样用java写成的包依然可以封装python接口
2、比如前向后向算法,隐马尔科夫模型和感知机模型====> 首先,这几个算法不在一个层级上,其次HanLP中文分词提供下列功能: 最短路分词、N-最短路分词、感知机分词、CRF分词、极速词典分词,其他分词工具没找到确切的算法说明
3、这种模型一旦迁移到其他领域,性能下降的会非常明显。所以为了改进这问题,我们针对不同领域提供了不同的预训练模型====>这只是训练语料的差异,不是模型的问题
以上其实都不是什么问题,代码谁都可以写,最让人想吐槽的是代码的介绍:“高准确度中文分词工具,简单易用,跟现有开源工具相比大幅提高了分词的准确率”,这种比较是不公平的,也是不准确的,再加上机器之心的宣传,让人有多少希望就有多少失望。

crf++是个纯crf的处理工具,感谢您提供的参考建议,为了速度上的提升,我们接下来会考虑根据crf的实现来进一步改进我们的模型。不过需要注意的是我们的工具包是针对分词的工具包。为了泛化性,除了模型部分,还有优化算法和分词的特征选取等等需要考虑。大家当然也可以选择crf++进行分词,不过我们想给大家提供更加便利的工具进行使用。

我们承认其他分词工具实现了很多模型也有很多优点。但是这与我们的工具包推出目的并不违背。我们本意并不是推出一个融合各种模型的通用分词工具包,我们是想给大家提供更多可以自由选择针对特定领域预训练模型的权利。这样大家在使用的时候,不仅仅可以选择其他通用的分词工具包,也可以根据领域特点选择我们提供的各种细领域与训练的模型。这才是我们发布这款工具包的本意。

针对您说的跨领域的问题,我们承认也赞同您说的是由于训练语料的原因,这也是为什么在已经有很多通用工具包的基础上,我们仍然愿意开源我们代码的原因。当用户在实际使用过程中,可能会面临各种各样的领域数据,我们认为跟传统的通用模型比起来,如果选择合适的特定领域的预训练模型会大大提高模分词效果,这也是我们此工具包的亮点。尽管通用的分词工具包提供了各种各样自定义训练的接口,但是我们还是想给用户提供更多便利,这样用户在使用过程中就不用自己先预训练语料进行训练了,直接使用我们提供好的预训练模型进行切词就可以了。

我们发布此工具包的初衷只是想帮助大家,给大家自由选择特定领域预训练模型的权利。也许现在的工具包还不完善,但是我们接下来会继续推出更多预训练好的细领域的模型供用户们使用,也会在模型性能和代码质量上做更多改进。最后,还是非常希望可以得到您的理解和支持!

from pkuseg-python.

Guhaifudeng avatar Guhaifudeng commented on July 21, 2024

我看代码,没发现RNN,用的CRF;

from pkuseg-python.

jingjingxupku avatar jingjingxupku commented on July 21, 2024

您好,我们在早期pkuseg的代码里面,使用了LSTM和crf的方法。虽然这种方法是近两年比较流行的research方法。但是这种方法跟纯crf比起来,运行速度时间过长,而且深度学习的方法一般要求一些底层的框架,比如tensorflow和pytorch。作为research的研究,深度学习的方法在效果提升上是值得肯定的。但是作为工具包使用的话,必须考虑性能需求和易用性。综合考虑,我们使用了crf作为我们的模型基础。之前的一些比较有名的中文分词工具包也都是采用了比较简单易用的方法,比如前向后向算法,隐马尔科夫模型和感知机模型。
同时我们想要强调的是,我们发布此款工具包的目的并不是为了发布一个非常fancy的模型框架。我们的初衷是想给大家提供更多细粒度的预训练模型。考虑到易用性,我们在模型部分反而做了很多简化。传统的中文分词包一般只会提供单一的通用模型,这种模型一旦迁移到其他领域,性能下降的会非常明显。所以为了改进这问题,我们针对不同领域提供了不同的预训练模型。这样用户在实际运用过程中,可以自由地选择跟待分词领域比较接近的预训练模型进行分词,以此来提高分词效果。@yudong27 @Guhaifudeng

既然是做研究,除开专有名词外,回复还是不要夹杂英文。比如:

作为research的研究

近两年比较流行的research方法

发布一个非常fancy的模型框架

一流大学应该有一流的、严谨的态度。

您好,谢谢您的指正,我们会尽量避免这些问题。

from pkuseg-python.

ReactiveCJ avatar ReactiveCJ commented on July 21, 2024

想问一下,jieba的分词模型,你是怎么重新训练的。

from pkuseg-python.

neroyang avatar neroyang commented on July 21, 2024

首先作者开源的精神值得学习,何必在乎细枝末节

from pkuseg-python.

xxllp avatar xxllp commented on July 21, 2024

散了散了,各种跟主题无关的攻击语言。。

from pkuseg-python.

SCismycat avatar SCismycat commented on July 21, 2024

发帖支持作者的开源精神

from pkuseg-python.

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.