タグ付けされた質問 「natural-language」

自然言語の人間による処理に関する問題。タスクには、フリーテキストの解釈、スペルや文法の修正、発音の理解などが含まれます。

1
D * mn明白な打ち切りを書く
検閲は、インターウェブで使用される一般的なツールです。しかし、彼らはしばしば言葉を検閲しすぎており、したがって、呪いは読者にとって曖昧になっています。そして、時々彼らは十分に検閲しないので、言葉はまだ不快なままです。あなたの仕事はそれを修正することです。 あなたのタスク 2つのリストと1つの文字列を受け取るプログラム/関数/なんでも書きます。最初のリストは、次のようなあなたの言語のすべての単語の辞書になります["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
発音可能な単語を生成する
課題は簡単です。 単語を生成します。 仕様: Wordは発音可能でなければなりません。 これは、「子音と母音の交代」と定義されています。 子音は、次の文字のいずれかです。 bcdfghjklmnpqrstvwxz 母音は、次の文字のいずれかです。 aeiouy Wordはランダムに生成する必要があります。 単語には、すべての子音と母音を含めることができる必要があります。(bcdf子音やaei母音だけに使用することはできません。) Wordには10文字を含める必要があります。 最短のコード(文字数)が優先されます。

13
その数の音節はいくつですか?
英語で話したときに、数字を取得して、その中に音節がいくつあるかを知りたいです。 これを1,000未満の正の整数に制限しましょう。 私はイギリス人なので、その後にゼロ以外の数字がある場合は、数百の列の後に「and」を付けます。 チャレンジ 1000より小さい正の整数を受け入れ、イギリス英語でその数を表す単語の音節の数を出力するコードを記述します。 数字を表す単語を生成する必要はなく、含まれる音節の数のみを生成します。 これはコードゴルフです。これを最小限のバイトで達成しようとします。 好きな言語を使用してください。 標準の抜け穴は禁止されています。 テストケース | N | In words | Syllables | | 1 | one | 1 | | 2 | two | 1 | | 3 | three | 1 | | 4 | four | 1 | | 5 | five …

12
10代のAZ、わかりますか?
私の以前の挑戦のフォローアップとして、Wordsで20に数えます!、もう一度そのチャレンジの単語リストを使用して別のタスクを実行します。今回は、次のもののみを使用します。 https://github.com/Magic Octopus Urn / 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 これは、アードウルフこれは、シメこれは、カランコエこれは、ウミウシやwentletrap。 ルール リポジトリからの直接の読み取り、またはその他の抜け穴はありません。 リンクで提供されている 26個の単語を選択できます。 単語を選択すると、これらはプログラムが毎回出力する単語です。 次の各文字で始まる単語を1つ選択する必要があります。 [a, b, c, d, …

18
コポドーペゴポロップホップ
言語: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) [] ' "" ['" "', '""'] 仕様 処理する必要がある3つのタイプは次のとおりです。 ストリングス、何も内"" 数字、数字列 演算子、空白以外の任意の単一文字 空白は、文字列内にあるか、2つの数値を区切っていない限り、本質的に無視されます。 文字列/文字仕様: 文字列はで区切られ、が検出された"場合\、次の文字をエスケープする必要があります。 '文字は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韻を踏むスキームとアナペスティックメーター(それが何であれ)を備えた、短い5行の、時折みだらな詩です: リムリックの不条理書く 言葉でライン1とライン5つの韻を そして、あなたが数えてきたと同じように 彼らが第二と韻 四行目は、第三と韻必要があります 入力テキストが入力されると、入力が有効なライムリックであると考えられるかどうかを出力する最短のプログラムを作成する必要があります。入力は、オプションでコマンドラインまたは標準入力を介して行うことができ、出力は、オプションで単純な「Y」/「N」または信頼スコアのいずれかです。 正しいlimerickの別の例を次に示します。 目 が色と大きさに関して独特だった若い女性がいまし た彼女がそれらを大きく開いたとき、 人々はすべて背を向け、 そして驚きで出発しました しかし、以下の詩は明らかにされていない、それは韻しないため、リメリック: スズメバチによって腕に刺された聖蜂の老人がいました。 「痛いですか?」 「いいえ、そうではありません 。スズメバチではなかったことをとてもうれしく思います。」 メーターがすべて間違っているので、これもそうではありません。 ベルリンの男が 自分のいる部屋を嫌っていた と聞いた。 彼がため息をついて言う理由について尋ねたとき 、「昨夜、くまのくびきを勝ち取った祝賀会の周りに少数の愚か者がいた。ワールドカップ、そして彼らは本当に騒々しかったので、私は騒のために眠れませんでした。」 手がかり 入力がリメリックかどうかを判断するために使用できる手がかりのいくつかを次に示します。 リムリックの長さは常に5行です。 1行目、2行目、5行目は韻を踏む必要があります。 3行目と4行目は韻を踏む必要があります。 1行目、2行目、5行目は約3x3 = 9の音節を持ち、3行目と4行目は2x3 = 6の音節を持っています 最初のものを除いて、これらのどれも厳格なものではないことに注意してください。100%の正確性評価は不可能です。 ルール エントリは、少なくとも例1から3を決定論的な方法で正しく分類する必要があります。 あなたはされている(具体的に参照このコンテストのために設計されたコースプログラミング言語のを除いて、ご希望の任意のプログラミング言語を使用することができ、ここで)。 プログラミング言語の標準製品以外のライブラリを使用することはできません。 このファイル(CMU Sphinxの発音辞書)が現在のディレクトリの「c」というファイルにあると仮定することができます。 テスト入力用にハードコーディングすることは許可されていません。プログラムは一般的なlimerickカテゴライザーでなければなりません。 入力は特別なフォーマット(例のように)なしでASCIIであると仮定することができますが、プログラムは中断によって混同されるべきではありません。 ボーナス 以下のボーナスが利用可能です: あなたのプログラムは結果をライムリックとして出力しますか?150文字の長さのボーナスを差し引きます! あなたのプログラムはソネットも正しく識別していますか?150文字の余分な長さのボーナスを差し引きます! あなたのプログラムは、ソネットで使用されたときに、その結​​果をソネットとして出力しますか?追加の長さのボーナスを100文字引きます! 最後に... あなたがあなたに値すると思うボーナスを言及し、あなたのスコアに到達するためにあなたのキャラクターの数からボーナスを引くことを忘れないでください。これはコードゴルフコンテストです。最短のエントリー(つまり、最低スコアのエントリー)が勝ちます。 …

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ホールのゴルフコースの最初の部分です。包括的な考え方は、入力テキストを取得し、3つの課題すべて(少量のグルーコードを使用)のソリューションにパイプすると、きれいに書式設定された段落を吐き出すというものです。この最初の課題では、タスクは指定されたハイフネーションパターンを使用してテキストをハイフネーションします。 入力 プログラムは、テキストとハイフネーションパターンのリストの2つの文字列入力を受け取る必要があります。最初の入力は、単に印刷可能なASCII文字とスペースの空でない文字列です。改行やチルダは含まれません~。2番目の入力は、カンマで区切られた単語のリストであり、チルダで区切られた小文字のASCII文字の音節で構成されています。例はex~cel~lent,pro~gram~ming,abil~i~tiesです。 出力 プログラムは、次の方法で最初の入力を変更します。ハイフン付き小文字バージョンが2番目の入力で見つかった単語(アルファベットASCII文字の最大部分文字列)は、そのハイフン付きバージョンに置き換えられますが、大文字と小文字は保持されます。上記のリストの例では、テキストにwordが含まれている場合、; Excellentに置き換えられEx~cel~lentます。しかし、Excellentlyものではない修正されます。出力は、この変更された文字列になります。 詳細なルールとスコアリング 入力について次のことを想定できます。 最初の入力には、チルダは含まれず、先頭、末尾、または繰り返されるスペースは含まれません。空ではありません。 2番目の入力には少なくとも1つの単語が含まれ、その各単語には少なくとも2つの音節が含まれます。各音節は空ではありません。 2番目の入力には、別の単語の音節として現れる単語は含まれません。 必要に応じて、2つの入力の順序を変更し、オプションで1つの末尾の改行を出力に追加できます。 関数または完全なプログラムを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース これらは形式でリストされています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") …

