2014-09-04 白夜行

本书评分享了作者阅读《白夜行》后的感受及体验,提到书籍带来的强烈情绪反应和对书中复杂情感的理解难题。

终于把《白夜行》这本书看完,比其他的书都厚啊。

看完之后,其实还是有些东西没有理解,看了其他人的一些评论,有些才了解过程了。但是,其中的感情?免谈吧!还是没有搞清楚。

看完这本书,我受到了比较大的冲击,我的手和脚一直在流汗,估计是有点紧张。如果身边有这样的人,该是挺恐怖的一件事吧。

为什么我不喜欢看小说,因为看了小说后,就经常会从无脑儿的形式中走出来。

要使用Neo4j对小说《白夜行》进行数据分析,可按以下步骤操作: ### 数据准备 - **文本提取**:从《白夜行》的电子文档中提取文本内容,可使用Python的`pdfplumber`库提取PDF格式的文本,`docx`库提取Word格式的文本。 ```python import pdfplumber with pdfplumber.open('白夜行.pdf') as pdf: text = "" for page in pdf.pages: text += page.extract_text() ``` - **实体识别**:识别小说中的人物、地点、事件等实体。可以使用自然语言处理工具,如`jieba`进行分词,`HanLP`进行命名实体识别。 ```python import jieba import jieba.posseg as pseg words = pseg.cut(text) entities = [] for word, flag in words: if flag.startswith('nr'): # 人名 entities.append(word) ``` ### 数据导入Neo4j - **安装Neo4j**:从Neo4j官网下载并安装适合自己操作系统的版本,启动Neo4j服务。 - **创建节点和关系**:使用Neo4j的Python驱动`py2neo`将识别出的实体和它们之间的关系导入到Neo4j中。例如,若两个人物同时出现在一个段落中,则认为他们之间存在“关联”关系。 ```python from py2neo import Graph, Node, Relationship graph = Graph("bolt://localhost:7687", auth=("neo4j", "password")) # 创建人物节点 person_nodes = {} for person in set(entities): node = Node("Person", name=person) graph.create(node) person_nodes[person] = node # 创建关系 paragraphs = text.split('\n') for paragraph in paragraphs: paragraph_entities = [] words = pseg.cut(paragraph) for word, flag in words: if flag.startswith('nr'): paragraph_entities.append(word) for i in range(len(paragraph_entities)): for j in range(i + 1, len(paragraph_entities)): person1 = person_nodes[paragraph_entities[i]] person2 = person_nodes[paragraph_entities[j]] rel = Relationship(person1, "关联", person2) graph.create(rel) ``` ### 数据分析 - **人物关系分析**:通过Neo4j的Cypher查询语言,分析人物之间的关系。例如,查询与某个特定人物关联最多的人物。 ```cypher MATCH (p1:Person {name: "桐原亮司"})-[:关联]-(p2:Person) RETURN p2.name, COUNT(*) AS relation_count ORDER BY relation_count DESC LIMIT 5 ``` - **社群发现**:使用Neo4j的Graph Algorithms库进行社群发现,找出小说中人物的社群结构。 ```cypher CALL gds.louvain.stream({ nodeProjection: 'Person', relationshipProjection: '关联' }) YIELD nodeId, communityId RETURN gds.util.asNode(nodeId).name AS person, communityId ``` ### 数据可视化 - 可以使用Neo4j Browser自带的可视化功能,直观展示人物关系图。也可以使用第三方工具,如`Graphviz`或`D3.js`进行更复杂的可视化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值