6 ms·
Show HN: Neural Japanese Transliteration
- Sir_Cmpwn 9y agoAwesome! Where can I get this keyboard?
- blipmusic 9y agoCool! So, would it be correct to say that this is in essence generates a disambiguation model for a language with a lot of homonyms due to having relatively few sounds (but also with some variation in morpheme boundaries, e.g. "an-i" vs "ani")?
- microcolonel 9y agoFor what it's worth, this is basically just the same as any popular Japanese (or Chinese) input method. Usually the approach is to greedily form the smallest set of the longest words from the given syllables, because people tend to give inputs where all the words are complete. Sometimes people use markov models to fix situations where that falls over. Not sure how well this model performs, but the task is not novel. P.S. Mandarin has a fair few homophones as well (yes, tones and all). English has tonnes of phonemes, and still we have loads of homophones (and in some of the most common words, no less!). Japanese, to my elementary-level ear, doesn't sound an order of magnitude more ambiguous than English.
- blipmusic 9y agoWell, to be honest my first impression was that this is what I've been using all along. I just liked that someone experimented a bit. :) Perhaps I assumed this would end up with a different predictive model. No idea what kind of corpora have been used for the input methods already available. Edit: your P.S. made me remember the "ma-ma-ma-ma..." mouthful the Chinese language students I studied in parallel with discovered (apparently well-known - something about a horse and a...mother?). If tones are not represented in romanised Chinese, things seem to get tricky, indeed.
- microcolonel 9y agoFor what it's worth, there's a lot of work to do on Japanese input methods. To a human it may be obvious that hawotogu should become 刃を研ぐ (sharpen a/the blade), and that one does not typically sharpen or hone a 歯 (tooth), 葉(leaf), 派(party/ingroup), or even 覇(~hegemony); but to a computer without topic-specific context, each of these is equally valid. One might be thankful that humans don't really say all that many different or interesting things, at least in this context.
- derefr 9y agoI don't know about "topic-specific context", but doesn't a word-granular Hidden Markov Model trained on huge amounts of text from the language let you figure out things like "given that the sentence includes 刃, 研 is the highest-scoring match"?
- microcolonel 9y agoIt does, but the suggestions will be nowhere to be found if somebody is making a novel use of words. That's what I was getting at.
- blipmusic 9y agoI didn't mean to imply otherwise. My curiosity was/is with the generation of the model in the link (especially compared to current models), hence the question in my original post. There's also pitch accent that helps with disambiguation of spoken Japanese (I should know, I accidentally called a friend seaweed for a long time).
- schoen 9y agoI don't speak Chinese but I've encountered this series a lot: https://en.wiktionary.org/wiki/%E5%AA%BD#Chinese https://en.wiktionary.org/wiki/%E5%AA%BD#Chinese 媽 mā 'mother' https://en.wiktionary.org/wiki/%E9%BA%BB#Chinese https://en.wiktionary.org/wiki/%E9%BA%BB#Chinese 麻 má 'hemp' (sometimes 'flax') https://en.wiktionary.org/wiki/%E9%A6%AC#Chinese https://en.wiktionary.org/wiki/%E9%A6%AC#Chinese 馬 mǎ 'horse' https://en.wiktionary.org/wiki/%E7%BD%B5#Chinese https://en.wiktionary.org/wiki/%E7%BD%B5#Chinese 罵 mà 'scold' It's also cool that you can see that 媽 is made up of "semantic 女 + phonetic 馬", where 女 means 'lady' and 馬 sounds like "ma", so the character was meant to suggest "a word relating to ladies that sounds like ma". https://en.wikipedia.org/wiki/Chinese_character_classification#Phono-semantic_compound_characters https://en.wikipedia.org/wiki/Chinese_character_classificati...
- derefr 9y agoSpoken Japanese isn't any more ambiguous than English (for a human, or a speech-to-text AI) because Japanese people pause between spoken words just like anyone else. But a stream of romaji furigana with no spaces is quite ambiguous—since there's nothing to indicate word boundaries, any substring of the input might turn out to have actually intended to be e.g. a katakana spelling of a name. If CJK IMEs expected and required people to hit the spacebar between the "words" (lexer tokens) of the provided input for matching, they'd have a much simpler job. But as it is, they fall over quite badly when you type multiple words into the IME input box, and are mostly only usable if you resolve single words at a time (which, sadly, throws away a lot of the inter-word context that would otherwise be available for matching.)
- gizmo686 9y ago>because Japanese people pause between spoken words just like anyone else. This is (surprisingly) not true. People do not pause between words, however when listening to a language that they understand, they do perceive pauses between words; even though such pauses do not exist.
- yomly 9y agoI disagree. There's a subtle difference between breathing cadence and inflection, and a completely monotempo monotonal string of sounds.
- snakeboy 9y agoIt seems like it'd be useful for one or both of you to cite any research than has been done on this. Seems more productive (and enlightening to all) than the agree/disagree dialogue here.
- gizmo686 9y agoUnfourtuantly, this is so well established that it is hard to find research. I did find this paper [1] which looks into how babies acuire word boundries. As you identify, there are probably phonetic cues; but not pauses. The best way to see this is to try listening to a language you do not understand, and try to identify word boundries. Indeed, the paper I link argues that some phonetic cue must exist because babies can recognise word boundries. [1] https://www.ncbi.nlm.nih.gov/pubmed/8176060 https://www.ncbi.nlm.nih.gov/pubmed/8176060
- fenomas 9y ago> Japanese, to my elementary-level ear, doesn't sound an order of magnitude more ambiguous than English I don't have any citations, but subjectively I disagree. One can think of English words that are homophones, but in JP the challenge is more to think of words that aren't. On one hand, if you include uncommon words (as a keyboard's corpus would) then practically any medium-length word will have multiple possibilities, which is not the case in English. But much more important is that, where an English homophone typically has two or possibly three interpretations, a kanji jukugo might have 3-4 everyday meanings and a bunch more uncommon ones. And all this is on top of the matter of word boundaries. If the user enters し, there could be 10+ possible transliterations of that character as a standalone word/particle, above and beyond whatever readings are possible together with the characters before and after. So I don't know what an order of magnitude would mean in this context, but I think the whole matter is significantly more ambiguous than English.
- alphonsegaston 9y agoInteresting project! Does anyone know what iOS is using for it Japanese transliteration predictions? Mine worked well for a long time, but in the past 3 months it's gone haywire for common kanji suggestions. The other day it had "機能" as the first/only suggestion for "きのう," and I had to dig down into the menu to arrive at the intended, "昨日." Had a lot of similar experiences recently.
- colejohnson66 9y agoTry resetting your keyboard under Settings>General>Reset
- blipmusic 9y agoDoes it act up on your desktop OS as well? I know there's an alternative from the ATOK developers for iOS (http://www.justsystems.com/jp/products/atok_ios/ http://www.justsystems.com/jp/products/atok_ios/) but I haven't tried that one.
- alphonsegaston 9y agoNo, just my phone. But I didn't know about that alternative. Thanks, I'll check it out!
- M4v3R 9y agoYou can reset keyboard dictionary in iOS settings, maybe doing that will help.
- yborg 9y agoI've had a similar experience on OS X, it seems to lose its mind and actually refuse to display as a choice the most common version of a jukugo. Very weird. These is also a reset for "Conversion Learning" under the Keyboard > Input Sources > Japanese that I've just found thanks to the hints from the thread on this feature in iOS.
- minikomi 9y agoI also had this problem and had to turn off "Live Conversion" in the Japanese settings.
- Grue3 9y agoHave you tried Google Japanese Input? It's probably more accurate at word prediction than anything else just because Google has more data.
- kyubyong 9y agoNot yet. This is just a preliminary project for my paper. Probably I will add more keyboards.
- scentedmeat 9y ago> In the digital environment, people mostly type Roman alphabet Might be selection bias but I mostly notice people using the 10-key click one
- shawnps 9y agoI agree. I use it on iOS with swiping enabled - it is way faster and less error-prone than the romaji keyboard.
- Iv 9y agoTrue on the smartphone. On the computer most Japanese speakers I know just type romaji. However, this is pretty much irrelevant to this article, as romaji->kanas (the phonetic alphabets) is a pretty straightforward and solved problem (there is a clear bijection between both). The real problem is transforming the phonetic transliteration into the correct word in either kanji (for most Japanese words) or katakana (for words with foreign origin). This problem is akin to disambiguating between two homonymes (which are much more frequent in Japanese). In some cases it is easy by looking the previous words, but in some it is heavily context dependent. Nowadays, most japanese typing system will propose a list of kanjis as you type that corresponds to the most frequent writting of your transliteration, but sometimes for unusual kanjis o(or people's name) you have to dig deep into the list. I can see how such a system could improve typing speed in Japanese.
- ue_ 9y agoDo people really use romaji on keyboards in Japan? This strikes me as an odd way to type, as it means that you first need to learn romaji in order to type. I thought that hiragana keyboards (hiragana mapped onto the normal layout) were the norm, especially on laptop keyboards.
- Iv 9y agoA typical keyboard will look like this: https://qph.ec.quoracdn.net/main-qimg-2394848830a7526592f3a182e18966d2 https://qph.ec.quoracdn.net/main-qimg-2394848830a7526592f3a1... But none of the Japanese I know use the hiragana directly. They told me it is mostly old people who use it. Almost every Japanese knows romajis now, there is no additional cost of learning a new alphabet.
- hasenj 9y agoI'm more interested in (kind of) the reverse. Given a Japanese sentence (that uses kanji), figure out the proper reading for each Kanji character, using a neutral network. I know there are already hardcoded analyzers, like kuromoji, but they produce incorrect answers in a lot of edge cases.
- ekianjo 9y agoits very hard to do that since there are cases when you can read the kanji In multiple ways, like In peoples names for examples. Japanese is full of exceptions because the writing system was imported very, very late In Japan (300ad) without much effort to standardize its application.
- rspeer 9y agoNo need to shoot down an NLP task because it can't be solved with 100% accuracy. That's every NLP task. The kanji -> kana direction should be considerably easier than the kana -> kanji direction. There are many fewer sources of ambiguity, and the space of possible answers is smaller.
- hasenj 9y agoWell, it only needs to be as good as a knowledge human expert. When there's no right answer, then there's no right answer. And that's ok.
- wodenokoto 9y agoI feel like I've read that readme file a few 2-3 years ago, but everything says 14 hours ago. Anybody familiar with the history of this project?
- kyubyong 9y agoI created this repo early this year.
- wodenokoto 9y agoThen it must be my memory playing a trick on me. Thank you for elaborating.