Questions tagged «natural-language»

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

1
写一个D * mn明确的审查员
审查器是互连网上使用的常用工具。但是他们经常审查太多的单词,因此使读者感到模棱两可。有时,他们没有进行足够的审查,因此这些词仍然令人反感。您的任务是解决该问题。 你的任务 编写一个包含两个列表和一个字符串的程序/函数/程序。第一个列表将是您语言中所有单词的字典,例如:["hello", "goodbye", "belgium", "offensive", "jumping", "hypercool"]。下一个将是第一个列表的子集,其中包含该语言中的所有令人反感的单词:["belgium", "offensive"]。确保这些列表中的单词仅包含小写字母。 该字符串是您必须检查的短语。它将由字典中的单词组成,并用空格分隔:"Goodbye offensive belgium" 返回值将是被检查的短语。但是,您必须以某种方式进行审查。具体来说,对于攻击性列表中的每个单词,您必须检查尽可能多的字母,同时在主词典中保持完全明确。因此,这里将是:Goodbye o******** b******。 澄清说明 您的代码必须不区分大小写地解释单词,但以大写字母返回。 如果有多个最佳答案,请选择其中任何一个。 如果无法进行明确的审查,则审查具有最少其他可能解释数量的单个字母(如果可能的话,则由您选择)。 测试用例 ["hello", "goodbye", "belgium", "offensive", "jumping", "hypercool"] ["belgium", "offensive"] "Goodbye offensive belgium" -> "Goodbye o******** b******" ["word"] ["word"] "word" -> "****" ["hot", "hat", "bat", "had"] ["hat"] "hat" -> "*at" or "h*t" …

27
产生一个发音单词
挑战很简单: 产生一个单词。 规格: 单词必须是可发音的。 这被定义为“在辅音和元音之间交替”。 辅音是以下字母之一: bcdfghjklmnpqrstvwxz 元音是以下字母之一: aeiouy 单词必须随机生成。 单词必须能够包含所有辅音和元音。(您不能只bcdf用于辅音和aei元音。) 单词必须包含10个字母。 最短的代码(以字符数计)获胜。

13
这个数字有多少个音节?
我很想拿一个数字,用英语说的时候知道其中有多少个音节。 让我们将其限制为小于一千的正整数。 我是英国人,所以当后面有任何非零数字时,我们将在百列后面加上“和”。 挑战 编写一些代码,该代码将接受小于1000的正整数,并在代表英式英语的数字的单词中输出音节的数量。 它不需要生成代表数字的单词,只需生成它们包含的音节的数量即可。 这是代码高尔夫,尝试以最少的字节数实现。 使用您喜欢的任何语言。 禁止使用标准漏洞。 测试用例 | N | In words | Syllables | | 1 | one | 1 | | 2 | two | 1 | | 3 | three | 1 | | 4 | four | 1 | | 5 | five …

12
十进制的AZ,您知道吗?
作为我先前挑战的跟进,单词数达到20!,我们将再次使用该挑战中的单词列表来执行其他任务。这次,您将专门使用: https://github.com/魔术八爪鱼缸/wordListsByLength/blob/master/10.txt 要选择26个不同的单词,每个单词都以一个唯一的字母开头,并按从A到Z的升序输出。这是一个有效的示例: aardwolves babbitting caravaning debilitate evaporator fantasized geographer hawfinches imbecility juvenility kalanchoes lamaseries malodorous nudibranch oligophagy pantywaist quarreling russetting scantiness teetotaler undercount voodooisms wentletrap xenophobic yeomanries zwitterion 这是一个阿德沃夫,这是一种蜡嘴鸟,这是一个长寿,这是一个裸鳃亚目和海蛳螺科。 规则 不能直接从存储库中读取内容,也不能发现任何其他漏洞。 您可以从链接中选择任何26个单词。 您选择单词,这些是您的程序每次应输出的单词。 必须选择一个以以下每个字母开头的单词: [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, …

