阿拉伯语词法分析器与词汇

pyaramorph的Python项目详细描述


#pyaramorph

*阿拉伯语词法分析器和词典*

它是[Buckwalter阿拉伯语词形
分析器版本
1.0]的松散端口(http://www.ldc.upenn.edu/catalog/catalogEntry.jsp?catalogid=ldc002l49),
尽管它没有实现该程序的所有功能。


该软件应该提供单个单词或短语的快速连续分析。buckwalter最初的perl脚本只支持cp1256编码中的
输入,我真的不想为utf-8重新安装它。(同样,考虑到我使用Perl
和我对Python的偏好有多长时间,做Python
重写似乎是值得的。)同一脚本的Java端口,
[ARAMOPHP](http://www-nunn.org/ARAMorp/),接受UTF-8,但是它
只处理指定的输入文件,以及它的词典加载非常慢。它对于分析全文非常有用,但对于
交互式分析却不是那么有用。

这就是我编写这个端口的原因。这个脚本本身非常简单——tim
buckwalter通过把
字典和表文件放在一起完成了所有的艰苦工作——所以这个程序提供的所有功能都应该归功于他!我只是根据自己的需要重新编写了
程序。[巨蟒](http://www.python.org/)。目前您需要python 3。
2.支持utf-8和bidi的终端仿真器。我使用
[mlterm](http://mlterm.sourceforge.net/)和
[unifont](http://www.unifoundry.com/index.html)或
[dejavu sans mono](http://dejavu fonts.org/wiki/main-page)一起使用。说明](http://lists.arabeyes.org/archives/general/2004/二月/msg0004.html)。
3.能够输入UTF-8阿拉伯语文本。Linux/Unix用户可以尝试My
[m17n的经典输入法](https://bitbucket.org/alexlee/m17n classic)、
中包含的
阿拉伯语布局,该布局适用于
[IBUS](https://github.com/ibus/ibus/wiki)。

` pip`,或者从"python setup.py
install`.

在提示下,使用Unicode输入一个阿拉伯单词或短语。
将忽略未用阿拉伯脚本编写的单词。


下面的会话输出应该会让您了解它的工作原理:

加载dictprefixes…加载了299个条目
正在加载dictstems…加载了38600个引理和82158个条目
加载dictsuffix…加载了618个条目
unicode阿拉伯语形态学分析器(按ctrl-d键退出)

$

$__㬵㬵㬵㬵1]
词性:katab/动词完美+a/动词主语:3ms
光泽度:写+他/它<;动词>;

解决方案:(______)[katab-u_1]
位置:kutib/动词完美+a/pvsuff_subj:3ms
光泽度:被写;被注定;被注定+他/它<;动词>;


解决方案:(_㶎㶎㶎㶎㶎㶎㶎㶎㶌㶋ktaba解决方案:(_㶎㶎㶎㶎㶎㶎㶎㶎㶎_kutub)[kitabab_1]
pos:kutub/non
光泽:\\br/>词组:kitab/名词+af/nsuff_masc_sg_acc_indef




>解决方案:(______kitab a)[kitab_1]
poss:kitabb/名词+a/nsuff_masc_u\\nomu\\nomU poss
>光泽:憴图书+book+2



>解决方案:(_;kut~abaf)[kut~ab_1]
位置:kut~ab/名词+af/nsuff_masc_sg_acc_indef
光泽度:_uu+kuttab(乡村学校);古兰经学校+[根据索引]

解决方案:(_u1615;u1617;u1575;u1615;ukut~ab af)[katib_u1]
位置:kut~ab/noun+af/nsuff_u masc_u acc_u indef
光泽度:uu+作者;



>分析:fy
解决方案:(__fiy)[fiy_1]
pos:fiy/prep
光泽:in+cucucucucucucucuu

>解决方案:(__fiy~a)[fiy_1]
pos:fiy/prep+~a/pron s>分析:fiy/prep
>pos pos:fiy/prep+~a/prep+~a/pron s
光泽:+


解决方案:(_____fiy)[fiy_]
pos:viy/abbrev
光泽:\\\\2412;+v.+\\

分析:㶋______otab_1]
位置:al/det+makotab/名词
光泽:+局;局;局;部门+

$


\todo


diacritics暂时被忽略。最好使用
用户提供的音调符号来过滤生成的解决方案。如果您输入类似"dar~ast"(____)的内容,它不会返回任何来自"daras"(__)根的
结果。

在最初的Perl脚本中,如果给定的单词没有生成任何解决方案,Buckwalter会应用许多拼写
替换。这个
功能应该很容易添加,但我没有绕过它。

site_id=nrsi&item_id=arabicfonts))
和Windows支持。


谢谢!< BR>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?