2024-06-16 12:57:49 发布
网友
我正在做一个项目,我试图计算多个语料库中屈折形态的百分比,以便比较它们。你知道吗
我知道如何使用nltk-Porter词干分析器来获取单词的词根,但是如果我能返回词缀而不是词根,那将对我更有帮助。如果我能做到这一点,我就可以计算词干分析器截取的词缀数量(“ly”“ed”等),并将其与单词总数进行比较。这可能是一个简单的翻转,但我不知道如何与根。你知道吗
你确定你说的是屈折形态学吗?屈折变化是指词性不变,而单词的变化只是为了表达某些语法特征(如过去)。屈折词缀总是后缀,如果我们不考虑不规则词,它们的数量是有限的(-ed,-ing,-er,-est,-s,-es)。你知道吗
-ed
-ing
-er
-est
-s
-es
然而,你似乎在谈论派生形态学,因为可能只有一个屈折后缀,所以我没有意义去计算它们(如果是引理的话是0,如果是屈折形式的话是1)。你知道吗
0
1
如果你说的是派生词缀,那么你要找的就是语素切分/标记化,这不是一件容易的事情,因为单词派生过程受很多因素的影响,而且没有很好的定义。在简单的情况下,我们只需在根中附加一个后缀(或前缀),但是在有些情况下,根中的一些字母会被删除(arrive->;arrival)、更改(try->;tried或更不寻常的情况,如assume->;assumption)甚至附加(drama->;dramatist)。此外,还需要一些语义知识库,因为没有这些知识库,不可能在所有情况下都正确地确定语素。例如,单词remember可以标记为re-+member。在没有语义的情况下,这种形态分析看起来非常合理,因为re-是一个非常流行的前缀,意思是重复,而member是一个已有的词。了解语义关系会告诉我们member和remember没有关联(我相信它们可能在词源上有关联,但在现代语言中,这种关系并不那么明显)。你知道吗
arrive
arrival
try
tried
assume
assumption
drama
dramatist
remember
re-
member
签出Lingua Robot和Morfessor。第一个是API,它解析英语Wiktionary,并以JSON格式提供数据。词缀是这个JSON的一部分。Morfessor是一个用于形态学分割的工具,所以它完全可以满足您的需要。你知道吗
好吧,如果你想得到词缀,只要从原来的单词形式中去掉词根(porter result)就行了。你知道吗
考虑以下伪代码:
word = "hopeful" stem_word = porter(word) # stem_word should be "hope" affix = word.remove(stem_word) # affix should be "ful"
另一个可能对你有帮助的方法是使用“连字号”,因为它可以潜在地将单词分成语素,而不仅仅是将单词按词根分开。因此,它可以给你更多的信息。你知道吗
你确定你说的是屈折形态学吗?屈折变化是指词性不变,而单词的变化只是为了表达某些语法特征(如过去)。屈折词缀总是后缀,如果我们不考虑不规则词,它们的数量是有限的(
-ed
,-ing
,-er
,-est
,-s
,-es
)。你知道吗然而,你似乎在谈论派生形态学,因为可能只有一个屈折后缀,所以我没有意义去计算它们(如果是引理的话是
0
,如果是屈折形式的话是1
)。你知道吗如果你说的是派生词缀,那么你要找的就是语素切分/标记化,这不是一件容易的事情,因为单词派生过程受很多因素的影响,而且没有很好的定义。在简单的情况下,我们只需在根中附加一个后缀(或前缀),但是在有些情况下,根中的一些字母会被删除(
arrive
->;arrival
)、更改(try
->;tried
或更不寻常的情况,如assume
->;assumption
)甚至附加(drama
->;dramatist
)。此外,还需要一些语义知识库,因为没有这些知识库,不可能在所有情况下都正确地确定语素。例如,单词remember
可以标记为re-
+member
。在没有语义的情况下,这种形态分析看起来非常合理,因为re-
是一个非常流行的前缀,意思是重复,而member
是一个已有的词。了解语义关系会告诉我们member
和remember
没有关联(我相信它们可能在词源上有关联,但在现代语言中,这种关系并不那么明显)。你知道吗签出Lingua Robot和Morfessor。第一个是API,它解析英语Wiktionary,并以JSON格式提供数据。词缀是这个JSON的一部分。Morfessor是一个用于形态学分割的工具,所以它完全可以满足您的需要。你知道吗
好吧,如果你想得到词缀,只要从原来的单词形式中去掉词根(porter result)就行了。你知道吗
考虑以下伪代码:
另一个可能对你有帮助的方法是使用“连字号”,因为它可以潜在地将单词分成语素,而不仅仅是将单词按词根分开。因此,它可以给你更多的信息。你知道吗
相关问题 更多 >
编程相关推荐