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

相关推荐
guodingdingh14 分钟前
软件开发工作问题总结0718
java·开发语言·数据库
To_OC1 小时前
大模型蒸馏是啥?说白了就是大厨带徒弟的学问
人工智能·llm·agent
新手来了@click1 小时前
JAVA+AI 简化开发操作|文章被 AI Agent 技术社区收录分享
人工智能
GuWenyue2 小时前
Cursor黑盒拆解!1套LangChain.js手写Mini编程Agent,自动生成React项目,效率提升60%
前端·数据库·人工智能
GuWenyue2 小时前
传统Agent工具两大痛点!300行代码落地MCP跨语言工具,彻底解耦LLM与工具
前端·人工智能·算法
优橙教育2 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
老云讲算力市场2 小时前
WAIC首日观察:国产算力与机器人加速落地,奇点算力迎来产业新机遇
人工智能·科技
糖果店的幽灵2 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
小林ixn2 小时前
大模型随机说话的秘密:Temperature 和 Top K 深度解析,LangChain 实战调优
人工智能·langchain
ALINX技术博客3 小时前
ALINX 亮相 2026 WAIC 世界人工智能大会,展示 AI 视觉 FPGA+GPU 异构计算与电子后视镜解决方案
人工智能·ai·fpga·世界人工智能大会·电子后视镜