编程语言的停用词(for、while、print、...)

数据挖掘 nlp
2021-09-26 23:37:17

我正在尝试对打字时的用户行为(按键生物识别)进行一些分析。理想情况下,它将包括人们在编写代码时提取的特征。虽然从技术上讲不是自然语言,但代码也具有一些结构化的语言特征,我想利用它。我想知道是否有一些关于执行语言分析的研究侧重于编程语言而不是传统的口语。

主要是,我有兴趣为尽可能多的语言提供一个全面的停用词列表。例如,停用词将包括:for、while、return、break、string、if、else等。尽管将它们按语言分开会很好,但我不介意包含多种语言的列表。

我知道这可以通过例如获取一些示例代码并检索最常用的术语来完成,但我也想知道是否有针对这个方向的一些研究。

欢迎任何想法、论文、方法。

谢谢!

3个回答

停用词是一种语言中的常用词,当其外观不能指示分析目标时,它们通常会被删除

假设我们的目标是给我发短信并找出给定的短信是关于体育还是政治。如果我们使用一袋词,“not”可能是我们应该删除的停用词,因为它可能不代表任何一个类别。

另一方面,如果我们要区分“本文不讨论政治”和“本文将讨论政治”,我们不能删除“不”。

您提供的示例看起来像编程语言的保留字在大多数语言中,您都可以找到此文档并跳过学习阶段。查看频繁出现的标记可能还会为您提供保留字(以及可能会出现在备注中的大量英语停用词)。

但是,在使用这样的列表之前,请确保忽略它们将有助于您的目标。如果键入它们与键入其他单词没有什么不同,您最好留下它们。这样,您将拥有更多数据,更好地代表用户行为。

是 dal 提到的保留字的概述。

关于您所谈论的编程语言,正确的定义是保留字。保留字是不能用作标识符的字,例如变量、函数或标签的名称,因此是“保留使用”。这是一个句法定义,它与程序源代码的编译过程有关。

停止字与保留字不同。停用词是在处理自然语言数据之前或之后过滤掉的词。停用词通常是一种语言中最常见的词,并且没有针对每种不同语言的通用停用词列表。停用词与自然语言(文本)有关,与任何编程语言中的源代码无关。