Questions tagged «natural-language»

涉及以人为方式处理自然语言的问题。任务包括解释自由文本,更正拼写或语法,理解发音等。

5
建立可读性索引
所述弗莱士-金凯德可读性算法取决于字计数和音节计数,这两者都不是完全客观,或使用计算机自动化容易的措施。例如,带连字符的“代码高尔夫”算作一个单词还是两个单词?“百万”一词是两个还是三个音节?在此任务中,您将需要进行近似计算,因为精确计数需要花费大量时间,空间,最重要的是,代码。 您的任务是用任何一种会占用英语阅读段落(假定为完整句子)的语言来构建最小的程序(即函数),并计算Flesch Reading Ease指数至8点的公差(以说明音节计数和字数统计的变化)。计算公式如下: FRE = 206.835 - 1.015 * (words per sentence) - 84.6 * (syllables per word) 您的程序必须与下面的参考段落对齐,这些参考段落的索引是使用手动计数计算的: I would not, could not, in the rain. Not in the dark, not on a train. Not in a car, not in a tree. I do not like them, Sam, …

10
多语言挑战
在过去(最近)遇到了多语种挑战之后,我们经历了很多有趣的事情,那么,以两种语言输出的挑战又如何呢? 您的答案需要接受布尔输入b并输出文本"true"或"false"。当以另一种语言运行,"waar"或运行and的"onwaar"任何其他翻译时,需要输出相同的代码。truefalse 输入值 输入是明显可区分的真假。允许的实际值为T / F,位,int或(空)字符串。 提交的所有部分的输入都必须相同。 输出量 输出可以由函数返回,写入STDOUT,放置在弹出窗口中,3D打印和邮寄等。 输出需要代表的状态b。因此,“真实的”需要输出“ true”,“ waar” ...和“ falsey”应导致“ false”,“ onwaar”等。 不同的语言可能使用不同的输出方法。 使用的语言 您的输出之一必须是"true"和"false"。 针对此挑战,不同版本的编程语言被视为不同的语言。 人类语言的不同方言被视为应对这一挑战的不同语言。 您可以将多语种扩展为两种以上的编程语言。每种编程语言都需要输出不同的人类语言。 包含最多语言的答案将宣布为获胜者。绑定时,将考虑字节数。

1
自枚举的pangram
gram 敏捷的棕色狐狸跳过了那只懒狗。 这是一个连字符(pangram)的例子-一个句子,至少包含一次字母表中的每个字母。 一个自枚举全字母短句是符合标准的生产自己的信件数量的分析是一个全字母短句的句子。 实现这一目标的一个例子是 该Pangram包含四个As,一个B,两个C,一个D,三十个E,六个F,五个G,七个H,十一个Is,一个J,一个K,两个L,两个Ms,十八个Ns,十五个Os,两个Ps ,一个Q,五个R,二十七个S,十八个T,两个Us,七个V,八个W,两个X,三个Y和一个Z。 挑战 产生一个函数,输入是通向字母清单的字符串。在示例中,输入将为“此pangram包含”。每个字母的数量必须采用书面形式,并有助于显示的字母数。 规则 牛津逗号是可选的 在Z之前使用&号(或在硬模式下,包括在函数中的“&”和“ and”之间切换的功能) 每个字母都计入总字母数 没有非书面数字 这是代码高尔夫球,因此以字节为单位的最短代码获胜 在亚硝酸ü本周末r是已婚夫妇,这个数字是在女王的英语编写。例如,nine hundred and ninety-nine Gs对于出现的999个字母G和nine hundred and nine Gs909。 数量级应以标准的小规模命名约定编写 边缘情况 在某些情况下,代码会陷入循环中-例如,如果有两个O,则代码会将计数增加到三个O,这会使代码再次对两个O计数。如果在返回到该值之前计算出其他所有字母都不能解决问题,请认为输入是错误的启动器和输出false,null或者是空字符串。 如果一个字母出现999次以上,则该输入应视为错误的启动器。 测试用例 “此pangram包含”应输出例句

