Commit graph

709 commits

Author SHA1 Message Date
Keisuke Kuroynagi
f0dc0b1b74 Give the best score to the most probable exact match.
Bug: 9490364
Change-Id: If7fe5da190516d4b5f7a41b752ef5960205a5899
2013-06-21 19:11:39 +09:00
Keisuke Kuroynagi
21dfdcdba8 Merge "Add ByteArrayUtils::readSignedInt24andAdvancePosition to read dynamic dictionaries." 2013-06-21 08:15:05 +00:00
Keisuke Kuroynagi
8a914a66e8 Add ByteArrayUtils::readSignedInt24andAdvancePosition to read dynamic dictionaries.
Bug: 6669677
Change-Id: I75eeedbb50868432f6a7ff5fa63624d03e788356
2013-06-21 12:58:18 +09:00
Keisuke Kuroynagi
09858cbde4 Change method name of getDepth and getTotalLength.
Change-Id: I4b3aa54e17d7de7c31f956dc9d59941d79856fd7
2013-06-20 20:55:23 +09:00
Keisuke Kuroynagi
ec7457eb7f Initialize inputStatusG at the constructor.
Bug: 9490519

Change-Id: I1806f765f7a0b5335df253b2618b40cfd17aab14
2013-06-19 22:20:25 +09:00
Keisuke Kuroynagi
2d3f2daf12 Check compound distance of node and prune useless node after creating new word.
Before:
136309.89 ms
After:
73133.95 ms

Bug: 8591918

Change-Id: If029b768e2b459c0e566188bcf425f71b2df866d
2013-06-18 17:07:23 +09:00
Keisuke Kuroynagi
6bfeeb8694 Support multi words input for gesture.
Bug: 8591918

Change-Id: I344f936907a385cc6c3c8a2215a6603938483401
2013-06-17 19:04:29 +09:00
Keisuke Kuroynagi
0052dbda76 Support keys that have uncommon width.
Bug: 8591918

Change-Id: I1e01e1560200333f9e35993af0aa7e5a17e6944f
2013-06-14 20:41:39 +09:00
Keisuke Kuroynagi
1ff81e8890 Use bloom filter in multi bigram map.
Evaluated with previous word "this".
without bloom filter (use only hash_map):
Total 147792.34 (sum of others 147771.57)
with bloom filter:
Total 145900.64 (sum of others 145874.30)
always read binary dictionary:
Total 148603.14 (sum of others 148579.90)

Bug: 8592527
Change-Id: I821dc39454543826adb73b9eeeef6408fad8ae28
2013-06-14 20:35:41 +09:00
Keisuke Kuroynagi
a71ed8caa2 Introduce BinaryDictionaryBigramsIterator to access bigrams attributes in binary dictionaries.
Bug: 6669677

Change-Id: Ifb1adebc5305a930c80396f6b4ec31d84400a9dc
2013-06-14 18:12:56 +09:00
Ken Wakasa
f473f4b1eb Remove unused macros in defines.h
bug: 8550444
Change-Id: I77ae6bd607032def05044e3045aa7cc3746b0a5b
2013-06-11 20:09:07 +09:00
Keisuke Kuroynagi
0b7cd6a0b2 Fix: Android.mk for autocorrection_threshold_utils.
Change-Id: I3ea0811ca7c2c1a88351ee2ba5cc13d7096865ba
2013-06-11 18:05:04 +09:00
Keisuke Kuroynagi
527c128309 Remove unused methods.
Bug: 8550444

Change-Id: Ie627084143846407ca36df82c2a7f904a0e6f49c
2013-06-11 17:04:40 +09:00
Keisuke Kuroynagi
bd0d1afdb2 Introduce BinaryDictionaryHeader to access binary dictionary header.
BinaryDictionaryHeader abstracts header structure and access header information via only its instance.

Bug: 6669677

Change-Id: Ib5ab0e8fef12265ddabc1d0165548b69953bba6a
2013-06-11 12:01:49 +09:00
Ken Wakasa
ad0c6d7b36 Cleanups in JNI related code
Removed the malloc version in binary dictionary support -- this has not
really been tested well so far, and the mmap version has been working pretty
well after all.

Several cosmetic fixes etc.

