Transformers.js 文档

utils/data-structures

您正在查看 main 版本,该版本需要从源代码安装。如果您想进行常规 npm 安装,请查看最新的稳定版本 (v3.0.0)。
Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

以开始使用

utils/data-structures

自定义数据结构。

这些仅在内部使用,意味着最终用户不应需要访问此处的任何内容。


utils/data-structures.PriorityQueue

优先级队列的高效堆实现。它使用基于数组的二叉堆,其中根节点位于索引 0,节点 i 的子节点分别位于索引 2i + 12i + 2

改编自以下来源

类型utils/data-structures 的静态类


new PriorityQueue(comparator)

创建一个新的 PriorityQueue。

参数类型描述
comparator函数

用于确定优先级的比较器函数。默认为 MaxHeap。


priorityQueue.size

队列的大小

类型PriorityQueue 的实例属性


priorityQueue.isEmpty() ⇒ <code> boolean </code>

检查队列是否为空。

类型PriorityQueue 的实例方法
返回boolean - 如果队列为空,则为 true,否则为 false


priorityQueue.peek() ⇒ <code> any </code>

返回队列中优先级最高的元素。

类型PriorityQueue 的实例方法
返回any - 队列中优先级最高的元素。


priorityQueue.push(...values) ⇒ <code> number </code>

向队列添加一个或多个元素。

类型PriorityQueue 的实例方法
返回number - 队列的新大小。

参数类型描述
...valuesany

要推入队列的值。


priorityQueue.extend(values) ⇒ <code> number </code>

向队列添加多个元素。

类型PriorityQueue 的实例方法
返回number - 队列的新大小。

参数类型描述
valuesArray.<any>

要推入队列的值。


priorityQueue.pop() ⇒ <code> any </code>

移除并返回队列中优先级最高的元素。

类型PriorityQueue 的实例方法
返回any - 队列中优先级最高的元素。


priorityQueue.replace(value) ⇒ <code> * </code>

使用新值替换队列中优先级最高的元素。

类型PriorityQueue 的实例方法
返回* - 被替换的值。

参数类型描述
value*

新值。


priorityQueue._siftUpFrom(node)

从给定节点向上筛选的辅助函数。

类型PriorityQueue 的实例方法

参数类型描述
nodenumber

开始向上筛选的节点的索引。


utils/data-structures.CharTrie

一种用于高效存储和搜索字符串的 Trie 结构。

类型utils/data-structures 的静态类


charTrie.extend(texts)

向 trie 添加一个或多个 texts

类型CharTrie 的实例方法

参数类型描述
textsArray.<string>

要添加到 trie 的字符串。


charTrie.push(text)

向 trie 添加文本。

类型CharTrie 的实例方法

参数类型描述
textstring

要添加到 trie 的字符串。


charTrie.commonPrefixSearch(text)

在 trie 中搜索所有以 text 为公共前缀的字符串。

类型CharTrie 的实例方法

参数类型描述
textstring

要搜索的公共前缀。


utils/data-structures.TokenLattice

一种用于分词的格状数据结构。

类型utils/data-structures 的静态类


new TokenLattice(sentence, bosTokenId, eosTokenId)

创建一个新的 TokenLattice 实例。

参数类型描述
sentencestring

要分词的输入句子。

bosTokenIdnumber

序列开始 (beginning-of-sequence) 标记 ID。

eosTokenIdnumber

序列结束 (end-of-sequence) 标记 ID。


tokenLattice.insert(pos, length, score, tokenId)

将新的标记节点插入到标记格 (token lattice) 中。

类型TokenLattice 的实例方法

参数类型描述
posnumber

标记的起始位置。

lengthnumber

标记的长度。

scorenumber

标记的分数。

tokenIdnumber

标记的标记 ID。


tokenLattice.viterbi() ⇒ <code> Array. < TokenLatticeNode > </code>

实现 Viterbi 算法以计算最可能的标记序列。

类型TokenLattice 的实例方法
返回Array.<TokenLatticeNode> - 最可能的标记序列。


tokenLattice.piece(node) ⇒ <code> string </code>

类型TokenLattice 的实例方法
返回string - 标记节点对应的文本片段。

参数类型
nodeTokenLatticeNode

tokenLattice.tokens() ⇒ <code> Array. < string > </code>

类型TokenLattice 的实例方法
返回Array.<string> - 最可能的标记序列。


tokenLattice.tokenIds() ⇒ <code> Array. < number > </code>

类型TokenLattice 的实例方法
返回Array.<number> - 最可能的标记 ID 序列。


utils/data-structures.DictionarySplitter

一种数据结构,它使用 trie 树(字典树)根据字典将字符串拆分为 tokens(标记)。它还可以使用正则表达式在拆分前预处理输入文本。

注意:为了确保正确处理多字节字符,我们以字节级别而不是字符级别进行操作。

类型utils/data-structures 的静态类


new DictionarySplitter(dictionary)

参数类型描述
字典Array.<string>

用于拆分的单词字典。


dictionarySplitter.split(text) ⇒ <code> Array. < string > </code>

根据字典将输入文本拆分为 tokens(标记)。

类型DictionarySplitter 的实例方法
返回Array.<string> - tokens(标记)数组。

参数类型描述
textstring

要拆分的输入文本。


utils/data-structures~CharTrieNode

表示字符 trie 树(字典树)中的一个节点。

类型utils/data-structures 的内部类


new CharTrieNode(isLeaf, children)

创建一个新的 CharTrieNode。

参数类型描述
isLeaf布尔值

节点是否为叶节点。

childrenMap.<string, CharTrieNode>

包含节点子节点的映射,其中键是字符,值是 CharTrieNode


CharTrieNode.default() ⇒ <code> CharTrieNode </code>

返回一个新的 CharTrieNode 实例,并带有默认值。

类型CharTrieNode 的静态方法
返回CharTrieNode - 一个新的 CharTrieNode 实例,其中 isLeaf 设置为 falsechildren 映射为空。


utils/data-structures~TokenLatticeNode

类型utils/data-structures 的内部类


new TokenLatticeNode(tokenId, nodeId, pos, length, score)

表示给定句子 token lattice(词格)中的一个节点。

参数类型描述
tokenIdnumber

与此节点关联的 token(标记)的 ID。

nodeIdnumber

此节点的 ID。

posnumber

token(标记)在句子中的起始位置。

lengthnumber

标记的长度。

scorenumber

与 token(标记)关联的分数。


tokenLatticeNode.clone() ⇒ <code> TokenLatticeNode </code>

返回此节点的克隆。

类型TokenLatticeNode 的实例方法
返回TokenLatticeNode - 此节点的克隆。


< > 在 GitHub 上更新