18
Copodope Gopolopfop
语言:Oppification 通过对每个单词应用以下过程来创建一种有趣的语言: 放在op每个辅音之后。如此Code成为Copodope。 对,就是那样。为了这个挑战的目的,y总是辅音。 挑战:去势化 给定一个单词,返回原始单词。输入内容仅包含字母。首字母可以大写。原始单词永远不会为空,并且始终包含元音。 测试用例: Oppified -> Original a a I I itop it opop op Opop Op popopop pop Copopop Cop opopopop opop Kopicopkop Kick Asopia Asia soptopopop stop hopoopopsop hoops hopoopopedop hooped ooooohop oooooh aaaopopaaa aaaopaaa Popopopsopicoplope Popsicle gopaloplopopopinopgop galloping aopopbopopopcopopop aopbopcop

3
标记基于堆栈的语言
我一直在研究另一种称为Stackgoat的基于堆栈的高尔夫语言。在这个挑战中,您将为Stackgoat(或实际上是任何通用的基于堆栈的语言)编写Tokenizer。 例子 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 规格 您需要处理的三种类型是: 弦乐,什么内"" 数字,任何数字序列 运算符,除空格外的任何其他单个字符 除非将其留在字符串中或将两个数字分隔开,否则实际上将忽略空格。 字符串/字符规范: 字符串以分隔",当\遇到时,下一个字符应转义。 字符前面加a ',后面的字符'应转换为字符串文字。'a->"a" ' 后面总会有一个角色 右引号应自动插入 规则: 没有形式eval允许 输入输出: 可以通过STDIN,函数参数或您的语言等效输入。 输出应为数组或您的语言最接近的等效数组。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

2
满是胡说八道的书:确定打油诗
众所周知,打油诗是一首短短的五行诗,带有AABBA押韵方案和麻醉剂(无论是哪种),都是偶尔出现的: 用一句话写出五行民谣的荒谬的第一行和第五行押韵, 正如您已经算过的, 他们与第二 行押韵。第四行必须与第三行押韵 您的任务是编写最短的程序,该程序在馈入输入文本时会打印是否认为输入是有效的打油诗。输入既可以在命令行中进行选择,也可以通过标准输入进行选择,输出也可以是简单的“ Y” /“ N”或置信度得分,同样可以选择。 这是正确的打油诗的另一个例子: 有一位年轻的女士的眼睛 都以颜色和大小的唯一 当她打开他们广泛的 人都转过身去 ,惊讶地拔腿就走 但是下面的诗显然不是油画,因为它不押韵: 有一个圣蜜蜂的老人 被黄蜂st 住了胳膊。 当被问到“疼吗?” 他回答说:“不,不是, 我很高兴那不是大黄蜂。” 这也不是,因为仪表都是错误的: 我听说有一个柏林 人讨厌他所在的房间。 当我问 他为什么叹口气时说: “好吧,你知道,昨晚周围有几个流氓正在庆祝熊队夺得冠军。世界杯,他们的声音真的很大,所以因为喧嚣我无法入睡。” 线索 以下是一些可用来确定您的输入是否为打油诗的线索: 五行民谣总是五行。 第1、2和5行应该押韵。 第三行和第四行应该押韵。 第1、2和5行大约有3x3 = 9个音节,而第3行和第4行有2x3 = 6个音节 请注意,除了第一个以外,其他所有都不是一成不变的:不可能达到100%的正确率。 规则 您的输入至少应该以确定性方式正确地对示例1到3进行分类。 您是允许使用您想要的任何编程语言,除了专门为这次比赛设计的(见当然编程语言在这里)。 你是不是允许使用任何图书馆除了你的编程语言的标准产品。 您是允许假设该文件中,CMU狮身人面像语音上的字典,是在当前目录下名为“C”文件。 你是不是允许硬编码的测试输入:你的程序应该是一个一般的打油诗分类。 您是允许假设输入是ASCII,没有任何特殊的格式(如中的例子),但你的程序不应该由标点符号混淆。 奖金 提供以下奖金: 您的程序将其结果输出为打油诗吗?减去150个字符的长度奖励! 您的程序还能正确识别十四行诗吗?减去150个字符的额外长度奖励! …

