[{"data":1,"prerenderedAt":309},["ShallowReactive",2],{"project-17673999":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":83,"maker_in_thread":167,"shape":178,"grid":181,"attempts":270,"same_week":271,"maker_shows":40,"maker_hidden":301,"reader_version":302,"card":303},"17673999","rootfinder","I trained a neural network to learn Arabic morphology","title","Show HN: I trained a neural network to learn Arabic morphology","https:\u002F\u002Fgithub.com\u002Ftb0yd\u002Frootfinder","github.com","tboyd47",1533233942,2018,183,40,202,2155,10,"notable","languages","arabic morphology","library",[21,24,25,26],"arabic root extraction","neural network","semitic languages","mixed",-0.052,{"positive":30,"neutral":31,"mixed":32,"critical":33},3,7,2,4,16,{"idea":36,"docs":37,"design":39,"performance":41},{"positive":32,"critical":32},{"positive":38,"critical":38},0,{"positive":38,"critical":40},1,{"positive":38,"critical":40},[43,38,30,43,38,30,38,30,30,38,30,38,38,38,30,38,30,38,40,38,38,38,40,38,30,40,38,40,38,38,38,30,38,38,43,38,38,38,38,38],5,null,{"problem":46,"audience":57,"pricing":44,"motivation":68,"time_to_build":44,"stack":74,"openness":80,"stage":81,"team_size":82},{"value":47,"source":48,"evidence":49},"Finding the root letters of Arabic words, which are not stated directly in word form.","maker",[50,53],{"id":51,"by":11,"text":52},"17675166","Oops, I didn't quite understand the question. Yep, inputs are Arabic words represented as Unicode strings, with or without inflection marks (ex. متوسّط), and outputs are a string…",{"id":54,"by":55,"text":56},"17675572","ziftface","Some languages, like Arabic, have \"roots\" which are used to form words. These roots usually have an abstract or ambiguous meaning. You can take those roots and turn them into…",{"value":58,"source":59,"evidence":60},"Arabic learners, translators and linguists.","commenter",[61,64],{"id":62,"by":11,"text":63},"17679374","Wow, really nice app! I love the simple-yet-highly-responsive interface. I'm definitely going to be sharing this around to my translator friends. Just curious, are you a…",{"id":65,"by":66,"text":67},"17675104","ztravis","This is an interesting project, although as others have mentioned the space of arabic words is (reasonably) bounded and an explicit parsing approach or something that uses known…",{"value":69,"source":48,"evidence":70},"Mainly for fun and learning, a toy project.",[71],{"id":72,"by":11,"text":73},"17679475","It really depends on what dialects of Arabic you are looking at and what your goals are. My starting dataset is very small. I study classical Arabic, so I am only looking at…",[75],{"value":25,"source":48,"evidence":76},[77],{"id":78,"by":11,"text":79},"17674726","I tried more than one hidden layer and it didn't seem to improve the accuracy.","unknown","prototype","solo",{"praise":84,"objections":109,"requests":129,"questions":145,"alternatives":154},[85,100],{"value":86,"source":59,"evidence":87},"Interesting, well-executed work on Arabic morphology.",[88,92,96],{"id":89,"by":90,"text":91},"17674758","ZainRiz","Can you please explain what the inputs and outputs are supposed to be? I'm familiar with the Arabic alphabet but I don't know the words",{"id":93,"by":94,"text":95},"17675232","ilimilku","This is exciting to see. I am a Semitic philologist (Ph.D.) now breaking into the IT industry, and this sort of work is on my radar, though mostly with Hebrew and Aramaic.…",{"id":97,"by":98,"text":99},"17679522","caio1982","Congrats for such nice non-English project! It is always lovely to see computer linguistics hitting the front page :-)",{"value":101,"source":48,"evidence":102},"Transliteration added for readers without Arabic script.",[103,106],{"id":104,"by":11,"text":105},"17680707","I added some basic transliteration in the output formatting stage so people who don't know Arabic script can understand the results. Accepting romanized input would require a…",{"id":107,"by":11,"text":108},"17680716","No problem. By the way, I added some quick and dirty romanization in the output stage if you're interested. It in no way represents how the words sound, but it does make it…",[110,122],{"value":111,"source":59,"evidence":112},"Rules-based parsing may work as well or better than a neural network.",[113,117,118],{"id":114,"by":115,"text":116},"17678741","anonu","I like where this is going. But I'm still a bit skeptical at the use of neural networks in this use case How big is the problem space? There's a limited set of roots and…",{"id":65,"by":66,"text":67},{"id":119,"by":120,"text":121},"17674735","rvense","I took some Arabic at university. It's a fascinating language. My impression was that the morphology is quite regular, I wonder how complicated an old fashioned, hand-written…",{"value":123,"source":59,"evidence":124},"Output for some words is ambiguous, e.g. jumla yields a root that also spells a common word.",[125],{"id":126,"by":127,"text":128},"17676476","csomar","> Correct: ['جملة', 'جمل'] جملة means a \"sentence\" جمل can mean a Camel (pronounced \"jamel\" you can guess the origin of the english word) جمل can also mean \"sentences\"…",[130,137],{"value":131,"source":59,"evidence":132},"Support for Latin-script input.",[133],{"id":134,"by":135,"text":136},"17677417","ulucs","Great work! Are there any plans for latin character support? I’m Turkish and I’d love to be able to play with the words we’ve borrowed from Arabic but unfortunately I don’t know…",{"value":138,"source":59,"evidence":139},"Training data from treebanks and shared tasks.",[140,144],{"id":141,"by":142,"text":143},"17674882","habeanf","Nice work! If I'm not mistaken, the root requires morphological disambiguation, which may change depending on the context\u002Fphrase in which the word is observed. This is an active…",{"id":65,"by":66,"text":67},[146],{"value":147,"source":59,"evidence":148},"What are the inputs and outputs?",[149,150],{"id":89,"by":90,"text":91},{"id":151,"by":152,"text":153},"17675113","pavel_lishin","But what are the inputs? Are they words? And what are the outputs? I know nothing about arabic, so to my eyes certain wiggles - that aren't a 1:1 match - are \"correctly\" matched,…",[155,163],{"value":156,"source":59,"evidence":157},"Arabic reference site arabicreference.com and Bayyinah sarf generator.",[158,159],{"id":65,"by":66,"text":67},{"id":160,"by":161,"text":162},"17675170","nafizh","This is really cool. Interestingly, Bayyinah (www.bayyinah.com) Institute has a site [1] for the opposite problem where you can generate the 10 morphological families from root…",{"value":164,"source":59,"evidence":165},"Universal Dependencies treebanks and SIGMORPHON shared task data.",[166],{"id":141,"by":142,"text":143},{"comments":168,"answered":169,"key":170},11,6,[171,174,177],{"id":172,"text":173},"17675115","Wow, thanks! A wealth of resources here.",{"id":175,"text":176},"17675472","Thanks, that's awesome! I am a software engineer and long time student of Arabic. You're pretty much on the mark with the capabilities of the model at this point. It can…",{"id":62,"text":63},{"commenters":179,"max_depth":169,"maker_replies":168,"first_comment_mins":180,"lifespan_hours":179},21,69,[182,184,186,190,191,192,194,196,198,199,202,203,204,207,209,210,212,214,216,220,223,226,228,229,231,233,237,239,242,245,247,250,252,255,256,257,261,263,265,268],[141,38,43,183,142,38],"project\u002Fpositive\u002Fidea",[172,38,38,185,11,40],"maker\u002Fpositive\u002Fnone",[187,38,30,188,189,38],"17675966","project\u002Fneutral\u002Fdocs","PeterisP",[93,40,43,183,94,38],[175,40,38,185,11,40],[65,32,30,193,66,38],"project\u002Fmixed\u002Fidea",[62,32,38,195,11,40],"maker\u002Fpositive\u002Fdesign",[160,30,30,197,161,38],"project\u002Fneutral\u002Fnone",[89,33,30,188,90,38],[200,33,38,201,11,40],"17674828","maker\u002Fneutral\u002Fdocs",[151,33,30,188,152,38],[51,33,38,188,11,40],[205,33,38,206,152,38],"17679812","commenter\u002Fneutral\u002Fnone",[107,33,38,208,11,40],"project\u002Fneutral\u002Fdesign",[54,33,30,188,55,38],[211,33,38,206,152,38],"17679811",[119,43,30,213,120,38],"project\u002Fneutral\u002Fidea",[215,43,38,213,11,40],"17674808",[217,43,40,218,219,38],"17674834","project\u002Fcritical\u002Fidea","aogaili",[221,43,38,222,120,38],"17675200","commenter\u002Fneutral\u002Fidea",[224,43,38,222,225,38],"17676521","schoen",[227,43,38,222,120,38],"17676936",[114,169,40,218,115,38],[72,169,38,230,11,40],"maker\u002Fneutral\u002Fidea",[232,169,30,193,98,38],"17679505",[234,31,40,235,236,38],"17674694","project\u002Fcritical\u002Fdesign","trhway",[78,31,38,238,11,40],"project\u002Fneutral\u002Fperformance",[126,240,40,241,127,38],8,"project\u002Fcritical\u002Fperformance",[243,240,38,206,244,38],"17676565","msfellag",[246,240,38,206,127,38],"17677932",[248,240,38,249,11,40],"17679490","maker\u002Fneutral\u002Fdesign",[134,251,30,213,135,38],9,[253,251,38,222,254,38],"17677625","anticensor",[104,251,38,195,11,40],[97,18,43,185,98,38],[258,168,38,259,260,38],"17676468","other\u002Fneutral\u002Fnone","senatorobama",[262,168,38,259,120,38],"17676969",[264,168,38,259,260,38],"17677121",[266,168,38,259,267,38],"17677181","pvg",[269,168,38,259,120,38],"17677838",[],[272,276,281,286,291,296],{"id":273,"name":274,"points":275,"category":20},"17716542","Pts.js",611,{"id":277,"name":278,"points":279,"category":280},"17689014","lazygit",551,"dev_tools",{"id":282,"name":283,"points":284,"category":285},"17679148","oalley",455,"consumer_social",{"id":287,"name":288,"points":289,"category":290},"17672247","Standups.io",266,"productivity",{"id":292,"name":293,"points":294,"category":295},"17696367","Dancemusic.wtf",152,"games",{"id":297,"name":298,"points":299,"category":300},"17685232","Polyhedra Viewer",123,"learning_science",false,"v2",{"id":304,"name":5,"line":6,"ai":301,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":305,"top":18,"kw":306,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":307,"url":9,"mix":308,"praise":86,"objection":111,"sub":21},17673999,-0.05,[21,24,25,26],"5035030330300030301000103101000300500000",[30,31,32,33],1794036568300]