3
罗马化韩文
是的,基本上,您是一个浪漫主义者,宝贝,但是要难一些。象,路更难。 学习韩语很困难。至少对于亚洲以外的人来说。但是他们至少有机会学习,对吗? 你必须做什么 您将获得韩国声明。例如,안녕하세요。您必须将输入转换为其罗马发音。对于给定的示例,输出可以为annyeonghaseyo。 现在获得技术 朝鲜语字符分为三个部分:起始辅音,元音和结束辅音。字符中可能不存在结尾辅音。 例如,아是ㅇ(开始辅音)和ㅏ(Vowel),并且손是ㅅ(开始辅音),ㅗ(Vowel)和ㄴ(结束辅音)。 Evert辅音和元音有其发音。每个辅音的发音如下。 Korean ㄱ ㄲ ㄴ ㄷ ㄸ ㄹ ㅁ ㅂ ㅃ ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ Romanization Starting g kk n d tt r m b pp s ss – j jj ch k t p h Ending …

3
音位错误
性格 我们将这些Unicode字符称为英语IPA辅音: bdfhjklmnprstvwzðŋɡʃʒθ 我们将这些Unicode字符称为 英语IPA元音: aeiouæɑɔəɛɜɪʊʌː (是的,ː这只是长元音标记,但出于此挑战的目的,请将其视为元音。) 最后,这些是主要和次要压力标记: ˈˌ 注意,ɡ(U + 0261)不是小写的g,主应力标记ˈ(U + 02C8)不是撇号,并且ː(U + 02D0)不是冒号。 你的任务 给出一个单词,将元音堆叠在跟随的辅音之上,并将重音标记放置在其跟随的辅音下方。(正如问题标题所暗示的,这样的书写系统将辅音元音序列作为一个单元打包在一起,称为abugida。)给定输入ˈbætəlʃɪp,产生输出: æə ɪ btlʃp ˈ 甲字被保证是声母,韵母和应力标记的字符串,如上面所定义。永远不会有连续的重音标记,它们将始终放置在单词的开头和/或辅音之前。 测试用例 可能有连续的元音。例如,kənˌɡrætjʊˈleɪʃən变为 ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 如果一个词以元音开头,打印在“基线”与辅音:əˈpiːl变 ː i əpl ˈ 一个测试用例的初始,强调元音:ˈælbəˌtrɔs变 ə ɔ ælbtrs ˈ ˌ 一句话:ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs变成 æ ː ː ʊ uə aə …

5
洋葱还是不是洋葱?
The Onion(警告:许多文章都是NSFW)是一个讽刺性新闻机构,模仿传统新闻媒体。2014年,The Onion推出了ClickHole(警告:也经常是NSFW),这是一个讽刺性新闻网站,模仿了诸如BuzzFeed之类的“ clickbait”网站。多亏了坡定律,人们才经常阅读The Onion或ClickHole上的文章标题,并相信它们是真实的,而不知道它们是要讽刺的。相反,在听起来可笑的真实新闻故事中也会发生这种情况-人们常常以为自己是讽刺作家,而不是。 这种困惑自然很适合游戏-给定新闻头条,尝试猜测它是否讽刺。挑战在于如何使用程序来做到这一点。 给定新闻标题(仅由可打印的ASCII字符和空格组成的字符串),1如果标题是讽刺,或者0不是,则输出。您的分数将是正确输出的数量除以标题总数。 按照惯例,不允许出现标准漏洞(尤其是针对测试用例进行优化)。为了实现这一点,我将在一组200个隐藏的测试用例上运行您的程序(The Onion中有100个,Not The Onion中有100个)。您的解决方案的分数必须比公共测试用例的分数少不超过20个百分点才能生效。 测试用例 为了提出针对此挑战的测试案例,我从The Onion subreddit中选择了25个标题(在The Onion及其子站点(如ClickHole)上发布了文章),从Not The Onion subreddit中选择了 25个标题(其中包含真实新闻)听起来像是讽刺)。我对标题所做的唯一更改是将“花式”引号替换为常规ASCII引号并标准化了大写字母-其他所有内容在原始文章的标题中均保持不变。每个标题都在自己的行上。 洋葱头条 Trump Warns Removing Confederate Statues Could Be Slippery Slope To Eliminating Racism Entirely 'No Way To Prevent This,' Says Only Nation Where This Regularly Happens My Doctor Told Me …

