首页 > 解决方案 > 如何区分 Apple 平台上的代码和“人类文本”?

问题描述

简而言之,我的问题:对于给定的字符串,我想确定它是一段代码,还是人类语言的自由格式文本。这应该适用于设备本地的 Apple 设备(macOS 和 iOS)。

所以:

我想到了使用 CoreML。有一个很好的例子来说明如何识别一种编程语言。它遗漏了我使用的一个关键部分:如果检测与任何编程语言都不匹配,则没有“其他”类别。CoreML 也不提供预测的置信度分数。(如果所有语言的置信度得分都很低,我可以假设文本不是代码。)

使用 CoreML 解决此问题的一种方法是在编程语言示例旁边也使用人类语言训练我的模型,但我真的不想这样做,我想保持模型大小相当小。

有一些基于 Keras 的相关工作可用,我可以看到它能够输出每种语言的置信度分数。不过,我不是 Keras 或 ML 方面的专家,也不知道如何将其带到 Apple 世界。

我可以使用什么解决方案来区分 Apple 平台上的“代码”和“文本”?(识别特定的编程语言将是一个奖励,但并非绝对需要。)不一定必须基于机器学习,尽管这似乎是最有希望的途径。

标签: kerascoremlcreateml

解决方案


推荐阅读