导入
词性标注
学习如何使用 Python 进行词性标注。
常见词性标注(POS Tags)
| 缩写 | 全称 | 含义 | 示例 |
|---|---|---|---|
| JJS | 形容词 | 形容词的最高级形式 | “best”(这是最好的选择。) |
| RB | 副词 | 修饰动词、形容词或其他副词 | “quickly”(他跑得很快。) |
| NUM | 数词 | 表示数字和数量 | “three”(有三个苹果。) |
| PRP | 代词 | 替代名词或名词短语 | “she”(她要去公园。) |
| PUNCT 或 , 或 . | 标点符号 | 包括各种标点符号 | “.”(句子末尾的句号) |
| VERB | 动词 | 表示动作、事件或状态 | “run”(他们每天早上跑步。) |
| MD | 情态动词 | 表示可能性、必要性或许可 | “can”(他会游泳。) |
| NN | 名词 | 表示人、地点、事物或概念 | “city”(这座城市很漂亮。) |
| NNP | 专有名词,单数 | 单数形式的专有名词 | “Alice”(Alice Johnson。) |
| NNPS | 专有名词,复数 | 复数形式的专有名词 | “Smiths”(The Smiths 乐队。) |
| IN | 介词 | 表示名词/代词与句子中其他词之间的关系 | “in”(他在房间里。) |
| CD | 基数词 | 数字字符 | “2023”(2023年。) |
| DT | 限定词 | 用于说明或限定名词 | “the”(他用了那本书。) |
| VBG | 动词,动名词或现在分词 | 表示正在进行的动作或过程 | “running”(他正在跑步。) |
| VBZ | 动词,第三人称单数 | 表示由第三人称单数主语执行的动作 | “runs”(她跑得很快。) |
| VBN | 过去分词动词 | 表示过去发生的动作,常与助动词连用 | “eaten”(他已经吃过午饭了。) |
1import pandas as pd 2import nltk 3import string 4import contractions 5from nltk.tokenize import word_tokenize 6from nltk.corpus import stopwords 7nltk.download('averaged_perceptron_tagger', quiet=True) 8 9df = pd.read_csv("reviews.csv") 10pd.set_option('display.max_colwidth', 300) 11def expand_contractions(text): 12 return contractions.fix(text) 13df['text'] = df['text'].apply(expand_contractions) 14df['tokens'] = df['text'].apply(lambda text: word_tokenize(text.lower())) 15stop_words = set(stopwords.words('english')) 16df['tokens'] = df['tokens'].apply(lambda tokens: [token for token in tokens if token not in stop_words]) 17df['pos_tags'] = df['tokens'].apply(nltk.pos_tag) 18print(df.head())