如何解决通过更改数据来分析和绘制网络图而发生的错误
背景
我试图理解描述小说人物关系的网络结构,并找到了一个示例项目。
character-network 分析哈利波特小说中的人物网络。
问题
当我更改要分析的文本数据的内容时,显示以下错误并且没有生成网络图。即使内容被更改,我也没有更改“哈利波特 1.txt”中的文件名。
$ python3 characterNetwork-iterative.py
/Users/username/Desktop/character-network/characterNetwork-iterative.py:147: RuntimeWarning: invalid value encountered in double_scalars
align_rate = np.sum(sentiment_score)/len(np.nonzero(sentiment_score)[0]) * -2
Traceback (most recent call last):
File "/Users/username/Desktop/character-network/characterNetwork-iterative.py",line 253,in <module>
name_frequency,name_list = top_names(preliminary_name_list,novel,25)
File "/Users/username/Desktop/character-network/characterNetwork-iterative.py",line 128,in top_names
name_frequency = vect.fit_transform([novel.lower()])
File "/usr/local/lib/python3.9/site-packages/sklearn/feature_extraction/text.py",line 1198,in fit_transform
self._validate_vocabulary()
File "/usr/local/lib/python3.9/site-packages/sklearn/feature_extraction/text.py",line 461,in _validate_vocabulary
raise ValueError("empty vocabulary passed to fit")
ValueError: empty vocabulary passed to fit
CHAPTER ONE
in which we are introduced to
Winnie-the-Pooh and some Bees,and the stories begin
Here is Edward Bear,coming downstairs Now,bump,on the back of his head,behind
Christopher Robin. It is,as far as he kNows,the only
way of coming downstairs,but sometimes he feels that
there really is another way,if only he Could stop bumping
for a moment and think of it. And then he feels that
perhaps there isn’t. Anyhow,here he is at the bottom,and ready to be introduced to you. Winnie-the-Pooh.
代码
安装所需的库后执行 character-network/characterNetwork-iterative.py。
试图分析一个文件,character-network/novels/Harry Potter 1.txt,而不是从 1 到 7 的所有系列。
我更改了 characterNetwork-iterative.py
的底部以适合索引号,但其他部分没有更改。
# plot network graph by season
novel_list = [novel_name + ' ' + str(season) for season in range(0,1)]
for name in novel_list:
novel = read_novel(name,novel_folder)
sentence_list = sent_tokenize(novel)
cooccurrence_matrix,sentiment_matrix = calculate_matrix(name_list,sentence_list,align_rate)
plot_graph(name_list,name_frequency,cooccurrence_matrix,name + ' co-occurrence graph','co-occurrence')
plot_graph(name_list,sentiment_matrix,name + ' sentiment graph','sentiment')
我已经尝试过的
即使显示原始数据 character-network/novels/Harry Potter 1.txt 的以下错误消息,也会生成字符网络。
原始数据的错误信息(哈利波特 1)
$ python3 characterNetwork-iterative.py
/Users/username/Desktop/character-network/characterNetwork-iterative.py:193: RuntimeWarning: invalid value encountered in true_divide
normalized_matrix = matrix / np.max(np.abs(matrix))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。