标注集:采用包含4个角色的标注集:B、M、E、S B:表示词的开头字符 M:表示词的中间字符 E:表示词的结尾字符 S:表示单字成词字符 标注结果:"大/B学/M生/E的/S生/B活/E很/S丰/B富/E。/S" 分词结果:["大学生", "的", "生活", "很", "丰富", "。"] 例子: 输入: s = "大/B学/M生/E的/S生/B活/E很/S丰/B富/E。/S" print( extract_label(s), extract_word(s), sep="\n" ) 结果为: ['B', 'M', 'E', 'S', 'B', 'E', 'S', 'B', 'E', 'S'] ['大学生', '的', '生活', '很', '丰富', '。'] 输入: s = "中/B央/M民/M族/M大/M学/E是/S一/B所/E民/B族/M类/E高/B等/E院/B校/E。/S" print( extract_label(s), extract_word(s), sep="\n" ) 结果: ['B', 'M', 'M', 'M', 'M', 'E', 'S', 'B', 'E', 'B', 'M', 'E', 'B', 'E', 'B', 'E', 'S'] ['中央民族大学', '是', '一所', '民族类', '高等', '院校', '。'] 作业要求 定义一个函数extract_label(texts):参数texts为标注后的句子,返回分词角色标签列表 定义一个函数extract_word(texts):参数texts为标注后的句子,返回分词结果列表 # 定义函数,提取标签序列 def extract_label(texts): # 代码实现 # 定义函数,提取分词结果 def extract_word(texts): #具体代码实现
时间: 2023-12-15 15:03:45 浏览: 43
百度图像识别:物体检测——数据集如何提交、格式要求
def extract_label(texts):
labels = []
for char in texts:
if char == 'S':
labels.append('S')
elif char == 'B':
labels.append('B')
elif char == 'M':
labels.append('M')
elif char == 'E':
labels.append('E')
return labels
def extract_word(texts):
words = []
start = -1
for i, char in enumerate(texts):
if char == 'B':
start = i
elif char == 'E':
words.append(texts[start:i+1])
start = -1
elif char == 'S':
words.append(texts[i])
if start != -1:
words.append(texts[start:])
return words
# 测试代码
s = "大/B学/M生/E的/S生/B活/E很/S丰/B富/E。/S"
print(extract_label(s))
print(extract_word(s))
s = "中/B央/M民/M族/M大/M学/E是/S一/B所/E民/B族/M类/E高/B等/E院/B校/E。/S"
print(extract_label(s))
print(extract_word(s))
阅读全文