检测法语单词中送气的“h”

haspirater的Python项目详细描述


haspirater——一个检测法语单词中初始送气“h”的工具包 Antoine Amarilli版权所有(c)2011-2019 存储库URL:https://gitlab.com/a3nm/haspirater

=0。许可证(麻省理工学院许可证)=

特此免费向任何获得 本软件和相关文档文件的副本 “软件”),无限制地处理软件,包括 但不限于使用、复制、修改、合并、发布, 分发、再授权和/或出售软件副本,以及 允许向其提供软件的人员这样做,但须遵守 以下条件:

上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。

软件按“原样”提供,不作任何形式的保证 或默示的,包括但不限于 适销性、适合特定目的和不侵权。 在任何情况下,作者或版权持有人均不对任何 索赔、损害赔偿或其他责任,无论是在合同诉讼中, 侵权行为或其他,由 软件或软件中的使用或其他交易。

==1。功能==

haspirater是一种工具,用于检测法语单词是否以送气词开头 “H”与否。它不是基于单词列表,而是基于经过训练的trie 从一个语料库,确保它应该做一个合理的工作 与已知词相似的看不见的词,不带大的 例外列表。使用的json trie小于10 kio,并且查找 脚本是40行python。

=2个。用法==

如果您只想使用包含的培训数据,可以运行 haspirater.py,在stdin中每行给出一个单词,然后获取 stdout上的注释,或者可以将其导入到python文件中并调用 haspirater.lookup(word),如果前导'h'是 送气,如果不是,则为False;如果没有,则引发Valueerror 领导“H”。

请报告培训数据中的任何错误,记住 有一种可能性是返回的,即使两者都得到证实。

==3。培训==

haspirater.py使用的训练数据在运行时从 haspirater.json文件,该文件是从 “古登堡计划”www.gutenberg.org,摘自维基百科的列表 文章http://fr.wikipedia.org/wiki/H_aspir%C3%A9,来自 法语词典中的分类 http://fr.wiktionary.org/wiki/Catégorie:Mots_à_h_muethttp://fr.wiktionary.org/wiki/Catégorie:Mots_à_h_aspiré来自一个自定义 一组异常。如果您要创建自己的数据,或调整 在这里学习其他语言特征,继续读下去。

主脚本是make.sh,它接受stdin上的法语文本和 作为参数的异常文件列表。包含的异常文件包括 添加和维基百科。这些异常就像训练数据 并没有按原样储存,只是在以后的训练中用管道输送 阶段。sh在stdout上生成json trie。所以,你会跑 例如:

$cat corpus/make.sh exceptions>;haspirater/haspirater.json

=4个。培训详情==

==4.1。语料库准备(prepare.sh)==

这个脚本删除无用的字符,并分隔单词(每个 行)。

==4.2。属性推断(detect.pl)==

这个脚本检查输出,注意出现的单词 前一个字表示吸气或非吸气状态,以及 输出它们。

此阶段的输出格式与 例外文件。

==4.3。删除前导'h'==

这是一个快速优化。

==4.4。trie构造(buildtrie.py)==

这些事件一个接一个地读取,并用于填充 为具有给定前缀的每个匹配项携带值计数的trie。

==4.5。trie压缩(compresstrie.py)==

然后通过移除分支压缩trie不需要 推断一个值。此步骤之后,可以使用 如果我们想减少 以牺牲准确性为代价的trie大小:对于吸气式h,这不是 需要。

==4.6。Trie多数重新标记(MajorityTrie.py)==

节点将重新标记为 携带最常见的价值。可以跳过此步骤以保持 信心值。我们也把无用的叶子节点丢在那里。

==5。其他材料==

可以使用trie2dot.py转换buildtrie.py的输出,或者 点格式的compresstrie.py,可用于渲染图形 trie的值(“trie2dot.pyh01”)。给出了这种绘图的结果 如haspirater.pdf(在majoritytrie.py之前:包含频率信息,但是 更多节点)和haspirater_most.pdf(无频率,更少节点)。

你可以使用leaves trie.py来获取trie的叶子。

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

推荐PyPI第三方库


热门话题
Maven中的java,为什么要运行“mvn clean”?   java会降低图像质量。OutOfMemory异常Android   在Java8中将函数传递到流的过滤方法   jboss6。x java。lang.NoClassDefFoundError,当我将<listenerclass>包含到web时。xml java   java读取图像像素时,像素Alpha始终为255   java在迭代后跳过一行   java如何创建我自己的单链表   意图上的java空指针异常。getStringExtra.:安卓   具有连接实体的java Hibernate onetoone映射   java需要帮助在自制的仓鼠模拟器上实现启动/恢复/暂停/停止线程操作   如何测试非主方法?[Java,IntelliJ]   java jdbc自动提交(false)不起作用   java在JADE中的同一容器中创建多个代理   java OkHttp获取失败的响应正文   java Webdriver flash按钮