Skip to content

Commit f4fe1fe

Browse files
committed
snownlp
1 parent 9e56a60 commit f4fe1fe

4 files changed

Lines changed: 119 additions & 3 deletions

File tree

PythonDemo/SnowNLP/demo1.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Created on Fri Mar 16 09:01:24 2018
4+
5+
@author: Administrator
6+
"""
7+
8+
from snownlp import SnowNLP
9+
10+
s = SnowNLP(u'这个东西真心很赞')
11+
12+
#分词
13+
s.words # [u'这个', u'东西', u'真心',
14+
# u'很', u'赞']
15+
#词性标注
16+
s.tags # [(u'这个', u'r'), (u'东西', u'n'),
17+
# (u'真心', u'd'), (u'很', u'd'),
18+
# (u'赞', u'Vg')]
19+
#情绪判断
20+
#返回值为正面情绪的概率,
21+
#越接近1表示正面情绪
22+
#越接近0表示负面情绪
23+
s.sentiments # 0.9769663402895832 positive的概率
24+
25+
#返回文本拼音
26+
s.pinyin # [u'zhe', u'ge', u'dong', u'xi',
27+
# u'zhen', u'xin', u'hen', u'zan']
28+
29+
#繁体转简体
30+
s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')
31+
32+
s.han # u'「繁体字」「繁体中文」的叫法
33+
# 在台湾亦很常见。'
34+
35+
text = u'''
36+
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。
37+
它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
38+
自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
39+
因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,
40+
所以它与语言学的研究有着密切的联系,但又有重要的区别。
41+
自然语言处理并不是一般地研究自然语言,
42+
而在于研制能有效地实现自然语言通信的计算机系统,
43+
特别是其中的软件系统。因而它是计算机科学的一部分。
44+
'''
45+
46+
s = SnowNLP(text)
47+
#关键词提取
48+
s.keywords(3) # [u'语言', u'自然', u'计算机']
49+
50+
#文本概括
51+
s.summary(3) # [u'因而它是计算机科学的一部分',
52+
# u'自然语言处理是一门融语言学、计算机科学、
53+
# 数学于一体的科学',
54+
# u'自然语言处理是计算机科学领域与人工智能
55+
# 领域中的一个重要方向']
56+
s.sentences
57+
print(s.sentences)
58+
#评价词语对文本的重要程度
59+
s = SnowNLP([[u'这篇', u'文章'],
60+
[u'那篇', u'论文'],
61+
[u'这个']])
62+
s.tf
63+
s.idf
64+
#文本相似性
65+
s.sim([u'文章'])# [0.3756070762985226, 0, 0]

PythonDemo/SnowNLP/test.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import print_function
3+
from __future__ import unicode_literals
4+
5+
text = '''
6+
如果你是一位教师,那么不管你的工作单位是高中、大学还是职业培训等教育机构,你都能在MOOC上找到对学生有用的内容。近期许多MOOC实验项目的目标都是建设一个课堂教学支持系统。我们根据研究结果、采访和我们参与的课程整理出以下建议,希望能够指导教师将MOOC的经验和资源运用到传统课堂教学中。
7+
1900年挪威特隆赫姆的科学课,图片来自WikiMedia。
8+
1.善用电子设备
9+
学生们都具备参与在线课堂的工具,而教师也可以利用自己的设备参与线上社交。如果你是一名学生,就把这篇文章转给你的老师吧。让老师看看怎样用智能手机和笔记本电脑记录你的活动,并迅速回复评论;看看你用哪些手机应用查看地图、搜索信息和购物;展示你的微博、人人和网盘,还有其他人留下的评论。最后,告诉老师,如果他们要开在线课程,并且需要学生助手,别忘了叫上你。
10+
2.让课堂更广阔
11+
MOOC的成功证明,相比课堂教学,许多学生更喜欢在线学习。随着智能手机、平板电脑和笔记本电脑在学生族中的流行,学生们有了与朋友、家人和老师交流的新方式。显然,在头脑清醒、精神集中的时候,看课程视频、做练习和参与课堂讨论的效率都更高。在MOOC,这意味着一个印度学生和一个新汉普郡的学生能够达到同一水平。因此在传统课堂中,我们也要让那些在足球训练场上、在滑雪度假村和在家养病的学生能够和坐在课时第一排的学生学到同样多的东西。在线工具能够让课堂不再受限于校园,学生们也能够获得更加美好而难忘的学习体验。
12+
3.参与是成功之母
13+
MOOC研究显示,成功的学生都会充分利用所有的在线资源,例如视频、测试、课堂讨论和由其他学生编写的课程维基百科。对于课堂教学,教师可以建立在线平台,让学生在课堂之外也能参与到学校中。这种交流可以只是发一条微博或者公告,邀请学生对备课提出建议。邀请学生把能够帮助他们复习所学知识的相关文章或图片发布到网上。只要利用这些小诀窍,大家就都能看到谁能跟上课程进度,进而鼓励他们或者提出建议。在课堂上可以表扬在网络上活跃的学生,或者解答学生在网上提出的问题。
14+
4.建立网络社区
15+
为了活跃课堂,你需要在网络上建一个“据点”,也就是说,需要建立一个网站,为学生提供课件,提醒任务完成时间,并且让学生之间建立联系。假设你是一位老师,并且已经有了自己的注册、评分和考勤系统,那就把这些运用到网络上吧。我们的目标是为学生建立一个平台,让他们能在现有的网络社交活动、与班上同学的交流和课堂作业之间自由转换。
16+
W·伊恩-欧伯恩(W. Ian O’Byrne)是纽黑文大学的教育技术助教,他建议利用谷歌协作平台实现这个目的。他指出,学生们都有自己的移动设备,并且希望有一个“够酷而且适合聚会”的地方学习。只把课程都放到网上是不够的,需要精心设计漂亮的页面,并且这个网页要方便学生进行互动。
17+
他说:“用好谷歌协作平台的关键仅仅是迈出第一步。把它当作一项工程,认真编辑,打造你自己的在线学习空间,就像每年组织一批学生一样。你可以在每个新学年调整课程内容,不断建设升级,把你的数字学习社区建设得越来越好。”
18+
MOOC是学校的一种新形式,欧伯恩建议在起步的时候,先为每门课程的课件加上指针,再利用软件工具,就可以轻松根据学生的学习进度添加课程。他希望,在学生使用在线社区的同时,教师也能发现参与在线社区的方式。
19+
5.从线上到线下
20+
MOOC的一个缺陷就是无法组建高效的学习小组,而教师在这方面可以大有作为。当学生们看到其他同学更新了课程内容,他们就知道谁掌握了所学的知识,从而邀请这些同学合作完成任务,或向他们请教。我经常向教师们介绍这个例子:我在Google+圈子里发了一条信息,例如“明天我们会讨论矛盾冲突在吸引读者注意力方面的作用。今晚,在你回家的路上,拍一张照片或一段录像。用文字介绍你的见闻,以证明这个观点,并邀请其他同学参与讨论。”我收到的作业包括交通堵塞,猫狗对峙,被泡在水里的花园以及足球训练中的射门。第二天,学生们就可以归纳整理前一天晚上在网络上收集到的评论了。
21+
6.用好你的相机
22+
随着智能手机和平板电脑的普及,相机也变得无处不在,而且分享照片也越来越简单。MOOC的明星教授说,把45分钟的讲座变成10分钟一段的视频让他们被迫“升级课程”。不是每个老师都能通过这种方式吸引一批学生,但是他们可以参考这个经验,为课堂制作自己的视频,例如实地考察录像。让整个班都出去跑一趟可能不可行,但利用视频和照片,可以把考察点“带”到课室中来。利用智能手机耳机上配备的话筒,还可以为视频配上讲解,从而高效地用多个视频介绍完一个知识点。
23+
将MOOC应用到传统课堂教学
24+
随着大规模网络公开课的发展,教师可以考虑把在线教育的方法应用到自己的课堂教学中。MOOC的课程制作涉及比较复杂的技术,但使用这些课程几乎不费吹灰之力,而且成本也远远不及课程制作。没有加入edX或Coursera的大部分学校可以进行更多自创内容的尝试,就像自出版一样,这也是许多cMOOC的尝试。教师也可以向自己的目标努力。通过打开课堂,建立网络社区和制作教学视频,可以让更多的教师和学生享受到MOOC的投入带来的收益。
25+
'''
26+
27+
28+
from snownlp import normal
29+
from snownlp import seg
30+
from snownlp.summary import textrank
31+
32+
33+
if __name__ == '__main__':
34+
t = normal.zh2hans(text)
35+
sents = normal.get_sentences(t)
36+
doc = []
37+
for sent in sents:
38+
words = seg.seg(sent)
39+
words = normal.filter_stop(words)
40+
doc.append(words)
41+
rank = textrank.TextRank(doc)
42+
rank.solve()
43+
for index in rank.top_index(5):
44+
print(sents[index])
45+
keyword_rank = textrank.KeywordTextRank(doc)
46+
keyword_rank.solve()
47+
for w in keyword_rank.top_index(5):
48+
print(w)

PythonDemo/spider/weixinlocation.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#导入模块
1414
from wxpy import Bot
1515

16-
'''
16+
'''Q
1717
微信机器人登录有3种模式,
1818
(1)极简模式:robot = Bot()
1919
(2)终端模式:robot = Bot(console_qr=True)
@@ -22,9 +22,12 @@
2222
#初始化机器人,选择缓存模式(扫码)登录
2323
robot = Bot(cache_path=True)
2424

25-
#获取好友、群、公众号信息
25+
#获取好友
2626
robot.chats()
27+
#robot.mps()#获取微信公众号信息
2728

2829
#获取好友的统计信息
2930
Friends = robot.friends()
30-
print(Friends.stats_text())
31+
print(Friends.stats_text())
32+
#获取微信公众号信息
33+
print()

PythonDemo/spider/wxpy.pkl

-79.2 KB
Binary file not shown.

0 commit comments

Comments
 (0)