我有一个带有单词列表的文本文件,其形态分割:
例如:
AIMS AIM:AIM_V S: PL,AIM:AIM_V S: 3SG
航空公司空气:air_n线:line_n
警报的警报:alarm_n's: gen
炼金术士ALCHEM:alchemy_n ist:istrong s: pl
我想在python中的2D数组中trasform trasform,其中第一个维度是单词,第二个维度是代表单词形态分割的字符串
例如,对于"航空公司"一词,形态分割应为bmebmme,其中:
- b是变体的开始
- m是变体的中间特征
- e是变体的末端
我们也有代表单个字符变体的S,例如,"目标"我们将BME作为其形态分割。
单词已经被分割成一条线的右侧的变形。
我真的很感谢您的帮助:)
尝试以下:
file = 'myfile'
fh = open(file)
segArr = []
for line in fh:
list = line.split()
output = '('+list[0]+','
for word in list[1:]:
fragments = word.split(':')
fragment = fragments[0]
if len(fragment) == 1:
output += 'S'
else:
output += 'B'+'M'*(len(fragment)-2)+'E'
segArr.append(output+')')
print (segArr)
使用上面的示例给出:
['(aims,BMESBMES)', '(airline,BMEBMME)', "(alarm's,BMMMEBE)", '(alchemists,BMMMMEBMES)']
我怀疑警报中撇号的处理是否正确,但这是一个开始!