2012-06-21 101 views
4

我想制作一个日历应用程序,该应用程序接受纯英文输入比存在的更好。我发现斯坦福大学的NLP看起来很酷,但我想知道这对于这种任务是否有帮助。我无法找到任何人使用它的例子。应用程序是否应该真正理解语言?看起来像现存的自然英语日历正在寻找关键字/模式,并试图解析这种方式,但我认为一个应用程序可以做得比这更好。良好示例:英语解析/自然语言处理

我真正的问题:有人能告诉我如何找到使用NLP或不同(公开可用的)英文解析器来制作真正有用的应用程序的人的例子吗?

回答

1

在NodeJS周围的NLP上有几年的重大新兴技术。在这里查看更多的情况的概述:http://www.quora.com/Are-there-any-JavaScript-natural-language-processing-projects

但是,这里是+1问题的例子,因为我也在寻找同样的问题......几年后。

JavaScript中的NLP ...的工作示例?

这里是我的回答...

步骤1 - 样板节点服务器:

install npm 

npm install nodebootstrap 

nodebootstrap naturalNode 

cd naturalNode && npm install 

node app 

//这应该给你在本地主机上运行的节点自举程序:3000

对于全简易节点服务器设置信息请点击此处:https://github.com/stonebk/nodeboilerplate

第2步 - 包括自然库:

前往GitHub自然图书馆查看可以做什么...

https://github.com/NaturalNode/natural

执行命令

npm install natural 

步骤3(名为naturalNode您的引导服务器内) - 运行为例:

包括从上面的链接到示例代码app.js引导文件。

var natural = require('natural'), 
    tokenizer = new natural.WordTokenizer(); 
console.log(tokenizer.tokenize("your dog has fleas.")); 
// [ 'your', 'dog', 'has', 'fleas' ] 

现在,当您运行服务器时,您可以完全访问自然库,并且可以使用前端界面对其进行扩展。

让我知道是否有任何指令丢失...

0

既然你没有指定任何编程语言,我会建议一个名为Natty的Java库。如果他知道任何问题,可以使用他的lib向作者询问真实应用程序。

3

结帐NLTK

NLTK是一个领先的平台,用于构建与 人类语言数据配合使用的Python程序。它提供易于使用的界面,可连接超过50个语料库和词汇资源,如WordNet,以及一套 文本处理库,用于分类,标记化,词干化,标记,分析和语义推理。

parsing with NLTK

>>> import nltk 
>>> rd_parser = nltk.RecursiveDescentParser(grammar) 
>>> sent = 'Mary saw a dog'.split() 
>>> for t in rd_parser.nbest_parse(sent): 
...  print t 
(S (NP Mary) (VP (V saw) (NP (Det a) (N dog)))) 

NLTK提供有一个伟大的免费的书,这是可以在线:http://nltk.googlecode.com/svn/trunk/doc/book/book.html

从IBM很好的概述:http://www.ibm.com/developerworks/linux/library/l-cpnltk/index.html

PS:另外SO问题与您的问题类似:Using integers/dates as terminals in NLTK parser