是否有描述 Mecab 算法的文档?
或者有人可以给出一个简单的一段或一页的描述吗?
我发现很难理解现有代码以及数据库包含的内容。
我需要在我的免费网站和电话应用程序中使用此功能来教授语言 (www.jtlanguage.com)。我还想将它推广到其他语言,并利用我已经实现的共轭检测机制,而且我也需要它而无需许可。因此,我想创建自己的实现(C#)。
我已经有一个从 EDICT 派生的字典数据库。还需要什么?使用频率数据库?
谢谢你。
是否有描述 Mecab 算法的文档?
或者有人可以给出一个简单的一段或一页的描述吗?
我发现很难理解现有代码以及数据库包含的内容。
我需要在我的免费网站和电话应用程序中使用此功能来教授语言 (www.jtlanguage.com)。我还想将它推广到其他语言,并利用我已经实现的共轭检测机制,而且我也需要它而无需许可。因此,我想创建自己的实现(C#)。
我已经有一个从 EDICT 派生的字典数据库。还需要什么?使用频率数据库?
谢谢你。
有些想法太长,无法在评论中显示。
§ 有哪些许可产权负担?MeCab 是包括 BSD 在内的双重许可,因此您可以获得尽可能多的自由。
§ 还有一个名为Kuromoji的 Mecab 的 Java 重写,它是 Apache 许可的,对商业也非常友好。
§ MeCab 实现了一种称为条件随机字段的机器学习技术,用于词法解析(将自由文本分成词素)和词性标记(标记那些词素)日语文本。它能够使用各种字典作为训练数据,您已经看到了——IPADIC、UniDic 等。这些字典是词素和词性的汇编,是人类多年语言研究的成果。链接的论文由 MeCab 的作者提供。
§ 其他人已将其他强大的机器学习算法应用于日语解析问题。
§ 鉴于上述情况,我认为您可以看到像 EDICT 和 JMDICT 这样的简单字典不足以进行这些形态解析器所做的高级分析。而且这些算法对于其他更容易解析的语言(即带空格的语言)来说可能是一种过度杀伤力。
如果您需要这些库的强大功能,您最好编写一个运行其中一个系统的微服务(我为 Kuromoji 编写了一个名为clj-kuromoji-jmdictfurigana的 REST 前端),而不是尝试在 C# 中重新实现它们。
尽管请注意似乎存在与 MeCab 的 C# 绑定:请参阅此答案。
在几个小项目中,我只是使用 MeCab,然后读取并解析它的输出。我的TypeScript 示例使用 UniDic for Node.js。
§ 但也许你不需要完整的形态解析和词性标注?您是否曾经使用过Rikaichamp,这是一个使用 JMDICT 和其他低权重公开可用资源来对网站文本进行修饰的 Firefox 插件?(也存在 Chrome 版本。)它使用了一个更简单的去偏转器,坦率地说,与 MeCab 等人相比,它很糟糕。但通常可以完成工作。
§ 你对字典的结构有疑问(你称它们为“数据库”)。Kimtaro(Jisho.org 的作者)的这篇关于如何向 IPADIC 添加自定义词汇表的说明至少可以阐明 IPADIC 的工作原理:https ://gist.github.com/Kimtaro/ab137870ad4a385b2d79 。其他更现代的词典(我倾向于使用 UniDic)使用不同的格式,这就是为什么 MeCab 的输出会根据您使用的词典而有所不同。