首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有描述mecab (日语单词解析器)算法?

有没有描述mecab (日语单词解析器)算法?
EN

Stack Overflow用户
提问于 2019-05-08 17:24:04
回答 1查看 1.3K关注 0票数 3

是否有描述Mecab算法的文档?

或者有人能给出一个简单的一段或一页的描述?

我发现它太难理解现有的代码,以及数据库包含了什么。

我需要这个功能在我的免费网站和电话应用程序教学语言(www.jtlanguage.com)。我还想把它推广到其他语言,并使用我已经实现的共轭检测机制,而且我也需要它而没有许可证限制。因此,我希望创建自己的实现(C#)。

我已经有一个源自法令的字典数据库了。还需要什么?使用频率数据库?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-05-09 01:17:17

有些想法太长,不适合在评论。

§什么许可证担保?MeCab是双授权的,包括BSD,所以这是你所能得到的尽可能多的不受限制的。

§还有一种名为黑木的Java重写,是Apache许可的,也是非常商业友好的。

§MeCab实现了一种机器学习技术,称为条件随机场,用于形态解析(将自由文本分离为语素)和词性标注(标记这些语素)的日语文本。它可以使用不同的字典作为训练数据,你已经看到了-IPADIC,UniDic等等。这些字典是语素和词类的汇编,是许多人类多年来的语言研究的成果。这篇链接论文是由MeCab的作者撰写的。

§其他人已将其他强大的机器学习算法应用于日语解析问题。

  • 对于同一问题,凯蒂亚可以同时使用支持向量机和logistic回归。C++,Apache许可,报纸在那里阅读。
  • 乐天MA是在JavaScript,也是免费许可的(再次是Apache),它附带了一本普通字典和一本用于受限应用程序的轻量级词典--不过它不会给你读汉字。你可以在那里找到描述算法的学术论文。

§鉴于上述情况,我认为您可以看到,像法令和JMDICT这样的简单字典不足以进行这些形态解析器所做的高级分析。对于其他更容易解析的语言(即有空格的语言)来说,这些算法可能是过分的。

如果您需要这些库的强大功能,您最好编写一个运行其中一个系统的微服务(我为黑莫吉编写了一个名为黑木吉的REST前端),而不是尝试在C#中重新实现它们。

但是请注意,它看起来是C#绑定到MeCab:见这个答案

在几个小项目中,我只需向MeCab扩展,然后读取并解析它的输出。我的TypeScript示例使用UniDic Node.js。

§但也许你不需要完全的词法分析和词性标注?你是否曾经使用过里卡坎普,火狐插件,使用JMDICT和其他低重量的公开可用的资源来在网站文本上添加光泽?( Chrome版本也存在。)它使用了一个简单得多的减折器,坦率地说,与MeCab等人相比,这是很糟糕的。但经常能完成任务。

§你对词典的结构有疑问(你把它们叫做“数据库”)。Kimtaro (Jisho.org的作者)关于如何向IPADIC添加自定义词汇表的说明至少可以说明IPADIC是如何工作的:https://gist.github.com/Kimtaro/ab137870ad4a385b2d79。其他更现代的字典(我倾向于使用UniDic)使用不同的格式,这就是为什么MeCab的输出因您使用的字典而不同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56046070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档