哲学小记

 其他
 置顶

  人类社会永恒不变的主题便是生存与发展,如何能够更好的生存和发展,成为人类文明最强大、最根本的进步驱动力。

  我们生活的世界是一个具体的现实的世界,它是非常复杂的,而人类智慧虽然发展迅速,但仍只能通过思维理解一些明显的客观规律,这里的理解也是相对于我们的思维逻辑而言的,世界的真正规律可能并不是这个样子,只是恰好被描述的比较准确罢了

  我们观察任何事物都是站在某个角度或某些角度上的,不能够全面透彻具体的了解某个事物,我们的逻辑便是不完全逻辑。而全面的又是困难的,有时也是没有必要的。

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import stanfordnlp
# stanfordnlp.download('zh') 从网络上下载模型文件,超级慢

zh_nlp = stanfordnlp.Pipeline(lang='zh', models_dir=r"D:\Data\NLP\model\stanfordnlp")

text = "清华大学是一所中国的一流大学。"

zh_doc = zh_nlp(text)

for i, sent in enumerate(zh_doc.sentences):
print("[Sentence {}]".format(i+1))
for word in sent.words:
print("{:12s}\t{:12s}\t{:6s}\t{:d}\t{:12s}".format(\
word.text, word.lemma, word.pos, word.governor, word.dependency_relation))
print("")

首先应该先下载模型,然而如果是直接运行stanfordnlp.download('zh')命令,那么下载速度实在是太慢了,后来把它的源码下载下来,找到了对应了文件下载地址,然后使用Chrome下载,发现速度有所提升但是也很慢,最后尝试了一下先使用Xshell登录代理浏览器下载模型,然后使用Xftp将模型传输到本地,结果速度变快了好多,尤其是代理浏览器下载模型的速度超级快,达80M/s,太惊人了。

NLP

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
from stanfordcorenlp import StanfordCoreNLP

# 加载模型
nlp = StanfordCoreNLP(r"D:\Data\NLP\model\stanford_corenlp\stanford-corenlp-full-2018-10-05", lang='zh')

# 使用
text = "清华大学是一所中国的一流大学。"

print('Tokenize:', nlp.word_tokenize(text))
print('Part of Speech:', nlp.pos_tag(text))
print('Named Entities:', nlp.ner(text))
print('Constituency Parsing:', nlp.parse(text))
print('Dependency Parsing:', nlp.dependency_parse(text))

参考

报错

按照网上教程下载模型并且运行代码后没反应,然后搜索网上相关解决方案,找到了关于使用stanfordcorenlp一直运行不报错的解决方法 - monty12 - 博客园,并且设置了logger.DEBUG后发现了类似以下报错信息,然后继续重装Java,经过反复两次发现还是不行。

nitializing native server...
INFO:root:java -Xmx4g -cp "F:\space\wingide\stanfordnlp\*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000
INFO:root:Server shell PID: 8504
INFO:root:Waiting until the server is available.
INFO:root:Waiting until the server is available.

后来从这个网址:Java SE Runtime Environment 8 - Downloads,下载了如下红框中标出的链接重新安装Java之后,才提示安装了64位,并且程序可以正常运行。

lUi4iV.png

NLP
  1. 自然语言处理(Natural Language Processing,NLP):自然语言处理是人工智能和语言学领域的分支学科,主要研究如何让计算机处理和运用自然语言。

  2. 自然语言处理广义上分为两大部分,第一部分是自然语言理解,是指让电脑“懂”人类的语言;第二部分为自然语言生成,是指把计算机数据转化为自然语言。

NLP

经过我的探索,发现现在商用也好,学习也罢,目前提供NLP技术服务的大致分三种:

  • 一种是大学院校的教授、助教和研究生等依托团队的学术背景和技术沉淀,通过创办规模较小的公司提供技术支持,以实现技术变现。服务对象主要为科研院所、政府部门、一些没有精力或没有必要自己去做这方面服务的大公司和一些没有条件或没有必要自己去做的中小型公司。
  • 一种是大公司如Google、Facebook、Microsoft、阿里、腾讯、百度、华为、科大讯飞等,目前也都在这方面发力。其中关于自然语言处理方面在BAT三者之间应该是百度做的最早,目前腾讯的比较成熟,而阿里在这方面才刚刚开始,前两天才公测结束,服务正式上线日期官网说是4月23号。科大讯飞的特点应该主要是语音相关的。华为的不了解。这些公司相关领域技术自己是要自己开拓发展的。
  • 第三种则应该是比较专业,主打自然语言处理及其衍生相关服务的了。基本上创始人和主要的技术人员都是来自国内外知名的大学和公司,有学习相关的专业技术,并有丰富的从业经验,后来自主创业,开辟相关市场,想要在自然语言处理服务领域彻底火起来之前做大做强,多吃点蛋糕。国外的有不少,国内的现在也在发展中,估计目前至少有10家公司在做相关的了。服务对象和第一种基本相同。
NLP

前述

(妈耶!这是昨天的文章了,昨天晚上写着写着突然断电,而我的电脑是台式机。。。)

今天在忙毕设的事情,毕设项目是做一个微计划日程管理的小程序,目前已经完成了大部分的功能。

其中包括图表统计、时间轴、四象限、小卡片、数据备份和数据还原等功能。不过今天刚通知了说审核失败,理由是身份为个人的开发者不能做备忘录相关的微信小程序。

昨天想着能不能把自己的兴趣(自然语言处理+知识图谱)和毕设结合起来,打算通过调用一些开放的自然语言处理的Restful API接口来处理一些todo、plan、target相关分析统计工作。

NLP

哈工大ltp小试

 NLP

今天开始探索学习使用哈工大的LTP(Language Technology Platform)。

这里是官网地址

这里是GitHub地址

这里是pyltp的使用文档

平台采用的语言是C++,但是也提供了Python和Java的封装。由于本人目前使用Python作为自然语言处理的工具语言,所以以下的探索流程都是使用本人电脑中的Window8.1操作系统的PyCharm集成开发环境,使用的Python版本是3.6。

原文

该作者也是翻译的外文,英文原文链接

引言

自然语言处理(NLP)是一种艺术与科学的结合,旨在从文本数据中提取信息。在它的帮助下,我们从文本中提炼出适用于计算机算法的信息。从自动翻译、文本分类到情绪分析,自然语言处理成为所有数据科学家的必备技能之一。

常见的10个NLP任务如下:

  1. 词干提取
  2. 词形还原
  3. 词向量化
  4. 词性标注
  5. 命名实体消岐
  6. 命名实体识别
  7. 情感分析
  8. 文本语义相似分析
  9. 语种辨识
  10. 文本总结
NLP