我是自然语言处理的新手,我需要从文本中提取出名词短语.我远在我使用open nlp的分块解析器来解析我的文本以获取Tree结构.但是我无法从树结构,在开放nlp中是否有任何正则表达式模式,以便我可以使用它来提取名词短语.

以下是我正在使用的代码

InputStream is = new FileInputStream("en-parser-chunking.bin");
    ParserModel model = new ParserModel(is);
    Parser parser = ParserFactory.create(model);
    Parse topParses[] = ParserTool.parseLine(line,parser,1);
        for (Parse p : topParses){
                 p.show();}

在这里我得到的输出

(SP(VPP(VBP))(S(NP(PRP We)))(S(S(S(SJ(欢迎)(PP(TO to)(NP(NNP Big) (NP(DTG))(NP(DT))(PP(IN)(NP(NNP Natural))(NNP语言)(NNP Processing) (PP(IN in)(PP(IN))(S(VP(VBG提取))(NP(DT))(NN名词)(NNS短语)) WP结构.)))))))))))

有些人可以帮我取得名词短语,如NP,NNP,NN等.有些人可以告诉我,我需要使用任何其他的NP Chunker来获得名词短语吗?有没有任何正则表达式呢?

请帮忙我

提前致谢

Gouse.

解决方法

Parse对象是一棵树;您可以使用getParent()和getChildren()和getType()来导航树.
List<Parse> nounPhrases;

public void getNounPhrases(Parse p) {
    if (p.getType().equals("NP")) {
         nounPhrases.add(p);
    }
    for (Parse child : p.getChildren()) {
         getNounPhrases(child);
    }
}

java – 如何使用Open nlp的分块解析器提取名词短语的更多相关文章

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. js中‘!.’是什么意思

  3. InnoDB 和 MyISAM 引擎恢复数据库,使用 .frm、.ibd文件恢复数据库

  4. Error: Cannot find module ‘node:util‘问题解决

    控制台 安装 Vue-Cli 最后一步出现 Error: Cannot find module 'node:util' 问题解决方案1.问题C:\Windows\System32>cnpm install -g @vue/cli@4.0.3internal/modules/cjs/loader.js:638 throw err; &nbs

  5. yarn的安装和使用(全网最详细)

    一、yarn的简介:Yarn是facebook发布的一款取代npm的包管理工具。二、yarn的特点:速度超快。Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。超级安全。在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。超级可靠。使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。三、y

  6. 前端环境 本机可切换node多版本 问题源头是node使用的高版本

    前言投降投降 重头再来 重装环境 也就分分钟的事 偏要折腾 这下好了1天了 还没折腾出来问题的源头是node 使用的高版本 方案那就用 本机可切换多版本最终问题是因为nodejs的版本太高,导致的node-sass不兼容问题,我的node是v16.14.0的版本,项目中用了"node-sass": "^4.7.2"版本,无法匹配当前的node版本根据文章的提

  7. 宝塔Linux的FTP连接不上的解决方法

    宝塔Linux的FTP连接不上的解决方法常见的几个可能,建议先排查。1.注意内网IP和外网IP2.检查ftp服务是否启动 (面板首页即可看到)3.检查防火墙20端口 ftp 21端口及被动端口39000 - 40000是否放行 (如是腾讯云/阿里云等还需检查安全组)4.是否主动/被动模式都不能连接5.新建一个用户看是否能连接6.修改ftp配置文件 将ForcePassiveIP前面的#去掉 将19

  8. 扩展element-ui el-upload组件,实现复制粘贴上传图片文件,带图片预览功能

  9. 微信小程序canvas实现水平、垂直居中效果

    这篇文章主要介绍了小程序中canvas实现水平、垂直居中效果,本文图文实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

  10. 使用HTML5做的导航条详细步骤

    这篇文章主要介绍了用HTML5做的导航条详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