Change-Id: Iad0da58b300b769fb5946a3e73fc96f56215980e
2013-06-04 19:16:47 +09:00
Ken Wakasa
11dc3a371d Clean up macro variables
Change-Id: I0d9983c1a766b97182953328fa45f488e110bc01
2013-06-04 15:40:30 +09:00
Ken Wakasa
156d39303e Remove a bunch macros that are no longer used
bug: 8550444
Change-Id: Ib775c0bed27c499dc131c54dfaff34c5a8169276
2013-06-03 20:00:02 +09:00
Satoshi Kataoka
db0aa747be Merge "Purge WordsPriorityQueue" 2013-06-03 10:21:29 +00:00
Ken Wakasa
4caf594198 Follow up to I907150be994c4f9ffc030c063de521eeb177d3e1
Change-Id: I8779d397b0ebe2abbf7c3fbc1a79a1a0939c04f0
2013-06-03 19:14:02 +09:00
Satoshi Kataoka
04e37fb925 Purge WordsPriorityQueue
Change-Id: If14034c09d0dd335c84dd3a6ea2775655eefd38f
2013-06-03 19:04:37 +09:00
Satoshi Kataoka
cbb1ee485c Fix build
Change-Id: I907150be994c4f9ffc030c063de521eeb177d3e1
2013-06-03 18:59:45 +09:00
Satoshi Kataoka
dceebee4b8 Purge UnigramDictionary
Bug: 8550444
Change-Id: I899f3bdce977c521515e548ca0c4ee6d29d6450b
2013-06-03 18:54:03 +09:00
Satoshi Kataoka
6c4ad527dc Migrate used functions in UnigramDicitonary
Bug: 8550444
Change-Id: Ic1ed2d85537cd47cf18a8373203f331abb7508f6
2013-06-03 18:28:50 +09:00
Satoshi Kataoka
d858b5815f Move obsolete files to obsolete dir 2
Bug: 8550444
Change-Id: Ia83796d696e04f51adb39867dfd21d1ac993b63c
2013-06-03 17:42:27 +09:00
Satoshi Kataoka
e0bbb98d60 Fix build
Change-Id: I2a876df097d59324aeb58eb83698ec622ac6191b
2013-06-03 17:23:25 +09:00
Satoshi Kataoka
01cae939a9 Move obsolete files to obsolete dir
Bug: 8550444
Change-Id: Ie65eea25da4c41e1128d1d8d8643fb6afe8f41e4
2013-06-03 17:07:59 +09:00
Satoshi Kataoka
7c92b421ee Purge DicTraverseWrapper
bug: 8550444

Change-Id: Iad017e66ac579c6727b9f60ad9cda64e478200e5
2013-06-03 16:45:51 +09:00
Satoshi Kataoka
d18112046a Move bigram_dictionary
Change-Id: I2c243ac75bc02b912f6b0fabedd372148adf8076
2013-06-03 14:13:39 +09:00
Ken Wakasa
addea83bad Create "src/utils" directory
Change-Id: I0b7c51d181edc4786e343f7a953367b040ee6b66
2013-06-03 12:29:34 +09:00
Ken Wakasa
f497e1e5a0 Move suggest_options.h to suggest/core
Change-Id: Ie95872a4c90ee3089183c1ebafb67243bd2688a4
2013-06-03 11:45:06 +09:00
Keisuke Kuroyanagi
712fefd85f Merge "Use BinaryDictonaryInfo instead of raw pointers." 2013-06-03 00:51:44 +00:00
Keisuke Kuroyanagi
0ecfb94247 Use BinaryDictonaryInfo instead of raw pointers.
Bug: 6669677