10
将英语转换为没有内置或库的数字
这个挑战与其他挑战相似,但是我提出了一个限制(请参阅下面的黑体字),我认为这会造成很大的差异,并且(我希望)也很有趣。 挑战 以任何编程语言编写一个程序或函数,该程序或函数采用n不超过正整数的英语名称作为输入作为100返回n值。 禁止使用标准漏洞,并且您不能使用已经执行此操作的任何内置函数,外部工具或库。 以字节为单位的最短源代码获胜。 测试 在所有input->output情况下: one -> 1 two -> 2 three -> 3 four -> 4 five -> 5 six -> 6 seven -> 7 eight -> 8 nine -> 9 ten -> 10 eleven -> 11 twelve -> 12 thirteen -> 13 fourteen -> 14 fifteen …

5
文字处理1:连字
背景 这是有关文本处理的3洞高尔夫球场的第一部分。最重要的想法是,如果您输入一个输入文本并通过解决所有这三个挑战的解决方案(使用少量的粘合代码)来传递它,则它会吐出一段格式精美的段落。在第一个挑战中,您的任务是使用给定的连字模式对文本片段进行连字。 输入值 您的程序应采用两个字符串输入:一段文本和一个连字符模式列表。第一个输入只是一个可打印的ASCII字符和空格的非空字符串;它不会包含换行符或波浪号~。第二个输入是一个以逗号分隔的单词列表,由小写ASCII字符的代字号分隔的音节组成。一个例子是ex~cel~lent,pro~gram~ming,abil~i~ties。 输出量 您的程序应按以下方式修改第一个输入。在第二个输入中找到带连字符的小写字母的任何单词(字母ASCII字符的最大子串)都应由该带连字符的字母替换,但应保留其大小写。在上面的示例列表中,如果文本包含单词Excellent,则应将其替换为Ex~cel~lent;然而,Excellently应不会被修改。您的输出应为此修改后的字符串。 详细规则和计分 您可以假设以下有关输入的信息: 第一个输入不包含波浪号,也没有前导,尾随或重复的空格。它不是空的。 第二个输入至少包含一个单词,并且每个单词中至少包含两个音节。每个音节都是非空的。 第二个输入不包含在另一个单词中作为音节出现的单词。 如果需要,可以更改两个输入的顺序,还可以选择在输出中添加一个尾随换行符。 您可以编写函数或完整程序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 这些以格式列出1st input [newline] 2nd input [newline] output。 Excellent programming abilities, you work excellently! ex~cel~lent,pro~gram~ming,abil~i~ties Ex~cel~lent pro~gram~ming abil~i~ties, you work excellently! Superman (sometimes incorrectly spelled "Super-man") is super #&%@ing strong. su~per,some~times,in~cor~rectly,spell~ing Superman (some~times in~cor~rectly spelled "Su~per-man") is …

15
手动逻辑门
编写一个模拟基本逻辑门的程序。 输入:一个全大写单词,后跟2个1位二进制数字,以空格分隔,例如OR 1 0。门OR,AND,NOR,NAND,XOR,和XNOR需要。 输出:输入的逻辑门的输出将被赋予两个数字:1或0。 例子: AND 1 0成为0 XOR 0 1变得1 OR 1 1成为1 NAND 1 1成为0 这是codegolf,所以最短的代码获胜。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

6
到四的距离
此挑战基于此视频。我建议您在尝试此挑战之前先观看一下。 首先我们定义一个函数。此函数(OEIS)以整数n作为输入,并输出n的英语表示形式的字母数(不带空格或连字符)。例如,“三个”有5个字母,因此3个映射到5。 如视频中所示(以任何数字开头),重复此过程最终将得到4,该数字将永远映射到其自身。 这是一个粗略的有向图,显示了小于16的数字的轨道。 12 11 \| 15 2 6 1 10 14 13 \ \|/ / / / 7 3-/ 8--/ \| / 9 0 5--/ \ \| \-4 您面临的挑战是确定一个数字将要达到的四个步骤(即,有向图上的水平),然后确定一个数字将要执行的步骤数(或此功能必须应用于一个数字的次数)。 形成英文数字 以下是有关如何应对这一挑战的英文单词的简要说明: 数字1到19是: 一,二,三,四,五,六,七,八,九,十,十一,十二,十三,十四,十五,十六,十七,十八,十九 对于大于19的数字,过程如下: 如果数字有百位,则以百位中的数字名称开头并“百位”。 例如 100 -> "onehundred" 如果余数少于20,则附加余数的英语表示。 例如 714 -> "sevenhundredfourteen" 否则,如果十位数不为零,请附加适当的表示形式: 2-> twenty 3-> …