15
論理ゲートを手動で
基本的な論理ゲートをシミュレートするプログラムを作成します。 入力:スペースなどで区切られた、2つの1桁の2進数が続く、すべて大文字の単語OR 1 0。門OR、AND、NOR、NAND、XOR、およびXNOR必要とされています。 出力:入力された論理ゲートの出力には、1または0の2つの数値が与えられます。 例: 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
4つの距離
この挑戦はこのビデオに基づいています。この挑戦を試みる前にそれを見ることをお勧めします。 最初に関数を定義します。この関数(OEIS)は、整数nを入力として受け取り、nの英語表現(スペースまたはハイフンなし)で文字数を出力します。たとえば、「3」は5文字なので、3は5にマップされます。 このプロセスを繰り返す任意の数で始まるビデオで示されているように、最終的には4になり、それは永久にマップされます。 以下は、16より小さい数の軌道を示す大まかな有向グラフです。 12 11 \| 15 2 6 1 10 14 13 \ \|/ / / / 7 3-/ 8--/ \| / 9 0 5--/ \ \| \-4 あなたの課題は、4に達する前に数値がとるステップの数(またはこの関数を数値に適用する必要がある回数)を決定することです(つまり、グラフの有向グラフのレベル)。 英語の数字の形成 このチャレンジのために英語の単語をどのように形成するかについての簡単な説明を次に示します。 1から19までの数字は次のとおりです。 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19 19を超える数の場合、プロセスは次のとおりです。 数が数百位の場合、数百位の数字の名前で始まり、「百」。 例えば 100 -> "onehundred" 剰余が20未満の場合、剰余の英語表記を追加します。 例えば 714 -> "sevenhundredfourteen" それ以外の場合、10桁がゼロでない場合は、適切な表現を追加します。 2-> twenty 3-> …

