ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

GraphPoet翻译

2021-07-07 19:31:38  阅读:240  来源: 互联网

标签:翻译 GraphPoet 语料库 单词 w2 w1 corpus


Class GraphPoet

java.lang.Object
  poet.GraphPoet


public class GraphPoet
extends Object

一个基于图的诗歌派生器。

GraphPoet由文本语料库初始化,它用这个语料库来派生一个单词亲和图word affinity graph。单词words用图中的顶点vertices表示。单词是不包括空格和换行符的不区分大小写的非空字符串,它们在语料库中由空格、换行符或EOF分隔。图中的各边表示邻接的数量:从w1到w2的边的权重定义为语料库中“w2”紧跟在“w1”后面的次数。

举个栗子,给定这个语料库:

  Hello, HELLO, hello, goodye!

生成的图应该包含两条边:

  • (“hello,”) -> (“hello,”) 权重为2
  • (“hello,”) -> (“goodbye!”) 权重为1

两个点表示为不区分大小写的 “hello,” 和 “goodbye!”

给定输入字符串,GraphPoet通过尝试在输入中的每对相邻单词之间插入一个桥接词bridge word来生成一首诗。单词由语料库中的单词定义和分隔。输入词“w1”和“w2”之间的桥接词“b”使得w1->b->w2成为一条包含两条边的路径,满足在这个诗人(GraphPoet)的单词亲和图中的所有从w1到w2的包括两条边路径中,具有最大权重。如果没有这样的路径,则不会插入桥接词。在输出的诗句中,输入词保留了原来的大小写,而桥词则是小写。诗中每个字之间的空白是一个空格,开头和结尾没有空格。

再举个栗子,给定这个语料库:

  This is a test of the Mugar Omni Theater sound system.

对于这个输入:

  Test the system.

输出的诗句将会是:

  Test of the system.

说明:这是一个有要求的ADT类,并且你不能弱化要求的规约specifications。但是,你可以强化规约,也可以添加额外方法。你必须在你的属性rep中使用Graph类,但是除此之外这个类的实现取决于你。

Constructor Summary

GraphPoet (File corpus)
使用从corpus生成的图创建一个新的诗人。

Method Summary

String poem (String input)
生成一首诗。

从java.lang.Object类继承的方法

equalsgetClasshashCodenotifyAlltoStringwaitwaitwait

Constructor Detail

GRAPHPOET

public GraphPoet(File corpus) throws IOException

使用从corpus生成的图创建一个新的诗人。

parameters

corpus - 生成诗人的单词亲和图的文本文件

Throws

IOException - 如果无法找到或无法读corpus文件

Method Detail

POEM

public String poem(String input)
派生一首诗。

Parameters

input - 派生一首诗的源字符串

Returns

poem - (如上文所说)


声明:翻译自MIT6.031的 GraphPoet(Problem Set 2: Poetic Walks)仅供个人学习
个人水平有限,如有疏漏和错误恳请批评指正

标签:翻译,GraphPoet,语料库,单词,w2,w1,corpus
来源: https://blog.csdn.net/tsien88/article/details/118555286

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有