aihackers / deeplearningstartup Goto Github PK
View Code? Open in Web Editor NEWDeep Learning 相关课程入学任务提交处
Deep Learning 相关课程入学任务提交处
1. 代码地址
**2.**我的输出结果:
这种 情况 : 77
没有 什么 : 70
这个 问题 : 57
因为 他们 : 55
如果 我们 : 50
所有 这些 : 47
这种 观点 : 46
这个 世界 : 40
他们 自己 : 38
我们 可以 : 37
**1.**统计出现频率最高的二元词组,采用的是字典排序;1.12 序列中出现次数最多的元素这个算法实现的话效率会更高;完成任务的时候我没有想到这种方法,代码中贴的是自己想到的方法
**2.**想在机器学习方面学习一下,怕跟不上社会呀,好期待开智的课程呀
各位同学,本人上传代码到GitHub的时候需要配置SSH Keys,目前遇到了这样一个问题:
在终端输入:ssh -T [email protected]
显示的是:ssh: Could not resolve hostname github.com: nodename nor servname provided, or not known
stackoverflow的解决方案是修改DNS:将192.169.16.1 修改成8.8.8.8和8.8.4.4
我着该方法去执行,还是没有效果,希望那位同学帮忙解答下这个问题。多谢!
挑战成果: GitHub 仓库地址
感想:
从加入开智学习python起,就在不停的刷新认知。首先是自信心,作为十几年学校学习中的loser,对学习毫无信心可言。现在步入中年,记忆力更是剧烈下降。其次是元认知,16年以前我根本不知道这个概念,最近半年“认知科学”“设计模式”“元知识”等等概念的刷新,给我开了一扇窗。最后就是有耐心的执行,具体到python学习中,就是立刻写代码。
虽然目前我的数学能力只有初中生水平,编程能力只有python入门级,但是我相信只要有信心、耐心、恒心、细心,对Deep Learning的学习,我看到了希望。多说无用,先啃两口统计学、概率论去了。
https://github.com/mctop/mcdeeplearn.git
https://github.com/liang0624/DL101
我对NLP领域虽说还不是很了解,在刚开始接触就很感兴趣,希望未来可以从事相关工作。
对于Python,通过这次挑战,也初步掌握了它的基础语法,包括对字符串的处理、字典、列表等数据类型、函数式编程的运用。相信会在今后的学习中越用越熟练。
统计基础不怎么好,这两天对线性回归、贝叶斯推断的学习勉强还能看懂。
学习自己感兴趣的东西一定要坚持下来。
家里电脑是mac,公司电脑是windows-64bit。
入学挑战中,应该是要使用python3来处理自然语言,因为python2对字符处理有些困难。那就不能使用mac和windows自带的python2来处理。
nltk处理自然语言包,www.nltk.org上只有32bit的安装文件,没有64bit。
我电脑里安装了jupyter和Spyder,但是不管是使用pip install nltk还是conda install nltk都不成。想问各路大神这种情况下,应该怎么办呢?
初触python和深度学习的感想
作为一枚使用C和C++的入门级程序员,还是将lpthw书中的练习题一个个敲了下来。在练习和为了完成编程实战作业的资料查找中,深深地感受到python语言的“亲民性”。如果把编程看做是盖房子,C基本只提供了最基本的原材料,真正盖房子开始前,需要对原材料进行二次加工,制作成一个个或漂亮或丑陋的组件,以求在盖房子时真正来用。而python更像是提供了各种各样漂亮的组件,等着被筛选后直接嵌在房子的骨架里。Paul Graham在《黑客与画家》一书中称python是一种胶水语言。也正是这样的特性使得python更利于解决一些复杂问题,让使用python的人聚焦与解决问题上,而不是聚焦于代码组件的构建上。
在完成入学挑战的过程中,自己通过google、百度从python的代码库找寻材料,再将这些材料粘合起来,基本功能实现,只是代码距离漂亮简洁还很远。希望在深度学习的课程中,能一步步掌握在python代码库中选材的技能,初探深度学习的神秘,也获得一份深度学习领域的导航地图。非常期待自己在开智的第一门课~
1.仓库地址
2.练习部分
之前在外地跑事情,没有带电脑,报名后以为入学测试是27号前完成,昨天在高铁上收到了短信。
晚上继续写了ex15/ex16 /ex17(有点感慨)
3.挑战部分
一开始,对于咋么完成比较茫然
浏览 issue中同学作业后
发现 解决方式有:列表、字典、bigram(搜索了下,有看到代码,但还是不太会用,就放弃了这个,毕竟时间紧)
浏览了Learn Python the Hard Way中字典一章,觉得有点繁复
决定从问题本身入手
搜索了“二元词组+python",看到一些方法,自己理解的逻辑是将独立的词前后两两合并,在新构成的词中筛选
参考了一些小伙伴的代码
写了代码
完全是现学现卖
*换行符部分 参考知乎中一个答复,但报错了,就先还是按小伙伴的来了。
*网上有搜索到统计频率的一个命令,试用了下,报错,还在研究怎么让它生效。
仓库地址:
1.Python前42个练习:https://github.com/JIANG09/Learn-Python-the-Hard-Way.git
2.计算二元词组频率:https://github.com/JIANG09/Deep-Learning-challenge-2.git
感想:
感想实在很多。作为毫无编程经验的文科小白,啃了LPTHW前40个练习。感觉这40个练习并不是很难,还是可以理解运用。
看第二题的第一眼就很懵,从开始懵到现在。于是发了一个issue希望的得到解答。后来实在等不急了,就看了各位同学的作业,然后找了几份感觉比较简洁能大概读懂的代码,一行一行的死磕,看不懂的函数或者符号就上网查,同时Python练习也在跟进,这样看下来,大概是懂了大半,虽然一些细节上还是不是很懂。
思路大概清楚了:先除去标点,再用split()把文章分成一个词组的列表,然后组成“w1+空格+w2” 的形式组成二元词组,最后用Counter里面的most_common()算出频率最高的前10。于是磕磕绊绊终于写完,但是在输出的时候是中文乱码,又仔细上网查了为什么是中文乱码以及怎么解决,但是结果还是没能正确输出中文(会继续弄清这个问题)。
结果不是尽如人意,和小伙伴们的差距也很大,作业做得吃力,但是平心而论自己也尽力了。4天之内搞定了Python的前40个练习,这一点还比较欣慰。但是后一个作业吃力,是因为之前从来没接触过。感觉这门课将会是一个巨大挑战。但是自己一直有个巨大的心愿就是do something cool, 自己感觉要补的很多,但是一定会尽力而为。
最后想请教一直在考虑的问题:1.之前没有上过开智的其他课程,需要其他课程作为基础吗?还是尝试直接上这个课程?
2.如果不适合这个课程,那有没有应该作为基础学习的书或者课程?我可以先自学或者参加其他课程,先做准备。
3.github 和git都用的不熟练,有没有推荐的运用指南?
我还在下载软件中,但在看入学挑战时,有一个隐藏在task里的重大问题,我看前面的同学都没发现。
1)我看了一下原文件,虽然有空格,但是词语区分的并不是按照完全按照自然语言区分的。像下面一句话:“我见 过 的 一张 张 脸孔 , 斑斑 懦弱 , 点点 愁怨 。”至少我会按照,“我 见过 的 一张张”来区分。以此来推断,还是要先合并,而后用jieba分词来做预处理。
2)仔细来看,这个原文件中有3个部分。第一部分《幸福之路》有章节重复的现象。大概是前面2-9章有重复,它的分章节技巧可以使用幸福之路来进行索引,切片。第二部分是《悠闲颂》则不然,每一章的标题不同。而章节和章节之前区别,有的是用大写中文序词,有的是阿拉伯数字。这部分则不能使用特定的词语来索引。第三部分又是幸福之路。但和第一部分的内容完全不同。也有“幸福之路”做索引。这就变成了很复杂的任务。我的想法是首先用“幸福之路”索引,将文章切片。然后还需要手工将重复的部分替换。但如何依靠机器来替换重复的部分,还没有想好。
我还没有学会怎么整程序,思路我是这样想的。
思路是用python3,而不用python处理中文字符,因为python2要decoding然后encoding。要用nltk软件包。需要先用程序把重复的段落消除之后,再进行后续操作。
1、使用jieba程序分词。然后用string指令把前后两个词连接在一起。
这样,如果有逗号,就会出现“xx,”这样的形式。这自然克服了前后两句连接而成的缺陷。将前后两个词连接在一起之后,使用判断语句,看这个word是不是4个字。
2、但这也可能出现1+3或者3+1的情形。使用方法是在word4个字的集合中,再次使用jieba分词,看前后是不是2+2的形式。如此,之后,集合就干净了。这时候再来统计频数即可。
任务
自己不太能独立完成...在看了几个同学的代码以及自己写以及调试后,真的觉得十分有必要用最小步骤来完成任务——
也同样对二元词组的定义有疑惑,不知给出的例子是否就一定代表了二字词以及不含间隔符号?
现在做的是比较泛的,还在琢磨更加精确的做法...
除此之外在看同学们的代码时也学到了很多新东西,非常开心以及非常感谢各位!如果能成功进入的话,估计痛并快乐着估计就是以后的状态了...
LPTHW
至于LPTHW中的练习都是上课的时候写的,有Python2的也有Python3
Py103在读,特别小白,比较需要参考其他人的作业...不过还是想挑战一下自己,并且找机会更多地接触、练习。
学习Python主要是因为对这个很好奇,而且个人比较喜欢逻辑性强的东西。而且算是一门新技能,很好:)
还请各位大神们多多指教! :)
过程感想:本来以为要分词,后来发现已经分好了。但是换行符没有处理,会导致上一行的末词和下一行的首词被当做二元词组,就模仿原文分词的方法,把"\n"换成" , "。用most_common提取最高频率的10个元素部分,参考了铁屋同学的代码。对python的使用还处于入门阶段,好在利用google,多数问题都能解决。期待课程,虽然会被虐,但相信一定会别有收获。
见这里 代码 先完成一部分后面再补
输出
这种情况 77
没有什么 70
这个问题 56
因为他们 54
如果我们 47
这种观点 46
所有这些 44
这个世界 40
他们自己 38
我们可以 37
虽然之前上过数据科学基础班二期 ,工作中使用的较少,也都忘记差不多了。在过程中遇到的问题:
编程还是需要不断的使用,才能够进步,希望以后多多的向大家学习和跟大家不断的交流!
欢迎你报名内测开智学堂「基于深度学习的自然语言处理」课程!
参加这门课程需有一定基础,如果你想顺利参与这次内测,请在 2 月 24 日 11:42 前完成以下入学挑战哦:
[你的名号]完成 DL101 入学挑战啦
,例如: 云嫱完成 DL101 入学挑战啦期待你的挑战成果~
第一题:
练习1:第一个程序
In [1]:
print "Hello World!"
print "Hello Again!"
print "I like typing like this."
print "This is fun."
print "Yay! printing."
print "I'd much rather you 'not'."
print 'I "said" do not much this'
Hello World!
Hello Again!
I like typing like this.
This is fun.
Yay! printing.
I'd much rather you 'not'.
I "said" do not much this
练习2:注释和井号
In [2]:
print "I could have code like this." # and the comment after is ignored
print "This will run."
I could have code like this.
This will run.
练习3:数字和数学计算
In [3]:
print "I will now count my chickens:"
print "Hens:", 25 + 30 / float(6)
print "Rooster", 100 - 25 * 3 % 4
print "Now I will count the eggs:"
print 3 + 2 + 1 - 5 + 4 % 2 - 1 / float(4) + 6
print "Is it true that 3 + 2 < 5 - 7"
print 3 + 2 < 5 - 7
print "What is 3 + 2 ?", 3 + 2
print "What is 5 - 7 ?", 5 - 7
print "Oh that's why it's False."
print "How about some more."
print "Is it greater ?", 5 > -2
print "Is it greater or equal ?", 5 >= -2
print "Is it less or equal ?", 5 <= -2
I will now count my chickens:
Hens: 30.0
Rooster 97
Now I will count the eggs:
6.75
Is it true that 3 + 2 < 5 - 7
False
What is 3 + 2 ? 5
What is 5 - 7 ? -2
Oh that's why it's False.
How about some more.
Is it greater ? True
Is it greater or equal ? True
Is it less or equal ? False
练习4:变量和命名
In [4]:
cars = 100
space_in_a_car = 4.0
drivers = 30
passengers = 90
cars_not_driver = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passengers_per_car = passengers / cars_driven
print "There are ", cars, "cars available."
print "There are only ", drivers, "drivers available."
print "There will be ", cars_not_driver, "empty cars today."
print "We can transport ",carpool_capacity, "people today."
print "We have ", passengers, "to carpool today."
print "We need to put about ",average_passengers_per_car, "in each car."
There are 100 cars available.
There are only 30 drivers available.
There will be 70 empty cars today.
We can transport 120.0 people today.
We have 90 to carpool today.
We need to put about 3 in each car.
练习5:更多的变量和打印
In [5]:
my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 # lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'
print "Let's talk about %s." % my_name
print "He's %d inches tall ." % my_height
print "He's %d pounds heavy." % my_weight
print "Actually that's not too heavy."
print "He's got %s eyes and %s hair." % (my_eyes, my_hair)
print "His teeth are usually %s depending on coffee." % my_teeth
print "If I add %d , %d, and %d I get %d." % (my_age, my_height, my_weight, my_age + my_height + my_weight)
Let's talk about Zed A. Shaw.
He's 74 inches tall .
He's 180 pounds heavy.
Actually that's not too heavy.
He's got Blue eyes and Brown hair.
His teeth are usually White depending on coffee.
If I add 35 , 74, and 180 I get 289.
练习6:字符串与文本
In [6]:
x = "There are %d types of people." % 10
binary = "binary"
do_not = "don't"
y = "Those who know %s and those who %s." % (binary, do_not)
print x
print y
print "I said: %r." % x
print "I also said:'%s'." % y
hilarious = False
joke_evaluation = "Isn't that joken so funny ?! %r"
print joke_evaluation % hilarious
w = "This is the left side of ..."
e = "a string with a right side."
print w + e
There are 10 types of people.
Those who know binary and those who don't.
I said: 'There are 10 types of people.'.
I also said:'Those who know binary and those who don't.'.
Isn't that joken so funny ?! False
This is the left side of ...a string with a right side.
练习7:更多打印
In [7]:
print "Mary had a little lamb."
print "Its fleece was white as %s." % 'snow'
print "And everywhere that Mary went."
print "." * 10 # what'd that do ?
end1 = "C"
end2 = "h"
end3 = "e"
end4 = "e"
end5 = "s"
end6 = "e"
end7 = "B"
end8 = "u"
end9 = "r"
end10 = "g"
end11 = "e"
end12 = "r"
print end1 + end2 + end3 + end4 + end5 + end6,
print end7 + end8 + end9 + end10 + end11 + end12
Mary had a little lamb.
Its fleece was white as snow.
And everywhere that Mary went.
..........
Cheese Burger
练习8:打印,打印
In [8]:
formatter = "%r %r %r %r"
print formatter % (1, 2, 3, 4)
print formatter % ("one", "two", "three", "four")
print formatter % (True, False, False, True)
print formatter % (formatter, formatter, formatter, formatter)
print formatter % (
"I had this thins.",
"That you could type up right.",
"But it didn't sing.",
"So I said goognight."
)
1 2 3 4
'one' 'two' 'three' 'four'
True False False True
'%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r'
'I had this thins.' 'That you could type up right.' "But it didn't sing." 'So I said goognight.'
练习9:打印,打印,打印
In [9]:
days = "Mon Tue Wed Thu Fri Sat Sun"
months = "Jan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug"
print "Here are the days:", days
print "Here are the months:", months
print """
There's something going on here.
With the three double-quotes.
We'll be able to type as much as e like.
Even 4 lines if we want,or 5, or 6.
"""
Here are the days: Mon Tue Wed Thu Fri Sat Sun
Here are the months: Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
There's something going on here.
With the three double-quotes.
We'll be able to type as much as e like.
Even 4 lines if we want,or 5, or 6.
练习10:那是什么?
In [10]:
tabby_cat = "\tI'm tabbed in."
persian_cat = "I'm split \non a line."
backslash_cat = "I'm \ a \ cat."
fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass
"""
print tabby_cat
print persian_cat
print backslash_cat
print fat_cat
I'm tabbed in.
I'm split
on a line.
I'm \ a \ cat.
I'll do a list:
* Cat food
* Fishies
* Catnip
* Grass
练习11:提问
In [11]:
print "How old are you ?",
age = raw_input()
print "How tall are you ?",
height = raw_input()
print "How much do you weight ?",
weight = raw_input()
print "So,you're %r old , %r tall and %r heavy." % (age, height, weight)
How old are you ?27
How tall are you ?175
How much do you weight ?126
So,you're '27' old , '175' tall and '126' heavy.
练习12:提示别人
In [1]:
age = raw_input("How old are you ?")
height = raw_input("How tall are you ?")
weight = raw_input("How much do you weight ?")
print "So, you're %r old, %r tall and %r heavy ." % (age, height, weight)
How old are you ?35
How tall are you ?6'22"
How much do you weight ?180lbs
So, you're '35' old, '6'22"' tall and '180lbs' heavy .
练习13:参数,解包,变量
In [1]:
from sys import argv
argv = ("ex13","first","second","third")
script, first, second, third = argv
print "The script is called:", script
print "Your first variable is:", first
print "Your second variable is:", second
print "Your third variable is:", third
The script is called: ex13
Your first variable is: first
Your second variable is: second
Your third variable is: third
练习14:提示和传递
In [2]:
from sys import argv
argv = ("ex13","张三")
script, user_name = argv
prompt = '>'
print "Hi %s, I'm the %s script." % (user_name, script)
print "I'd like to ask you a few questions."
print "Do you like me %s ?" % user_name
likes = raw_input(prompt)
print "Where do you live %s?" % user_name
lives = raw_input(prompt)
print "What kind of computer do you have?"
computer = raw_input(prompt)
print """
Alright, so you said %r about liking me.
You live in %r. Not sure where that is.
And you have a %r computer. Nice.
""" % (likes, lives, computer)
Hi 张三, I'm the ex13 script.
I'd like to ask you a few questions.
Do you like me 张三 ?
Yes
Where do you live 张三?
JiNan
What kind of computer do you have?
Mac
Alright, so you said 'Yes' about liking me.
You live in 'JiNan'. Not sure where that is.
And you have a 'Mac' computer. Nice.
练习15:读取文件
In [9]:
file_name = "./ex15_sample.txt"
txt = open(file_name)
print "Here's your file %r: " % file_name
print txt.read()
txt.close()
print "Type the filename again:"
file_again = raw_input(">")
txt_again = open(file_again)
print txt_again.read()
txt_again.close()
Here's your file './ex15_sample.txt':
This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.
Type the filename again:
ex15_sample.txt
This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.
练习16:读写文件
In [10]:
filename = "ex15_sample.txt"
print "We're going to erase %r." % filename
print "If you don't want that,hit CTRL-C(^C)."
print "If you do want that, hit RETURN."
raw_input("?")
print "Opening the file ..."
target = open(filename, 'w')
print "Truncating the file.Goodbye!"
target.truncate()
print "Now I'm going to ask you for three lines."
line1 = raw_input("line 1 : ")
line2 = raw_input("line 2 : ")
line3 = raw_input("line 3 : ")
print "I'm going to write these to the file."
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
print "And finally, we close it ."
target.close()
We're going to erase 'ex15_sample.txt'.
If you don't want that,hit CTRL-C(^C).
If you do want that, hit RETURN.
?I'm line1.
Opening the file ...
Truncating the file.Goodbye!
Now I'm going to ask you for three lines.
line 1 : I'm line1
line 2 : I'm line2
line 3 : I'm line3
I'm going to write these to the file.
And finally, we close it .
练习17:更多的文件操作
In [1]:
from sys import argv
from os.path import exists
from_file = "ex15_sample.txt"
to_file = "copied.txt"
print "Copying from %s to %s " % (from_file, to_file)
input = open(from_file)
indata = input.read()
print "Does the output file exists ? %r " % exists(to_file)
print "Ready, hit RETURN to continue,CTRL-C to abort."
raw_input()
output = open(to_file, 'w')
output.write(indata)
print "Alright, all done."
output.close()
input.close()
Copying from ex15_sample.txt to copied.txt
Does the output file exists ? False
Ready, hit RETURN to continue,CTRL-C to abort.
Alright, all done.
第二题:
from collections import Counter
import codecs
f = codecs.open("happiness_seg.txt","r",encoding='utf-8')
wordList = f.read().split(" ")
c = Counter()
for i in range(0,(len(wordList) - 1)) :
if len(wordList[i]) >= 2 and len(wordList[i + 1]) >= 2:
double_words = wordList[i] + wordList[i + 1]
c[double_words] = c[double_words] + 1
most_words = c.most_common(10)
for i in range(len(most_words)):
print most_words[i][0],most_words[i][1]
输出:
这种情况 77
没有什么 70
这个问题 56
因为他们 54
如果我们 47
这种观点 46
所有这些 44
这个世界 40
他们自己 38
我们可以 37
https://github.com/chozee/DeepLearning-yuyongzhao.git
其中tuple_count.py是统计元组字数的脚本,附带word原始输入文件;其余的*.py为练习的脚本。
- 编程跟理论学习不同,主要是要实践,你以为你明白的东西不经过实践检验没办法做到真正的明白。你总会遇到各种各样的问题,在解决各种各样问题过程中,渐渐的会加深你对所学的东西的理解。学习编程切忌眼高手低,你的大脑告诉你你懂了,其实如果不经过你的手去证实的话,很可能你的大脑欺骗了你,所以编程这门学科,切忌一定要用手证明而不要听你大脑告诉你的。
- 对于NLP最想关注的未来的发展趋势、应用场景、比较成熟的应用、存在的问题、学习NLP的一般路径、国内外的一些专业公司情况、以及NLP在人工智能和机器学习中所处的位置。我个人对人工智能和机器学习特别感兴趣,希望下一个公司能做相关的工作并且深耕几年。
- Deep Learning是一种学习方法?那么在学习NLP和其他领域有什么优势?
[这种_情况] = [77]
[没有_什么] = [70]
[这个_问题] = [57]
[因为_他们] = [55]
[如果_我们] = [50]
[所有_这些] = [47]
[这种_观点] = [46]
[这个_世界] = [40]
[他们_自己] = [38]
[我们_可以] = [37]
注: Learn Python The Hard Way已经完整的敲过了前25个练习,就不在这里上传代码了。因为平时编程的实践很少,所以对语法还不够熟悉,编程的思路也锻炼的少,后面的17个练习会在开课前尽快再练习一遍。
a) 读取下载下来的文件data.txt
b) 用split进行切割, 将字符串变为列表,其中含有单独的标点和空字符
c) 用len读取显示为“\x”类的中文字符,发现两个汉字的长度为6,于是确立if条件
d) 拼接所有符合长度条件的词组,变成二元词组,依次放入一个空字典中
e) 用sort方法对value进行降序排列,print出前10个value最大的key
用version_1的结果对照了其它已提交作业的同学们的答案,发现我们在统计结果上有微小的差异。我输出的结果是:
#我的输出结果
#这种情况 : 77
#没有什么 : 70
#这个问题 : 56
#因为他们 : 54
#如果我们 : 47
#这种观点 : 46
#所有这些 : 44
#这个世界 : 40
#他们自己 : 38
#我们可以 : 37
#比较主流的其它同学的输出结果:其中的几个二元词组多1-2两个频数
version_1存在的问题:
错误1:我单纯用空格split的时候,如果出现“因为 他们”(中间有两个空格),就会出现[’因为‘,’‘,’他们‘]中间的空元素。这个时候如果用
if len(wordlist[i]) >= 6 and len(wordlist[i+1]) >= 6
这个语句的时候,就会把这个二院词组给错过,所以会少统计。于是我又改了version_2, 为了防止双空格的出现,我觉得有必要把所有空格都去除掉
a) 用re进行pattern的设置,用findall代替
b) 用codecs加了encoding = utf-8的选项,由\x改成了\u的输出,且直接print .read()后的问件会直接看到中文
c) pattern中添加了u’\u在前面,而不是r’\u,且使用了[\u4e00-\u9fa5]+]的条件
version_2存在的问题:
错误2:我上面的version_1避免了一个问题,即如果说源文件data.txt里面的标点符号不是左右都有空格的话,split以后就会出现这种情况:“因为, 他们”会变成「因为, 他们」,当然这样就会形成一个新的二元词组,是“因为,他们”,它不可能被统计进入「因为 他们」 这个二元词组。
不过事实上,跨越标点符号的这种类型的词组本来就不应该被统计,但是我在修改成version_2以后,用findall语句的时候,”因为 , 他们” 会被我处理成「因为 他们」而计入统计,其结果是频数又过多,果不其然,我的输出结果,不但数量增多,而且连二元词组都换了几个:
#输出结果
#这种情况 : 77
#没有什么 : 70
#这个问题 : 57
#因为他们 : 55
#如果我们 : 50
#所有这些 : 47
#这种观点 : 46
#这个世界 : 40
#但是如果 : 38
#他们自己 : 38
#可以很明显的看到,“但是,如果”这种二元词组的增多,还有”如果,我们”这样的二院词组增多,就是由于这个原因(我猜测)
我的两个版本都从存在问题,就是关于上述问题的解决始终让我比较困扰,还在思考用jieba来解决
总结一下,就是version_1存在错误1,version_2存在错误2,这还只是我想到的确实会出现的问题,可能还有很多我就没有觉察出的问题
a) 字典的sort方法和lambda函数
b) 代替使用sort方法的Counter容器, 以及其所在的Collections模块
c) 正则化模块re的用法,其中含有findall,match,search等函数
d) re中pattern的各种设置方法,还有r’\u...和u’\u...的区别
e) codecs函数的使用,对于编码变为unicode的理解,包括不同版本的操作系统,mac和windows下不同的编码格式
a) 继续理解编码,辅助codecs还有re模块,对于gbk和unicode还是觉得很混乱,包括encoding和的decoding命令
b) 正则化的pattern条件还需要用的更熟练,不太懂u‘和r’的区别,知道r是raw,u应该是unicode,但是整个mac的编译环境又是unicode?
c) 还有很多同学的代码没有看懂,对于如何优化以节省空间或者时间没有头绪
还应该继续多看看同学们的实现代码
d) \x和\u的len()是不同的,一个是3一个是1,原因为何,我也只是反复print实践出来的
e) jieba module还不清楚具体的使用方式,看到很多同学都用了这个进行重新的分词操作,因为原文件确实存在空格过多的问题
f) 我看到有同学直接用url读取的txt文件,待学习,我是直接下载下来的笨办法
我本科是统计背景,偏文商科,对于传统的统计方法和计量内容都有过系统的学习。我曾经在Coursera上以98%的成绩完成了Andrew Ng 在 Stanford 开设的 Machine Learning 课程,觉得有很大的收获,其中的作业我是用Octave完成的。那个课程以定性的练习为主,每个章节后面的编程内容都有很多的提示,所以处理起来不太难。
特别认同阳老师提出的[元认知]概念,在做这个作业的过程中发现自己效率低下,经常会觉得思绪很混乱,解决问题就像使用一个不断向上递归的函数,反复翻到上层去查找相关知识,可以说比较痛苦。苦于自己的编程基础和计算机知识,又缺乏编程实践的环境,总觉得缺乏一种关于学习的学习方法。深感自己在编程上面不太开窍。唯一值得欣慰的是,作为学生还有较充裕的时间。再说说期待吧:
a) 希望这门课能够授人以渔,不管是编程方面的(尤其希望自己能在这方面有所突破),还是机器学习本身的知识方面的。
b) 希望能多推荐一些自学的链接,在整个课程中能突破阅读英文一手资料的心理障碍(感觉英语水平够了,但是一直没有这个习惯)
c) 希望能有很宏观的架构地图,包括NLP的发展路径,如果能推荐一些经典文献阅读学习就再好不过了
d) 将来自己是有意向从事这方面的一个研究,可能跨学科这样,所以希望能从这门课中更进一步了解自己的兴趣和能力
1.代码地址
https://github.com/ZhaoXiaopeng1979/OpenMindFollower
输出结果:
这种情况 : 77
没有什么 : 70
这个问题 : 56
因为他们 : 54
如果我们 : 47
这种观点 : 46
所有这些 : 44
这个世界 : 40
他们自己 : 38
我们可以 : 37
2.感想
春节前原本准备报名开智python基础班的,咨询过一休哥后,得知基础班的上一期已经错过了,下一期要到四五月份,有点儿等不及。而最近开课的编程课程就是我们的“深度学习”,没学好python就直接搞深度学习,惶恐。按照《笨办法学python》中文版,从头到尾敲了一遍代码,了解了个大概,就到了深度学习的报名时间。不管了,先报再说,努力过就好。看到第二个挑战题目,纠结了两天摸不到头绪,直到有同学完成挑战,犹豫要不要偷看一下呢,算不算作弊呢。最终决定,参考、搞懂并实情相告,如果因此被淘汰,那也没有遗憾。
不过,看了几个同学的代码,发现有些搞不懂,有些运行不通,或者运行通了结果不满意,直到看到[00]同学的代码,哇,思路简洁输出清晰。当然不能原封抄,按照自己能理解的方式改写一下,再精简一点儿,起码换换变量名,就是现在的代码了。如果有时间,再继续优化吧,最后感谢前面完成挑战的所有同学,特别是[00] :)
代码:
https://github.com/dailumail/DeepLearningStudy
我的理解是,分词应该是去除标点符号和单字,只包括两个字以上的词组。
运行结果:
python calc.py happiness_seg.txt
这种情况:77
没有什么:70
这个问题:57
因为他们:55
如果我们:50
所有这些:47
这种观点:46
这个世界:40
他们自己:38
我们可以:37
看了看大家的代码,感觉大家的python和语言处理水平都很高,掌握很多python库函数,代码看起来简洁很多。我的python还处于初级水平,有的功能(例如统计词频)还是自己写的(苦逼脸),却不知道有工具直接就能实现。
提升空间还很大~~~
下面去看推荐的参考书。
同时也推荐一下吴军(Google语言处理专家)的《数学之美》,我正在看这本书。它从信息论角度解释了语言处理的原理,有基本原理,也有数学公式,非常棒。目前的感悟是,人工智能问题,其实是个概率论问题。
代码地址:
https://github.com/cutebomb/DeepLearningStartUp
感想:
本人对NLP这个领域挺感兴趣的,开智学堂的课程的设计实践性应该挺好的,最后是要实现一个问答系统呢。再有一点小小的希望就是可以提供一下整个NLP领域的survey,可以让大家以后有什么问题不明白,可以把课程老师教的东西拿出来当做寻宝图来看一看,要找什么东西的设计或实践会就会比较有方向。另外呢,自然语言处理方向上,应用Deep Learning的方法,目前还有哪些问题点,是暂时还存有问题的,还有未解决的问题老师也可以介绍介绍,说不定学堂里未来就出现几个学术大牛能把这些问题解决一部分。特别是关于中文NLP的问题,应该是有一些特别的地方的,国外的研究机构不一定花大力气关注,这些地方可能会是国内深度学习技术的突破点呢:)
仓库地址:
https://github.com/Zwiebeln/Python-bungen
输出:
➜ lpthw python dualWordList.py
这种 情况: 77
没有 什么: 70
这个 问题: 57
因为 他们: 55
如果 我们: 50
所有 这些: 47
这种 观点: 46
这个 世界: 40
他们 自己: 38
我们 可以: 37
感想:
之前几周还在十分怠惰地复习期末,22号考完试当晚就开始精神抖擞地抓起本子学python。自己选择的事+截止日期果然是拖延癌晚期的万灵药。
解析题目:
原文里词语乍看是被分好了,但还是有一些分词和我作为人类第一反应的切割方式不同,比如”一张 张“,”多种形式“, ”不敢肯定“。 不过我现在也还不了解自然语言,不知道这是不是那个圈子的行规。对这个问题我的下一步计划是:
对于Python:
第一次接触Python,相比于Java,确实抽象层级更高,简化了很多语法。比如省略分号,以及用缩进取代{}。由于时间有限,教程目前只完成了第17个,东一区27号零点之前要做完前42个。
最后说一个新年愿望:愿世界不再有时差之分,愿你们的deadline,也是我的deadline。
python入门,自学一段时间
代码仓库地址:https://github.com/Lilyfodata/ghio
Title:1、完成《Learn Python the Hard Way》 前 42 个小练习
Title:2、统计 文章 中,出现频率最高的前 10 个「二元词组」,并输出它们的频率。
感悟:网上资源很丰富,多搜索;
:跟别人交流更能事半功倍。
一、完成《Learn Python the Hard Way》 前 42 个小练习,如果精力不足,那至少完成前 17 个哦。据统计一般 20 ~ 30mins 就能完成一个小练习,相信你也可以~
ex1-17:py103在读,前17个练习已经完成。
二、统计这篇 文章 中,出现频率最高的前 10 个「二元词组」,并输出它们的频率。「二元词组」即文章中所有接连出现的两个词,如「今天 天气 不错」有「今天 天气」,「天气 不错」两个「二元词组」。
实践记录,还需要补充。
一开始看题目懵了,感觉自然语言处理这么需要算法基础的作业,估计门槛比较高。限定了困难级别,大脑都不转了。看了一下大家提交的作业,突然开窍,其实还是利用《怎样解题》的思路,分析,了解知识点,解决问题,回顾。
数据结构化py103已经实践过,数据清理,组合词组,计算词频,google大法好,自己还是能解决问题的。看到好多熟人交了作业,自己会持续优化代码,很多人的代码更简洁,还考虑到了效率问题,自己继续努力。
对二元词组的理解不同会得到不同的答案,自己的理解是词组中的词可以是一个或多个汉字,应该再尝试一下仅保留两个汉字的情况,测试一下。
感想
目前正在参加Py103课程,最近一直加班,已经有些没有跟上。周末晚上赶紧做完DL101的练习题目,希望不要在以后的学习上落下来。开智的课程对提高个人学习能力有非常大地提高 😃 ,希望在这个课程中结识更多的小伙伴,一起学习充满迷人的NLP
Title:(简要描述你的问题)
代码在这里点我
Learn Python the Hard Way 以前就开始断断续续在做,仓库里放了部分练习的代码。
python的水平基本是小白,完成代码基本靠google 🙈
入学挑战用了开智科普过的jieba分词,同时也大量学习了童鞋们的成果😂 。里面比较tricky的地方大概是要把空格去掉。标点符号貌似jieba分词的时候自动就帮我去掉了。
略困惑的一个点是,标点符号本身就表示语义的分隔或是终结,既然上下两段没有联系,统计的时候联起来看好像也就没有意义了。(不过这些肯定也不会出现在高频里,所以就pass吧)
目前主要是兴趣多一点,先学学看~ 期待DL的学习之路。
1.Learn python the hard way#练习#
2.二元词组计数排序#仓库地址#
感想:我是一名设计师,只在网页设计时了解过一些javascript,所以这次挑战算是小白级入门。在大概一周时间内尽量了解和熟悉了python的编程规则,但实践运用仍有欠缺。
对于任务二,我的思路首先是去除标点和对其进行分词,后来发现文章已作了分词且无标点符号,所以关注点就在于如何运用python的规则对其分类排序。
我参考了其他同学的做法,和后来在《learn python the hard way》了解到了“字典”的概念,才有所思路。所以开始的关键是建立存放这些二元词组的字典,然后再对其进行排序。
而排序我Google到的有sorted和counter两种参数,所以计数和排序就会有两种逻辑。由于counter和字典的结构相似,最后代码更简洁了。
通过快速地大量学习,算是入门了这个语言。当然其他同学大神的解决问题视角,真是大大开阔了我的思路~期待课程的开展,也望能跟上大家的脚步。
Title:对于挑战2 要如何完成不是很清楚。
背景:本人是文科生,粗浅的学习了Python前25个练习。但第二个挑战不是不是很清楚要如何进行。感觉应该是和统计学相关,看了已经提交的作业代码,但是自己怎么写代码还是没有头绪。
十分感谢!
代码地址
感想:
因为之前有上过数据科学班和Python基础班。LPTHW的代码就不重复提交了。
Python课错过后等了整整一年,这门课也等了半年才等到。所以即便收到暖暖的建议——最好先专注Python、减少认知负荷——还是毅然想要上这门课。
一来是之前查了童牧晨玄的资料,感觉是位特别有趣的先生。
二来课程中的各位同学,很多都是熟面孔了,既然大家都是从同一起点开始,我就不能再拿「少壮不努力」来当借口,逃避每一次挑战。
三来发现了很多「大腿」,光是看他们的代码,揣摩其中思路,就让我受益非浅。
这门课我可能很难像其他同学一样徒手撸代码,但我给自己的最低要求是完成每周作业并且理解每一行代码的意思。那就开始吧。
源文件有较多以下问题,故最终输出结果与其他学员可能不一致
感觉可能还有其他问题。。。
基于数据分析考虑,使用的工具是 Jupyter Notebook
与 Python 3.5.2
,不知道之后的课程使用工具要求是哪样
「二元词组」定义,我默认是每个词长度大于 1 ,词组不包含数字、符号与非法字符,但不知实际要求是怎样
1.代码地址:
https://github.com/newjueqi/DeepLearningStartUp
输出结果:
[["这种情况", 77], ["没有什么", 70], ["这个问题", 57], ["因为他们", 55], ["如果我们", 50], ["所有这些", 47], ["这种观点", 46], ["这个世界", 40], ["他们自己", 38], ["我们可以", 37]]
现在的网络小说和公众号的心灵鸡汤都是套路,精品太少,感觉是换了人名,换了地点和背景又是新的。
既然文章已经高度雷同了,为啥不能使用人工智能来生成,就算是生成的作品质量比起写手写的差又有什么关系,看网络小说,更多是看寂寞。
当某些领域的文学创作变成了一种高度雷同的堆砌文字的体力活,就不可避免地被人工智能所替代(例如安替老师所提到地使用人工智能生成新闻稿),只有真正能创作真正优秀作品的作者才能存活下来。
词组:「的 人」 频率:930
词组:「他 的」 频率:503
词组:「自己 的」 频率:480
词组:「上 的」 频率:356
词组:「他们 的」 频率:335
词组:「人 的」 频率:293
词组:「的 时候」 频率:261
词组:「就 会」 频率:225
词组:「的 东西」 频率:207
词组:「都 是」 频率:206
[Finished in 0.3s]
with open("happiness_seg.txt", "rt") as textfile:
来打开文件,这样不必再次关闭文件。replace()
去除标点符号再使用 split()
将文本转换成列表,还有其他方法,例如使用 translate()
,但 replace()
的速度更快。append()
来组合「二元词组」,本来想用递归函数,但似乎 Python 对递归函数的支持非常弱。output_list = []
def combine_short (input):
# a recursive function but only workable when input list is not too long
global output_list
if len(input) <= 1:
pass
else:
output_list.append(input[0] + input[1])
combine_short(input[1:])
代码地址:https://github.com/kidult00/2017.OM.DL
感想:
虽然上过 Python 一期,但是久不写代码又生疏了好多。参考了尉阮杰 和 Corey 两位同学的代码完成了作业。过程中遇到的问题:
作业难度比想象中要大。自己的编程和统计基础都不好,最近工作又特别忙,希望在课程中多跟同学们交流,能坚持下来。
1、挑战任务编程代码
DL101-代码
统计结果:
二元 词组 个数 频率(每10000二元词组)
这种 情况 77 12.4734736194
没有 什么 70 11.3395214722
这个 问题 56 9.07161717776
因为 他们 54 8.74763084998
如果 我们 47 7.61367870276
这种 观点 46 7.45168553887
所有 这些 44 7.12769921109
这个 世界 40 6.47972655554
他们 自己 38 6.15574022776
我们 可以 37 5.99374706387
因为对二元词组的理解不够,最后还是找了最简单的办法。苦战一晚,效果一般。还得加紧。
原先一直在用foxpro处理dbf数据库这样很简单的工作,看phthon还是需要努力。为了完成挑战任务,看到了练习39,也来不及输入代码。只能编干编学,也参考了其他同学的代码。
github代码:https://github.com/wuyangping/DeepLearning/blob/master/src/LanguageProcessing/Exercise_000.py
运行结果:
https://github.com/wuyangping/DeepLearning/blob/master/src/LanguageProcessing/result.txt
感想:
本人是Python新手,有C++编程背景,练习时在中文字符encoding,正则表达式方面走了些弯路,花了不少时间学习。
解析时去掉了标点符号和分隔符之类的非汉字字符,因此两个词之间如果有标点符号或者换行,则不会被统计。
代码较长,偏C++风格,正在努力学习Python,优化代码,提升效率。
算法方面有一定基础,目前正在看TensorFlow,cs231n,神经网络等方面学习资料。
希望与各位一起学习,成长!
#补充,刚才看了一下其他朋友发的代码和结果,发现统计结果跟我的不一样,可能是我对【二元词组】的理解有偏差,更新代码后统计结果如下:
77 这种 情况
70 没有 什么
57 这个 问题
55 因为 他们
50 如果 我们
47 所有 这些
46 这种 观点
40 这个 世界
38 他们 自己
37 我们 可以
第一版没有比较中文词语的长度,对所有的相邻词频做了排序,结果如下:
-923 的 人
-503 他 的
-479 自己 的
-355 上 的
-335 他们 的
-293 人 的
-261 的 时候
-225 就 会
-207 的 东西
-206 都 是
补充: 《Learn Python the Hard Way》 的 42 个小练习在1月份已经完成,代码尚未整理。
上周五抓住仅剩的少数名额,紧赶慢赶上车了,这一周就在“哇,好有意思!”和“天哪,好难!”中度过。每天晚上7:00-12:00都在《笨办法学python》中奋战,花费30+小时。大一的时候学过一点C语言,因此看到python的一些语法时,还是能较快理解,不会太过困难,但几年的时间把基础都丢光了,对于需要记忆的一些函数库、用法却十分陌生,经过一周的奋战,python也才是入门水平。
作为一个月前python负基础的学员,看到其他参加过python班的学员很快就提交了入学挑战,压力还是很大。无论能否最终参加这门课程,这周的规律、密集型学习都对我启发很大,这种学习的状态正符合我的新年词汇“规律”,果然内心驱动才是王道啊~
《Learn Python the Hard Way》前42个练习
出现频率最高的前 10 个「二元词组」
一直对NLP领域感兴趣,却找不到进入的方法,希望借助本次课程弯道超车~
希望大家关注/讨论的技术点
如何更好的理解语言,如何让机器更像人,在人机对话方面,如何将某个人的语言风格应用于整个对话?
本次练习的体验点:
看到题目觉得最难的地方居然是,如何理解题目中的「二元词组」,纠结了好久是[我 是]这样的算不算,[*** 雄伟]又算不算,最后决定按最小行动跟随题目的例子按两个字两个字的算...
对于Python,虽然看起来会用但是也是真的没写过多少,希望在课程结束的时候能够写的更加顺手。
自己写完的代码运行起来之后感觉有点慢,课程中间要多参考大家的结果,三人行必有我师,加入学习组后就会有更多的师,真是非常期待。
这种 情况 77
没有 什么 70
这个 问题 56
因为 他们 54
如果 我们 47
这种 观点 46
所有 这些 44
这个 世界 40
他们 自己 38
我们 可以 37
之前有敲过笨方法,另外用 Python 有近一年了,所以这部分就不放了,二元词组统计代码在此:
bigram_counts。
bigram
谷歌搜索之后找到了 这个答案,这个列表推导非常简洁,于是就直接拿来用了。重要的不是你有多么努力,重要的是作为一个独立的个体能够提供的究竟是什么。
但是深感自己在面对交付时的无能为力,要以此课程为起点提高自己的交付能力。
很期待在开智的第一门课程
我出生于山西省河曲县,本科和硕士就读于北京邮电大学,毕业后进入百度成为一名JAVA程序员,先是从事Web开发工作,后转为分布式系统开发,现在对人工智能感兴趣,期待未来能从事相关的工作,故报名参加开智的课堂。我业余时间对心理学感兴趣,是开智部落第二期通识部落的成员。
https://github.com/zj05409/DL101
拿到入学挑战说明之后,我确定了总体的挑战步骤:
网络和文件处理的代码片段:
urllib.urlretrieve(fileurl, filename)
f = urllib.urlopen(fileurl)
lines = f.readlines()
for line in lines:
print line
my_file = pathlib.Path("/path/to/file")
if my_file.is_file():
# file exists
txt = open(filename)
从文章中提取所有的词组,但是不包括标点
wordReg = re.compile("\w+", re.UNICODE)
re.findall(wordReg, line)
chinesepuncreg = ur"[\.\!\/_,$%^*(+\"\']+|[+——!,―。?、~@#¥%……&*():;《)《》“”()»〔〕-]+"
line = re.sub(chinesepuncreg, "", line.decode("utf8"))
从计数结果中取出top10
一、完成《Learn Python the Hard Way》 前 42 个小练习,如果精力不足,那至少完成前 17 个哦。据统计一般 20 ~ 30mins 就能完成一个小练习,相信你也可以~
二、
统计这篇 文章 中,出现频率最高的前 10 个「二元词组」,并输出它们的频率。「二元词组」即文章中所有接连出现的两个词,如「今天 天气 不错」有「今天 天气」,「天气 不错」两个「二元词组」。
虽然学过别的语言,但自己的python 基础还是太差,代码质量也惨不忍睹,简直是硬扛的感觉。。
需要多学多练,要不然效率完全上不去
但总之最小行动先把作业交了。我主要还是兴趣派,后面慢慢优化吧。。
GitHub代码:
https://github.com/hansyiu/DeepLearningStartUp
运行结果:
没有_什么, 74
我们_可以, 38
所有_这些, 36
任何_一个, 33
这个_问题, 33
产生_一种, 31
他们_认为, 31
这样_一种, 31
一个_孩子, 30
如果_我们, 30
思路:
1.先去掉文本里面的空格。
2.用结巴分词把去空格后的文本进行拆分,并放入一个新的列表里面。
3.for循环列表,判断 “前一个词 后一个词 再后面一个词” 的情况成立(即判断二元词组),
这里假设词的长度都是大于等于2的。
4. 拼接成我们要多样式放入列表。
5. 借助collections 里面的 Counter方法进行统计。
6.打印出结果。
感想:
本来想用strip()去除,后来stackoverflow了一下发现用replace效果更佳。以前没有发现有strip解决不了的事情。
不知道我理解的“二元词组”是否正确,好像和大家的输出结果还是有差异的,而且蛮大:D
练习题还没写完
明天放入Exercise文件夹
已经重新上传了作业,地址是:https://github.com/yuanyifly/DeepLearning
结果:
的 人 923
他 的 503
自己 的 479
上 的 355
他们 的 335
人 的 293
的 时候 261
就 会 225
的 东西 207
都 是 206
感想:
之前搞错了题目意思,所以又重新写了一次,非常惭愧!本人目前是个菜鸟,接触Python 才半个月,这个作业的完成就是个不断试错的过程,完成的代码不精简也不优美,感觉自己学得真是太浅了……但是我对自己的有信心,对这门课程充满兴趣,尤其是有这么多优秀的同学在,也能鞭策自己不能松懈。
另外今早似乎是网络问题,怎么都进不来Github,所以上传地晚了点,不好意思!
仓库地址:sunoonlee/OMDL101pre
感想:
with open('happiness_seg.txt','r') as wordsfile:
for words in wordsfile:
word = words.split(' ')
第二是,我在考虑如果在处理文档之前就把标点符号去掉是否会出现误差。比如:
转移 自己 思考 目标 的 做法 是 由于 对于 鬼怪 幽灵 的 恐惧 引起 的 , 人 由此 转移 了 自己 注视 的 目光 。
如果事先把逗号去掉,那么“的 人”就成了二元词组了。不知道隔了一个逗号算不算二元词组。我的代码没有把这样的算在内(只是考虑到了,但代码是否实现了没有自信),没有想出更优雅的姿势解决,抛砖引玉,欢迎大家多来讨论。
代码看这里
当文章出现如下这句话时:「1. 今天天气很好,可是地球毁灭了。2. 我很忧心。」
「很好 可是」、「了 我」可以当作「二元词组」吗?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.