Tag: nlp

Java中是否有用于文本分析/挖掘的API?

我想知道是否有一个API在Java中进行文本分析。 可以提取文本中的所有单词,单独的单词,表达式等的东西。如果找到的单词是数字,日期,年份,名称,货币等,则可以通知。 我现在开始进行文本分析,所以我只需要一个API来启动。 我做了一个网络爬虫,现在我需要一些东西来分析下载的数据。 需要方法来计算页面中的单词数,类似的单词,数据类型和与文本相关的其他资源。 Java中是否有用于文本分析的API? 编辑:文本挖掘,我想挖掘文本。 提供此function的Java API。

Java开源文本挖掘框架

我想知道什么是最好的基于Java的开源文本挖掘框架,使用botg机器学习和字典方法。 我正在使用Mallet,但没有那么多文档,我不知道它是否符合我的所有要求。

opennlp中的Span类不起作用

我是java opennlp的新手,我正在尝试实现一个程序,从文件中提取城市名称,但我首先在字符串上测试我的代码,我得到一些错误,代码是 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import main.java.opennlp.tools.namefind.NameFinderME; import main.java.opennlp.tools.namefind.TokenNameFinderModel; import main.java.opennlp.tools.util.InvalidFormatException; import main.java.opennlp.tools.util.Span; import opennlp.tools.tokenize.Tokenizer; import opennlp.tools.tokenize.TokenizerME; import opennlp.tools.tokenize.TokenizerModel; import opennlp.tools.tokenize.SimpleTokenizer; import opennlp.tools.sentdetect.SentenceDetectorME; import opennlp.tools.sentdetect.SentenceModel; import org.xml.sax.SAXException; public class CityFinder { public String Tokens[]; public static void main(String[] args) throws IOException, SAXException { CityFinder toi = new CityFinder(); String cnt; […]

使用在SPARQL查询中使用查询字符串外部声明的变量 – 使用JSP和Java Servlet

我有2个jsp页面。 在索引页面中,我选择一个下拉值并将所选值作为url参数传递给SearchResults页面。 http://localhost:8080/SearchResults.jsp?jobCat=InformationTechnology 我正在使用下面的代码捕获传递的参数InformationTechnology 。 查询应显示表单中所选值的结果。 (我正在选择一个工作类别,结果应显示所选工作类别下的候选人) String jobCategory = request.getParameter(“jobCat”); 以下是我的查询 String queryString = “Select ?a ?b”+ ” Where { ….”+ ” Filter (?a = “+ jobCategory +”)”+// jobCategory is the String variable ” }”; 但我得到ParseException错误。 com.hp.hpl.jena.query.QueryParseException: Encountered ” “in” “In “” at line 1, column 559. Was expecting one of: … … … […]

使用Stanford CoreNLP的共指解决方案

我是Stanford CoreNLP工具包的新手,并尝试将其用于解决新闻文本中的核心问题的项目。 为了使用Stanford CoreNLP共同参考系统,我们通常会创建一个管道,它需要标记化,句子分割,词性标注,词形化,命名实体重新定义和解析。 例如: Properties props = new Properties(); props.setProperty(“annotators”, “tokenize, ssplit, pos, lemma, ner, parse, dcoref”); StanfordCoreNLP pipeline = new StanfordCoreNLP(props); // read some text in the text variable String text = “As competition heats up in Spain’s crowded bank market, Banco Exterior de Espana is seeking to shed its image of a […]

如果我想使用一个依赖于UIMA的库,我是否需要重写整个java项目?

我想在java项目中使用https://code.google.com/p/heideltime/ 。 该代码“适合UIMA管道”,这是我根本无法理解的。 UIMA看起来像是为了解决我没有的大量问题而设计的,所以我只想获得运行该代码所需的最小量的UIMA。 有一个简单的例子,我可以运行一个简单的UIMA程序吗? 我已经添加 org.uimafit uimafit 1.4.0 org.apache.uima uimaj-core 2.4.0 org.apache.uima uimaj-tools 2.4.0 到我的pom.xml但由于某种原因,maven仍然不会编译这个: import org.apache.uima.jcas.JCas; import org.apache.uima.util.Level; import org.uimafit.component.JCasAnnotator_ImplBase; import org.uimafit.descriptor.ConfigurationParameter; import org.uimafit.descriptor.TypeCapability; import org.uimafit.examples.tutorial.type.RoomNumber; public class RoomNumberAnnotatorPipeline { public static void main(String[] args) throws Exception { String text = “The meeting was moved from Yorktown 01-144 to Hawthorne 1S-W33.”; TypeSystemDescription tsd […]

使用jython调用nltk库时出现问题

我试图调用集成在我的python代码中的nltk库。 根据要求,我需要通过我的java代码调用它们,因此,我使用Jython进行集成。 如果我的pyhton代码不包含任何nltk库,在这种情况下它可以正常工作。 但是当它包含nltk库时,它会给我导入错误。 我已经为解释器添加了nltk相关的系统路径 PySystemState sys = Py.getSystemState(); sys.path.append(new PyString(“c:\\Python27\\Lib”)); sys.path.append(new PyString(“c:\\Python27\\Lib\\site-packages”)); sys.path.append(new PyString(“C:\\Python27\\DLLs”)); sys.path.append(new PyString(“C:\\Python27\\Lib\\lib-tk”)); sys.path.append(new PyString(“C:\\Python27”)); sys.path.append(new PyString(“C:\\Python27\\libs”)); 我在执行我的java代码时遇到了以下错误 console: Failed to install ”: java.nio.charset.UnsupportedCharsetException: cp0. Exception in thread “MainThread” Traceback (most recent call last): File “tokenextractor.py”, line 7, in import nltk File “c:\Python27\Lib\site-packages\nltk\__init__.py”, line 137, in from nltk.stem import * File […]

如何使用Stanford Parser解析英语以外的语言?在java中,而不是命令行

我一直试图在我的Java程序中使用Stanford Parser来解析一些中文句子。 由于我在Java和Stanford Parser都很新,我使用’ParseDemo.java’来练习。 该代码适用于英语句子并输出正确的结果。 但是,当我将模型更改为’chinesePCFG.ser.gz’并尝试解析一些分段的中文句子时,出现了问题。 这是我在Java中的代码 class ParserDemo { public static void main(String[] args) { LexicalizedParser lp = LexicalizedParser.loadModel(“edu/stanford/nlp/models/lexparser/chinesePCFG.ser.gz”); if (args.length > 0) { demoDP(lp, args[0]); } else { demoAPI(lp); } } public static void demoDP(LexicalizedParser lp, String filename) { // This option shows loading and sentence-segment and tokenizing // a file using DocumentPreprocessor […]

在Java中将单词转换为其名词/形容词/动词forms

是否可以使用Java替代NLTK来“详细说明”这个问题? 在动词/名词/形容词forms之间转换单词 例如,我想将天生转换为出生,因为当使用Wordnet相似性时,该算法并未表明出生和出生非常相似。 因此,我想将出生时转为出生,反之亦然。 为了有更多相似的词。 你有什么建议? 我发现了一些工具,但我不确定他们是否可以这样做: – NTLK(我猜只有python) – OpenNlp – Stanford-Nlp – Simple NLG 谢谢

Jape文件在一个句子中找到模式

如果我在jape规则中写的单词出现在同一个句子中,我需要注释一个句子的一部分。 例如,句子是“孩子无法抗拒他的日常生活中的任何变化”。 我在“trouble.lst”文件中添加了像抵抗这样的词,并在“alteration.lst”文件中进行了更改。 现在在这句话中,我需要注释“抵抗任何变化”的部分为“A3b”。 我尝试使用下面的代码,但它没有考虑同一句话中的单词。 我的jape规则也是从不同的句子中取词。 假设抵抗出现在一个句子中并且在其他一些后面的句子中发生变化,因此这段代码也注释了这一点。 任何人都可以帮我找出解决方案吗? Phase:secondpass Input: Lookup Options: control = brill Rule: A3b ({Lookup.majorType == “trouble”} {Lookup.majorType == “alteration”} ):label –> :label.A3b = {rule= “A3b”}