随机推荐

  1. 正则表达式 – 如何用OpenNLP和stringi检测句子边界?

    我想打破下一个字符串的句子:我想演示两种不同的方法.一个来自packageopenNLP:第二个来自packagestringi:在第二种方式之后,我需要准备句子以删除多余的空格,或者再次将一个新的字符串分割成句子.我可以调整字符串功能来提高结果的质量吗?当它是一个大数据时,openNLP(非常)慢,然后是字符串.有没有办法组合stringi和openNLP?

  2. coursera NLP学习笔记之week1课程介绍&amp;基础的文本处理

    |[0-9]{3}[\-\u00A0.])[0-9]{3}[\-\u00A0.][0-9]{4}+1-650-723-0293723-0293650-723-02933、单词正则化和词干化1、normalization需要正则化的项目有:信息提取indexedtext&querytermsmusthavesameform我们隐含的定义等价类的术语Weimplicitlydefineequivalenceclassesofterms一个替代方案:非对称扩张Alternative:asymmetricexpa

  3. ubuntu14.04中开始Python NLP之旅(一)

    由于此系统是去年安装的,环境是ubuntu14.04。打算将工作环境彻底换到ubuntu环境中,遂开始折腾安装环境,新手,有不对的还麻烦帮忙指出以便于改正。测试,python3.5.2安装完毕。遇到的问题实在太多了,后来才发现ubuntu中已有的python2.7,是不能删除的,于是乎又使得/usr/bin下面的python符号链接文件,重新指向/usr/bin/python2.7。

  4. 如何将jnlp与OSX停靠图标捆绑在一起;这在java首选项中似乎不再可能

    将JNLP打包为应用程序的选项似乎不存在于Oracle的JDK7Java首选项页面中,就像它在苹果中所做的那样,如here所述OSXdesktopintegrationwithJavaWebStartletsuserscreatealocalapplicationbundlefromanyJavaWebStartapplication.TheShortcutCreationsettinginJav

  5. java – JNLP,Webstart和Maven

    我创建了一个简单的HelloWorldSwing应用程序,它可以在Eclipse中编译和运行.我现在正在尝试将此应用程序转移到Maven包结构并将其作为JavaWeb-Start应用程序运行,这让我感到非常痛苦.运行“mvncleaninstall”后,javaws似乎加载了几秒钟然后退出.以下是一些可供参考的内容.我(非常简单)的项目应该是完全可重现的:包结构(来自树):主要pom.xml:Sw

  6. java – 如何使用Open nlp的分块解析器提取名词短语

    我是自然语言处理的新手,我需要从文本中提取出名词短语.我远在我使用opennlp的分块解析器来解析我的文本以获取Tree结构.但是我无法从树结构,在开放nlp中是否有任何正则表达式模式,以便我可以使用它来提取名词短语.以下是我正在使用的代码在这里我得到的输出))有些人可以帮我取得名词短语,如NP,NNP,NN等.有些人可以告诉我,我需要使用任何其他的NPChunker来获得名词短语吗?

  7. 使用JWS JNLP为JavaFX应用程序创建桌面图标

    我正在尝试为我的应用程序显示一个自定义destop图标,但由于某些原因,无论我做什么,都会显示相同的默认java图标.我已经尝试了所有我能想到的东西,并将我的jnlp文件与其图标似乎正常工作的其他人进行了比较.根据我读过的所有内容,以下内容应该可以正常工作.但当然,它没有:任何想法将不胜感激.解决方法我会按顺序尝试以下方法:>创建一个32×32大小的图标,并将其添加为附加

  8. Java jnlp应用程序被安全设置阻止

    我有一个企业级的Java应用程序,它有大量的jars,通过jnlp文件下载到客户端的jvm缓存中.当我启动应用程序时,我在Java控制台上得到以下堆栈跟踪:我的JNLP文件像以下一些审查描述:还要注意,我在更多的信息面板上获得了一些不同的例外细节:我对java控制面板的安全性没有任何安全限制.中等水平如下:感谢任何帮助新编辑:当我尝试从jvm1.6机器运行这个jnlp时,我得到了更多的说明stac

  9. JNLP应使用特定的Java版本,但会出现错误结果

    我在这里面临一个问题.我想使用特殊版本来运行我们的javawebstart应用程序,但只需要一个jnlp.(“经过测试,…blabla我们不能使用新版本…blabla”随机风袋)所以我试着像这样配置我们的JNLP:当我开始这个jnlp时,即使安装了正确的Java,我也会得到以下错误:Error:TheapplicationhasrequestedaversionoftheJRE(version1.

返回
顶部