13
フィボナッチ製品
正のフィボナッチ数の一意の合計として、0より大きい数を分解できます。この質問では、可能な最大の正のフィボナッチ数を繰り返し減算することでこれを行います。例えば: 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
スペイン語の不完全性の共役/ Condigue en el imperfecto de indicativo
その不定形のスペイン語の動詞の入力が与えられた場合、示唆的な不完全の6つの形式すべてに活用された動詞を出力します。 不定詞を不完全に結合するには、不定詞の末尾(-ar、-er、-ir、場合によっては-ír)を削除し、以下にリストされている不完全な末尾を追加します。不完全には3つの不規則な動詞がありますが、以下にもリストされています。 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を除いて常に3文字以上の長さであり、-írで終わる動詞を除き、アクセント付き文字を含むことはなく、常に-ar、-er、-ir、または-ír。再帰動詞を処理する必要はありません。 …

4
Imperfections dans monfrançais
l'imparfaitで動詞を活用するには、次の手順を実行する必要があります。 単語の「幹」を見つけます。これは-ons、単語のnous活用形からを省略することで実現されます。たとえば、vivreはnous vivonsです。取り外し-onsからvivonsの利回り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 そのようなもので終わらないものはすべて処理する必要はありません。 (なお、日本脳炎次の母音と合流して、1。Egが存在する場合、je acheter -> …

3
単語を他の単語に分解します(たとえば、「afterglow」=「aft」+「erg」+「low」)
これがあなたのワードスミスの皆さんのためのものです!単語のリストを取得し、各単語のすべての可能な連結分解のリストを生成するプログラムまたは関数を作成します。例えば: (注:これは、説明のための小さなサンプリングにすぎません。実際の出力ははるかに大きくなります。) 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 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.