【发布时间】:2018-03-30 01:37:53
【问题描述】:
我有一个速记文本列表。全部用英语。是否有机器学习算法可用于扩展这些缩写?例如,如果简写是 'txt',它可能会建议 'text'、'context'、'textual' 等,并具有不同的惩罚值。
另外,当我选择正确的单词时,我希望它学会这一点,这样当我下次输入相同的速记时,我的选择会得到高评分。
编辑
具体来说,我尝试使用here 描述的这种语言模型,但它仅适用于最多两个级别的编辑。 “编辑”功能如下:
def edits1(word):
"All edits that are one edit away from `word`."
letters = 'abcdefghijklmnopqrstuvwxyz'
splits = [(word[:i], word[i:]) for i in range(len(word) + 1)]
deletes = [L + R[1:] for L, R in splits if R]
transposes = [L + R[1] + R[0] + R[2:] for L, R in splits if len(R)>1]
replaces = [L + c + R[1:] for L, R in splits if R for c in letters]
inserts = [L + c + R for L, R in splits for c in letters]
return set(deletes + transposes + replaces + inserts)
它基本上从一个字母开始,然后删除、转置、替换和插入字母(使用字母表中的字母)。
如何将其扩展到两个以上的编辑?
【问题讨论】:
-
您问题的第一部分并不是真正的机器学习,只是将扩展映射到替换。第二部分是机器学习。
-
欢迎来到 Stack Overflow,请查看:stackoverflow.com/help/how-to-ask
-
您可能的条目数据集中有多少种不同的速记文本输入字符串?
-
未定义简写文本输入的数量。真的可以是任意长度
标签: python r machine-learning nlp n-gram