小编ben*_*212的帖子

将 TF-IDF 与预训练的词嵌入相结合

我有一个网站元描述列表(128k 描述;每个描述平均有 20-30 个单词),并且正在尝试构建一个相似度排名器(如:向我显示与此网站元描述最相似的 5 个网站)

它与 TF-IDF uni- 和 bigram 配合得非常好,我认为我还可以通过添加预先训练的词嵌入(准确地说是 spacy“en_core_web_lg”)来改进它。情节扭曲:根本行不通。从字面上没有得到一个好的猜测,它突然吐出完全随机的建议。

下面是我的代码。有什么想法我可能哪里出了问题吗?我是否在监督一些高度直观的事情?

import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
import sys
import pickle
import spacy
import scipy.sparse
from scipy.sparse import csr_matrix
import math
from sklearn.metrics.pairwise import linear_kernel
nlp=spacy.load('en_core_web_lg')


""" Tokenizing"""
def _keep_token(t):
    return (t.is_alpha and 
            not (t.is_space or t.is_punct or 
                 t.is_stop or t.like_num))
def _lemmatize_doc(doc):
    return [ t.lemma_ for t in doc if _keep_token(t)]

def _preprocess(doc_list):     
    return [_lemmatize_doc(nlp(doc)) for doc in doc_list]
def dummy_fun(doc): …
Run Code Online (Sandbox Code Playgroud)

nlp tf-idf spacy word-embedding tfidfvectorizer

5
推荐指数
1
解决办法
5335
查看次数

如何在Google App引擎和计算引擎之间建立专用连接?

我有一个网络应用程序/ Api,当前正在Google应用程序引擎资源上运行。由于API的计算需要大量计算,因此我将计算部分外包给了托管的自动缩放google计算引擎组,前端使用HTTP负载均衡器(以维护单个IP地址并平衡多个IP负载动态产生的引擎)。

目前,我只是从应用程序引擎对负载均衡器IP地址进行HTTP调用。由于GAE和GCE位于同一区域,因此感觉效率很低(我知道应用程序引擎和计算引擎仍位于两个物理上分离的数据中心中)。由于我不断收到来自随机IP僵尸程序的电话,试图利用潜在的安全漏洞,因此这也构成了安全威胁。此外,我只是在应用程序引擎级别验证API令牌的有效性,因为我不想授予用户数据库对计算引擎的访问权限(出于安全原因),因此这意味着在应用程序引擎和计算引擎之间没有完成验证工作,以便后者接听所有收到的电话。

有没有办法在应用程序引擎和云引擎之间建立专用连接?

我的目标是不必向整个互联网开放GCE,请记住它仅接收来自一个IP地址/资源的呼叫

我曾尝试仅将应用程序引擎的IP地址列入白名单,但是不幸的是,这是一大堆地址,检索和动态更改非常麻烦。应用程序引擎也无法使用计算引擎/ Google SQL服务器的专用IP。

我们非常欢迎其他创意!

google-app-engine google-compute-engine google-cloud-platform

2
推荐指数
1
解决办法
136
查看次数