运行 python程序的时候 就可以有创建了一个简单的升级动画,显示用户的当前等级,并在升级时更新显示_python

import nltk

from nltk.tokenize import word_tokenize

from nltk.corpus import stopwords

from nltk.stem import WordNetLemmatizer

from sklearn.feature_extraction.text import TfidfVectorizer

from sklearn.naive_bayes import MultinomialNB

from flask import Flask, render_template, jsonify

import json

初始化nltk

nltk.download('punkt')

nltk.download('stopwords')

nltk.download('wordnet')

初始化分类器和评分模型

classifier = None

scorer = None

初始化分类和评分标准

categories = ['工作', '生活']

score_criteria = {

'工作': {

'完成任务': 10,

'解决问题': 5,

'其他': 1

},

'生活': {

'锻炼': 5,

'学习': 3,

'其他': 1

}

}

初始化基础分数和等级

base_score = 0

level = '初级'

初始化日志文件和评分记录

daily_log = []

scores = []

初始化TF-IDF向量化器

vectorizer = TfidfVectorizer()

初始化词形还原器

lemmatizer = WordNetLemmatizer()

训练分类器

def train_classifier():

global classifier

读取训练数据

training_data = []

training_labels = []

for category in categories:

with open(f'{category}_log.txt', 'r') as file:

activities = file.readlines()

training_data.extend(activities)

training_labels.extend([category] * len(activities))

数据预处理

processed_data = preprocess_text(training_data)

特征提取

features = vectorizer.fit_transform(processed_data).toarray()

训练分类器

classifier = MultinomialNB()

classifier.fit(features, training_labels)

训练评分模型

def train_scorer():

global scorer

读取训练数据

training_data = []

training_scores = []

for category in categories:

with open(f'{category}_log.txt', 'r') as file:

activities = file.readlines()

for activity in activities:

training_data.append(activity)

training_scores.append(score_activity(activity, category))

数据预处理

processed_data = preprocess_text(training_data)

特征提取

features = vectorizer.fit_transform(processed_data).toarray()

训练评分模型

scorer = MultinomialNB()

scorer.fit(features, training_scores)

预处理文本数据

def preprocess_text(data):

processed_data = []

for text in data:

分词

tokens = word_tokenize(text.lower())

去除停用词和标点符号

stop_words = set(stopwords.words('english'))

filtered_tokens = [token for token in tokens if token.isalnum() and token not in stop_words]

词形还原

lemmatized_tokens = [lemmatizer.lemmatize(token) for token in filtered_tokens]

重新组合为文本

processed_text = ' '.join(lemmatized_tokens)

processed_data.append(processed_text)

return processed_data

智能分类工作日常

def classify_activity(activity):

processed_activity = preprocess_text([activity])

features = vectorizer.transform(processed_activity).toarray()

category = classifier.predict(features)[0]

return category

根据分类和评分标准计算活动得分

def score_activity(activity, category):

score = 0

for word, points in score_criteria[category].items():

if word in activity:

score += points

return score

记录每天的工作日常

def log_daily_activity(activity):

global base_score, level

智能分类

category = classify_activity(activity)

计算得分

score = score_activity(activity, category)

更新基础分数和等级

base_score += score

if base_score >= 100:

level = '高级'

elif base_score >= 50:

level = '中级'

记录日志

daily_log.append((activity, category, score))

更新评分记录

scores.append(score)

创建Flask应用

app = Flask(name)

@app.route('/')

def index():

return render_template('index.html')

@app.route('/simulate')

def simulate():

global base_score, level

模拟每天的活动记录

activities = [

'完成工作任务',

'锻炼身体',

'解决问题',

'学习新知识',

'其他活动'

]

for activity in activities:

log_daily_activity(activity)

返回当前分数和等级

return jsonify({'base_score': base_score, 'level': level})

if name == 'main':

训练分类器和评分模型

train_classifier()

train_scorer()

启动Flask应用

app.run(debug=True)

相关推荐
一晌小贪欢5 分钟前
【Python办公】使用pandas批量读取csv保存为Excel
python·excel·pandas·读取excel·python办公·excel转csv
摘取一颗天上星️13 分钟前
NLP进化史:从规则模板到思维链推理,七次范式革命全解析
人工智能·自然语言处理
fs哆哆34 分钟前
在VB.net中,用正则表达式方法清除干扰符号方法
开发语言·正则表达式·c#·.net
Nina_71739 分钟前
Day 48
python
知舟不叙40 分钟前
深度学习——基于PyTorch的MNIST手写数字识别详解
人工智能·pytorch·深度学习·手写数字识别
工业互联网专业42 分钟前
基于Python的热门微博数据可视化分析-Flask+Vue
vue.js·python·flask·毕业设计·源码·课程设计·微博数据可视化
Jamence43 分钟前
多模态大语言模型arxiv论文略读(118)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
愚农搬码1 小时前
LangChain 调用不同类型的多MCP服务
人工智能·后端
嵌入式@秋刀鱼1 小时前
《 第三章-招式初成》 C++修炼生涯笔记(基础篇)程序流程结构
linux·开发语言·数据结构·c++·笔记·visual studio code
AI速译官1 小时前
字节跳动推出视频生成新模型Seedance
人工智能