如何利用D语言的机器学习来检测英语单词

2024-10-03 09:18:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有包含英语短信的数据。在

但我不想检测英文字母。(例如基于代码的规则,但我不想硬编码规则)。

请注意,正在使用的计算机没有活动的internet连接(因此我无法检查联机词典)。在

示例数据

  1. “你好,你好”
  2. “fjrio kjfdelf ejfe”<;--code(在西班牙语中是“你好”的意思)
  3. “我很好谢谢”
  4. “10倍男人”
  5. “jfrojf feoif”<;--code(假设它在日语中的意思是“你好世界”)

我是机器学习的新手,所以据我所知,也许有一种方法可以 正在使用nlp?在


Tags: 数据代码lt示例编码规则计算机code
1条回答
网友
1楼 · 发布于 2024-10-03 09:18:58

字符频率扫描就是一种方法。在

例如,对于每种语言,获取字符频率列表, 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)

相关问题 更多 >