Commit graph

447 commits

Author SHA1 Message Date
Keisuke Kuroynagi
d9e08beebf Merge "Add DictionaryStructure as a policy." 2013-06-27 03:58:03 +00:00
Keisuke Kuroynagi
68e7edfd99 Use NOT_A_DICT_POS instead of 0 to express not valid ditctionary position.
Bug: 6669677
Change-Id: I4bf2284f8221a0a2ae4534b4a06b0e59c420a5f9
2013-06-27 12:53:31 +09:00
Keisuke Kuroynagi
e394abab60 Add DictionaryStructure as a policy.
Bug: 6669677
Change-Id: I4cc53e623824e57c1e9a351eb0befe9ee988706f
2013-06-27 12:33:25 +09:00
Keisuke Kuroynagi
c96b56a5ec Merge "Reduce the number of arguments required to initialize dic_node." 2013-06-27 03:30:48 +00:00
Ken Wakasa
c445369732 Fix class names
Change-Id: Ib3e15bdf46585976aa5b42132805754fc2e2908b
2013-06-26 23:06:14 +09:00
Keisuke Kuroynagi
6379a4de29 Reduce the number of arguments required to initialize dic_node.
Bug: 6669677

Change-Id: I52249b83f72560d8f5ab028da5cfb5c50f6e40b8
2013-06-26 20:55:14 +09:00
Keisuke Kuroynagi
c0d7a376e2 Merge "Move shortcut reading methods." 2013-06-26 05:44:56 +00:00
Keisuke Kuroynagi
5ac44bdc2a Move shortcut reading methods.
Moved form BinaryFormat to BinaryDictionaryTerminalAttributesReadingUtils.

Bug: 6669677

Change-Id: Ia1ab25854effbf61df37837fe26755ac7dc4d020
2013-06-26 14:41:22 +09:00
Keisuke Kuroynagi
5bf1be7162 Add jni methods for dynamically handling a dictionary.
Bug: 6669677
Change-Id: I8a26623adbb41a78e3c023c652be635c635e3b47
2013-06-26 12:51:33 +09:00
Keisuke Kuroynagi
3b33656ce3 Add canBeDynamicallyUpdated() in BinaryDictionaryInfo.
Bug: 6669677
Change-Id: I7391641253b99bfcb1f9380ebee2037015e7dc14
2013-06-25 16:03:33 +09:00
Keisuke Kuroynagi
f3b62900c7 Allow mmapping dictionary file in writable mode in openNative.
Bug: 6669677
Change-Id: I447668932de118b158fa029ddc977b3f3cc06cb8
2013-06-25 16:03:33 +09:00
Keisuke Kuroynagi
46159d5422 Move file and mmap information form Dictionary to BinaryDictionaryInfo.
Bug: 6669677
Change-Id: I05d435e0884430f8abbbed6ea2df775005ee8622
2013-06-25 16:03:30 +09:00
Keisuke Kuroynagi
80a4b7c92e Merge "Extend center point vertically for bottom keys on a keyboard." 2013-06-24 03:26:55 +00:00
Keisuke Kuroynagi
77ec8713ce Extend center point vertically for bottom keys on a keyboard.
Bug: 9505397
Change-Id: Ic415ac4065d23cb832dd3bb85876e2a4dc9e9fc3
2013-06-24 11:58:56 +09:00
Keisuke Kuroynagi
940cca4fa9 Merge "Check adjacent proximity chars for insertion for typing" 2013-06-24 00:52:02 +00:00
Keisuke Kuroynagi
af9d92f590 Rename BinaryDictionaryBigramsReadingUtils to BinaryDictionaryTerminalAttributesReadingUtils and remanme the class methods
Bug: 6669677
Change-Id: I960dcf51a950ead2c3d7b9dedcde0a450569cbe9
2013-06-24 09:42:37 +09:00
Keisuke Kuroynagi
be2a172d4e Merge "Give the best score to the most probable exact match." 2013-06-24 00:28:02 +00:00
Keisuke Kuroynagi
24706f8f5c Check adjacent proximity chars for insertion for typing
Change-Id: I6ce1b065bba055516fca0c8af6f14853a111aa68
2013-06-24 09:25:46 +09:00
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
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
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
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