k skipgram是ngram,它是所有ngrams和每个(ki)skipgram的超集,直到(ki)== 0(包括0跳过克).那么如何在python中有效地计算这些跳过头文件呢?
以下是我尝试的代码,但它没有按预期执行:
<pre>
input_list = ['all', 'this', 'happened', 'more', 'or', 'less']
def find_skipgrams(input_list, N,K):
bigram_list = []
nlist=[]
K=1
for k in range(K+1):
for i in range(len(input_list)-1):
if i+k+1<len(input_list):
nlist=[]
for j in range(N+1):
if i+k+j+1<len(input_list):
nlist.append(input_list[i+k+j+1])
bigram_list.append(nlist)
return bigram_list
</pre>
Run Code Online (Sandbox Code Playgroud)
上面的代码无法正确呈现,但print find_skipgrams(['all', 'this', 'happened', 'more', 'or', 'less'],2,1)
提供以下输出
[['this','发生','更多'],['发生','更多','或',['更多','或','更少'],['或','更少'',['less'],['发生','更多','或'],['更多','或','更少',['或','更少'],['更少'], ['减']]
此处列出的代码也没有给出正确的输出:https: //github.com/heaven00/skipgram/blob/master/skipgram.py
print skipgram_ndarray("你叫什么名字")给出:['什么,是','是,你的','你的名字','名字','什么,你的','是,名字']
名字是一个unigram!
大语言模型的指令调优和普通微调有什么区别?
另外,我所指的指令调整不是上下文/提示的指令调整。
最近所有关于微调的论文似乎都是关于指令调优的。
我看过几篇关于微调/指令调优(例如 FLAN)的论文,但没有一篇真正描述指令调优和替代方案(无论替代方案是什么)之间的区别。
我理解指令调整是微调的一种形式,但带有指令数据集。但所有数据集都不是指令数据集吗?还有哪些种类呢?
我想在Keras NN模型中使用一些经过预先训练的单词嵌入,这些模型已由Google在一篇非常着名的文章中发表.他们提供了训练新模型的代码,以及这里的嵌入.
但是,从文档中不清楚如何从简单的python函数调用中从给定的字符串(word)中检索嵌入向量.许多文档似乎都集中在将矢量转储到整个句子的文件中,可能是为了感情分析.
到目前为止,我已经看到您可以使用以下语法提供预训练嵌入:
embedding_layer = Embedding(number_of_words??,
out_dim=128??,
weights=[pre_trained_matrix_here],
input_length=60??,
trainable=False)
Run Code Online (Sandbox Code Playgroud)
但是,转换不同的文件及其结构pre_trained_matrix_here
对我来说并不十分清楚.
它们有几个softmax输出,所以我不确定哪个属于哪个 - 以及如何将输入中的单词与它们所拥有的单词词典对齐.
有没有简单的方法在keras中使用这些word/char嵌入和/或在keras中构建模型的字符/单词嵌入部分,以便可以为其他NLP任务添加更多层?
我在哪里可以找到有关ARPA语言模型格式的文档?
我正在使用pocket-sphinx STT引擎开发简单的语音识别应用程序.出于性能原因,建议使用ARPA.我想了解我可以做多少来调整我的语言模型以满足我的自定义需求.
我发现的只是一些非常简短的ARPA格式描述:
我是STT的初学者,我很难绕过这个(n-gram等等).我正在寻找更详细的文档.像这里的JSGF语法文档:
我想用近50,000个单词创建一个ARPA语言模型文件.我无法通过将文本文件传递给CMU语言工具来生成语言模型.是否有其他链接可用于获取这些单词的语言模型?
我正在尝试学习如何使用TensorFlow构建用于语音识别的RNN.首先,我想尝试一下TensorFlow页面TF-RNN上的一些示例模型
根据建议,我花了一些时间来理解如何通过word2vec模型代码的基本版本将单词ID嵌入到密集表示(Vector Representation)中.我对tf.nn.embedding_lookup
实际做了什么有了解,直到我实际遇到与TF-RNN中的 二维数组一起使用的相同函数ptb_word_lm.py
,当它再也没有意义时.
tf.nn.embedding_lookup
做了什么:给定一个2-d数组params
和一个1-d数组ids
,函数tf.nn.embedding_lookup
从params中获取行,对应于给定的索引ids
,其中包含返回的输出维度.
当尝试使用相同的params和2-d数组时ids
,tf.nn.embedding_lookup
返回3-d数组,而不是2-d,我不明白为什么.
我查阅了嵌入查找的手册,但我仍然发现很难理解分区是如何工作的,以及返回的结果.我最近尝试了一些简单的例子,tf.nn.embedding_lookup
它似乎每次都返回不同的值.这种行为是由于分区涉及的随机性吗?
请帮助我理解它是如何tf.nn.embedding_lookup
工作的,以及为什么在两者中使用word2vec_basic.py
,ptb_word_lm.py
即使用它们的目的是什么?
我正在寻找一个Python的接口来加载ARPA文件(回退语言模型),并利用它们来评估一些文字,如得到它的日志概率,困惑等.
我不需要在Python中生成ARPA文件,只是用它来进行查询.
有人推荐套餐吗?我已经看过kenlm和swig-srilm,但是第一个在Windows中很难设置,第二个似乎不再维护了.
我试图计算我所拥有的数据的困惑.我使用的代码是:
import sys
sys.path.append("/usr/local/anaconda/lib/python2.7/site-packages/nltk")
from nltk.corpus import brown
from nltk.model import NgramModel
from nltk.probability import LidstoneProbDist, WittenBellProbDist
estimator = lambda fdist, bins: LidstoneProbDist(fdist, 0.2)
lm = NgramModel(3, brown.words(categories='news'), True, False, estimator)
print lm
Run Code Online (Sandbox Code Playgroud)
但我收到错误,
File "/usr/local/anaconda/lib/python2.7/site-packages/nltk/model/ngram.py", line 107, in __init__
cfd[context][token] += 1
TypeError: 'int' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)
我已经为我的数据执行了潜在Dirichlet分配,并且我已经生成了unigrams及其各自的概率(它们被归一化为数据的总概率之和为1).
我的unigrams和他们的概率看起来像:
Negroponte 1.22948976891e-05
Andreas 7.11290670484e-07
Rheinberg 7.08255885794e-07
Joji 4.48481435106e-07
Helguson 1.89936727391e-07
CAPTION_spot 2.37395965468e-06
Mortimer 1.48540253778e-07
yellow 1.26582575863e-05
Sugar 1.49563800878e-06
four 0.000207196011781
Run Code Online (Sandbox Code Playgroud)
这只是我所拥有的unigrams文件的一个片段.对于大约1000行,遵循相同的格式.总概率(第二列)求和1.
我是一个崭露头角的程序员.这个ngram.py属于nltk包,我很困惑如何纠正这个问题.我这里的示例代码来自nltk文档,我现在不知道该怎么做.请帮忙我能做些什么.提前致谢!
我正在尝试为句子分类任务训练模型。输入是一个句子(整数向量),输出是一个标签(0 或 1)。我在这里和那里看到了一些关于使用 Bert 和 GPT2 进行文本分类任务的文章。但是,我不确定应该从哪一个开始。您会使用 NLP 中的哪些最新模型(例如原始 Transformer 模型、Bert、GPT2、XLNet)开始?为什么?我更愿意在 Tensorflow 中实现,但我也可以灵活地使用 PyTorch。谢谢!
language-model ×10
nlp ×6
n-gram ×4
cmusphinx ×2
python ×2
tensorflow ×2
fine-tuning ×1
iphone ×1
keras ×1
nltk ×1
python-2.7 ×1
sphinx4 ×1
word2vec ×1