我的创作纪念日

机缘

作为一个创作者,成为创作者的初心包括以下几个方面:

  1. 实战项目中的经验分享:我通过参与实战项目,积累了丰富的经验,并希望能与他人分享这些经验。在项目中,我不断面对各种挑战,学习并尝试新的技术和方法,这些经验对其他人也许会有所帮助。

  2. 日常学习过程中的记录:我喜欢记录我日常学习的过程,无论是通过读书、观看教学视频还是参加课程。这些记录不仅帮助我巩固所学知识,还能成为我与他人交流的资源。我会将学到的新知识整理成笔记、博客文章或视频教程,与其他人分享我的学习心得和方法。

  3. 通过文章进行技术交流:我喜欢通过撰写文章来进行技术交流。我将自己在某个领域的专业知识和经验写成文章,与其他人分享。这种交流不仅可以帮助我更好地理解和总结自己的知识,还能与其他创作者进行深入的讨论和互动,共同进步。

  4. 总之,我作为创作者,初心在于通过实战项目的经验分享、日常学习过程的记录和文章的技术交流,与他人一起学习、成长和创造。


收获

在创作的过程中,我获得了以下几个方面的收获:

  1. 粉丝关注:我通过我的创作吸引到了几个粉丝和许多的阅读观众,从一开始的一同几十个到现在的一个一千多的阅读量,我很兴奋,那么多人对我的床错感兴趣。他们对我的作品感兴趣,并持续关注我的创作进展。这些粉丝可能会成为我忠实的支持者,给予我鼓励和支持。

  2. 正向反馈:我收到了许多正向的反馈,例如赞、评论、分享以及我的作品的阅读量。这些反馈让我知道我的创作对他人有价值,激励我继续努力创作,并提供更好的内容给我的受众。

  3. 认识志同道合的领域同行:在创作的过程中,我有机会结识许多志同道合的人,特别是在我所关注的领域。我与他们交流经验、分享想法,互相学习和启发。这些领域同行不仅给我带来了新的见解和灵感,也为我创作的道路提供了支持和合作的机会。

  4. 总之,在创作的过程中,我获得了粉丝关注、正向的反馈以及结识了许多志同道合的领域同行。这些收获激励我继续追求创作,并提供了持续学习和成长的机会。


日常

创作与我的工作和学习的关系:

  1. 创作已经成为我的生活一部分:创作已经渗透到了我的生活中,成为了我热爱并积极投入的活动。不仅仅是工作和学习的一部分,创作已经成为我表达想法、分享知识和与他人交流的重要方式。

  2. 平衡创作、工作和学习:在有限的精力和时间下,平衡创作、工作和学习是一个挑战。我努力制定合理的时间管理和优先级,以确保每个领域都得到适当的关注。这可能涉及规划和安排时间段专门用于创作,以及灵活调整工作和学习的安排,以适应创作需求。同时,我也明确目标和任务,有效利用时间,避免过度分散注意力。

  3. 总的来说,创作已经融入了我的生活,并与我的工作和学习息息相关。平衡这些领域之间的关系需要良好的时间管理和优先级设置,以确保每个领域都得到适当的关注和发展。


成就

过去写得最好的一段代码

这段代码是一个二手商城的商品推荐的后端代码。它用于根据用户的浏览历史来推荐相关的商品给用户。通过获取用户的浏览历史,代码可以分析用户的偏好和兴趣,然后基于这些信息来为用户提供个性化的商品推荐。这有助于提升用户的购物体验,增加用户对商城的参与度,同时也有助于促进销售和增加用户满意度。

import os
import numpy as np
import pandas as pd
import jieba
import jieba.posseg as pseg
from scipy.spatial import distance
import re


