Python与数据分析3

1.Bigflow
解析:Bigflow的强大之处在于可以将单机程序分发到相应的执行引擎上执行。包括批量计算引擎DCE(与Tez类似),迭代引擎Spark,以及流式计算引擎Gemini。但是,仅开源了Bigflow on Spark。

2.Python中的isinstance()函数
解析:isinstance()函数来判断一个对象是否是一个已知的类型,类似type()。区别为:
(1)type()不会认为子类是一种父类类型,不考虑继承关系。
(2)isinstance()会认为子类是一种父类类型,考虑继承关系。
说明:如果要判断两个类型是否相同推荐使用isinstance()。

3.正则表达式
解析:
(1)\n:匹配一个换行符。等价于\x0a和\cJ。
(2)\r:匹配一个回车符。等价于\x0d和\cM。
(3)\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于[\f\n\r\t\v]。
(4)\S:匹配任何非空白字符。等价于[^\f\n\r\t\v]。
(5)\t:匹配一个制表符。等价于\x09和\cI。
(6)|:指明两项之间的一个选择。要匹配|,请使用|。
(7)():标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用(和)。

4.正则表达式[\u4e00-\u9fa5]
解析:匹配中文字符。

5.正则表达式+
解析:匹配前面的子表达式一次或多次。例如,’zo+’能匹配”zo”以及”zoo”,但不能匹配”z”。+等价于{1,}。

6.re.match函数
解析:匹配成功re.match方法返回一个匹配的对象,否则返回None。函数使用方法为re.match(pattern, string, flags=0)。其中,flags=0标志位用于控制正则表达式的匹配方式。比如,re.U根据Unicode字符集解析字符,这个标志影响\w,\W,\b,\B。

7.threading.Lock()和threading.RLock()
解析:
(1)threading.Lock():加载线程的一个基本的锁对象。一次只能一个锁定,其余锁请求需等待锁释放后才能获取。
(2)threading.RLock():多重锁,在同一线程中可用被多次acquire。如果使用RLock,那么acquire和release必须成对出现。
说明:RLock允许在同一线程中被多次acquire,而Lock却不允许这种情况。

8.jieba词性标注集
解析:
(1)jieba分词的词性标注使用的是北大计算所的词性标注集。
(2)StanfordNLP中文分词使用CTB(Chinese Tree Bank)中文树库标注词性。

9.分词歧义
解析:
分词歧义又分为组合型歧义、交集型歧义和真歧义三种类型。如下所示:
(1)组合型歧义:分词是有不同的粒度的,指某个词条中的一部分也可以切分为一个独立的词条。比如“中华人民共和国”,粗粒度的分词就是“中华人民共和国”,细粒度的分词可能是“中华/人民/共和国”。
(2)交集型歧义:在“郑州天和服装厂”中,“天和”是厂名,是一个专有词,“和服”也是一个词,它们共用了“和”字。
(3)真歧义:本身的语法和语义都没有问题, 即便采用人工切分也会产生同样的歧义,只有通过上下文的语义环境才能给出正确的切分结果。比如,对于句子“美国会通过对台售武法案”,既可以切分成“美国/会/通过对台售武法案”,又可以切分成“美/国会/通过对台售武法案”。

参考文献:
[1] bigflow:https://github.com//baidu/bigflow

猜你喜欢

转载自blog.csdn.net/shengshengwang/article/details/78888726