土耳其语词干分析器
TurkishStemmer的Python项目详细描述
用于python的土耳其语词干分析器
注:大部分文档取自ElasticSearch分析TurkishStemmer项目。
土耳其语的词干分析器算法。
土耳其语词法概论
< Buff行情>土耳其语是一种凝集性语言,有着非常丰富的词法。 结构。在土耳其语中,通过 附加一系列后缀。例如,单词"doktoruymu_sunuz" 意思是"你曾经是他的医生"。这个词的词干是"doktor"和 它需要三个不同的后缀-su、-ymu_和-sunuz。
来自"雪球说明":
< Buff行情>单词通常由一个词干和至少两个或三个词缀组成 附加到它。
< Buff行情>我们可以把土耳其语中的名词后缀分为两组来分析。名词后缀(如 "doktor um"的意思是"我的医生")和名词动词后缀(如"doktor dur" 意思是"是医生")。以名词性动词后缀结尾的单词可以是 用作句子中的动词。有三十多个不同的后缀 分为这两大类后缀。
< Buff行情>在土耳其语中,后缀根据 订购规则。
来自"土耳其语词缀剥离形态分析仪"的论文:
< Buff行情>土耳其语在自然语言中有特殊的地位,不仅仅是 完全连接的语言,但也有后缀作为唯一的词缀 类型。这种语言的另一个特点是,懂土耳其语的人可以 即使他/她不知道词干,也可以轻松地分析一个词。
< Buff行情>土耳其语的语音规则是影响 这个功能。 例如:(任意单词)ler im=>;(任意单词)-ler im "ler"复数后缀,"im"单数人称所有格。
规则
土耳其语中唯一的词缀类型是后缀。
复数后缀不能跟在所有格后缀后面。
土耳其语中的后缀可以有多个同构以提供声音 所附单词中的和声。
在土耳其语中,每个元音表示一个不同的音节。
在土耳其语中,单音节词大多是词干本身
如果一个单词有名词性的动词后缀,它们总是出现在 这个词。它们跟随名词后缀或词干本身 名词后缀的数量
在土耳其语中,"-lar"后缀可以同时用作名词动词后缀(第三个 人称复数现在时)和作为名词后缀(复数屈折变化)。
在土耳其语中,单词不以辅音"b"、"c"、"d"和"湫"结尾。 然而,当一个以元音开头的后缀被附加到一个以元音结尾的单词上时 使用"p"、"_"、"t"或"k",最后一个辅音转换为"b"、"c", 分别是"d"或"_"。尾声程序转换最后的辅音 "b"、"c"、"d"或"_"分别回到"p"、"_"、"t"或"k"之后 填塞完成。
< > >正面元音和声规则:土耳其语元音分为两类 根据它们的产地。前面产生的元音形成于 嘴的前部('e','i','oe','u')和后面产生的元音是 在靠近喉咙的地方生产("A"、"_"、"O"、"U")。根据元音 和声规则,单词不能同时包含前后元音。这是一个 为什么包含元音的后缀可以采用不同的形式 遵守元音和声。
圆度的元音和声规则:土耳其语元音分为两类 根据嘴唇是否是圆的。"O"、"O"、"U"和 "ü"是四舍五入的元音,而"a"、"e"、"_"和"i"是没有四舍五入的元音。 根据元音和声规则,如果一个音节的元音是 以下元音也没有发音。如果a的元音 音节是圆形的,以下元音是"a"、"e"、"u"或"ü"。
< > >- 添加更多动词后缀。
- 添加更多派生后缀。
- 分叉(
http://github.com/<;我的github用户名>;/turkishstemmer python/fork
) - 创建您的功能分支(
git checkout-b我的新功能
) - 提交更改(
git commit-am'add some feature'
) - 推到分支(
git push origin my new feature
) - 创建新的拉取请求
后缀类
<表><广告>后缀同构
后缀同构是用来创造一个良好的声音和谐。它们不会改变 这个词的意思。如果一个后缀有一个大写字母,那么它有一个 异类。如果后缀的括号中有一个字母,则可以省略。 可能的同构如下:
<表><广告>名词动词后缀
<表><广告>名词动词的后缀转换顺序见参考文献[5]
名词后缀
<表><广告>名词的后缀转换顺序见参考文献[5]
派生后缀
<表><广告>最初,我们只处理上面后缀的一小部分 在我们的领域更常见。
元音和声
这个例程检查单词的最后两个元音是否服从元音 和谐法则。以下是对土耳其语元音和声的简要描述。
土耳其语元音和声是一个二维元音和声系统,其中元音 具有两个特征,即正面和圆形。有 每个特征的元音和声规则。
最后一个辅音
在土耳其语中检测后缀的另一个有趣的例子是 后缀,如果单词以元音结尾,则在 剩下的单词和后缀。这些合并辅音可以是"y"、"n"或 "S"。当一个合并辅音可以插入到后缀之前时, 回复后缀的词尾以可选的辅音开头,辅音被 偏执狂(如(y)um,-(n)ca)。对于这类后缀,如果存在 考虑合并辅音,检查候选词干是否 以元音结尾。
如果后缀前没有"y"辅音,则只有 后缀(如-um)标记为词干。如果有一个y辅音 在元音之前,"y"被视为一个合并辅音,"y"和 候选后缀(例如,-um)被标记为词干。如果有辅音 就在"y"之前,决定是辅音"y"和候选者 后缀实际上是词干的一部分。在这种情况下,游标不前进 防止堵塞过度。最后一种情况可能发生,特别是当茎 源于另一种语言,如"lityum"(意思是元素 锂)。如果没有检查元音和谐度,这个词将是 词干为"lit",因为"-(y)um"将被视为附加在其上的后缀。但是 根据土耳其语的词形规则,最后一个词是litim, 不是"lit y um",如果"lit"是单词的词干和后缀"-(y)um" 都贴在上面了。所以把"lit"作为词干的检测就结束了 -堵塞。
合并元音
与合并辅音类似,有些后缀也有合并元音 从辅音开始。在它们之前可以合并像in'-(u)这样的元音。 附加在以辅音结尾的词干上的muz'后缀。在这样的 大小写,插入一个u元音(‘305’、‘i’、‘u’或‘ü’取决于元音和声) 在词干和真正的后缀之间(例如"-muz"),以便发音。
一些示例
<表><广告>未来工作
参考文献
< H2>安装将模块文件夹复制到pythonxx/lib/site包或应用程序目录中。
用法
>>>fromTurkishStemmerimportTurkishStemmer>>>stemmer=TurkishStemmer()>>>stemmer.stem("okuldakilerden")okul
贡献
许可证
TurkishStemmer Python是在2.0版Apache软件许可下获得许可的。