为一个给定的文本建立词汇表。
一篇文章
可以使用以下步骤为给定文本建立词汇表：

1. 读取文本并将其存储在一个字符串变量中。
2. 对文本进行分词，将文本中的单词分开成一个列表。可以使用自然语言处理库如NLTK或SpaCy来实现分词。
3. 去除停用词（如“a”、“an”、“the”等常见单词）以及标点符号。
4. 对剩余的单词进行词干提取或词形还原，将它们转化为它们的基本形式，以便它们被计算为相同的单词。可以使用NLTK或SpaCy等库来完成这项工作。
5. 将处理后的单词列表转换为一个Python集合，这将去除重复的单词并确保每个单词只出现一次。
6. 使用Python列表的sort()方法将单词按字典顺序排序（如果需要按其他排序标准排序，可以使用sorted()函数）。
7. 建立一个词汇表字典，其中单词作为键（key），并赋予它们唯一的整数值（value）。可以使用Python内置的enumerate()函数为每个单词分配一个整数值。
8. 输出词汇表。

以下是Python代码示例，演示如何实现上述步骤：

```python
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.stem import PorterStemmer

# 读取文本
text = "This is a sample text used to build a vocabulary."

# 分词
words = word_tokenize(text)

# 去除停用词和标点符号
stop_words = set(stopwords.words('english'))
words = [word for word in words if word not in stop_words and word.isalpha()]

# 词干提取
ps = PorterStemmer()
words = [ps.stem(word) for word in words]

# 构建词汇表
unique_words = sorted(set(words))
vocab_dict = {word: i for i, word in enumerate(unique_words)}

# 输出词汇表
print(vocab_dict)
```

输出：

```
{'build': 0, 'sampl': 1, 'text': 2, 'use': 3, 'vocabulari': 4}
```