资源简介
基于产生式规则建立一个动物识别系统和手机识别系统,主要功能如下:
(1)建造规则库,并基于该库进行识别推理;
(2)对规则库进行增加、删除和修改操作。
压缩包包括动物识别规则库和手机识别规则库以及产生式系统的python语言程序,用户可根据自己需要导入不同的规则库进行识别,或者自己创建相似的规则库进行识别。
代码片段和文件信息
# -*- coding: utf-8 -*-
“““
Created on Sun Oct 7 16:03:18 2018
@author: 魅梦
“““
from fuzzywuzzy import fuzz
import pandas as pd
import re
import jieba
‘‘‘定义添加字典函数‘‘‘
def addword(x):
fl = x.split(‘,‘)
for j in range(len(fl)):
jieba.add_word(fl[j])
‘‘‘定义特征分类函数‘‘‘
def cut(df):
x = 0
y = 0
flagnum = ““
for i in range(df.shape[0]):
flag = df.iloc[i 0]
flagnum = str(flagnum) + ‘,‘ + flag
for i in range(df.shape[0]):
flag = df.iloc[i 0]
result = df.iloc[i 1]
if result in flagnum:
df1.loc[x] = [flag result]
x = x + 1
else:
df2.loc[y] = [flag result]
y = y + 1
return df1 df2
‘‘‘定义识别模块‘‘‘
def identify(df1 df2):
‘‘‘类别规则库识别‘‘‘
starttemp = input(“请输入要识别的特征(以,分隔):\n“)
temp = starttemp
temp1 = re.sub(r‘[色 物 有 子 会 身]‘ ““ temp)
for i in range(df1.shape[0]):
flag = df1.iloc[i 0]
addword(flag)
result = df1.iloc[i 1]
addword(result)
temp0 = jieba.lcut(temp1)
for j in range(len(temp0)):
if temp0[j] in re.sub(‘,‘ ““ flag) and re.sub(‘,‘ ““ result) not in temp:
temp = temp + ‘,‘ + re.sub(‘,‘ ““ result)
print(“类别库规则r“ + str(i) + “:IF “ + flag + “ THEN 为“ + result + “匹配成功,\
\n更新事实为:“ + temp + ‘\n‘)
if temp == starttemp:
print(“未在类别库中找到这些特征,继续识别的结果可能不准确。“)
‘‘‘名称规则库识别‘‘‘
while(len(temp.split(‘,‘)) < 4):
te = input(“特征过少,请继续添加特征:\n“)
if te in temp:
print(“特征重复,请重新输入!“)
else:
temp = temp + ‘,‘ + te
temp1 = re.sub(r‘[色 物 有 子 会 身]‘ ““ temp)
temp0 = jieba.lcut(temp1)
n = 0
num = 0
for i in range(df2.shape[0]):
flag = df2.iloc[i 0]
addword(flag)
result = df2.iloc[i 1]
addword(result)
m = 0
for j in range(len(temp0)):
m = m + fuzz.partial_ratio(temp0[j] re.sub(‘,‘ ““ flag))
if num < m:
num = m
n = i
flag0 = df2.iloc[n 0]
result0 = df2.iloc[n 1]
if num < 400:
print(“抱歉,识别失败,请等待后续规则库完善。“)
else:
print(“名称库规则r“ + str(n) + ‘:IF ‘ + flag0 + “ THEN 为“ + result0 + “匹配成功,“)
if num < 600:
print(“结果可能为:“ + result0)
else:
print(“推出结果为:“ + result0)
‘‘‘定义规则输出模块‘‘‘
def rule(df1 df2):
starttemp = input(“请输入要输出特征的结果:\n“)
temp = starttemp
for i in range(df2.shape[0]):
flag = df2.iloc[i 0]
result = df2.iloc[i 1]
if starttemp in result or result in starttemp:
print(“名称库规则r“ + str(i) + “:IF “ + flag + “ THEN 为“ + result + “匹配成功,\
\n得到结果“ + starttemp + “的特征为:“ + flag)
temp = starttemp + ‘,‘ + flag
for i in
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7561 2020-04-16 00:06 产生式系统.py
文件 5865 2018-10-11 23:27 动物识别规则库.xlsx
文件 9653 2018-10-12 00:45 手机识别规则库.xlsx
- 上一篇:矩阵相似度度量
- 下一篇:python 2.7中文手册chm版
相关资源
- 093 2018北风网人工智能视频(完结)转
- 北京大学曹健老师-人工智能实践:
- 人工智能算法合集-python实现
- 性别模型库 simple_CNN.81-0.96.hdf5
- 人体姿态检测
- 卷积神经网络的Python实现【试读】1
- 利用Python进行数据分析中文第二版-
- 【Python 知识图谱】(高清、超详细)
- 人工智能-python机器学习实战高清完整
- 笨办法学python3
- 基于Tensorflow的人脸识别源码
- CNN网络代码,数据集,及对应论文和
-
决策树ID3算法实验_数据集car_databa
- Python人脸识别自动筛选抖音女神小姐
- Python Tricks
- 使用python实现人工智能算法
- 深度学习入门:基于 Python 的理论与实
- Deep Learning With Python_中文版+英文版+代
- Deep Learning With Python_中文版+英文版+代
- 《Python深度学习》2018文字版pdf(非扫
- Python深度学习.pdf
- 深度学习入门:基于Python的理论与实
- 超清原版《Python深度学习》2018中文版
- 基于python的vgg网络学习,很基础但又
- 深度学习入门:基于Python的理论与实
- Python机器学习经典 中文完整版高清
- Python人脸相似度对比
- Python入门教程完整版懂中文就能学会
- 《深度学习入门:基于Python的理论与
- 物体检测识别python源代码
评论
共有 条评论