Change-Id: I9792a872f1609de7c1ba0fc08d916047d6724c0b
2013-06-02 16:34:42 -07:00
Keisuke Kuroyanagi
88ad30f40b Move dictionary format independent probability calculation methods to ProbabilityUtils.
Bug: 6669677
Change-Id: Idc09a2fbb04e4d843e11313011178022177616aa
2013-06-01 14:08:20 -07:00
Ken Wakasa
464d3ba432 Move char_utils to the dictionary directory
Change-Id: Id397485407fe63600c9bb5c80d223042942b4d8a
2013-05-31 20:39:34 +09:00
Keisuke Kuroyanagi
f88f9dbbde Move "#define LOG_TAG" before include defines.h.
Change-Id: Iacd2c2ea3878ad2cde5df36b15e1359d10244f60
2013-05-30 22:26:21 -07:00
Ken Wakasa
a65c267b1f Move some dictionary related implementations to the dictionary directory
Change-Id: I6fe71a540ad91ca46755be234abc8894242e2413
2013-05-31 00:02:57 +09:00
Ken Wakasa
94da44e43e Move additional_proximity_chars to the layout directory
Change-Id: Ie892ea9f3199a66e9d62a92a0e1ab2dff62826c3
2013-05-30 20:12:47 +09:00
Ken Wakasa
29432f843a Create a new directory for layout-related implementations
Change-Id: Ia227bb296f20dab0dfc03dfcde3a06c624eca76c
2013-05-30 19:45:53 +09:00
Keisuke Kuroyanagi
338ef65077 Make DicTraverseSession having suggest options.
Change-Id: I2b802c06634e5226c763fd838f3fc0918fc4a161
2013-05-29 17:18:03 -07:00
Satoshi Kataoka
599d8778f4 Specify OOV for the OOV word correction
Bug: 9127749
Change-Id: I9ff0590428888afe57a009a1cbf8f008011b1544
2013-05-27 17:51:35 -07:00
Keisuke Kuroyanagi
50db5f0fff Passing options to native suggestion method.
Change-Id: I6da180cfa1b9e5aa39600e78e3bc41209a40f583
Signed-off-by: Keisuke Kuroyanagi <ksk@google.com>
2013-05-24 10:21:04 -07:00
Jean Chalard
03f8c6aed3 Be careful about the dictionary size in detection methods
Bug: 8857618
Change-Id: I29345ec96d53da601571ba73197a6485643a10a7
2013-05-08 18:55:18 +09:00
Keisuke Kuroynagi
a09f9709e0 Checking key edit distance of candidate words for gesture scoring.
bug: 8616704
Change-Id: I98c3248877b1e3e722a6c00a2851e543e5fcbe11
2013-05-07 19:47:20 +09:00
Satoshi Kataoka
5a346afab9 Fix exact match profanity
Bug: 8661070

This is a revival version of I421bed14cc71af771510142365

No diff in the test

Change-Id: I96bc9cec531682cce78bcf83223dcd2395b2be77
2013-05-07 15:52:38 +09:00
Ken Wakasa
c5a29fa864 Revert "Fix exact match profanity"
This reverts commit df2eae6e69

Change-Id: I42635cc09ad3ea4c177d02e0b7607fb7aa78506c
2013-05-02 14:21:29 +00:00
Satoshi Kataoka
df2eae6e69 Fix exact match profanity
Bug: 8661070
Change-Id: I421bed14cc71af7715101423652d706e33958445
2013-05-01 13:34:08 +09:00
Tom Ouyang
8da0c93292 Reduce MAX_NORM_DISTANCE_FOR_EDIT in typing model after recent logic improvements
After recent logic improvements we can now safely reduce MAX_NORM_DISTANCE_FOR_EDIT.
This leads to better regression test performance and faster runtime speed.

Bug: 8633962
Change-Id: Ie0db73680b32687ff4d8ea5dfae47dee5c7c66a3
2013-04-29 21:21:26 -07:00
Keisuke Kuroynagi
a107dcaeb6 Fix: Demote first char capitalized new words.
Bug: 8680578
Change-Id: I84bcdf3a20428c7561f600332bfef4685c72b67f
Signed-off-by: Keisuke Kuroynagi <ksk@google.com>
2013-04-30 11:28:18 +09:00
Tom Ouyang
9559dd2e30 Improve bigram frequency lookup
Bug: 8592527

Change-Id: I1908bcb552279b9acb140fe4d8d26b10ed9eda72
2013-04-26 12:22:23 -07:00
Ken Wakasa
dad23dda9d A small follow-up to I8d03bae3264974eff7b790e27c073b0a8758d17a
Change-Id: Id3727f075e74c0102edcb51eabcfdbef745b94b7
2013-04-27 00:24:34 +09:00
Ken Wakasa
866a6ced57 Just cosmetic cleanups
Change-Id: I3dc8a4bb3f89f4a18cfffd5f13a71503738452e6
2013-04-26 19:58:14 +09:00
Tom Ouyang
fd02ec10f0 Always consider corrections of intentional omissions (e.g., apostrophe)
Example: "thts" -> "that's"

