Machine learning 从字符串生成有效单词

Machine learning 从字符串生成有效单词,machine-learning,nlp,Machine Learning,Nlp,由于一些技术问题,所有句子中的空格都被删除了。(全站除外) python中是否有任何方法可以获得这样的可读输出 “这只是一个测试。这是另一句话。” 如果你有一个有效的常用词列表(可以在互联网上找到不同语言的常用词),你可以得到所有的前缀,检查它们是否是有效词,然后递归地重复句子的其余部分。使用记忆来防止相同后缀上的冗余计算 下面是一个Python示例。lru\u cache注释将记忆添加到函数中,以便每个后缀的句子只计算一次,与第一部分的拆分方式无关。请注意,words是用于O(1)查找的set

由于一些技术问题,所有句子中的空格都被删除了。(全站除外)

python中是否有任何方法可以获得这样的可读输出

“这只是一个测试。这是另一句话。”


如果你有一个有效的常用词列表(可以在互联网上找到不同语言的常用词),你可以得到所有的前缀,检查它们是否是有效词,然后递归地重复句子的其余部分。使用记忆来防止相同后缀上的冗余计算

下面是一个Python示例。
lru\u cache
注释将记忆添加到函数中,以便每个后缀的句子只计算一次,与第一部分的拆分方式无关。请注意,
words
是用于O(1)查找的
set
。A也能很好地工作

words={“this”、“his”、“is”、“only”、“a”、“at”、“ate”、“test”,
“和”、“这里”、“她”、“是”、“一个”、“其他”、“另一个”,
“发送”、“sentense”、“时态”、“和”、“千”、“更多”}
max_len=max(映射(len,单词))
导入功能工具
functools.lru\u缓存(无)
def查找句子(文本):
如果len(text)==0:
收益率[]
其他:
对于范围内的i(最小值(最大长度,长度(文本))+1):
前缀,后缀=文本[:i],文本[i:]
如果前缀为单词:
对于find_句子中的剩余部分(后缀):
收益率[前缀]+剩余
mystring='这是唯一的测试。这里是另一个人的名字
对于mystring.split(“.”)中的文本:
打印(报告(文本))
查找句子(文本)中的句子:
打印(句子)

这将给你一个有效的(但可能是非感官的)方法列表,将句子拆分成单词。这些可能足够少,所以你可以手工挑选一个合适的;否则,您可能必须添加另一个后处理步骤,例如使用具有适当NLP框架的词性分析。

如果您有一个有效单词列表,您可以获取所有前缀,检查它们是否为有效单词,然后递归地重复句子的其余部分。使用memonization来避免相同后缀上的冗余计算。这将给你一个有效的(但可能是非感官的)方法列表,将句子分成单词。我没有有效的单词列表。这是常用的英文文本。
mystring='thisisonlyatest. andhereisanothersentense'