<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[记录学习中的点滴]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cyinfi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cyinfi]]></copyright><item><title><![CDATA[大模型嘛，先玩起来再研究]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/132063376</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/132063376</guid><author>cyinfi</author><pubDate>Wed, 02 Aug 2023 15:40:06 +0800</pubDate><description><![CDATA[编程作为一个实践性很强的学科，业务李需要用到的跑一跑、试一试、用一用还是必须的，还要知道业务需要什么、现在能满足什么、需要怎么优化。这样整个调研的链路就通顺了。大模型是在是太火爆了，正在非常多的场景中重构着业务生态，想入手学习的的话其实我们是有很多的后发优势的，各种版本模型、教程、甚至培训班都已经在路上了。如果你已经把模型下载到了本地，把这个from_pretrained函数的模型路径改称本地路径就可以了。我这的测试就换成了本地的路径，运行成功。接下来就可以进行各种调侃了。上搜索发现你想尝试的模型。]]></description><category></category></item><item><title><![CDATA[标签传播的基本原理]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/90350346</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/90350346</guid><author>cyinfi</author><pubDate>Tue, 26 Jan 2021 16:54:05 +0800</pubDate><description><![CDATA[图算法
应用场景
简单实现

]]></description><category></category></item><item><title><![CDATA[记录协同过滤相关的系列实验（2）]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/107503967</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/107503967</guid><author>cyinfi</author><pubDate>Mon, 25 Jan 2021 18:21:51 +0800</pubDate><description><![CDATA[（一）基于物品端的协同过滤

2019-Large-scale Collaborative Filtering with Product Embeddings





（二）数据构建

训练集构建上， 样本是用户历史的交互数据（正向交互）+ 当前交互数据 + 当前交互数据类型（正向/负向）

目的就是找出用户喜欢了什么， 来预测其将喜欢什么。



（三）算法实现


    def build_model(self):
        """"""
        input_seq = layer..]]></description><category></category></item><item><title><![CDATA[记录协同过滤相关的系列实验]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/107499972</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/107499972</guid><author>cyinfi</author><pubDate>Mon, 25 Jan 2021 18:19:05 +0800</pubDate><description><![CDATA[推荐的本质：

推荐的最终目的就是找到相似的人、相似的物品。进而再进行基于user、item的推荐。

未达到这个目的，可以对用户的行为分析（相似行为的人当作相似的人）、基于内容的分析（如用户的各种标签，根据标签匹配度查看相似的人）。但一个推荐系统可能是一个多策略、多场景方法结合体。



协同过滤：

主要是基于用户和物品的交互行为，进行分析。 传统的协同过滤是基于矩阵分解的。当用户和物品的数据级大了以后，这个方法相当耗时。所以采用了deep的方法。



（1）直接dot， 对交互矩阵进行拟合


..]]></description><category></category></item><item><title><![CDATA[命名实体识别实践（albert + crf）]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/107328355</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/107328355</guid><author>cyinfi</author><pubDate>Mon, 25 Jan 2021 18:16:37 +0800</pubDate><description><![CDATA[该项目是识别query中实体的项目， 由于业务特点，query中实体较密集且连续。



该项目是Albert在该项目的一个测试方案， 效果上还可以。

但应该注意的有：

（1）albert的中文向量版本要看仔细， 要和代码需要的版本相匹配。

（2）在使用的时候，注意编码时添加的前缀后缀。





代码完整版：


#! -*- coding:utf-8 -*-
# 情感分析例子，加载albert_zh权重(https://github.com/brightmart/albert_zh)

im...]]></description><category></category></item><item><title><![CDATA[命名实体识别实践（魔改）]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/107328851</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/107328851</guid><author>cyinfi</author><pubDate>Mon, 25 Jan 2021 18:05:14 +0800</pubDate><description><![CDATA[该方案依然是对query的命名实体识别任务，针对该任务设计的实验方案。

针对该任务的一些思考：

（1）训练时，将字随机unk， 增加泛化性。

（2）字向量、句向量相结合，学习联合分布。

（3）深度堆叠，使特征更加丰富。






# coding: utf-8

from keras import layers
from keras.models import Model, save_model, load_model, model_from_json
from keras_contrib.l..]]></description><category></category></item><item><title><![CDATA[基于划分的新词发现]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/107329202</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/107329202</guid><author>cyinfi</author><pubDate>Mon, 25 Jan 2021 17:58:11 +0800</pubDate><description><![CDATA[该新词发现是在query中的新词。

主要的技术点：

（1）左右熵、凝固度

（2）直接基于划分



部分效果（对query的直接划分）：

目前问题： 对英文不好 ， 对低频词不好。

processing line : 办公室主任
[1, 4, 6]
办公室
主任
processing line : 私家车司机
[1, 4, 6]
私家车
司机
processing line : 土建预算员
[1, 3, 6]
土建
预算员
processing line : 医院挂号员
[1, 3, 6]
医院.]]></description><category></category></item><item><title><![CDATA[多标签分类的一次实践]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/107327846</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/107327846</guid><author>cyinfi</author><pubDate>Mon, 25 Jan 2021 17:49:30 +0800</pubDate><description><![CDATA[多标签分类是NLP领域的常见任务， 最常用的是sigmoid + BCE ， 根据标签数量和特点不同，可能有不同的变形和优化。

本文实践的是一个25w标签词的标签体系。由于标签数量巨大，将标签进行全量表示将难以训练。

基于该任务的若干思考：

（1）使用负采样的方式减少结果向量的表示

（2）标签具有相关性，负采样的量不是越大越好

（3）在loss上，采用margin loss 优化正负样本的间隔




# coding=utf-8

"""
负彩阳版本 - 加快迭代训练效率
"""

impor.]]></description><category></category></item><item><title><![CDATA[文档标签化的几种方案]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/107166760</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/107166760</guid><author>cyinfi</author><pubDate>Mon, 25 Jan 2021 17:34:55 +0800</pubDate><description><![CDATA[前言：

文档标签化， 就是从文档中抽取若干标签，来定义和表示文本，使文档更容易的进行计算、索引、表示。当然前提是已经有了一个标签词库。量少的话可以人工进行编写业务相关词典、量大的话可以用机器生成然后进行人工审核。



方案一：直接词典匹配

这里主要借助于像字典数、多摸匹配等方案，对文档中的标签进行识别。

优点是速度快， 缺点是容易对一些超短的tag进行误识别（语境中可能不是一个tag）；不能识别意思相近的tag。



方案二：使用NER进行识别

NER的模型较多，这里就不再赘述，在数据构造...]]></description><category></category></item><item><title><![CDATA[最近邻逼近搜索]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/102134979</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/102134979</guid><author>cyinfi</author><pubDate>Sat, 05 Oct 2019 12:03:10 +0800</pubDate><description><![CDATA[说明
由于业务中需要用到向量之间的相似索引，其实向量相思索引在很多的业务场景中都有非常高的应用价值。我们已经有把词、句子、图片、等信息处理成响亮的方法。这样在一些相关性检索方面就有了应用价值。
本文中搭建了annoy和nmslib两种方式。
下面提供了两种方式的的索引构建方式：
annoy索引构建：
f = 200
tc_index = AnnoyIndex(f,metric='angular')...]]></description><category></category></item><item><title><![CDATA[大量字符串快速匹配-字典树匹配]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/102077694</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/102077694</guid><author>cyinfi</author><pubDate>Fri, 04 Oct 2019 16:34:57 +0800</pubDate><description><![CDATA[说明：
在本人的工作中遇到了这样的一个问题。需要用到字符串匹配的功能。
一边是300字左右的句子，另一边是几个到几十个词的短语，然后过滤出包含短语的句子。
数量都在千万级别，最直接的想法肯定是两层for循环两两匹配，但是有点low。
在这实现了基于多叉树的树形匹配方式。（如果有问题，欢迎指正）

class Trie():

    def __init__(self):
        self...]]></description><category></category></item><item><title><![CDATA[hnswlib库在windows系统中的安装]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/102075088</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/102075088</guid><author>cyinfi</author><pubDate>Fri, 04 Oct 2019 15:53:30 +0800</pubDate><description><![CDATA[安装过程：
先说明本人在安装该模块时遇到的问题。
直接pip安装报错。在git上下载代码依然报错。
缺少 h文件。
原因是编译环境找不到h文件所在的路径。
查看本机编译调用的命令为：

所以就把缺少的h文件目录添加到了该编译环境依赖的include中

接下来在去下载的git安装包中去执行，python setup.py  install 便可以成功安装了。
线上结果：

可以看到，安装完成可以正...]]></description><category></category></item><item><title><![CDATA[神经网络实验心得（持续更新）]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/94295805</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/94295805</guid><author>cyinfi</author><pubDate>Sat, 20 Jul 2019 22:15:02 +0800</pubDate><description><![CDATA[（1）当预测类别比较多时，各层测参数应该数量相当，否则会出现一个特征会影响多个类别的情况，出现一对多，模型不好训练。
（2）其实神经网络的本质还是特征提取和空间映射，观察数据的特征和分布是非常有必要的。
（3）attention 在词特征影响比较大的任务中真的有效，如一些翻译或者分类任务。
（4）relu激活适合用在特征维度逐渐减少的层中，并且能增加模型的鲁棒性。
（5）

...]]></description><category></category></item><item><title><![CDATA[再谈语言模型之应用]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/96639254</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/96639254</guid><author>cyinfi</author><pubDate>Sat, 20 Jul 2019 22:14:11 +0800</pubDate><description><![CDATA[语言模型的形式
上文介绍的语言模型在效果上得到了非常好的效果，但是在生产环境速度偏慢，因此本文的目的有两个，意识较轻量级的语言模型的实验， 二是语言模型在下游任务中应用，语言模型本质上还是去发现语言文法中的潜在的关联关系，应用该方法理论上在文本的语义方面判断的任务会有很大帮助。
模型的应用 VAE
这里展示的是VAE在文本生成过程中加入了，lm_loss用来辅助文本生成，关于VAE的一些东西就不在...]]></description><category></category></item><item><title><![CDATA[再谈语言模型]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/91377231</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/91377231</guid><author>cyinfi</author><pubDate>Sat, 20 Jul 2019 18:23:32 +0800</pubDate><description><![CDATA[标题：
语言模型再自然语言处理任务中有极其重要的作用，大家较为熟悉的是n-gram类型的语言模型，无论是传统的方法还是基于NN的方法，都是根据前N个词 预测当前词，或者求当前词的概率。需要求整个序列的概率时需要对序列进行遍历然后进行累乘操作。其实自然语言的语言模型可以不这样玩，哈哈。下面对一些新型的语言模型加以介绍，并探讨一下其应用。（稍后讲解求编码、求损失等操作）
新型语言模型：
bert预训练...]]></description><category></category></item><item><title><![CDATA[seq2seq  实现数字加法]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/93138777</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/93138777</guid><author>cyinfi</author><pubDate>Thu, 20 Jun 2019 22:28:14 +0800</pubDate><description><![CDATA[标题
这是用简单的seq2seq实现的数字加法，原理就是想用一个循环网络编码Query，然后将其复制到Answer的的长度。后接多层循环神经网络。最后softmax加交叉熵损失。
model = Sequential()
# "Encode" the input sequence using an RNN, producing an output of HIDDEN_SIZE.
# Note: I...]]></description><category></category></item><item><title><![CDATA[Layer concatenate_1 was called with an input that isn't a symbolic tensor]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/92220198</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/92220198</guid><author>cyinfi</author><pubDate>Sat, 15 Jun 2019 22:34:33 +0800</pubDate><description><![CDATA[问题
如题目所述，编写代码时遇到Layer concatenate_1 was called with an input that isn’t a symbolic tensor的问题，查看 concatenate的对象确实时tensor对象，为什么会有这样的问题呢？
解决方法
查看代码是否 concatenate的参数传错了。注意参数是放在【】里面的，不是 （）。
emb_all = layer...]]></description><category></category></item><item><title><![CDATA[意图分析及斯坦福NLP服务搭建]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/90743620</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/90743620</guid><author>cyinfi</author><pubDate>Sun, 02 Jun 2019 21:17:10 +0800</pubDate><description><![CDATA[标题


应用范围和场景
在自然语言处理的应用中，经常会用到分词，词性分析、句法分析、英体识别等应用，斯坦福NLP在中文支持方面还算不错，方便我们更快的支持和验证应用的可行性。


环境配值和搭建过程
下载  stanford-corenlp-full-2017-06-09.zip  ，然后在系统中解压，下载该包支持的中文模型 stanford-chinese-corenlp-2017-06-09...]]></description><category></category></item><item><title><![CDATA[keras自定义层对自定义参数进行保存]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/90350082</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/90350082</guid><author>cyinfi</author><pubDate>Sun, 19 May 2019 23:51:51 +0800</pubDate><description><![CDATA[问题描述
在使用keras的过程中，有时会在自定义层中定义自己的参数，然而调用  json_model = model.to_json()  后发现自定义的参数并没有保存到模型中，造成模型加载时报错。
解决方案
需要在该层中实现 get_config(self) 方法，将自定义的参数保存到一个map中。聚义可以参考本人的《Keras 实现对bert编码的封装实现》中的具体写法。

...]]></description><category></category></item><item><title><![CDATA[Keras 实现对bert编码的封装实现]]></title><link>https://blog.youkuaiyun.com/cyinfi/article/details/90349981</link><guid>https://blog.youkuaiyun.com/cyinfi/article/details/90349981</guid><author>cyinfi</author><pubDate>Sun, 19 May 2019 23:39:29 +0800</pubDate><description><![CDATA[bert编码突袭了NLP各大榜单，为了让大家更方便的在自己的数据集合上测试bert的威力，在此分享一下，keras版本的nert编码层。直接上代码了。
class b_embeding_layer_b(keras.layers.Layer):
    """自定义层"""

    def __init__(self, max_seq_len=50,model_dir = r"F:\glove.6...]]></description><category></category></item></channel></rss>