13
斐波那契产品
您可以将大于0的数字分解为正Fibonacci数字的唯一和。在这个问题中,我们通过重复减去最大可能的正斐波那契数来做到这一点。例如: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 现在,我将斐波那契乘积称为与上面相同的列表,但加法运算被乘积代替。例如,f(100) = 89 * 8 * 3 = 2136。 编写一个给定正整数n的程序或函数,该函数将返回该数字的斐波那契乘积。 测试用例: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

4
西班牙不完美共轭/指示不完美共轭
给定不定式形式的西班牙语动词的输入,输出以指示性不完美的所有6种形式共轭的动词。 要使不定式与不完美的词缀合,请删除不定式的结尾(-ar,-er,-ir和有时是-ír),并添加下面列出的不完全的结尾。不完全动词中有三个不规则动词,也在下面列出。 Verb ending Replace with... -------------------------------------------------------- -ar -aba, -abas, -aba, -ábamos, -abais, -aban -er, -ir, -ír -ía, -ías, -ía, -íamos, -íais, -ían Irreg. verb Conjugations -------------------------------------------------------- ser era, eras, era, éramos, erais, eran ver veía, veías, veía, veíamos, veíais, veían ir iba, ibas, iba, íbamos, ibais, iban 出于此挑战的目的,请使用大写字母代替带重音的字母(á变为A,é变为E,í变为I)。这仅是因为带重音的字母在UTF-8中为2个字节,但是在其他编码中它们可以有所不同,因此我宁愿不必处理任何字母,而留在可打印的ASCII中。 不定式动词的长度始终为三个或更多字符,唯一的例外是动词ir,绝不包含重音字母,但以-ír结尾的动词除外,并且始终以-ar,-er,-ir,或-ír。反身动词不需要处理。 …

4
瑕疵dans monfrançais
要在l'imparfait中共轭动词,需要执行以下步骤: 找到单词的“词干”;这是通过省略-ons单词的与名词相关的形式来实现的。例如,生活乐趣是理性vivons ; -ons从体内去除产量viv-。 根据主题,取茎并添加适当的结尾。这里是结局: je -ais tu -ais il/elle -ait nous -ions vous -iez ils/elles -aient 目的给定一个动词和一个主语,输出该动词相对于主语的不完美形式。输入格式可以是您的语言方便的任何格式。您提交的内容可以是程序,摘要或函数。(请注意,动词不必是真实的动词。) 您可以假设该动词是常规动词,即像avoir这样的项目将被视为-ir动词,而不是不规则动词。您必须量化为不规则的唯一动词是être;它是这样共轭的: j'étais tu étais il/elle était nous étions vous étiez ils/elles étaient 这里是动词变化的-er,-re以及-ir在理性的动词形式 -ER => (e)ons ; e is added after a 'g' -RE => ons -IR => issons 不以此结尾的任何事物都不必处理。 (请注意,如果有je,则与下一个元音合并。例如,出于我们的目的,je acheter …

3
将单词分解为其他单词(例如,“余辉” =“尾部” +“ erg” +“低”)
这是供您所有词匠使用的工具!编写一个程序或函数,该程序或函数接受单词列表并为每个单词生成所有可能的级联分解的列表。例如: (注意:这仅是一个小样本,用于说明目的。实际输出量要大得多。) afterglow = after + glow afterglow = aft + erg + low alienation = a + lie + nation alienation = a + lien + at + i + on alienation = a + lien + at + ion alienation = alien + at + i + on …

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.