Jean Chalard
6c30061c70
Generalize the digraph code
...
Bug: 5140033
Change-Id: I19c8c89f79f7c1ce1fba58d50bc2697747052599
2012-03-21 17:50:55 +09:00
satok
0cb2097a45
Fix additional proximity in the native code
...
Bug: 4343280
Change-Id: I4164bb916b2dbdfb6bdc151b99d46a6171d9c355
2012-03-14 11:17:59 +09:00
Jean Chalard
46a1eec4d8
Add a variable-length header region to the binary format.
...
Also bump up the format version to 2.
Bug: 5686638
Change-Id: I3aafdd7e42c422202122998ec093280051aa8e07
2012-03-06 17:37:28 +09:00
Tadashi G. Takaoka
d1dbdb6b20
Make some debug aid functions to inline
...
Change-Id: I973f9d4a3989f3d2b797ad26f9d006c0f2c613b5
2012-03-06 15:51:32 +09:00
satok
a85f4929cd
Support multi words suggestion
...
result: I4d097612db2f2a93522
Change-Id: Iedbb24f431dac43e52b6dcce8cb610a75e0ca46e
2012-02-08 13:00:31 +09:00
Tadashi G. Takaoka
a27cb62390
Merge "Use C++ template for min/max"
2012-02-05 17:38:30 -08:00
Tadashi G. Takaoka
09baa36f7d
Use C++ template for min/max
...
To be more friendly for off-device regression test.
Change-Id: I7edf4c9de73915aad9c1760ace7df3177ed3c4e9
2012-02-06 09:41:41 +09:00
satok
1b9fa942b4
Support correction conversion from skip to additional proximity
...
Result: I34bedff6149a6a4e01
Change-Id: I46d528f228a969a0a996299221622627f43c55ec
2012-02-03 20:00:15 +09:00
satok
e05b3f4b3a
Support additional proximity characters
...
Change-Id: Ifbe0d7e4eafea1926bbce968eae4724dd5769689
2012-02-02 16:07:16 +09:00
satok
1f6b52e76c
Implement multi words suggestions step1
...
Change-Id: I96e8e1b0d9ccc0ed13d53c40300d8c19bcb7af5b
2012-01-30 18:01:25 +09:00
satok
9955716d0b
Merge missing space and mistyped space correction algorithm
...
Change-Id: Idd64d38d3d29be24748f9c0359667883698a5756
2012-01-27 16:54:15 +09:00
satok
7409d151a1
Refactor words priority queue
...
Change-Id: I14b7ef39263ad2b1d5ec087bc80b7b8d7c30abe7
2012-01-26 16:13:25 +09:00
satok
61b31a646e
Merge "Do other error correction for the second word of two word correction"
2012-01-25 05:48:15 -08:00
satok
8330b488e9
Do other error correction for the second word of two word correction
...
result: I4e0b68a12190933f9
Change-Id: I98afce6fe4d5bde97392146d204370ba31a72566
2012-01-25 22:30:37 +09:00
Jean Chalard
0bfe359ee4
Add a test for auto-correction.
...
Fix two related subtle bugs:
- Stop singling out fat-finger-only corrections for rejection
when touch coordinates are not available.
- Remove a racy check that would happen only in debug mode
Change-Id: Ic904f9b27c091ca6b369052c4e65a630bff81257
2012-01-25 19:29:40 +09:00
satok
54af64ae92
Two words error correction with other error correction for the first word
...
+1 26
-1 5
+2 0
-2 0
+3 0
-3 0
+4 9
-4 25
+5 20
-5 21
+6 13
-6 6
+7 15
-7 26
Change-Id: Iad682d417a6bb42b11ca6e60157698ca66fef3ff
2012-01-19 19:17:29 +09:00
satok
29dc80614b
Prepair for advanced two words error correction
...
Change-Id: I4c8a21f0f6e349ddafd9b402583321a60855cfe8
2012-01-17 16:00:55 +09:00
satok
a161a4afd6
Use edit distance for transposing correction
...
+1 73
-1 4
+2 0
-2 0
+3 0
-3 0
+4 11
-4 19
+5 9
-5 3
+6 2
-6 63
+7 2
-7 8
Change-Id: I269cd2386f451f8932e4e0ae66223e794fdfa862
2012-01-17 13:14:35 +09:00
Jean Chalard
82ddd16889
Stop avoiding adding what the user typed to candidates
...
There does not seem to be any reason other than a historical
one to avoid doing this, but it takes processing power and
makes things more complicated.
This has a very limited impact on regression tests:
5 -> 3 [He, the]
5 -> 3 [An, an]
5 -> 3 [Where, where]
5 -> 3 [This, this]
7 -> 1 [wAtch, watch]
6 -> 4 [oveNs, oceans]
5 -> 1 [Ahere, Where]
7 -> 1 [Hast, Hast]
7 -> 5 [bjp, bill]
5 -> 1 [What, What]
5 -> 3 [Sound, So und]
7 -> 3 [causalities, casualties]
7 -> 3 [discontentment, discontent]
7 -> 3 [irregardless, regardless]
5 -> 1 : 2
5 -> 3 : 5
6 -> 4 : 1
7 -> 1 : 2
7 -> 3 : 3
7 -> 5 : 1
+1 4
-1 0
+2 0
-2 0
+3 8
-3 0
+4 1
-4 0
+5 1
-5 7
+6 0
-6 1
+7 0
-7 6
Change-Id: I6407cf922f27bbd3992df11d63690e71fc61111b
2012-01-16 18:58:10 +09:00
satok
6ad15fcd15
Store suggestions for each input length for missing space algorithm etc.
...
Change-Id: Ief8f6ddd29e043744863e5b9be3a51a70987291c
2012-01-16 17:11:17 +09:00
satok
9fb6f47a6a
New LOG lib
...
Change-Id: I977e7e10fa58c0a64ca0c3c7b5cb2272446e3efe
2012-01-13 18:04:15 +09:00
satok
b960477952
Use placement new to construct the queue
...
Change-Id: I455f9954165bd4524f2883db7ea24a6fed3015f9
2012-01-13 17:32:55 +09:00
satok
1a6da631ab
Prepare for proximity + two word correction No2
...
Change-Id: Idfa1413e853299f1db459ef07da3efa932047981
2011-12-19 17:12:20 +09:00
satok
a7e5a5a6b9
Add words priority queue pool
...
Change-Id: I152df7b876a1756b69ded2ca4fb3ee26b38c971f
2011-12-15 19:20:28 +09:00
satok
1147c7bac9
Unbundle members in unigram_dictionary
...
Change-Id: Id737d943d20e3de3db568162caf40d3e956c7fae
2011-12-14 19:45:51 +09:00
satok
16379df633
Use priority queue for native string buffer
...
+1 2
-6 2
Performance
before
==== test finished, terminate logcat =====
(0) 100.34 (0.26%)
(1) 37149.26 (95.30%)
(2) 8.43 (0.02%)
(3) 11.18 (0.03%)
(4) 9.92 (0.03%)
(5) 1330.60 (3.41%)
(6) 250.46 (0.64%)
(20) 12.41 (0.03%)
Total 38982.50 (sum of others 38872.59)
after
==== test finished, terminate logcat =====
(0) 97.65 (0.26%)
(1) 35427.43 (95.32%)
(2) 10.30 (0.03%)
(3) 8.95 (0.02%)
(4) 11.01 (0.03%)
(5) 1224.67 (3.30%)
(6) 243.76 (0.66%)
(20) 40.91 (0.11%)
Total 37167.04 (sum of others 37064.68)
Change-Id: Id4d3b88a9cdef765affc52973aeac951ecc6a8ca
2011-12-13 16:32:52 +09:00
Yusuke Nojima
a4c1f1c1fd
Calibrate the scores of the proximity chars according to the distances.
...
+1 75
-1 27
+2 0
-2 0
+3 0
-3 0
+4 30
-4 48
+5 37
-5 27
+6 4
-6 35
+7 9
-7 18
Change-Id: I3c6ab06a0084c18ab595147c36c2ff4b1e961a7b
2011-10-11 15:28:32 +09:00
Yusuke Nojima
afb9076503
Enable score calibration by touch coordinates
...
Result of diff.sh:
+1 3
-1 3
+2 0
-2 0
+3 0
-3 0
+4 1
-4 3
+5 3
-5 2
+6 3
-6 1
+7 1
-7 2
Change-Id: I41b803df23ac03e1fc81043df4e1e6a63c0afbb1
2011-10-05 18:11:42 +09:00
Yusuke Nojima
e4ba822cc6
Promote touches in hit box according to the distance from sweet spot
...
Change-Id: Ice0fd0514304a79aed67627c2ea3439bd5177de4
2011-10-05 17:33:43 +09:00
satok
eb050fc2dc
Demote words with a capitalized char
...
Bug: 5371514
+1 4
-1 2
+2 0
-2 0
+3 0
-3 0
+4 1
-4 3
+5 0
-5 12
+6 3
-6 3
+7 12
-7 0
Change-Id: I6b46e43f9059f1e8a1cc02a626ea6eb8f1f9924f
2011-10-03 20:11:06 +09:00
Yusuke Nojima
9ee8c9c45c
Calibrate score by touch coordinates
...
Change-Id: I9fc066eb1a455243536e72405922fcb7e26d7dc6
2011-09-30 18:08:28 +09:00
Yusuke Nojima
258bfe66e0
Classify touches into three types.
...
Change-Id: I7c1d42835e0c15d596a1b66d421b0aa514ec0890
2011-09-30 17:22:22 +09:00
Yusuke Nojima
6309593762
Fix a dangerous macro.
...
Change-Id: Idb5530ceb03c415e4ec002f8d2fbbec837b35636
2011-09-20 16:17:05 +09:00
satok
10266c09ec
Combine the skipped and transposed correction
...
bug: 4170136
Change-Id: I7b50b40478abf27f51ec5e001815ff4882f3e5e5
2011-08-23 23:40:29 +09:00
satok
bcac0e9e23
Improve fat finger correction.
...
Change-Id: I37ed0dc6956f7e6fab5dcfd0483ab5691cd819d4
2011-08-17 01:04:35 +09:00
satok
0cedd2bcc3
Combilne normal correction and skip correction
...
Change-Id: Ide868d977c0f35900340c7be1b71d572c69a8806
2011-08-15 17:13:39 +09:00
satok
635f68e822
Improve skip correction algorithm
...
Change-Id: Ife45e3886137d60a4e903d4c6f7a9ef20c7e705a
2011-08-11 12:55:26 +09:00
satok
0f6c8e8aeb
Move code related to ranking algorithm to correction_state.cpp
...
Change-Id: I52b34de45969fef82e46d9c10079c2d45e0b94eb
2011-08-03 20:34:19 +09:00
satok
827ced8486
Separate logging definitions in C
...
Change-Id: I1d79814d1fd74e92a280f355c535517618c51752
2011-07-14 09:01:09 +09:00
satok
787945bf1e
Fix build for profiling
...
Change-Id: I39cd0fa37fb738dcbbcf82839b6bb030e3af606b
2011-07-14 08:32:57 +09:00
satok
3e41c071e6
Merge "Add a flag for a profiling"
2011-07-12 23:27:51 -07:00
satok
20d9fdae3a
Add a flag for a profiling
...
Change-Id: Iae509a24fd0f0f416376c3f8051aa2eb92d48659
2011-07-13 15:21:10 +09:00
Jean Chalard
1059f27364
New dict format, step 7
...
This actually implements the new dictionary format, but does not
activate the implementation through #defines.
Bug: 4392433
Change-Id: I9b26b9bcb4b823a36e0984799b69730acfc6f7f3
2011-07-13 14:33:48 +09:00
satok
99c908a595
Tweak the demotion rate for the mistyped space correction
...
Bug: 4402942
Change-Id: I7f5412b9fd2f1506f529cff0c3399d748c6ece92
2011-05-24 14:31:06 +09:00
satok
bb68d80119
Tweak the demotion rate of mistyped space correction
...
Bug: 4402942
Change-Id: I6e0421dfa99e261c72a901c9699fec864ab4b3c5
2011-05-23 18:35:29 +09:00
satok
cbc66e0711
Promote a word with a missing space because the formula was changed by Ifa4338c5f4
...
Change-Id: Id4bc965aef387800facb64164d8c36a3bdd2fa07
2011-04-19 23:48:36 +09:00
satok
a4374d2eb7
Promote the correction of words with a missing space character
...
Change-Id: I37ba618b54f7115163a3e9c6c555485e7024dc92
2011-04-18 12:36:11 +09:00
satok
9d2a3020ba
Promote a word with a proximity character
...
Bug: 4293295
Change-Id: Ib0ec8aff087c71c4fbe983f3f5bc78e9c7868fd8
2011-04-14 20:30:25 +09:00
satok
72bc17ec9f
Promote a word with only one proximity character.
...
Bug: 4271049
Change-Id: I755986f582f43417fda6b117207530c519233baf
2011-04-13 19:11:13 +09:00
satok
dc5301e590
Change the formula of the missing character.
...
- Bug: 4271049
- Due to the result of the recent user study, a word with a missing character needs to be promoted a bit.
so I changed the formula from:
- freq * 70 * (n - 2) / (n - 1)
to:
- freq * 90 * (10n - 12) / (10n - 2)
Change-Id: Ibff72cbdb0f2d7b91460a06a0fd39a9f5749aa46
2011-04-13 10:44:18 +09:00