2
应用英语标点规则
您已被聘请为听写应用程序编写一些代码,该应用程序从语音来源获取语音输入,将其解析为单词,然后将其写在屏幕上。 管理层并不真正相信您在项目中拥有如此强大的力量-不幸的是,您整天坐在那里闲逛,打高尔夫球,而不是去做工作,因此-他们只是给您执行一个非常简单的任务:将句点插入到正确格式化的句子中的句子,其中“正确格式化”的定义如下。 句子是输入字符串。单词是一组连续的非空格字符。标点符号是第一个字符为的单词^。 如果单词的第一个字母不是小写字母(大写单词与regex匹配),则单词为大写/[^a-z].*/。 句子的第一个字必须大写。 A ^COMMA是逗号字符,,在其后但没有前有一个空格。aaa ^COMMA bbb成为aaa, bbb。 A ^COLON是看起来像的逗号:。 A ^SEMICOLON是看起来像的逗号;。 A ^PERIOD是看起来像的逗号.。后面的单词^PERIOD必须大写。 A ^BANG是一个看起来像的时期!。 A ^DASH是破折号字符-,前后都有一个空格。 A ^HYPHEN也是破折号,-但前后没有空格。 An ^EMDASH是拼写的连字符(而不是破折号!)--。 An ^OPENQUOTE是一个引号字符",在其前面但后面没有空格。后面的单词^OPENQUOTE必须大写。如果在^OPENQUOTE之前加上非标点^COMMA词,请在该词和之间添加一个^OPENQUOTE。如果在^OPENQUOTE的前面加上使下一个单词大写的标点符号,则会跳过^OPENQUOTE到下一个单词。 A ^CLOSEQUOTE是有向图,",其后跟但前无空格。如果^CLOSEQUOTE前面有一个^COMMA,^PERIOD或^BANG,即标点消失,^CLOSEQUOTE拼写,",."或者!"分别。如果消失的标点指定大写,则该大写仍必须出现在下一个可用单词上。 必须删除完整最终结果中的开头或结尾空格,并且一行中两个或多个空格的任何字符串都必须全部折叠成一个空格字符。 上面未涉及的任何情况(例如^COMMA ^COMMA或^SEMICOLON ^CLOSEQUOTE或^UNDEFINEDPUNCTUATION)都不会出现在格式正确的输入中,因此是不确定的行为。 开发团队会通知您以下内容: 该项目以[您在这里的语言]语言编写,并且应尽可能短,以便在它是Android / iPhone应用程序时占用尽可能少的空间。您尝试解释这不是应用程序开发的工作原理,但他们不听。但是,嘿,真是巧合!您是[[您这里的语言]的出色高尔夫球手! 该应用程序将没有任何Web访问权限,并且不会安装任何库来为您执行此格式设置。您可以说服团队领导允许您使用正则表达式库(如果您的语言存在),但是如果您认为需要的话。 计划在应用程序的更高版本中支持正确使用双引号/单引号的嵌套引号,但现在不支持您正在使用的版本,因此不必担心。 管理层是测试驱动开发的忠实拥护者,因此开发团队已经让一些不幸的键盘猴子为您的程序部分编写了一些测试:(添加了换行符以提高可读性,将它们视为空格) 输入: hello ^COMMA world ^BANG 输出: Hello, world! 输入: once upon …

