对于 ElMo、FastText 和 Word2Vec,我正在对句子中的词嵌入进行平均,并使用 HDBSCAN/KMeans 聚类对相似的句子进行分组。
在这篇短文中可以看到一个很好的实现示例:http : //ai.intelligentonlinetools.com/ml/text-clustering-word-embedding-machine-learning/
我想使用 BERT(使用 Hugging face 中的 BERT python 包)做同样的事情,但是我不太熟悉如何提取原始词/句子向量以将它们输入到聚类算法中。我知道 BERT 可以输出句子表示 - 那么我实际上如何从句子中提取原始向量呢?
任何信息都有帮助。
python nlp artificial-intelligence word-embedding bert-language-model
我有单元格"A1",其值为1.00,由公式设置
我想将此值保存到变量中.
我试过了:
ws.Cells["A1"].Value
ws.Cells["A1"].Text
ws.Cells["A1"].GetValue<double>
ws.Cells["A1"].Value.ToString()
Run Code Online (Sandbox Code Playgroud)
这些都不起作用,因为我得到一个错误或我根本没有得到我的号码(console.writeline输出一个空白).
我尝试在线搜索,我得到了我上面尝试的内容.我知道我正在引用单元格,因为我实际上可以正确设置值.
那么我如何实际获得1.00的值并将其保存为双变量?
编辑:我的代码,其中filePath中的工作表的"A1"值为1.00
using (var pck = new ExcelPackage(filePath))
{
var ws = pck.Workbook.Worksheets[1];
var test1 = ws.Cells["A1"].Value;
var test2 = ws.Cells["A1"].Text;
var test3 = ws.Cells["A1"].GetValue<double>();
Console.WriteLine(test1);
Console.WriteLine(test2);
Console.WriteLine(test3);
}
Run Code Online (Sandbox Code Playgroud)
输出是:
[blank]
[blank]
0
Run Code Online (Sandbox Code Playgroud)
EDIT2:1.00的值来自公式
我正在关注这个关于变压器的博客
http://jalammar.github.io/illustrated-transformer/
我唯一不明白的是为什么需要一堆编码器或解码器。我知道多头注意力层捕获了问题的不同表示空间。我不明白为什么需要垂直堆叠的编码器和解码器。一个编码器/解码器层不能工作吗?
EPPLUS尽管有CreateFormulaArray()方法,但当前版本支持创建excel公式但不是excel数组公式.
使用该CreateFormulaArray()方法时,excel公式编辑器中将显示正确的公式字符串.但是,公式实际上并未在工作表上执行.
我想知道是否有人知道任何聪明的解决方法,而不必使用Microsoft.Office.Interop
我的代码是:
using (ExcelPackage pck = new ExcelPackage(newFile))
{
pck.Workbook.Worksheets.Add("Summary");
pck.Workbook.Worksheets.MoveToStart("Summary");
var summaryWS = pck.Workbook.Worksheets[1];
summaryWS.Cells["C2"].Value = 2;
summaryWS.Cells["C3"].Value = 3;
summaryWS.Cells["C4"].Value = 8;
summaryWS.Cells["A1"].CreateArrayFormula("STDEV.P($C$2:$C$4)*SQRT(8*260)");
}
Run Code Online (Sandbox Code Playgroud)
我在excel中的输出将是#NAME?
公式编辑器显示的{=STDEV.P($C$2:$C$4)*SQRT(8*260)}