文本分词/检索

背景

最近要做一个把客服电话录音全部识别成文字, 然后分词,做一个词频统计!


具体步骤

语音识别成文字 -> 文字检索,分词 -> 词频统计 -> 输入落地


语音识别成文字: 本想着用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()

你可能感兴趣的:(文本分词/检索)