游戏数据文本分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文本分析流程

一.文本预处理(Java)

聊天记录-数据格式:

目的:

提取聊天文本,删除时间行和空隔行。

思路:

startsWith("2014"),就是判断一行从哪一个字符开始

利用java读文本,一行行的读入,一行行的判断。不符合要求的的删除,符合要求的重新写到一个文本。

Java中提供了一个BufferedReader类,此类就是一行行的读文本,每读入一行把其赋值给一个字符串,然后判断字符串是否符合要求。符合要求的,我们写入到一个新文本,不符合要求,不写入到新文本。

最后,所有符合要求的行都写入到新文本。这就对文本进行第一步文本预处理。

核心代码:

File Writefile = new File("D:\\wang21.txt");

// 新建文本,存储符合条件的行

BufferedReader bufferedReader = new BufferedReader(read);

//定义缓冲阅读器String lineTxt = null;

// 定义lineTxt,用来存储每次读到的一行while ((lineTxt = bufferedReader.readLine()) != null)

// bufferedReader一行行的读文件,while()判断文档是否读完if (!(lineTxt.startsWith("2014")) && !(lineTxt.equals("")))

// if判断条件:如果一行不是以2014起使,不是空行。lineTxt = lineTxt + "\r\n";

//"\r\n代表换行,输出到新建的文本中,然后换行处理结果:

二.文本分词

https:///fxsjy/jieba

插件:"结巴"中文分词。

这里用的是Python版结巴分析插件。

首先安装Python,根据Python版本,安装结巴分词包。

结巴分词:

∙支持三种分词模式:

o精确模式,试图将句子最精确地切开,适合文本分析;

o全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;

o搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

∙支持繁体分词

支持自定义词典。

代码示例:

import jieba

【单句模式】

seg_list = jieba.cut("我来到北京清华大学", cut_all=True)

print "Full Mode:", "/ ".join(seg_list) # 全模式

【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学

seg_list = jieba.cut("我来到北京清华大学", cut_all=False)

print "Default Mode:", "/ ".join(seg_list) # 精确模式

【精确模式】: 我/ 来到/ 北京/ 清华大学

seg_list = jieba.cut("他来到了网易杭研大厦") # 默认是精确模式

print ", ".join(seg_list)

【新词识别】:他, 来到, 了, 网易, 杭研, 大厦 (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)

seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式

print ", ".join(seg_list)

【搜索引擎模式】:小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造

【文本格式】

【分词结果】

Python代码:

a = open("/root/Desktop/wang.txt", 'rb').read() //指定路径读文本

seg_list = jieba.cut('a',cut_all=False) //调用jieba分词包,cut_all=False是精确模式print "Default Mode:", "/ ".join(seg_list) //终端打印数据分词结果。

相关文档
最新文档