Commit graph

739 commits

Author SHA1 Message Date
Keisuke Kuroynagi
5ae8722bd5 Read version 3 dictionary header.
The header structure of version 3 dictionary is same as version 2.

Bug: 6669677
Change-Id: I26c8723333938fbf102de1a40f11d97444da9075
2013-07-03 17:10:48 +09:00
Keisuke Kuroynagi
07718a5e7d Merge "Fix: Reading invalid dictionary position." 2013-07-02 09:42:53 +00:00
Keisuke Kuroynagi
f6aa9e9a1d Fix: Reading invalid dictionary position.
Bug: 6669677

Change-Id: I3f4078aaa8cf72f3b366e7851457e9c753c0102f
2013-07-02 18:39:56 +09:00
Keisuke Kuroynagi
2164856205 Merge "Move children filtering methods to DicNodeChildrenFilter." 2013-07-02 09:35:06 +00:00
Jean Chalard
b6f5d3e39d Fix offdevice compilation
Change-Id: I8bccccbc51b308fddfbbc990f7bfe1c490259372
2013-07-02 15:19:16 +09:00
Jean Chalard
7eba0198c0 Dump binary dictionary information when opening
Bug: 9459517
Change-Id: I122583e734936ae0284e1c7500c6c9242bc7973b
2013-07-01 18:41:00 +09:00
Keisuke Kuroynagi
28ade0938e Merge "Remove format version 1 related logic." 2013-07-01 07:31:45 +00:00
Keisuke Kuroynagi
92db5e10b1 Remove format version 1 related logic.
Removed from DictionaryStructurePolicyFactory

Bug: 9617181
Change-Id: Ice4b4a24e019c88b0ec129dc69176c7541f8530c
2013-07-01 16:28:06 +09:00
Keisuke Kuroynagi
109ba3ace3 Merge "Regenerate old version dictionaries using new format." 2013-07-01 07:16:15 +00:00
Keisuke Kuroynagi
a62b5b22ef Regenerate old version dictionaries using new format.
Bug: 9617181
Change-Id: I228a3eac959f81b38e4092015e8e3c429d46fa60
2013-07-01 15:25:33 +09:00
Keisuke Kuroynagi
7a06a79287 Move children filtering methods to DicNodeChildrenFilter.
Bug: 6669677
Change-Id: If18055e2da8dd5d783942ba384d3ea1d97030e3a
2013-07-01 15:07:15 +09:00
Keisuke Kuroynagi
c5e6efafff Introduce patriciaTrie to abstract traversing version 2 dictionary.
Bug: 6669677
Change-Id: Ifef72f3d7a7ba67c5232b98c7835485d72d7322d
2013-06-28 19:47:00 +09:00
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
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