自然语言处理(中文分句)——————中文逆向最大匹配,文章中含有验证源码

简介: 自然语言处理(中文分句)——————中文逆向最大匹配,文章中含有验证源码

首先准备一个txt文件,这是一个库。
按行循环读取txt(库)中的字符串存入数组
输入一句话,逆向进行数据字典比对,从后往前数n个字,n为数组中单个最大字符串
一样则保留,在比较其他的

class IMM(object):
    def __init__(self,dic_path):
        #给个这样子的集合
        self.dictionary=set()
        #字典里面最大常数    for example :m=5
        self.maximum=0
        #读取字典
        with open(dic_path,"r",encoding="utf8") as f:
            for line in f:
                #去除空格
                line=line.strip()
                if not line:
                    continue
                self.dictionary.add(line)
                if len(line)>self.maximum:
                    self.maximum=len(line)
    def cut(self,text):
        result=[]
        index=len(text)
        while index>0:
            word=None
            for size in range(self.maximum,0,-1):
                if index-size<0:
                    continue
                piece=text[(index-size):index]
                if piece in self.dictionary:
                    word=piece
                    result.append(word)
                    index-=size
                    break
            if word is None:
                index-=1
        return  result[::-1]
if __name__=="__main__":
    text="南京市长江大桥"
    tokenizer=IMM("data/imm_dic.txt")
    print(tokenizer.cut(text))

image.pngimm_dic.txt

南京市
南京市长
长江大桥
人民解放军
大桥
目录
相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
springboot基于人工智能和自然语言理解技术的医院智能导医系统源码
智能导诊系统可为患者提供线上挂号智能辅助服务,患者根据提示手动输入自己的基本症状,通过智能对话方式,该系统会依据大数据一步步帮助患者“诊断”,并最终推荐就医的科室和相关专家。患者可自主选择,实现“一键挂号”。这一模式将精确的导诊服务前置,从源头上让医疗服务更高效。
363 2
|
4月前
|
自然语言处理 算法 数据库
【JavaScript+自然语言处理+HTML+CSS】实现Web端的智能聊天问答客服实战(附源码 超详细必看)
【JavaScript+自然语言处理+HTML+CSS】实现Web端的智能聊天问答客服实战(附源码 超详细必看)
50 0
|
4月前
|
机器学习/深度学习 自然语言处理 机器人
【Tensorflow+自然语言处理+RNN】实现中文译英文的智能聊天机器人实战(附源码和数据集 超详细)
【Tensorflow+自然语言处理+RNN】实现中文译英文的智能聊天机器人实战(附源码和数据集 超详细)
44 0
|
4月前
|
自然语言处理 机器人 数据库
【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)
【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)
67 2
|
4月前
|
机器学习/深度学习 自然语言处理 机器人
【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细)
【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细)
165 0
|
4月前
|
机器学习/深度学习 存储 数据采集
【Python自然语言处理】使用SVM、随机森林法、梯度法等多种方法对病人罹患癌症预测实战(超详细 附源码)
【Python自然语言处理】使用SVM、随机森林法、梯度法等多种方法对病人罹患癌症预测实战(超详细 附源码)
44 0
|
4月前
|
机器学习/深度学习 自然语言处理 算法
【Python自然语言处理】使用逻辑回归(logistic)对电影评论情感分析实战(超详细 附源码)
【Python自然语言处理】使用逻辑回归(logistic)对电影评论情感分析实战(超详细 附源码)
97 0
|
4月前
|
数据采集 自然语言处理 Python
【Python自然语言处理】文本向量化处理用户对不同类型服装评论问题(超详细 附源码)
【Python自然语言处理】文本向量化处理用户对不同类型服装评论问题(超详细 附源码)
41 1
|
4月前
|
自然语言处理 算法 索引
【Python自然语言处理】隐马尔可夫模型中维特比(Viterbi)算法解决商务选择问题实战(附源码 超详细必看)
【Python自然语言处理】隐马尔可夫模型中维特比(Viterbi)算法解决商务选择问题实战(附源码 超详细必看)
37 0
|
4月前
|
自然语言处理 算法 Python
【Python自然语言处理】规则分词中正向、反向、双向最大匹配法的讲解及实战(超详细 附源码)
【Python自然语言处理】规则分词中正向、反向、双向最大匹配法的讲解及实战(超详细 附源码)
52 0