2
结合土耳其动词
输入值 动词,一个与正则表达式匹配的字符串([a-pr-vyzıöüçğş]*[aeıioöuü][bcçdfgğhj-nprsştvyz]+|([a-pr-vyzıöüçğş]*[aeıioöuü]){2})(mak|mek) 复数,真值或假值 person,值为1、2或3的整数 时态,值为1、2或3的整数 输出量 土族动词的共轭形式动词,在人ST / ND / RD人,复数如果复数是TRUE和单数,如果它不是在 如果时态为1,则表示现在;否则为1。 如果时态为2,则表示现在。 如果时态为3,则表示将来。 规则 土耳其语动词包含三个要素,依次排列: 所述干,通过去除形成mak或mek从不定式的端部; 时态的符号,即: 对于简单的礼物: -r如果词干以元音结尾; -ir根据元音和声规则(请参见下文),如果词干包含多个音节(即元音),或者来自以下不规则动词之一:almak,bilmek,bulmak,durmak,gelmek,görmek,kalmak,olmak, ölmek,sanmak,vermek,varmak,vurmak; -如果词干包含一个音节并且未在上面的不规则动词中列出,则按照元音和声规则。 对于连续的现在,-iyor,其中i根据元音和声规则变化。以元音结尾的词干在添加此后缀之前先将其删除,然后该后缀与单词中倒数第二个元音(由正则表达式保证存在)协调。 为将来: -如果词根以辅音结尾,则根据元音和声规则进行-ecek; -如果词根以元音结尾,则按照元音和声规则进行-yecek。 在所有情况下,根据元音和声规则,使用个人后缀来指示操作的执行者: |Singular|Plural| |---|--------|------| |1st| -im | -iz| |2nd| -sin |-siniz| |3rd| (none) | -ler| 将来时的最后一个k在-im和-iz之前变为ğ,因此例如会屈服。(almak, TRUE, 1, 3)alacağız 元音和声规则 土耳其语元音按其在口中的位置分为两组:后面(a ı o u)和前面(e …

2
你叔叔帮助醉汉
醉酒叔叔(对不起,我和AUS锁定区域锁定)是《周六夜现场》的虚构人物。他经常为听起来像他们的其他人混淆单词。对于此挑战,您需要将普通语音转换为醉酒语音。 算法 转换为醉汉言语需要交换文本中的单词顺序。交换基于两个单词的醉酒相似性。酒醉相似度定义为两个单词在同一索引处出现的字母数。但是,两个相同的单词的醉酒相似度为-1。例如,tree与friend具有2醉酒的相似性,因为它们都具有“R”在索引1,和一个“e”在索引3。 您所要做的就是在文本中找到醉酒相似度最高的两个单词,然后交换它们。交换两个条款后,它们将不再移动。然后,查看其余的可交换条款,并交换醉酒相似度最高的两个。您将继续执行此操作,直到无法再交换任何内容为止。然后输出(或返回一个函数)更新后的文本。 细节 为简单起见,输入是由[A-Za-z]中的字符组成的单词列表 每个输入至少包含一个字 字母匹配不区分大小写:A与匹配a(注意:由于此规则Dog且dog相同,因此DS值为-1) 如果多对醉酒相似度最高: 在可以最大程度提高醉酒相似性的单词中,选择列表中索引最低的单词 将单词与索引最低的单词配对,以最大程度地提高醉酒相似度 例子 Drunk Uncle needs your help (标题) S 1:醉<=>您的(DS:1)your Uncle needs Drunk help S 2:需要<=>帮助(DS:1)your Uncle help Drunk needs 输出: your Uncle help Drunk needs I love fidget spinners (无聊的例子) S 1:我<=>爱(DS:0)love I fidget spinners S 2:烦恼<=>微调(DS:0)love I spinners …

3
从单词列表中找到最短的字母
一个全字母短句是一个包含每个字母串a- z英文字母,不区分大小写的。(如果pangram包含一个字母的多个副本,或者除字母之外还包含非字母字符,则可以。) 编写一个程序或函数,其输入为字符串列表,并输出一个或多个具有以下属性的字符串: 每个输出字符串必须是一个字符集。 每个输出字符串必须通过串联输入列表中的一个或多个字符串来形成,并用空格分隔。 在具有这些属性的所有字符串中,每个输出字符串必须最短,或者最短。 许多程序将选择仅输出一个字符串;您只需要输出多个字符串,否则就不得不编写额外的代码来限制输出。 您可以假定输入中没有不可打印的字符或空格,并且输入的单词长度不超过(列表长度的自然对数的26倍)个字符。(但是,您可能不会假设输入内容只包含字母,或者仅包含小写字母;标点符号和大写字母完全可能。) 输入和输出可以任何合理的格式给出。为了测试您的程序,我建议使用两个测试用例:英语单词词典(大多数计算机都有一个),以及以下情况(不可能有完美的字母(26个字母)),因此您必须找到一个包含重复的字母): abcdefghi defghijkl ijklmnop lmnopqrs opqrstuvw rstuvwxyz 您应随程序一起提供程序输出的样本。(由于使用了不同的单词列表,这对于不同的人可能会有所不同。) 胜利条件 这是一个限制复杂度的 代码高尔夫挑战。优胜者是在多项式时间内运行的最短程序(以字节为单位)。(针对不知道这意味着什么的人的摘要:如果将单词列表的大小加倍,则程序的速度应不超过一个恒定因子。但是,有问题的恒定因子可能与您一样大例如,将它变慢4倍或8倍是有效的,但是变小它不是单词列表长度的一个因素;它变慢的因素必须加以限制。)

