小编Ole*_*kyi的帖子

空间和训练数据中的 Cased VS uncased BERT 模型

我想使用spacy's pretrained BERT 模型进行文本分类,但我对cased/uncased模型有点困惑。我在某处读到cased模型应该只在字母大小写有可能对任务有帮助的情况下使用。在我的具体情况下:我正在处理德语文本。在德语中,所有名词都以大写字母开头。所以,我认为,(如果我错了,请纠正我)这是cased必须使用模型的确切情况。(在 中也没有uncased适用于德语的模型spacy)。

但是在这种情况下必须对数据做什么?我应该(在预处理火车数据时)保持原样(我的意思是不使用该.lower()功能)还是没有任何区别?

python spacy bert-language-model

8
推荐指数
2
解决办法
8121
查看次数

bcrypt 中的密码检查如何工作?

bcrypt 所以,我在文档中找到了以下示例:

password = b"super secret password"
hashed = bcrypt.hashpw(password, bcrypt.gensalt())
if bcrypt.checkpw(password, hashed):
    print("It Matches!")
else:
    print("It Does not Match :(")
Run Code Online (Sandbox Code Playgroud)

这似乎有效。但我不明白怎么办。我们不应该使用 salt 来生成哈希值来进行检查吗?

我的意思是,我们生成了一次盐,但没有将其保存在变量中。但是接下来我们想要使用函数来比较哈希值和密码checkpw,但是它如何知道使用哪种盐来生成哈希值以进行比较呢?

python bcrypt

6
推荐指数
2
解决办法
5584
查看次数

在 python 中测量多种语言文本之间的相似性的最佳方法是什么?

所以,我有一个任务需要测量两个文本之间的相似度。这些文本是杂货店产品的简短描述。它们始终包含产品名称(例如牛奶),并且可能包含生产商和/或尺寸,以及产品的一些其他特征。

我有一整套这样的文本,然后,当新的文本到达时,我需要确定我的数据库中是否有类似的产品,并测量它们的相似程度(从 0 到 100% 的范围)。

问题是:文本可能采用两种不同的语言:乌克兰语和俄语。另外,如果有外国品牌(例如,Coca Cola),它会用英文书写。

我解决这个任务的最初想法是获得多语言单词嵌入(不同语言中的相似单词位于附近)并找到这些文本之间的距离。但是,我不确定这会有多有效,如果可以的话,该从什么开始。

因为我拥有的每个文本只是一组产品特征,所以一些基于上下文的词嵌入可能不起作用(我不确定这个陈述,这只是我的假设)。

到目前为止,我已经尝试熟悉MUSE框架,但在安装时遇到了问题faiss

因此,我的问题是:

  • 我的词嵌入想法值得尝试吗?
  • 也许有更好的方法吗?
  • 如果词嵌入的想法没问题,我应该使用哪些?

注意:我有 Windows 10(以防某些库无法在 Windows 上运行),并且我需要该库才能使用乌克兰语和俄语。

预先感谢您的任何帮助!任何建议将不胜感激!

python multilingual nlp similarity word-embedding

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

spacy 中空白模型和预训练模型之间的差异

我目前正在尝试使用训练文本分类器spacy,但遇到了以下问题:使用创建空白模型spacy.blank('en')和使用预训练模型创建空白模型有什么区别spacy.load('en_core_web_sm')。只是为了看看差异我写了这段代码:

text = "hello everyone, it's a wonderful day today"

nlp1 = spacy.load('en_core_web_sm')
for token in nlp1(text):
    print(token.text, token.lemma_, token.is_stop, token.pos_)
Run Code Online (Sandbox Code Playgroud)

它给了我以下结果:

你好你好假INTJ

每个人每个人真正的PRON

, , 假 PUNCT

it-PRON- 真正的 PRON

是真正的 AUX

aa 真实 DET

精彩 精彩 假 ADJ

假名词

今天 今天 假名词

然后我尝试了这个(对于相同的文本)

nlp2 = spacy.blank('en')
for token in nlp2(text):
    print(token.text, token.lemma_, token.is_stop, token.pos_)
Run Code Online (Sandbox Code Playgroud)

结果是

你好你好假

每个人每个人真实

, , 错误的

it-PRON- 真正的 PRON

是的 是真的

精彩 精彩 错误

日 日 假 …

python text-classification spacy

4
推荐指数
1
解决办法
5225
查看次数

如何使用 Dataproc 中的 Jupyter 笔记本获取 GCS 存储桶中的文件列表?


我最近开始在我的项目中使用 GCP,在使用 Dataproc 集群中 Jupyter 笔记本中的存储桶时遇到了困难。目前,我有一个包含一堆文件的存储桶,以及一个包含 Jupyter 笔记本的 Dataproc 集群。我想做的是检查存储桶中的所有文件并从中提取数据以创建数据框。

我可以使用以下代码一次访问一个文件:data = spark.read.csv('gs://BUCKET_NAME/PATH/FILENAME.csv'),但是有数百个文件,我无法为每个文件编写一行代码。通常,我会做这样的事情:

import os
for filename in os.listdir(directory):
...

但这似乎在这里不起作用。因此,我想知道如何使用 Dataproc 集群中的 Jupyter 笔记本迭代存储桶中的文件?

将不胜感激任何帮助!

python google-cloud-storage google-cloud-platform google-cloud-dataproc jupyter-notebook

3
推荐指数
1
解决办法
2839
查看次数

“CREATE TABLE”中的正则表达式

我有以下问题:我想用他的 id 和名称创建一个表 Client 。我还想检查“名称”字段是否仅包含字母。这是我的查询:

CREATE TABLE CLIENT(
ID NUMBER PRIMARY KEY, 
FIRST_NAME CHAR(10) CONSTRAINT NAME_CHECK CHECK(REGEXP_LIKE(FIRST_NAME, '^[A-Za-z]*$'))
);
Run Code Online (Sandbox Code Playgroud)

该脚本运行良好,正在创建表。但是下面的 INSERT 语句

INSERT INTO CLIENT VALUES(1, 'BOB');

不起作用。这是错误文本:

INSERT INTO CLIENT
VALUES(1, 'BOB')
Error report -
ORA-02290: check constraint (TASK8.NAME_CHECK) violated
Run Code Online (Sandbox Code Playgroud)

我确信这个错误的原因是相当明显的,但我就是不明白。我以前从未遇到过正则表达式的问题。

提前致谢

regex sql oracle oracle-sqldeveloper

0
推荐指数
1
解决办法
2173
查看次数