sunpinyin and it's future

Post on 26-Dec-2014

1.059 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Sunpinyin and Its Future

Mike(Dai) Qinmikeandmore@gmail.com

University of Toronto

July 17, 2011

Who Am I

• Just call me Mike.

• Used to be a student of Zhejiang University, Hangzhou. Nowadmitted by University of Toronto.

• Was born in Tianjin. (That’s why I’m here.)

• Has been using Linux since high school. A Fedora user now.

• Has been a sunpinyin committer since 2009 winter.

Pinyin Input Method

• Show several candidates according to Pinyin that user inputs.

• Lots of commercial and free implementation.• Pinyin ABC• Microsoft Pinyin• Sougou Pinyin• QQ Pinyin

Approach

• Dictionary based• A dictionary that contains all possible words.• Always look up from the dictionary upon user input.• Will adjust the order of candidates upon user commit.

• Pros: Easy to implement.

• Cons: Not intelligence enough when words are combined.

• Implementation:• Pinyin ABC (Commercial)• Fcitx (GPL)• ibus-pinyin (GPL)

Approach

• N-Gram based• Have a database of conditional probability.• Will try to calculate the sentence with the larger probability.• Interpolate between user commit history and database.

• Pros: Intelligence!

• Cons: Where can I get the database?

• Implementation:• Sunpinyin (LGPL/CDDL)• Sougou Pinyin (Commercial)

Sunpinyin and OpenGram Project

• Sunpinyin is a input method using N-Gram based method.

• Free as in freedom. LGPL license.

• It’s using tri-grams for build-in and bi-grams for user history.

• OpenGram project aims at creating a tri-gram database forSimplified Chinese.

• Free as in freedom. CC license.

Current Progress - Sunpinyin

• Released 2.0.3, and we’re working on 2.1/2.5 release.

• Works on Linux, BSD and OSX platform, with nativeinterface.

• Ported to Ibus(ibus-sunpinyin), Scim(scim-sunpinyin). Alsohave a standalone version(xsunpinyin).

• Current Progress of next release.• Multiple Best Sentence. done• Partial Sentence. done• Plugin Support. WIP

• Needs maintainer!

What Do I Need to Know Before JoiningSunpinyin?

• Passion.

• A little C++ knowledge. (Nobody in the team know C++completely. :) )

• That’s enough! and maybe plus• Ibus/Scim API, Xorg API or OSX API.• Python API. (Plugin Support)• Windows API. (Windows Port?)

Q&A

top related