我想知道哪种编程语言更适合自然语言处理.Java还是Python?我找到了很多关于它的问题和答案.但我仍然迷失在选择使用哪一个.
我想知道哪个NLP库用于Java,因为有很多库(LingPipe,GATE,OpenNLP,StandfordNLP).对于Python,大多数程序员推荐使用NLTK.
但是,如果我要从非结构化数据(只是自由形成的简单英文文本)中进行一些文本处理或信息提取以获得一些有用的信息,那么最佳选择是什么?Java还是Python?合适的图书馆
更新
我想要做的是从非结构化数据中提取有用的产品信息(例如,用户制作不同形式的广告,关于手机或笔记本电脑的标准不是很标准)
我试图找出是否有一种可以检测句子"关键概念"的已知算法.
用例如下:
我们缺乏的领域是确定句子的核心"主题"究竟是什么.句子"鸡肉味道像火鸡"有一个主题"鸡",因为用户询问鸡的味道.虽然"火鸡"是一个不那么重要的帮手话题.
所以...我试图找出是否有一个算法可以帮助我识别一个句子的主要话题...如果你知道任何问题,请告诉我!
我正在为java寻找一个简单但"足够好"的命名实体识别库(和字典),我希望处理电子邮件和文档并提取一些"基本信息",如:名称,地点,地址和日期
我一直在环顾四周,而且大多数人似乎都处于沉重的一面和完整的NLP项目中.
有什么建议?
我正在探索如何使用维基百科的分类信息从我的内容中提取标签/关键字.
我找到了关于DBPedia的文章.DBpedia是一项社区工作,旨在从维基百科中提取结构化信息,并在Web上提供此信息.
有没有人使用他们的网络服务?你知道它们的工作原理和可靠性吗?
好的,我有以下代码来训练OpenNLP的NER标识符
FileReader fileReader = new FileReader("train.txt");
ObjectStream fileStream = new PlainTextByLineStream(fileReader);
ObjectStream sampleStream = new NameSampleDataStream(fileStream);
TokenNameFinderModel model = NameFinderME.train("pt-br", "train", sampleStream, Collections.<String, Object>emptyMap());
nfm = new NameFinderME(model);
Run Code Online (Sandbox Code Playgroud)
我不知道如果缺少某些东西我是否做错了,但分类不起作用.我假设train.txt错了.
发生的错误是所有令牌都只分类为一种类型.
我的train.txt数据类似于以下示例,但具有更多的条目变化和数量.另一件事是我每次都是从文本中逐字逐句地分类,而不是所有的标记.
<START:distance> 8000m <END>
<START:temperature> 100ºC <END>
<START:weight> 50kg <END>
<START:name> Renato <END>
Run Code Online (Sandbox Code Playgroud)
有人可以证明我做错了吗?
我想使用命名实体识别(NER)来为数据库中的文本找到足够的标签.我没有使用像NLTK或Lingpipe这样的工具,而是想构建自己的工具.
所以我的问题是:
我应该使用哪种算法?
构建这个工具有多难?
我正在寻找一个进行文本分析和提取实体的库.
实体的类型/分类并不重要,它是对值得关键的东西的识别.在这种情况下,实体Universe是无限的,它不受固定字典的限制.
似乎有几个Web服务可以做到这一点(NERD让你比较这些Web服务的结果:http://nerd.eurecom.fr/documentation非常有用),但我正在寻找一个本地库而不是远程托管服务.我更喜欢Java或.NET,但如果它是一个好的库,我将学习它所写的任何语言.
类似主题上的旧线程很少,我希望在这个领域找到新的开发,和/或在低级NLP库之上构建的库:
有谁知道一个好的图书馆做得体的工作?
nlp named-entity-recognition named-entity-extraction semantics