运行 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_criteriacategory.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)

相关推荐
SiYuanFeng几秒前
大模型 / RAG / Agent 面试高频题
人工智能·面试·transformer·agent·rag
techdashen1 分钟前
深入理解 Rust Futures:从零开始,一头扎到底
开发语言·后端·rust
财经资讯数据_灵砚智能3 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月8日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
数据分析能量站5 分钟前
Anthropic关于AI的看法:人类研发正在快速边缘化
大数据·人工智能
武子康5 分钟前
调查研究-159 Apple WWDC 2026 定档 6/8-12:Siri 与 AI 升级,可能是苹果最关键的一次
人工智能·深度学习·ios·ai·chatgpt·apple·wwdc
仙女修炼史6 分钟前
Transformer思想根源PDP:Parallel Distributed Processing读书笔记
人工智能·深度学习·transformer
程序猿乐锅7 分钟前
【JAVASE | 第十六篇】多线程
java·开发语言
zhangfeng11338 分钟前
AlphaEvolve 进化式编程智能体 是 Google DeepMind 2025年5月 发布的
人工智能·深度学习·chatgpt·架构·transformer
m沐沐9 分钟前
数据集的六种填充方法——下(使用众数填充+使用逻辑回归填充+使用随机森林填充)
python·随机森林·机器学习·pycharm·逻辑回归
TonyLee0179 分钟前
AutoDL租卡记录
服务器·python