Bug: 8721815
Change-Id: I8c1efbf651d2569ba3600516cc7447d46bf30fa4
2013-04-25 20:30:15 -07:00
Jean Chalard
99e998286d [ZF1] Check profanity in Java rather than in native
Bug: 7226877
Change-Id: Ib6c32bfee9977c27dbf7e1e590b2b00d9ceb7301
2013-04-25 20:29:11 +09:00
Keisuke Kuroynagi
60a169f0c3 Fix exact match checking for words with digraph.
Bug: 8624690
Change-Id: I8946d6618609c8e0cb638aa96992b51b435232c7
2013-04-25 16:47:52 +09:00
Keisuke Kuroynagi
911f326857 Fix proximity/edit correction detection that affects the terminal cost.
Bug: 8624690
Change-Id: If59305674a781e0fcc284d236e3d8ba9cdf9ed08
2013-04-24 20:21:18 +09:00
Tom Ouyang
f99f1a757b Merge "Check bigrams for lowercased previous word if original is not found" 2013-04-24 05:12:02 +00:00
Tom Ouyang
14aa8f1d32 Fix autocompletion lookahead handling
Bug: 8689370
Change-Id: I056b1788764bd5c4d8ad9da86e790562d2781f06
2013-04-22 19:36:14 -07:00
Tom Ouyang
5fa33a701d Check bigrams for lowercased previous word if original is not found
Bug: 8592527
Change-Id: I70c4b81263d8b2cb7050364c124589f66900cfce
2013-04-22 18:16:36 -07:00
Jean Chalard
c9688ef267 Fix a small bug
Tests results in Ibcd6c110f1d5582425f9592c42e31152131ef80c

Bug: 7226877
Change-Id: I8d03bae3264974eff7b790e27c073b0a8758d17a
2013-04-22 18:30:46 +09:00
Tom Ouyang
90cb956c4f Remove duplicate new-word bigram cost (part 1)
Removes a duplicate application of the new word bigram cost and updates only
the related parameters (those associated with multi-word suggestions).

Note: test results will improve after full optimization.

[Category diff]
+1     357
-1     485
+2      16
-2      20
+3      20
-3      16
+4     198
-4     226
+5     510
-5     443
+6     518
-6     368
+7     394
-7     455

[Weighted category diff]
+1     482
-1     532
+2      22
-2      22
+3      22
-3      22
+4     233
-4     381
+5     578
-5     500
+6     617
-6     498
+7     522
-7     521

Bug: 8633962
Change-Id: I3c3ecc9460e8e03e44925e11b2d4b037a6c3b99e
2013-04-17 19:25:48 -07:00
Tom Ouyang
3970352ea9 Make digraph lookups case insensitive
Example: Be able to gesture dictionary words that start with an upper-case
German umlaut (e.g., Übermensch).

Bug: 8493920
Change-Id: I3253bcd236d34c0af60116e5b41e359f2715bf97
2013-04-16 20:08:42 +09:00
Ken Wakasa
2dfaf7a4ac Update SORTED_CHAR_MAP
bug: 7873416
bug: 8493920

Change-Id: Ifddb04cad90da71df5d34dd7076850dbcf51fba4
2013-04-16 19:17:41 +09:00
Satoshi Kataoka
252412d7eb Use additional multi-word cost per language (for Russian)
Bug: 7540133
Change-Id: I7eb7b8399746c15452ed2ed5069955e88fb546d3
2013-04-16 16:42:36 +09:00
Satoshi Kataoka
837f46dcb3 Enable touch coordinate correction for new algorithm
Bug: 8505668

Change-Id: I07eb785c74c446777524104a3d2b61f0f591a498
2013-04-15 19:10:27 +09:00
Satoshi Kataoka
a94bb198cf fix assertion
Change-Id: I34ff470122aa0f34c66425d2eeae7590187d3074
2013-04-15 12:03:21 +09:00
Ken Wakasa
2daea19709 am 47bb8d7d: am 4fffa27d: Fix a native crash in AOSP LatinIME
* commit '47bb8d7d9cd2dcc8e80f90283e4d9b7d4f68e70b':
  Fix a native crash in AOSP LatinIME