1
在一个独特的难题中扫描准六边形
作为一个可怕的拉丁学生,几年来,我学会了讨厌拉丁。然而,我有一件事是爱。 拉丁丑闻。 扫描是确定特定诗词的计量标准的行为。对于拉丁语,这意味着将行中的每个音节划分为“轻”或“重”。 在拉丁语中,丑闻有很多规则。但是,与英语不同的是,拉丁语扫描是相当常规的,并且通常不需要任何拉丁语词汇或语法知识。对于这个问题,我们将使用这些规则的简化子集(真实的拉丁文没有整齐的规范)。 在开始之前,韵律必须的Elid。Elision是在单词之间插入音节以简化发音的过程。(例如,“他是”->“他是”)。与英语不同,拉丁语省略遵循非常好的规则。 如果下一个单词以元音开头,则省略以单词元音结尾的单词的最终元音。 诺埃斯特EST->诺埃斯特 以元音后跟“ m”结尾的单词也是如此。 FIDUM AGRICOLAM-> FIDAGRICOLAM 单词首字母“ h”后跟一个元音,出于简化目的,被视为单个元音,并且在被省略时始终会被丢弃。 MULTAE HORAE-> MULTORAE 要么 MULTAM HORAM-> MULTORAM 清除后,我们可以开始扫描。扫描到特定的仪表。应对这一挑战的计量器是dactylic hexameter。乳状六边形有六个“脚”,每只脚由两个或三个音节组成。音节的长短取决于元音。前五个脚的每一个要么是一个长音节的dactyl,然后是两个短的音节,要么是一个spondee,两个长音节。最后一脚是长脚,后跟脚尖(短脚或长脚,对于此问题,您不必确定是哪一个)。 拉丁语中的元音可以短也可以长 夹在两个元音之间的“ i”是一个辅音。(即“ j”) 单词后面跟元音(例如Iactus)开头的“ i”也是辅音 “ q”之后的“ u”也是辅音(即“ v”) Diphthongs(ae,au,ei,eu,oe和ui)由两个元音组成,但是算作一个元音,并且总是很长 与下一个元音之间有两个或多个辅音的元音总是很长 对于先前的规则,在“ b”,“ c”,“ d”,“ g”,“ p”或“ t”之后的“ l”或“ r”不算作辅音 “ x”算作两个辅音 “ ch”,“ ph”,“ th”和“ …

6
列出两个芬兰名词的案例
介绍 在这种挑战,你的任务就是要正确列出案件 2个芬兰名词。不同之处在于您可以使用其中一个清单作为指导来制作另一个清单。 名词 我们使用以下两个磁偏角表作为数据。他们以单数形式:复数形式列出了两个名词的情况,每行一个情况,与上面链接的Wikipedia文章中的顺序相同。 表1:ovi(“门”)的案例 ovi : ovet oven : ovien oven : ovet ovea : ovia ovessa : ovissa ovesta : ovista oveen : oviin ovella : ovilla ovelta : ovilta ovelle : oville ovena : ovina oveksi : oviksi ovin ovetta : ovitta ovine 表2:jalka(“脚”)的病例 jalka : …

5
折叠式德语
给定德语字符串和大小写指示(小写/大写/标题),将字符串折叠到该大小写。 技术指标 输入仅包含a– z加号äöüß-,.;:!?'"(大写和/或小写)。 目标案例可以视为一致类型的任何三个唯一值(请指定它们是什么);三个字符或三个数字或三个位模式。(当前不允许使用其他格式来阻止将案例说明“外包”。如果您认为应该允许使用其他格式,请添加注释。) Titlecase表示除字母后的字母(字母为a– z加号äöüß)以外的所有字母均为大写。 陷阱 当ß需要大写时,它必须变为ẞ。某些折叠式内置程序和库无法执行此操作。 当ß需要为大写字母时,它必须变为Ss。某些折叠式内置程序和库无法执行此操作。 ss可能出现在文本中,并且绝对不能转换为ß或ẞ。 例子 大写die Räder sagen "ßß ss" für dich, wegen des Öls! 是DIE RÄDER SAGEN "ẞẞ SS" FÜR DICH, WEGEN DES ÖLS! 小写 die Räder sagen "ßß ss" für dich, wegen des Öls! 是 die räder sagen "ßß ss" für …

2
一百个最常用的单词
之所以写这个问题,是因为“ Thing Explainer”很有趣,并且给了我一个主意。 编写“使计算机做事的东西”,以读取/获取一组字母,数字和类似的东西"#%|?,True / 1如果所有单词都属于该集合,则返回。 如果所有单词都不属于该集合,请返回不属于该集合的单词。 在任何情况下都可以认为本网站是正确的。编写规则是为了遵守该站点上的规范。 例子: Truthy: 如果将第一条水平线上方的整个文本粘贴为输入,则代码应返回真实值。 以下几行应返回真实值(输入之间用分隔###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 虚假的: 在以下示例中,输入和输出用分隔***。不同的测试用例用分隔###。 This code …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.