Nlp 源代码与自然语言检测

Nlp 源代码与自然语言检测,nlp,Nlp,是否有任何现有的工具来检测一段文本是源代码还是自然语言?它不需要识别编程语言或自然语言。然而,对于任何编程和自然语言来说,它都是理想的灵活性 例如,这段文本将被标识为源代码: def fib(n): a、 b=0,1 而a

是否有任何现有的工具来检测一段文本是源代码还是自然语言?它不需要识别编程语言或自然语言。然而,对于任何编程和自然语言来说,它都是理想的灵活性

例如,这段文本将被标识为源代码:

def fib(n):
a、 b=0,1
而a
这段文字将被识别为自然语言:

Hello! This is natural language.

我希望这可能与标准语言识别一样有效(如果不是更好的话)。如果您有一些培训材料(带标签的数据),您可以使用字符n-grams作为功能来培训二进制分类器。@Malbordio:不,您链接的问题是关于检测某些源代码(代码段)中使用的编程语言。这个问题是关于区分源代码和自然语言的。我认为检测SC与NL的最简单方法是按照@lenz的建议——计算字符数,可能是双字符和三字符,并比较这些字符的分布。代码将有很多符号,如camelCase n-gram等。行的(平均)长度、空行数以及缩进的存在将是有用的功能,我猜这里是“特别的”。@lenz Yep,如果没有可用的工具,我打算这样做。谢谢大家的输入!我希望这可能与标准语言识别一样有效(如果不是更好的话)。如果您有一些培训材料(带标签的数据),您可以使用字符n-grams作为功能来培训二进制分类器。@Malbordio:不,您链接的问题是关于检测某些源代码(代码段)中使用的编程语言。这个问题是关于区分源代码和自然语言的。我认为检测SC与NL的最简单方法是按照@lenz的建议——计算字符数,可能是双字符和三字符,并比较这些字符的分布。代码将有很多符号,如camelCase n-gram等。行的(平均)长度、空行数以及缩进的存在将是有用的功能,我猜这里是“特别的”。@lenz Yep,如果没有可用的工具,我打算这样做。谢谢大家的输入!