class DocumentProcessor:
    def __init__(self, csv_file, stopwords_file, embedding_file):
        self.csv_file = csv_file
        self.stopwords_file = stopwords_file
        self.embedding_file = embedding_file
        self.df = None
        self.all_words = set()
        self.word_embedding = {}
        self.doc_vectors = None

    def preprocess_data(self):
        # 构建CSV文件的完整路径
        csv_file_path = os.path.join('static', self.csv_file)
        print("CSV文件路径:", csv_file_path)

        # 读取CSV文件
        self.df = pd.read_csv(csv_file_path, encoding='utf-8')
        print("成功读取CSV文件")

        # 分词处理
        self.df['new_words'] = self.df['introduce'].apply(
            lambda x: ' '.join([w.word for w in pseg.cut(x) if w.flag.startswith('n') or w.flag in ['ng', 'nz']]))
        print("完成分词处理")

        # 更新列数据
        # self.df['introduce'] = self.df['new_words']
        # self.df = self.df.drop('new_words', axis=1)

        # 去掉空字符串
        for idx, row in self.df.iterrows():
            self.all_words.update([w for w in row["new_words"].split() if w])

    def separate_words(self):
        stopwords_file_path = os.path.join('static', self.stopwords_file)  # 构建停用词文件的完整路径
        print("停用词文件路径:", stopwords_file_path)

        stopwords = [line.strip() for line in open(stopwords_file_path, 'r', encoding="utf-8").readlines()]
        pattern = re.compile(r'[a-zA-Z0-9]+')
        new_words = set()
        for word in self.all_words:
            if word not in stopwords and not pattern.match(word) and len(word) > 1:
                new_words.add(word)
        self.all_words = new_words
        print("完成分词处理")

    def load_word_embeddings(self):
        embedding_file_path = os.path.join('static', self.embedding_file)  # 构建词向量文件的完整路径
        print("词向量文件路径:", embedding_file_path)

        is_first_line = True
        with open(embedding_file_path, 'r', encoding='utf-8') as fin:
            for line in fin:
                if is_first_line:
                    is_first_line = False
                    continue
                fields = line[:-1].split()
                if len(fields) != 201:
                    continue
                word = fields[0]
                self.word_embedding[word] = np.array([float(x) for x in fields[1:]])

        print("成功加载词向量")

    def compute_doc_vectors(self):
        embedding_dim = len(self.word_embedding[next(iter(self.word_embedding))])
        self.doc_vectors = np.zeros((len(self.df), embedding_dim))

        for idx, row in self.df.iterrows():
            words = row["new_words"].split()
            embeddings = np.zeros((len(words), embedding_dim))

            for i, word in enumerate(words):
                try:
                    embeddings[i] = self.word_embedding[word]
                except KeyError:
                    pass

            if len(embeddings) > 0:
                doc_vector = np.mean(embeddings, axis=0)
                self.doc_vectors[idx] = doc_vector

            # print("计算文档向量 - 文档", idx, "完成")

        print("完成文档向量计算")

    def find_similar_documents(self, query_id):
        # 查询文档的doc_vector
        query_vector = self.doc_vectors[self.df["cid"] == query_id][0]

        # 计算余弦相似度
        sim_values = 1 - distance.cdist(np.expand_dims(query_vector, axis=0), self.doc_vectors, metric="cosine")[0]

        # 添加sim_value列
        self.df["sim_value"] = sim_values

        # 按相似度降序排序,排除查询文档本身,并查询前10条
        result = self.df[self.df["cid"] != query_id].sort_values(by="sim_value", ascending=False)[
            ["cid", "introduce", "price", "photo", "username", "profile"]].head(10)
        print(result)
        return result


憧憬

首先希望自己能不断学习,不断进步,才能有不断地创作基础,为需要的人提供一定的帮助。我不希望我的创作成为一个目标,我希望它成为一种习惯,一种不断学习,不断分享的习惯。为此我会:

  1. 持续学习:将学习作为创作的基石。保持对自己领域的学习和探索,关注最新的发展和趋势。参加课程、阅读专业书籍、观看教学视频等都是扩展知识和技能的好方法。

  2. 规划创作时间:创作需要时间和专注,因此给自己设定规划好的创作时间。可以制定一个创作日程,每天或每周安排专门的时间段用于创作。坚持这个习惯可以保证我有时间去实践和完善自己的创作技能。

  3. 坚持分享:创作不仅仅是为了个人成长,也是为了与他人分享和帮助。选择适合你的分享平台,可以是个人博客、社交媒体、技术论坛等,通过分享个人的创作和经验,与其他人进行交流和互动。

  4. 接受反馈:积极接受他人的反馈和建议,这有助于你的成长和改进。欢迎读者或观众的评论和意见,将其视为对我创作的重视和改进的机会。

  5. 持续反思和改进:定期回顾自己的创作作品,反思自己的进步和不足之处。寻找改进的空间,并不断追求创作质量的提升。

我深知,创作是一个持续的过程,需要时间、耐心和努力。保持学习、分享和不断改进的习惯,将有助于我实现自己的创作目标,并为他人提供有价值的帮助。希望我在创作旅程中取得进步!

Tips

  1. 您发布的文章将会展示至 里程碑专区 ,您也可以在 专区 内查看其他创作者的纪念日文章
  2. 优质的纪念文章将会获得神秘打赏哦

你可能感兴趣的:(笔记)