首页 > 后端开发 > Python教程 > 对于学自然语言处理方向的学生来说,学 Perl 好还是学 Python 好?理由是什么?

对于学自然语言处理方向的学生来说,学 Perl 好还是学 Python 好?理由是什么?

WBOY
发布: 2016-06-06 16:24:07
原创
1753 人浏览过

回复内容:

建议选择 Python 吧,日子会好过些。

Python 的 Natural Language Toolkit [1] 不错。有本 Natural Language Processing with PythonAnalyzing Text with the Natural Language Toolkit [2] 可以看看,写得很浅。学 Perl 的曲线比较陡峭[3],而且其实两者到后来就触类旁通了。人生苦短,莫入邪教(当然后期研究宗教现象学就是另外一回事啦)。

[1] nltk.org/
[2] shop.oreilly.com/produc
[3] neverworkintheory.org/? coursera上有Michael Collins的Natural Language Processing课程,作业就是用python实现算法,建议一看~
Coursera.org 我支持 Python,库多,至少我见过有机器学习的库,有大量数学库。Perl 那边情况不清楚,不过 Perl 最初是为系统管理、文本处理之类非常 UNIX 风格的任务设计的。

另外,我说 Python 比 Perl 易学没人会反对吧? python和R 在这两个中间选的话,我建议Perl 。 做自然语言处理的应该会喜欢摆弄语言吧。 Perl 的表现力这么丰富的说。 python速度和方便程度都不比不上matlab。而且文献中有很多程序都是用matlab写的。另外matlab的矩阵计算优化得很好,计算速度远远超过了numpy。

如果要作为产品,那么用C++和Eigen库开发,然后并行化,是极好的。整体速度远远高于matlab和python,内存使用量也小(大数据情况下内存使用量也是要考虑的)。

我先在基本用matlab做原型,用C++开发产品。

python介于两者之间,我自己用下来的感觉是比较尴尬的。

perl没用过。。 我一直都用的是perl。perl可以写得太随意了,不容易看懂。不过一旦熟悉了,就可以用的很强。 我觉得要看看具体从事“什么样的自然语言处理了”,如果只是单纯的用正则表达式挖掘一些文本中的实体(name entity)或者特定结构的话(比如一个网页中的天气预报文字结构片段),那么Perl比Python有过之而无不及,因为Perl的正则表达式真的很高效强大。但是,如果要进行更加复杂的自然语言处理,比如,涉及到“词形还原(symbolic -> symbol)”,“同义词”,甚至“语义网”这类的处理,那么Python是最佳选择,因为他有诸如NLTK这样的强大库。 perl和python都接触了,如果是文本处理的话,perl文本处理没得说,python写得偶蛋疼。
不过perl的话,看其他人的代码(很多没遵循best practice)很蛋疼,python的缩进使可读性增加很多。python出了python3,代码还是和python2有细微差别的。perl(用Acme::Pythonic模块)也可以像python那样写代码。 Perl和Python都接触了点,以前工作中常用Perl做报表相关的统计,很方便,其正则强大好用,其他的方面没有怎么接触,但是还是去看了些cpan上模块,说真的,属于自虐。Python代码清晰,如果不是什么高级的用法,还有一两眼就能看出想做什么。
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板