# Summary # Cues # Notes `in_indices` 的中文含义是:**输入索引** 或 **输入token索引** ## 详细解释 ### 英文拆解 - `in` = **input**(输入的) - `indices` = **index的复数**(索引、指标) ### 在NLP中的具体含义 `in_indices` 就是 **token ID序列**,每个数字代表词汇表中一个词的编号。 ## 举个中文例子 假设你有这样一个句子: ```Java "我 喜欢 学习 人工智能" ``` ### 1. 建立[[词汇表]](vocabulary) ```python vocab = { "<pad>": 0, "<eos>": 1, "我": 2, "喜欢": 3, "学习": 4, "人工智能": 5, "很": 6, "有趣": 7, # ... 更多词汇到 vocab_size=10000 } ``` ### 2. 文本 → token indices ```python 文本: "我 喜欢 学习 人工智能" ↓ token_indices = [2, 3, 4, 5] ``` ### 3. 在测试中 ```python in_indices = torch.tensor([[2, 3, 4, 5, 6, 7, ...], # 第1个句子的token ID [1, 2, 8, 9, 1, 0, ...], # 第2个句子的token ID [...]]) # 更多句子 ``` ## 为什么叫 "indices"? 因为每个数字都是**词汇表的索引位置**: - `2` → 指向词汇表第2位的"我" - `3` → 指向词汇表第3位的"喜欢" - `4` → 指向词汇表第4位的"学习" ## 常见的中文叫法 - **Token ID** (最常用) - **词汇索引** - **输入索引** - **token索引** - **词元ID** 在代码注释中,你经常会看到: ```python in_indices = torch.randint(0, 10_000, (batch_size, n_queries)) # 随机生成token ID,范围是 0 到 9999(词汇表大小) ``` 所以 `in_indices` 就是**把文本转换成数字后的结果**,计算机只能理解数字,不能直接理解文字。