我目前正在研究一个涉及NLP的项目。我已经实现了一个CKY标识符,如Jurafsky和Martin(算法在页面上450)中给出的。这样生成的表实际上将非终结符存储在表中(而不是通常的布尔值)。但是,我得到的唯一问题是检索分析树。从CYK算法(自然语言处理)生成解析树的步骤

这里是我的CKY标识做什么的说明:

这是我的语法

S -> NP VP

S -> VP

NP -> MODAL PRON | DET NP | NOUN VF | NOUN | DET NOUN | DET FILENAME

MODAL -> 'MD'

PRON -> 'PPSS' | 'PPO'

VP -> VERB NP

VP -> VERB VP

VP -> ADVERB VP

VP -> VF

VERB -> 'VB' | 'VBN'

NOUN -> 'NN' | 'NP'

VF -> VERB FILENAME

FILENAME -> 'NN' | 'NP'

ADVERB -> 'RB'

DET -> 'AT'

这是算法:

for j from i to LENGTH(words) do

table[j-1,j] = A where A -> POS(word[j])

for i from j-2 downto 0

for k from i+1 to j-1

table[i,j] = Union(table[i,j], A such that A->BC)

where B is in table[i,k] and C is in table[k,j]

而这就是我的分析表看起来像被填充后:

现在我知道了,由于S驻留在[0,5]中,字符串已被解析,并且对于k = 1(根据Martin和Jurafsky中给出的算法),我们有S - > table [ 0] [2]表[2] [5] 即S - > NP VP

我得到的唯一问题是,我已经能够检索使用的规则,但他们是在混乱的格式,即不是基于它们在解析树中的外观。有人可以建议一种算法来检索正确的分析树吗?

谢谢。

用c语言实现cyk算法,从CYK算法(自然语言处理)生成解析树的步骤相关推荐

  1. 【数据聚类】第六章第二节:层次聚类算法之BIRCH算法(算法概述、流程和sklearn实现)

    注意:文章中部分内容来自刘建平博客,多谢多谢:刘建平:BIRCH聚类算法原理 文章目录 一:BIRCH算法概述 (1)聚类特征CF (2)聚类特征树 CF Tree (3)聚类特征树的生成 A:生成规 ...

  2. R语言使用caret包构建gbdt模型(随机梯度提升树、Stochastic Gradient Boosting )构建回归模型、通过method参数指定算法名称

    R语言使用caret包构建gbdt模型(随机梯度提升树.Stochastic Gradient Boosting )构建回归模型.通过method参数指定算法名称 目录

  3. R语言plotly可视化:使用PCA算法进行数据降维、使用plotly可视化随着主成分的增加解释的方差的量(plotting explained variance)

    R语言plotly可视化:使用PCA算法进行数据降维.使用plotly可视化随着主成分的增加解释的方差的量(plotting explained variance) 目录

  4. R语言plotly可视化:使用PCA算法进行数据降维、使用plotly可视化PCA所有的主成分绘制散点图矩阵、降维后的两个(三个)核心主成分的二维、三维可视化图形、方差解释的量、载荷图等

    R语言plotly可视化:使用PCA算法进行数据降维.使用plotly可视化PCA所有的主成分绘制散点图矩阵.降维后的两个(三个)核心主成分的二维.三维可视化图形.方差解释的量.载荷图等 目录

  5. R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型

    R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型 目录 R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型

  6. c语言有参有类最小公倍数,C语言求最大公约数和最小公倍数算法

    C 语言求最大公约数和最小公倍数算法 C 语言求最大公约数和最小公倍数可以说是C 语言编程学习中一个重点和难点,它常常作为计算机专业学生参加各种考试必须要把握的内容.其算法方面除常用的辗转相除法外.还 ...

  7. 数据结构源码笔记(C语言):二叉排序树的基本操作算法

    //二叉排序树的基本运算算法#include<stdio.h> #include<malloc.h>#define MaxSize 100typedef int KeyType ...

  8. Algorithm:C++语言实现之SimHash和倒排索引算法相关(抽屉原理、倒排索、建立查找树、处理Hash冲突、Hash查找)

    Algorithm:C++语言实现之SimHash和倒排索引算法相关(抽屉原理.倒排索.建立查找树.处理Hash冲突.Hash查找) 目录 一.SimHash算法 1.SimHash算法五个步骤 2. ...

  9. 最短路径之迪杰斯特拉(Dijkstra 算法)弗洛伊德算法(C语言完整代码实现)

    写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站.博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事 ...

最新文章

  1. 国外17个非常热门的在线备份服务
  2. Java - 正则表达式的运用(Pattern模式和Matcher匹配)
  3. log4j添加日志一定记住在工程的web.xml文件下加一些内容
  4. 聚焦可信AI与产业应用,百度联合发起千言计划实现情感分析2.0升级
  5. C++直接初始化与复制初始化的区别深入解析
  6. java rsa内容超长_RSA 非对称加密解密,超长字符串分块处理
  7. 1562区别 洛达1552_洛达1562A与洛达1536u与杰里有哪些区别呢?
  8. java中计时器的用法Timer和TimerTask的用法__java中利用Timer与TImerTask 计时器间隔执行任务...
  9. Delphi 打印杨辉三角
  10. 产品经理的方向感-产品生命周期
  11. python编程入门-Python 异步编程入门
  12. map和foreach的区别和应用场景_面试官:说说UDP和TCP的区别及应用场景
  13. 电压比较器的原理与应用
  14. 工业机器人编程用c语言吗,工业机器人编程语言,工业机器人的编程方式
  15. 基于C#和三菱PLC通过MX Component进行通信的具体方法
  16. html 鼠标划过 ie导致白屏,win7系统IE浏览器网页出现白屏的解决方法
  17. 收藏 | 堪称神器的42款Chrome插件
  18. 【持续更新】uni-app学习笔记
  19. 匆匆那年—2014年终总结
  20. 【CSS系列】background-clip 定义用法

热门文章

  1. BUCT数据结构——图
  2. mysql保留小数点后一位 进位处理_请问EXCEL保留小数点后一位时是如何修约的?
  3. 【生成密钥免密登陆服务器】
  4. 华为企业BG总裁阎力大:数字化转型激活指数级增长
  5. RelativeLayout(相对布局)
  6. Docker常用操作帅哥专供版
  7. 好玩的免费GM游戏整理汇总
  8. 自己动手实现远程执行功能
  9. 《系统集成项目管理》第七章 项目范围管理
  10. ITSS-信息技术服务运行维护标准符合性认证