2013-04-11 22:21:10 -07:00
Ken Wakasa
4fffa27d3f Fix a native crash in AOSP LatinIME
bug: 8597610

Change-Id: I585c629636a52a1ac45b8cc686bc94427bb601df
2013-04-12 12:53:28 +09:00
Satoshi Kataoka
8b3009ef48 add a debug flag to evaluate the most probable string
Change-Id: I34dc08c14feb9cbc0304c1d0ff06922e3b65819d
2013-04-11 11:08:12 +09:00
Tom Ouyang
fd9f3d97ae Add ability to handle digraphs in gesture and tap typing
Example: Gesture the German word "ueber" and the system will now replace
the transliteration "ue" with the correct u-umlaut.

Bug: 8493920
Change-Id: I03e1d6311b4187b6c7f802d8fef43a50eee12721
2013-04-10 22:52:49 +00:00
Tom Ouyang
25e8eda9af Add mechanism to handle digraphs in DicNode
This is needed to support for German umlaut handling for both gesture and typing input.

Bug: 8493920

Change-Id: I292e2a4911c54aa5566c38411016a220bb35a1f4
2013-04-10 14:35:49 -07:00
Keisuke Kuroynagi
87fdde6ec4 Typing double letters via a 'circle' on the key.
Bug: 8550980
Change-Id: I5e432dea0e025ccea196f80e90a6bf945488e130
2013-04-10 12:43:13 +09:00
Tom Ouyang
43779c04a9 Merge "Add method to get dictionary flags from DicTraverseSession" 2013-04-09 20:40:24 +00:00
Satoshi Kataoka
a1d84bcf8f Fix touch coordinate calibration
TRT: I3b5f3ed07eabc59306a17

Bug: 8505668
Change-Id: I574d25a4e9886c521f013f9a8ffc09cc145fc0fc
2013-04-09 17:51:53 +09:00
Tom Ouyang
ede2333640 Add method to get dictionary flags from DicTraverseSession
This is needed for the traversal algorithm to know which
digraphs (if any) are associated with the current dictionary.

Bug: 8493920

Change-Id: I6ae088b55e50c0c2c7066d045b304c5068e23390
2013-04-08 18:14:38 -07:00
Ken Wakasa
31f42ba0c2 Tiny clean up in Makefile
Change-Id: Iff6f363894f01a4c30c795fe88892c2bb8e0a856
2013-04-08 20:22:37 +09:00
Ken Wakasa
b68e734481 Cleanup the include paths
Change-Id: Ic93d39e230170cfc9f5be6d81d42006e1a61e347
2013-04-08 18:45:46 +09:00
Satoshi Kataoka
e320789a62 Suppress bigram native log
Change-Id: I0b3900e0a205b6925ab9a2be55d375f6b14c803c
2013-04-08 17:33:32 +09:00
Satoshi Kataoka
e67ede12ec Cleanup suggest interface
Change-Id: Ibe334a1d3ab3af69acfa64412c80f0ea24cd2c46
2013-04-08 12:54:04 +09:00
Tom Ouyang
08fd3d95d5 Merge "Add DigraphUtils class" 2013-04-05 03:08:59 +00:00
Tom Ouyang
2fdf5b70ad Add DigraphUtils class
Add a new DigraphUtils class to manage digraph handling for both
gesture and typing input.

Bug: 8493920
Change-Id: I3a509e1311b9039653f9f488d3c28bb54205f416
2013-04-04 19:56:04 -07:00
Ben Cheng
65534ffc4a am d0c383e1: am 5a4949c2: Merge "Force inlining Correction::isSingleQuote" into jb-mr2-dev
* commit 'd0c383e1473c1b302038f4145ba5192fd9af9a5f':
  Force inlining Correction::isSingleQuote
