小编Fos*_*iba的帖子

正则表达式查找字符串中的一系列大写单词

text = "This is a TEXT CONTAINING UPPER CASE WORDS and lower case words. This is a SECOND SENTENCE."

pattern = '[A-Z]+[A-Z]+[A-Z]*[\s]+'
Run Code Online (Sandbox Code Playgroud)

re.findall(pattern, text)给出输出 -->

['TEXT ', 'CONTAINING ', 'UPPER ', 'CASE ', 'WORDS ', 'SECOND ', 'SENTENCE ']
Run Code Online (Sandbox Code Playgroud)

但是,我想要这样的输出 -->

['TEXT CONTAINING UPPER CASE WORDS', 'SECOND SENTENCE']
Run Code Online (Sandbox Code Playgroud)

python regex

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

有没有办法将经过 spacy 训练的模型加载到 gensim 中?

我想获得相似单词的列表。由于 Spacy 没有对此的内置支持,我想将 spacy 模型转换为 gensim word2vec 并获取相似单词的列表。

我尝试使用下面的方法。但这很耗时。

def most_similar(word):
    by_similarity = sorted(word.vocab, key=lambda w: word.similarity(w), reverse=True)
    return [w.orth_ for w in by_similarity[:10]]
Run Code Online (Sandbox Code Playgroud)
nlp = spacy.load('en_core_web_md')
nlp.to_disk(filename)
nlp.vocab.vectors.to_disk(filename)
Run Code Online (Sandbox Code Playgroud)

这不会将模型保存到文本文件。因此,我无法使用以下方法。

from gensim.test.utils import datapath, get_tmpfile
from gensim.models import KeyedVectors
from gensim.scripts.glove2word2vec import glove2word2vec

glove_file = datapath('test_glove.txt')
tmp_file = get_tmpfile("test_word2vec.txt")

_ = glove2word2vec(glove_file, tmp_file)
Run Code Online (Sandbox Code Playgroud)

nlp similarity python-3.x gensim spacy

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

标签 统计

gensim ×1

nlp ×1

python ×1

python-3.x ×1

regex ×1

similarity ×1

spacy ×1