我有包含英语短信的数据。在
但我不想检测英文字母。(例如基于代码的规则,但我不想硬编码规则)。
请注意,正在使用的计算机没有活动的internet连接(因此我无法检查联机词典)。在
示例数据
- “你好,你好”
- “fjrio kjfdelf ejfe”<;--code(在西班牙语中是“你好”的意思)
- “我很好谢谢”
- “10倍男人”
- “jfrojf feoif”<;--code(假设它在日语中的意思是“你好世界”)
我是机器学习的新手,所以据我所知,也许有一种方法可以
正在使用nlp?在
Tags:
字符频率扫描就是一种方法。在
例如,对于每种语言,获取字符频率列表, A: 3% B: 1% C: 0.5% D: 0.7% E: 4% 等。。在
然后根据静态映射计算字符串的字符频率。您可以获得字符串作为您的语言之一的可能性的概率模型。在
当然,对于有足够的统计数据来捕捉真实频率的较长字符串,这种方法最有效。你还需要训练你的频率从你的目标来源,例如英语推特可能有不同的字母频率莎士比亚作品。在
另一种选择是找出一种语言中最有可能出现的n-gram,例如,“we”是英语中常见的2-gram。如果您扫描代码以了解这些最有可能出现的n-gram的频率,您通常可以检测出某些内容是否使用了特定的语言。在
我相信还有其他的想法或者分类器的组合,但是这给了你一个开始。也不要低估分类器组合的威力。例如,假设你提出了3个不同的模型,它们都是不同的且不相关的,并且说每一个模型在4次(75%)中可以正确地检测到3次英语。如果你使用所有3个模型,并且投票权重相等,那么如果3/3或2/3投英语,那么你的错误将从4(85%)提高到3.4倍的正确率(=0.75^3+3*0.75^2*0.25)
相关问题 更多 >
编程相关推荐