2013-04-04 12:20:25 -07:00
Ben Cheng
5a4949c28b Merge "Force inlining Correction::isSingleQuote" into jb-mr2-dev 2013-04-04 19:13:52 +00:00
Ben Cheng
c2fbd7c64d Force inlining Correction::isSingleQuote
Also, only apply -Winline with GCC 4.6. There are some copy constructors
that GCC 4.7/4.8 fail to inline.

Change-Id: I97906045224e89377e8ea6add07a79fa088648af
2013-04-04 11:26:04 -07:00
Tom Ouyang
609a871da6 Add flag to turn on new suggest implementation for typing
Bug: 8277656

Change-Id: I974f560050cc5339d110b97620df1c5b496977fe
2013-04-04 15:37:14 +09:00
Satoshi Kataoka
95fe826795 Move suggest logic to AOSP
Bug: 8197301

Change-Id: I2d0ffbbc9d4d57ebfc2fe43e6cb75e8b44dae466
2013-04-03 21:00:57 +09:00
Satoshi Kataoka
a6a4165196 Move typing policy to AOSP
Bug: 8197301
Change-Id: Ife9b41a465d7b8d707623a6d3e4c1c88c3c3c4ab
2013-04-02 16:53:53 +09:00
Satoshi Kataoka
3107b467c9 Move policy and session to AOSP
Bug: 8197301
Change-Id: I742ff0d939f9ad1ee2cd8b959b6c5ee2757fd177
2013-04-01 18:15:08 +09:00
Satoshi Kataoka
38c26dd0bf Move dicnode to AOSP
Bug: 8187060

Change-Id: I72398fa45b12683bd46d23c5ca69e6bcd5ca2b7e
2013-04-01 16:14:14 +09:00
Satoshi Kataoka
394b0bd345 Refactor
Change-Id: Ie50fdd1081d306e520300245498a605e79e03818
2013-03-29 18:49:50 +09:00
Tadashi G. Takaoka
ef86bbceae Add const_cast to live with host's jni.h
Bug: 7970626
Change-Id: I2fd09e16dd9df36eebca2d737a0b7cc3ddd1c862
2013-03-26 17:58:17 +09:00
Satoshi Kataoka
e0e6737373 Refactor parameters by naming convention
Change-Id: I8bda8075b33f656ecbec08320afcd864b620fe77
2013-03-18 15:42:15 +09:00
Satoshi Kataoka
cbb816d1b0 Refactor skippable code point
Change-Id: I5477b6e5d29d1f0b9c2fd5a495be77cf5f2fbaee
2013-03-13 19:04:16 +09:00
Satoshi Kataoka
f4425aaae9 Refactor ProximityType and CorrectionType
Bug: 8277656
Change-Id: Ia7940bbf81fcf4ff5eb7869b105d98aa34155d33
2013-03-07 13:23:02 +09:00
Tom Ouyang
2192d08b9c Remove unused scale parameter from getPointToKeyLength()
Change-Id: I7bbe1b68264a389923f8a19bb37646c8ab0cb46f
2013-03-06 18:30:43 -08:00
Ken Wakasa
042020b05f Make Cyrillic Hard Signs base letters of Soft Signs per cyrillic
keyboard layouts

bug: 8269407
Change-Id: I52962ef1b6cbec125f6cfd3afc110fcbb06409df
2013-03-05 20:09:02 +09:00
Satoshi Kataoka
830ba67498 refactor MAX_POINT_TO_KEY_LENGTH
Change-Id: I3b44068bce784531516f3cdfe67b3b46b1f1b805
2013-03-05 15:10:09 +09:00
Satoshi Kataoka
d870891170 Add CorrectionType
Change-Id: Ibbad8476be40e322cadfbf9636a13e575338ec1d
2013-03-04 17:47:47 +09:00
Satoshi Kataoka
697a9d3541 Cleanup getProximityType
Change-Id: I89c5871bbcf0fe3d5f50052e8f64932d8efbce94
2013-03-01 20:22:29 +09:00
Satoshi Kataoka
fd0e93295f rename define
Change-Id: I4767eff187c76541648cc066a88293e46a90f033
2013-03-01 19:05:04 +09:00
Satoshi Kataoka
a406f803bc add a default vaule for getMatchedProximityType
Change-Id: Id940f1226ca493d0a1b82e2810b1882184ef8987
2013-03-01 12:36:35 +09:00