Tag: nlp

从信号中提取三次

我有这种格式的解析文本,我通过使用Standford nlp得到它。 (ROOT (S (NP (DT A) (NN passenger) (NN plane)) (VP (VBZ has) (VP (VBD crashed) (ADVP (RB shortly)) (PP (IN after) (NP (NP (NN take-off)) (PP (IN from) (NP (NNP Kyrgyzstan) (“ `) (NNP scapital) (, ,) (NNP Bishkek))))) (, ,) (VP (VBG killing) (NP (NP (DT a) (JJ large) (NN number)) (PP […]

零编辑距离的基于字典的命名实体识别:LingPipe,Lucene还是什么?

我正在尝试在某些文档上执行基于字典的NER。 无论数据类型如何,我的字典都包含字符串的键值对。 我想搜索文档中的所有键,并在匹配发生时返回该键的相应值。 问题是,我的字典相当大:约700万个键值 – 键的平均长度:8和平均值的长度:20个字符。 我已经尝试使用MapDictionary进行LingPipe,但是在我想要的环境设置中,插入200,000行后内存耗尽。 我不清楚为什么LingPipe在他们的算法中使用地图而不是散列图。 所以问题是,我之前没有任何Lucene的经验,我想知道它是否能以更简单的方式使这样的数字成为可能。 PS。 我已经尝试将数据分块成几个字典并将它们写在磁盘上,但速度相对较慢。 谢谢你的帮助。 干杯帕萨

Java简单句子解析器

有没有简单的方法在普通Java中创建句子解析器而不添加任何lib和jar。 解析器不应该只关注单词之间的空白,而应该更加聪明和解析:。 ! ?,识别句子何时结束等 解析后,只有真正的单词可以全部存储在db或file中,而不是任何特殊的字符。 非常感谢你提前:)

使用stanford core nlp java代码获得情绪分析结果

当我们在斯坦福演示页面上测试它时: http : //nlp.stanford.edu : 8080/sentiment/rntnDemo.html 它给树提供每个节点的情感分数如下: 我试图使用命令在我的本地系统上测试它: H:\Drive E\Stanford\stanfor-corenlp-full-2013~>java -cp “*” edu.stanford.nlp.sen timent.Evaluate edu/stanford/nlp/models/sentiment/sentiment.ser.gz test.txt text.txt有 This movie doesn’t care about cleverness, wit or any other kind of intelligent humor. Those who find ugly meanings in beautiful things are corrupt without being charming. 结果如下: 任何人都可以告诉我为什么它是空的? 或许我在执行中犯了什么错误? 我的目的是分析文本并用分数得到情绪结果。

如何从文本中检索各种日期和时间值

我想从一组字符串中检索日期和其他时间实体。 这可以在不解析JAVA中的日期字符串的情况下完成,因为大多数解析器处理有限范围的输入模式。 但输入是一个手动输入,在这里,因此含糊不清。 输入可以是: 9月12日| 3月中旬| 12. 2013年9月 9月12日| 9月12日| 2013 9月13日| 9月12日,2013年2月12日 我在Java中找到了许多关于查找日期的答案,但是大多数答案并没有处理如此巨大的输入模式。 我已经尝试使用SimpleDateFormat类并使用一些parse()函数来检查解析函数是否中断,这意味着它不是一个日期。 我试过使用regex但我不确定它是否适合这种情况。 我还使用ClearNLP来注释日期,但它没有给出可靠的注释集。 获得这些价值观的最接近方法可能是使用如下所述Chain of responsibility 。 是否有一个库具有一组日期模式。 我可以用那个吗?

将自然语言转换为数学方程式

我有一个使用Java的家庭自动化系统,我想添加简单的数学function,如加法,减法,乘法,除法,根和幂。 在系统当前状态下,它可以将短语转换为标记,如以下示例所示: 例: Phrase: “what is one hundred twenty two to the power of seven” Tagged: {QUESTION/math} {NUMBER/122} {MATH/pwr} {NUMBER/7} 例: Phrase: “twenty seven plus pi 3 squared” Tagged: {NUMBER/27} {MATH/add} {NUMBER/3.14159} {MATH/multiply} {MATH/pwr} {NUMBER/2} 这个例子可以很容易地转换成这样的东西: 27 + 3.14159 * 3^2 每个标记都是可以查询其值的对象。 编辑:具体问题: 所以现在我需要一种方法来将该组标签作为方程式读取,并返回数值结果。 作为最后的手段,我可​​以使用谷歌或wolfram alpha,但这将是更慢,我试图保持自动化系统完全自包含。 如果你想看到整个源代码, 这里是github。 请注意,我没有提交最后几个更改,因此我给出的一些与数学相关的事情将不起作用。

将自然语言描述解析为结构化数据的策略

我有一套要求,我正在寻找最好的基于Java的策略/ algorthm /软件。 基本上,我想采用自然英语中真人输入的一组配方成分,并将元数据解析为结构化格式(请参阅下面的要求以了解我正在尝试做什么)。 我在这里和其他地方环顾四周,但没有找到任何可以提供关于方向的高级建议。 所以,我会把它交给聪明的人:-): 解决这个问题的最佳/最简单的方法是什么? 我应该使用自然语言解析器,dsl,lucene / solr或其他一些工具/技术吗? NLP似乎可能有效,但它看起来非常复杂。 我宁愿不花费大量时间深入探究,只是为了发现它不能做我正在寻找的东西,或者有一个更简单的解决方案。 要求 鉴于这些食谱成分说明…. “8杯混合蔬菜(约5盎司)” “八只去皮的鸡大腿(大约1¼磅)” “6.5汤匙特级初榨橄榄油” “大约6盎司薄切片熏鲑鱼,切成条状” “2只整只鸡(每只3.5磅)” “每个冷冻切碎的菠菜20盎司,解冻” “.5杯帕玛森芝士,磨碎” “大约.5杯山核桃,烤好的地面” “.5杯Dixie晚餐面包屑混合,平原” “8个蒜瓣,切碎(4茶匙)” “8个葱,切成2块” 我想把它变成这个…. | —– | ——— | ————- | ——————- —— | ——– | ———– | ———————- ———- | ————- | | | 措施| | | 重量| 重量| | | | […]

有没有办法获取OpenNLP的“原始”文本数据?

我知道之前曾问过这个问题 – 但答案并不令人满意(从某种意义上说,答案只是一个链接)。 所以我的问题是,有没有办法扩展现有的openNLP模型? 我已经了解了DBPedia / Wikipedia的技术。 但是如果我只是想附加一些文字来改进模型呢?真的没有办法吗? (如果是这样 – 这真的很愚蠢……)

我如何在名称,数字,金钱,日期等内容中对文字进行分类?

我在一周前做了一些关于文本挖掘的问题,但我有点困惑,但现在我知道我想做什么。 情况:我有很多带有HTML内容的下载页面。 例如,其中一些可以是来自博客的文本。 它们不是结构化的,来自不同的网站。 我想做什么:我将用空白分割所有单词,我想在一些预先定义的内容中对每个单词或一组单词进行分类,如姓名,号码,电话,电子邮件,url,日期,金钱,温度等。 我所知道的:我知道有关自然语言处理,命名实体重新接收器,POSTagging,NayveBayesian,HMM,培训和许多要做分类的事情的概念/听说过,但是有一些不同的NLP库有不同的分类器和这样做的方法,我不知道有什么用途或做什么。 我需要什么:我需要一些来自分类器,NLP的代码示例,无论如何,它可以对文本中的每个单词进行分类,而不是整个文本。 像这样的东西: //This is pseudo-code for what I want, and not a implementation classifier.trainFromFile(“file-with-train-words.txt”); words = text.split(” “); for(String word: words){ classifiedWord = classifier.classify(word); System.out.println(classifiedWord.getType()); } 有人可以帮帮我吗? 我对各种API,分类器和算法感到困惑。

如何使用OpenNLP创建自定义模型?

我正在尝试使用OpenNLP Java API从文档中提取 名称,技能等实体 。 但它没有提取适当的名称 。 我正在使用opennlp sourceforge链接上提供的模型 这是一段java代码 – public class tikaOpenIntro { public static void main(String[] args) throws IOException, SAXException, TikaException { tikaOpenIntro toi = new tikaOpenIntro(); toi.filest(“”); String cnt = toi.contentEx(); toi.sentenceD(cnt); toi.tokenization(cnt); String names = toi.namefind(toi.Tokens); toi.files(names); } public String Tokens[]; public String contentEx() throws IOException, SAXException, TikaException { InputStream […]