首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >机器学习人工智能和计算语言学

机器学习人工智能和计算语言学
EN

Stack Overflow用户
提问于 2011-04-23 17:46:32
回答 5查看 2.8K关注 0票数 0

我很乐意与那些在机器学习、计算语言学或人工智能方面有经验的人交谈,但我想举下面的例子:

·你会申请哪种现有的软件来进行可管理的尝试,比如通过统计语言、机器学习来构建谷歌翻译?(别误会我的意思--我不想这样做,我只想为这个领域最复杂的事情绘制一个概念框架,如果你有机会带领一个团队实现这样的目标,你会怎么想?)

存在哪些数据库?当结果为兆字节数据时,哪种数据库技术要存储这些结果?

·除了C++之外,还有哪些编程语言?

·阿帕奇·马亨特?

·这些软件组件将如何协同工作,为整个工作提供动力?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-04-25 01:39:16

用于自动翻译的最佳技术是基于统计方法的。在计算机科学中,这被称为“机器翻译”或MT。这样做的目的是把信号(要翻译的文本)看作一个有噪声的信号,并使用纠错来“修复”信号。例如,假设您正在将英语翻译成法语。假设英语声明最初是法语,但后来以英语出现。你得把它修好才能恢复它。可以为目标语言(法语)和错误建立统计语言模型。错误可能包括掉落的单词、移动的单词、拼写错误的单词和添加的单词。

更多信息可在以下网站找到:http://www.statmt.org/

关于db,MT解决方案不需要典型的db。一切都应该在记忆中完成。

用于这个特定任务的最好的语言是最快的语言。对于这个问题,C是理想的选择,因为它速度快,易于控制内存访问。但是任何高级语言都可以使用,如Perl、C#、Java、Python等。

票数 1
EN

Stack Overflow用户

发布于 2011-04-23 18:33:03

你会申请哪个现有的软件来尝试建立像google翻译这样的静态语言,机器学习。

如果您的唯一目标是构建翻译软件,那么我只需要使用Google语言API:它是免费的,那么为什么要重新发明轮子呢?如果你的目标是建立一个类似谷歌的翻译器,以便熟悉机器学习,那么你就走错了路。尝试一个更简单的问题。

哪个数据库?

更新:

取决于你的语料库的大小:如果它是巨大的,那么我会用hadoop (既然你提到mahout).否则将使用标准数据库( Server、MySQL等)。

原件:

我不知道你能用什么数据库,但是如果其他的都失败了,你可以用谷歌翻译来建立你自己的数据库.然而,后者将引入对谷歌翻译器的偏见,而谷歌所做的任何错误都会导致你的软件(至少)有同样的错误。

除了C++之外,还有哪些编程语言?

不管你对什么最满意..。当然,C++是一种选择,但是您在使用Java或C#时可能会比较容易。在Java和C#中进行开发要快得多,因为这些语言从一开始就内置了许多功能。

阿帕奇马亨特?

如果你有大量的数据..。你可以的。

更新:

一般来说,如果您的语料库非常大,那么我肯定会使用一个健壮的组合,比如mahout/hadoop。它们都正是为此目的而建的,除非你背后有一个庞大的团队,否则你将很难“复制”他们所有的工作。

而且,这些软件组件将如何协同工作,作为一个整体来推动这项工作?

看来你实际上是想让自己熟悉机器学习.我会尝试一些简单得多的方法:构建一个语言检测器,而不是翻译。我最近构建了一个,我发现你能做的最有用的事情是构建字符n-gram(bigram和trigram的组合效果最好)。然后,您将使用n-图作为标准机器学习算法(如C45、GP、GA、贝叶斯模型等)的输入。并进行10倍交叉验证,以尽量减少过度拟合.

更新:

"...what软件组件用于使示例运行吗?“

我的例子非常简单:我有一个Server数据库,其中的文档已经被标记为一种语言,我在内存中加载所有数据(几百个文档),并给出每个文档的算法(C45)。该算法利用自定义函数提取文档特征(双字母和三字母),运行其标准学习过程,并生成模型。然后根据测试数据集对模型进行测试,以验证该模型的准确性。

在您的例子中,对于兆字节的数据,您似乎应该在hadoop中使用mahout。此外,您将要使用的组件在mahout/hadoop体系结构中都有很好的定义,因此从那时起它应该是非常清晰的。

票数 3
EN

Stack Overflow用户

发布于 2011-04-25 11:06:26

关于语言选择,至少在原型开发方面,我建议使用Python。它在自然语言处理方面取得了很大的成功,因为它拥有大量具有科学计算、文本分析和机器学习的工具库。最后但并非最不重要的一点是,如果您希望从现有的工具中获益,那么调用编译代码(C,C++)是非常容易的。

具体来说,请看以下模块:

  • 自然语言工具包NLTK
  • scikits.learn,Python中的机器学习

使用这些工具进行文本挖掘的Olivier的介绍性可以派上用场。

免责声明:我是scikits.learn的核心开发人员之一。

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

https://stackoverflow.com/questions/5765836

复制
相关文章

相似问题

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