Talk:Textonyms: Difference between revisions

From Rosetta Code
Content added Content deleted
Line 62: Line 62:


::: Another possibility is that the task specification is ambiguous. The question is: what is being counted? In the J and Go examples what we have done is count the number of unique digit combinations which correspond to more than one word. In the python example I imagine what is being counted is the number of non-unique digit combinations which correspond to more than one word. (For example, 2633 corresponds to three different words, so is counted as three textonyms in the python example and as one textonym in the J and Go examples.) The task specification is currently silent on this issue. --[[User:Rdm|Rdm]] ([[User talk:Rdm|talk]]) 01:07, 9 February 2015 (UTC)
::: Another possibility is that the task specification is ambiguous. The question is: what is being counted? In the J and Go examples what we have done is count the number of unique digit combinations which correspond to more than one word. In the python example I imagine what is being counted is the number of non-unique digit combinations which correspond to more than one word. (For example, 2633 corresponds to three different words, so is counted as three textonyms in the python example and as one textonym in the J and Go examples.) The task specification is currently silent on this issue. --[[User:Rdm|Rdm]] ([[User talk:Rdm|talk]]) 01:07, 9 February 2015 (UTC)

:::: Good point, I don't think I can mark it "inconsistent" instead of "incorrect" tho :). I think the task is fairly clear "#{3} is the number of #{2} which represent more than one word." Only 1473 of the 22903 numbers "represent more than one word". The task should probably have included a short example that made the "correct" output more obvious. From what little I can guess from the python code, I thought/assumed that "<tt>sum(1 for w in num2words if len(w) > 1)</tt>" was counting the entries where <tt>len(w) > 1</tt>; if it's instead summing the lengths I think must be a mistake/typo given the variable name itself is <tt>morethan1word</tt> (rather than something like <tt>pairsOfTextonyms</tt>). &mdash;[[User:dchapes|dchapes]] ([[User talk:dchapes|talk]] | [[Special:Contributions/dchapes|contribs]]) 01:22, 9 February 2015 (UTC)

Revision as of 01:22, 9 February 2015

Needs specifics

I think this task is good except that it needs something specific to show to help verify and show how to use the functions we program. Maybe something like "show the number of keypad combinations that map to 10 words and show what other words have the same keypad combination as 'CAT'". Just something to sync the examples up. --Mwn3d (talk) 14:45, 3 February 2015 (UTC)

I have updated the task dexcription to include specific output--Nigel Galloway (talk) 14:28, 7 February 2015 (UTC)

Example word list incomplete

It ends in the middle of "P". --Ledrug (talk) 19:48, 5 February 2015 (UTC)

Example word list has 'odd' words

I calculated the number having the most words and got:

27: ['ap', 'aq', 'ar', 'as', 'ar', 'as', 'bp', 'br', 'bs', 'br', 'cp', 'cq', 'cr', 'cr', 'cs']

Those 'words' seem random to me.

I suggest we use the word list from task Ordered words i.e. this dictionary although words with non a-zA-Z chars in them such as 10th will have to be rejected. --Paddy3118 (talk) 07:19, 6 February 2015 (UTC)

Changing the wordlist gives me these stats:
Read 25104 words from 'http://www.puzzlers.org/pub/wordlists/unixdict.txt'
Number of words after rejecting those that have characters other than a-zA-Z in them is 24978
Those words are represented by 22903 numbers

The numbers mapping to the most words map to 9 words each:
[('269', ['amy', 'any', 'bmw', 'bow', 'box', 'boy', 'cow', 'cox', 'coy']),
 ('729', ['paw', 'pax', 'pay', 'paz', 'raw', 'ray', 'saw', 'sax', 'say'])]
--Paddy3118 (talk) 07:51, 6 February 2015 (UTC)
The code should work with any text list. I don't mind if the specific list isn't critical to the task. The advantage of the one I am proposing is that it includes names (i.e. Nigel and Paddy). The Perl entry has a wildcard feature that could be foreseeing 7733428483 8398. You may want a version which allows numbers. 2748424767 -> "Briticisms", "criticisms".--Nigel Galloway (talk) 15:29, 6 February 2015 (UTC)

What does "mapping" mean here?

(Obviously we are not talking about geography.)

The usual use of the word "mapping" in the context of programs is a reference to the process of using what a routine named "map" such as has been implemented in a variety of lisps (or javascript or perl or ruby or numerous other languages). In other words, it's talking about transforming some argument to some result. In other words, it's basically just a name for a function.

But I am having trouble making sense of that here, because there is not "textonym function" which is different from the identify function. We have words, we are looking for words that contain textonyms, but those words are not the result of some function, unless that function is a function which does absolutely nothing.

So... unless there is some useful meaning being conveyed here (and there might be? =), the word "mapping" is just gibberish. If it's meaningless, could we just remove it from the task description? Alternatively, if it's meaningful, I would benefit from knowing its definition.

(And I do see a reference to keyboard mapping - but is that the same thing as a textonym mapping??) --Rdm (talk) 01:37, 8 February 2015 (UTC)

I see maps! If a map forms a relationship between keys and value, (the common hashmap goes further and tells something of the implementation), then there is a mapping between individual digits and several characters from the alphabet, and we are asked to construct a mapping between digit strings and words from a dictionary that can be expressed in that alphabet.
--Paddy3118 (talk) 09:22, 8 February 2015 (UTC)
I hope labelling the table as digit key mapping and referring to it throughout as digit key mapping makes the meaning 100% clear.--Nigel Galloway (talk) 14:41, 8 February 2015 (UTC)
If it is the key mapping we are talking about in this context, shouldn't the report say "key mapping" instead of "textonym mapping"? --Rdm (talk) 14:50, 8 February 2015 (UTC)

Correct number of Textonyms in unixdict.txt?

The Go and Python examples disagree on the number of Textonyms in the unixdict.txt file. The former claims 1473 while the later claims 22895. Which (if either) is correct?

(The Go and J examples agree on 661 Textonyms in the Textonyms/wordlist; the other other examples don't give any other values).

dchapes (talk | contribs) 23:33, 8 February 2015 (UTC)

The J example was using the rosettacode wordlist and not the unixdict.txt file. I have updated it to also show results for the unixdict.txt file. I hope this helps. --Rdm (talk) 00:45, 9 February 2015 (UTC)
Thank you. Since the J and Go examples now agree I've marked the Python entry as incorrect. I don't know enough Python to spot the error. —dchapes (talk | contribs) 01:04, 9 February 2015 (UTC)
Another possibility is that the task specification is ambiguous. The question is: what is being counted? In the J and Go examples what we have done is count the number of unique digit combinations which correspond to more than one word. In the python example I imagine what is being counted is the number of non-unique digit combinations which correspond to more than one word. (For example, 2633 corresponds to three different words, so is counted as three textonyms in the python example and as one textonym in the J and Go examples.) The task specification is currently silent on this issue. --Rdm (talk) 01:07, 9 February 2015 (UTC)
Good point, I don't think I can mark it "inconsistent" instead of "incorrect" tho :). I think the task is fairly clear "#{3} is the number of #{2} which represent more than one word." Only 1473 of the 22903 numbers "represent more than one word". The task should probably have included a short example that made the "correct" output more obvious. From what little I can guess from the python code, I thought/assumed that "sum(1 for w in num2words if len(w) > 1)" was counting the entries where len(w) > 1; if it's instead summing the lengths I think must be a mistake/typo given the variable name itself is morethan1word (rather than something like pairsOfTextonyms). —dchapes (talk | contribs) 01:22, 9 February 2015 (UTC)