背景
最近要做一个把客服电话录音全部识别成文字, 然后分词,做一个词频统计!
具体步骤
语音识别成文字 -> 文字检索,分词 -> 词频统计 -> 输入落地
语音识别成文字: 本想着用Tensorflow去做, 但是后来没整出来, 后来直接用了科大讯飞的产品,自动转换成文字了,产品链接: https://www.iflyrec.com/html/addMachineOrder.html (我不是打广告哈!)
后续一定得看下Tensorflow, 用他自己写程序做语音识别,那再好不过了! 不过我估计效果可能没有讯飞那么好..
文字检索: snownlp 和 jieba, 两个都测试了下, 发现jieba完爆snownlp啊! snownlp分析一句话的语义,然后分词就出错了, jieba分析了一本小说我都没看到错误的地方!, 其实都挺简单的,就是调用API就行了, 哈哈哈
词频统计: 这里就类似于一个wordcount, 比较简单,但是这里面坑挺多的,我都踩玩了,你们直接用就行了!
其实,这些都挺简单的, 要是不懂的话, 就认为太高大上了,
其实,这些东西都是别人都做好了,我们直接调用就行了,所以说,还是得多实践把! 最下面附上代码!
import jieba
import datetime
import time
# 词语数组
wordList= []
# 用于统计词频
wordCount= {}
# 精确模式 这个不是报错,本身就是红色的
f =open("H:/3bangong/all.txt","r",encoding="utf-8")
seg_list = jieba.cut(f.read(), cut_all=False)
# 利用空格分割成数组
wordList ="/".join(seg_list).split("/")
# 遍历数组进行词频统计,这里使用wordCount 对象,出发点是对象下标方便查询
for itemin wordList:
if itemnot in wordCount:
wordCount[item] =1
else:
wordCount[item] +=1
##False的话就是升序
print(sorted(wordCount.items(), key=lambda v: v[1],reverse=True))
f.close()