Commit Graph

813 Commits (42e0f1fcd56ca399022fa07744e412c96b885ef3)

Author SHA1 Message Date
Keisuke Kuroyanagi 6066069f35 Move initialization logic for from DicNode to DicNodeState.
Change-Id: Ic7075349e2e9c7f4ca707efa12ad1d24b49a2c87
2014-03-10 18:39:43 +09:00
Keisuke Kuroyanagi 258260bef2 Remove unused member of DicNodeStatePrevWord.
Change-Id: I265855da58e3a2e070e525e116ac0d18d1a10d18
2014-03-10 18:39:15 +09:00
Keisuke Kuroyanagi 632c9aca5b Improve DicNode handling.
- Stop creating useless DicNode and DicNodeVector.
- Remove useless virtual.
- Implement copy constructor and assignment operator of DicNodeState.
- Remove useless memset.

Before:
(0)  2266.21 (0.79%)
(1)  285422.05 (98.97%)
(2)  642.62 (0.22%)
(66)  0.19 (0.00%)
Total 288384.35 (sum of others 288331.07)

After:
(0)  2232.70 (0.86%)
(1)  255258.50 (98.89%)
(2)  585.73 (0.23%)
(66)  0.26 (0.00%)
Total 258126.46 (sum of others 258077.18)


Change-Id: I0bb1e9de8b38a6743a11aaeb2b17bd0da5b7ad34
2014-03-10 17:57:53 +09:00
Keisuke Kuroyanagi 87db47d175 Use emplace_back to push DicNode to vector.
Before:
(0)  2234.43 (0.71%)
(1)  310083.71 (99.07%)
(2)  626.88 (0.20%)
(66)  0.26 (0.00%)
Total 312995.33 (sum of others 312945.28)

After
(0)  2266.21 (0.79%)
(1)  285422.05 (98.97%)
(2)  642.62 (0.22%)
(66)  0.19 (0.00%)
Total 288384.35 (sum of others 288331.07)


Change-Id: I5ab98076c54d147ff7ec2a29280859f4558e24d0
2014-03-10 15:41:33 +09:00
Keisuke Kuroyanagi 66cc9dec55 Stop new BigramDictionary.
BigramDictionary is allocated inside of Dictionary.

Change-Id: If224b4c408403f43eb3d2e292c0e0ecb86429290
2014-03-10 05:42:36 +00:00
Keisuke Kuroyanagi e137ec0a91 Introduce SuggestionResults and use it for predictions.
Bug: 8187060
Bug: 13333066
Change-Id: I1ead897024508b7e40fbd93af7d14bfe74b93826
2014-03-07 19:36:19 +09:00
Keisuke Kuroyanagi c36c97b4f7 Merge "Use unique_ptr." 2014-03-07 09:06:58 +00:00
Ken Wakasa 6767f88e3c Address warnings pointed out by clang
Change-Id: I7943f6c7f9ba08f283a3116adc2af29495f04a21
2014-03-07 17:05:09 +09:00
Keisuke Kuroyanagi 4ce480d5ce Use unique_ptr.
Change-Id: Id92a5b07da4f7f95e2cd293ce8dc1a5f979b7853
2014-03-07 14:31:54 +09:00
Keisuke Kuroyanagi 865e6cf497 Revert "Revert "Use std::min() and std::max()""
This reverts commit f63000abea.

Change-Id: I6056d176a13c6ecad38e658ab8778bd898291d02
2014-03-07 14:19:56 +09:00
Keisuke Kuroyanagi a1e0ef4836 Fix: point to line segment distance can be NaN.
Change-Id: I7db6bfea925a0eda82bfb1f7b5e1110b193dabdb
2014-03-07 14:19:52 +09:00
Keisuke Kuroyanagi 3339224813 Merge "Use nullptr instead of 0 for pointers." 2014-03-07 03:56:56 +00:00
Ken Wakasa f63000abea Revert "Use std::min() and std::max()"
This somehow breaks TRT.

bug: 13350753

This reverts commit cf612a3abf.

Change-Id: I812f067e7cc8106b054527732dc6fe4efd7cc0fe
2014-03-07 02:30:18 +00:00
Keisuke Kuroyanagi 6c7ebc4023 Use nullptr instead of 0 for pointers.
Change-Id: Ic9425de07b896f940ca11c51968c637ebb897514
2014-03-07 10:04:44 +09:00
Ken Wakasa cf612a3abf Use std::min() and std::max()
Change-Id: I2992fa16692ace2a6febedc4393812faf763638f
2014-03-06 23:19:54 +09:00
Yohei Yukawa 72c362985c Use C++11 deleted functions to implement DISALLOW_ macros
With C++ deleted functions, compilers can generate more
descriptive error messages when we are doing something disallowed.

Change-Id: I48d23e5eced545732558e56f5ff9ff70c95a6ff0
2014-03-06 20:48:43 +09:00
Ken Wakasa ca0a0da864 Switch to C++11
Change-Id: Ib2970327c36422d7b11103d52ba7e9e52db5554f
2014-03-06 20:32:20 +09:00
Keisuke Kuroyanagi 9fd50e34a8 Fix: Bug of I39e905b6ddfc8d3.
primaryKey have to be the first elemnet of the proximities.

Bug: 13315755
Change-Id: I6c94408a2ef2750fa85ff12b93bed8b8d874717e
2014-03-06 18:25:15 +09:00
Keisuke Kuroyanagi 2c7e97dcdd Merge "Create suggest/core/result directory." 2014-03-06 07:32:19 +00:00
Keisuke Kuroyanagi fb1588dd3c Create suggest/core/result directory.
Bug: 8187060
Bug: 13333066
Change-Id: I185c93bd4542d997be101b61561a00d69111c00d
2014-03-06 14:35:47 +09:00
Keisuke Kuroyanagi a84f7848d8 Merge "Fix: The top left key is a proximity of nonexistent keys." 2014-03-05 10:27:27 +00:00
Keisuke Kuroyanagi 6501255111 Fix: The top left key is a proximity of nonexistent keys.
Bug: 13315755
Change-Id: I39e905b6ddfc8d3510c408a3bea853390a75d088
2014-03-05 19:06:18 +09:00
Keisuke Kuroyanagi e784148ae6 Separate utility methods from BinaryDictionary.
Bug: 8187060
Change-Id: Ice2984e332b7bd3bb17174aefc80b5635b72fc50
2014-03-05 18:19:34 +09:00
Keisuke Kuroyanagi 9e51c6c0c6 Separate utility methods from BinaryDictionary in native code.
Bug: 8187060
Change-Id: I099de557d2aaee95c6b809450108139550e9b0aa
2014-03-05 12:49:04 +09:00
Keisuke Kuroyanagi 5128935ac4 Add header attributes for evaluation.
Bug: 13197276
Change-Id: Ib5247da691ff24a73e13485288237ccc51bb54f0
2014-02-28 21:06:03 +09:00
Keisuke Kuroyanagi 3d70932857 Use MAX_PROBABILITY for the limit of probabilities.
Bug: 13197276
Change-Id: Ic3f855e566603b395395dff1f860f3d76ecb019c
2014-02-26 20:48:53 +09:00
Keisuke Kuroyanagi 7919a594fc Merge "Create more aggressive probability tables." 2014-02-26 11:18:44 +00:00
Keisuke Kuroyanagi b368089dbf Stop dividing unigram probability by 2 for backoff.
Bug: 13197276
Change-Id: I8eaa24b6f710383a8d257e3ec28c37a1a1da8e31
2014-02-26 19:40:18 +09:00
Keisuke Kuroyanagi 70566266be Create more aggressive probability tables.
Bug: 13197276

Change-Id: I1451dcbe61088d7301bbef5ceedc72f5649e6764
2014-02-26 19:36:57 +09:00
Keisuke Kuroyanagi 2b27e06733 Merge "Read and write forgetting curve header attributes." 2014-02-26 09:06:56 +00:00
Keisuke Kuroyanagi 6112cc26a7 Read and write forgetting curve header attributes.
Bug: 13197276
Change-Id: I6c38a127e1745903594b7bf0ec80ef179e794feb
2014-02-26 18:04:12 +09:00
Keisuke Kuroyanagi 94080a37e8 Merge "Check header attributes for forgetting curve." 2014-02-26 08:58:48 +00:00
Keisuke Kuroyanagi 57816c7a8b Check header attributes for forgetting curve.
Bug: 13197276
Change-Id: Ib360010f309fd1ed3e81cf23aa10c1cfe82781a6
2014-02-26 17:41:31 +09:00
Keisuke Kuroyanagi 7b496a5861 Add boundary check for ver4 bigram/shortcut reading.
Bug: 13185316
Change-Id: I5236222e2a5acda69821062a140c9e36a3024bd2
2014-02-26 14:03:24 +09:00
Keisuke Kuroyanagi 33e38096ad Fix: -1 can be used as a code point of most probable string.
Bug: 11797518
Change-Id: Id2e8bce92d000f39d506af7cb844447696bcc019
2014-02-24 20:40:16 +09:00
Keisuke Kuroyanagi d934fb43ad Remove corrupted ver4 dictionaries.
Bug: 12916055
Change-Id: I2c390ab1dc483915691b47a605772cbc2dfeaf09
2014-02-21 15:09:37 +09:00
Keisuke Kuroyanagi be81b75dec Add boundary check for ver2 dict reading.
Bug: 12916055
Change-Id: I78ad1f98a5401f920dcfc3379aa431eb2311ae02
2014-02-21 13:26:01 +09:00
Keisuke Kuroyanagi b96012acef Record reading error during traversing dictionaries.
Bug: 12916055
Change-Id: I439f21aa87cfa1f71e0354370a1514af03d68f6c
2014-02-20 19:12:32 +09:00
Keisuke Kuroyanagi 303e767728 Fix: crash when opening a broken dictionary.
Bug: 13085169
Change-Id: Icfb6184dfefc6a336432203c071d9e30ae8bf990
2014-02-19 22:11:09 +09:00
Keisuke Kuroyanagi f2a6f2db3e Merge "Fix: using wrong method to call ArrayList.add." 2014-02-19 02:27:33 +00:00
Keisuke Kuroyanagi 14fe931362 Fix: using wrong method to call ArrayList.add.
bug: 13072808
Change-Id: I60dc5ae1e535f2f0b3784a12c40ac082560a436f
2014-02-19 11:24:39 +09:00
Ken Wakasa 7e79814aa3 Fix wrong Java method call function
bug: 13072808

Change-Id: I189fda85b59ce40e3657bfbbcc313e7e1225a0da
2014-02-18 23:40:24 +09:00
Jean Chalard 2046bd6b85 Merge "Make dotted i the base character of dotless i." 2014-02-17 09:44:17 +00:00
Jean Chalard 220dc2d7a8 Make dotted i the base character of dotless i.
This is already the case for the capital version, and natives
Turkish speakers seem to think it should be the case. An
important reason to make it so is that the Turkish keyboard
has only the dotless i as a "more keys" key, so it's really
hard to type words with a dotless i without this, especially
those with several of them.

Bug: 11519119
Change-Id: I4df2a289783e4eb3c1291b8ad0a2ba5947bf7671
2014-02-17 18:24:28 +09:00
Keisuke Kuroyanagi 0fc93fe445 Implement PatriciaTriePolicy::getNextWordAndNextToken().
Bug: 12810574
Change-Id: Id1d44f90de9455d9cbe7b6e0a161cae91d6d422c
2014-02-15 17:39:20 +09:00
Keisuke Kuroyanagi 8fa7a09f1e Merge "Implement PatriciaTriePolicy::getWordProperty()." 2014-02-14 09:08:09 +00:00
Keisuke Kuroyanagi c63d183473 Implement PatriciaTriePolicy::getWordProperty().
Bug: 12810574
Change-Id: I7bcccfd3641ebbcf2b8d857d33bb4734c42af5eb
2014-02-14 17:56:45 +09:00
Keisuke Kuroyanagi 6890246259 Fix reading uninitialized memory in BloomFilter.
Bug: 12967899

Change-Id: I180b9d728c887c480b6d956bbc4599079c1c359f
2014-02-14 12:37:03 +09:00
Keisuke Kuroyanagi a000a32c80 Fix reading uninitialized memory.
Bug: 12967899

Change-Id: Ia17e4ca9dd8c1e0b24b0fb7e73d07b97c5d81c0c
2014-02-13 21:18:02 +09:00
Keisuke Kuroyanagi be61170588 Create Ver2PtNodeArrayReader.
Bug: 12810574
Change-Id: I7708d24d735680b2fe9e6700316076018e88c98d
2014-02-10 21:09:55 +09:00
Keisuke Kuroyanagi cf2b075146 Stop passing buffer directly to DynamicPtReadingHelper.
Bug: 12810574
Change-Id: I656d99f504d8cf4e057080713b174943afd9dd4c
2014-02-10 21:06:09 +09:00
Keisuke Kuroyanagi 1e2752924d Create Ver2ParticiaTrieNodeReader.
Bug: 12810574

Change-Id: I7d3298b5f419d557755ae433c8b8cc0d145f4cc3
2014-02-10 21:06:09 +09:00
Keisuke Kuroyanagi 1d6afa179c Refactoring: extract PtNode array reading logic form helper.
Bug: 12810574
Change-Id: I2d2660871862f11630c3ad7bf04bb49ade57c1e7
2014-02-10 21:06:07 +09:00
Keisuke Kuroyanagi fc9ca59cc1 Implement getHeaderInfoNative.
Bug: 11281877
Bug: 12810574
Change-Id: Ia3d85ae2cfdb486e74b8636a62431eae883c85da
2014-02-06 18:19:42 +09:00
Jean Chalard 43cf9076b2 [HD04] Make the locale mandatory.
Bug: 11281748
Change-Id: I69281b0053bec404c3e3c713ade3f65a140f51b1
2014-02-05 17:35:25 +09:00
Keisuke Kuroyanagi c488048634 Merge "Check isEligibleForAutoCommit when batch input is ended." 2014-02-05 03:34:46 +00:00
Keisuke Kuroyanagi 8c5c01e981 Check isEligibleForAutoCommit when batch input is ended.
Bug: 11951198
Change-Id: Ibbe09fa38eaa3ebf8f9b69f744a29db7ac598975
2014-02-05 11:40:17 +09:00
Keisuke Kuroyanagi ad37cddd79 Merge "Add jni interface to get header information from native." 2014-02-04 12:52:50 +00:00
Keisuke Kuroyanagi 927aff72bc Add jni interface to get header information from native.
Bug: 12810574
Change-Id: I2508483bcb3157f04cc1fe13f24f864d301f1f28
2014-02-04 21:42:09 +09:00
Keisuke Kuroyanagi 1d3058daa1 Merge "Don't boost exact matches for personalized dicts." 2014-02-04 09:13:48 +00:00
Keisuke Kuroyanagi 54622d38c2 Don't boost exact matches for personalized dicts.
Bug: 12800726
Change-Id: Ia3a2f82db6cdc9645cad0e329c0b79328d7452cc
2014-02-04 17:47:14 +09:00
Keisuke Kuroyanagi 941734695b Implement Ver4PatriciaTriePolicy::getNextWordAndNextToken.
Bug: 12810574
Change-Id: Idea44f03c477964f58e65fbf2b55e3fcd77a2934
2014-02-04 12:42:14 +09:00
Keisuke Kuroyanagi 38f341a2a5 Add a jni method to iterate words in a dictionary.
Bug: 12810574
Change-Id: I87b13559765f0262dfd06c2ba40d43af6437ea7f
2014-02-03 14:51:58 +09:00
Keisuke Kuroyanagi 9221772ab7 Get bigram information via getWordProperty().
Bug: 12810574
Change-Id: I2750a5659ccbc3e31307c28e35dd9a1dbdffbeee
2014-02-03 11:47:26 +09:00
Keisuke Kuroyanagi 94d9a2309f Extend jni interface to get bigrams in WordProperty.
Bug: 12810574
Change-Id: Ia4b88d02ea8790a5c47d32376cc0b84c3e071ddd
2014-01-31 20:32:44 +09:00
Keisuke Kuroyanagi 17e7768a3e Fetch bigram information in getWordProperty().
Bug: 12810574
Change-Id: Ic67e964b01c2753f2eec82b079dc0e5650f340bb
2014-01-31 20:24:23 +09:00
Keisuke Kuroyanagi 20b7786ece Add BigramProperty and ShortcutProperty in WordProperty.
Bug: 12810574
Change-Id: Ia9e497c49bb2cf10897bae3a79317113325db819
2014-01-31 15:26:43 +09:00
Jean Chalard b0df28f4cc Merge "[HD02] Make the date header attribute mandatory." 2014-01-31 03:58:55 +00:00
Keisuke Kuroyanagi 748f32feba Merge "Rename UnigramProperty to WordProperty." 2014-01-31 03:06:44 +00:00
Keisuke Kuroyanagi e9085da8cb Merge "Simplify UnigramProperty." 2014-01-31 03:06:33 +00:00
Keisuke Kuroyanagi 080a35e959 Rename UnigramProperty to WordProperty.
Bug: 12810574
Change-Id: If5ddd803948aaf6e491ddcbaa5436fb3af3f7257
2014-01-31 11:06:42 +09:00
Jean Chalard a137c21c9c [HD02] Make the date header attribute mandatory.
Bug: 11281748
Change-Id: I48a6f3d95ca89ced0c51335527201ecabfb7998e
2014-01-30 18:19:21 +09:00
Keisuke Kuroyanagi 5f7f6a1615 Simplify UnigramProperty.
Bug: 12810574
Change-Id: I606f559b5dd340b7525280ecead2c2c7ec920a78
2014-01-30 17:10:23 +09:00
Jean Chalard 324adefca3 [HD01] Small initial refactoring
Bug: 11281748
Change-Id: I3c64c75ecd17729bdacf03048311d76ca9f37ae2
2014-01-30 17:08:13 +09:00
Keisuke Kuroyanagi 21e2380234 Improve the double letter word promotion logic.
The old logic only checks the top 3 suggestions before the
final adjustment. It leads to instability in scores.

Bug: 10700674
Change-Id: I986aed2aefd66c1fba6196a8f100fcb5bc838a38
2014-01-28 16:33:20 +09:00
Keisuke Kuroyanagi 51c5ec10f9 Add length check for dict update operations.
Bug: 12602903
Change-Id: I6835dee8bf8b356f0f1cf6c0531bee5b3415a13f
2014-01-24 16:32:42 -08:00
Keisuke Kuroyanagi 3e0777e726 Use memmove for all place src and dest can be same.
Change-Id: I03e5c8f95cb22c7096ff545f1181f914b80a6c58
2014-01-20 11:27:01 -08:00
Keisuke Kuroyanagi d78a447d10 Add a dedicated method to control time in native code.
Bug: 12443085
Change-Id: I41a5cf6c895cb59e54af98b40efded36afcd3247
2014-01-15 14:55:57 -08:00
Tadashi G. Takaoka 20a8a4a3d9 Fix native method signature
Change-Id: Ia2d566f162f746c6b2b2b874f7278d86abd9e839
2014-01-15 18:56:40 +09:00
Keisuke Kuroyanagi 9638693479 Fix native crash in BigramDictionary::addWordBigram()
Bug: 12479653
Change-Id: I7d263f744f711202000524a47769dc2d3d0e0de6
2014-01-14 18:51:49 -08:00
Keisuke Kuroyanagi 84c52a3c81 Boundary check for ProximityInfoState::getProximityTypeG().
Bug: 12481052
Change-Id: Ic0b64d2fa17eb8f65f3ad1a7b468cdf6dddf7e70
2014-01-10 20:15:36 +09:00
Keisuke Kuroyanagi 05113c1847 Check whether the word is OOV or not for amanatto update.
Bug: 11736529
Change-Id: I27973212da7e922b2185dbb4febfb5bb4dfbdcbb
2014-01-08 21:02:35 +09:00
Keisuke Kuroyanagi b68dd6cd0b Merge "Differentiate exact matches' minor errors." 2013-12-19 04:14:11 +00:00
Keisuke Kuroyanagi afa6c07d30 Differentiate exact matches' minor errors.
Bug: 8844931
Change-Id: I06754643188ccd28ba8c873878f7761787d91ff6
2013-12-19 12:37:56 +09:00
Ken Wakasa abe3a35abf Add C++ compiler warning options
Change-Id: I0d79d450c5cca887d02a1087128c1d3eb0bf0b7f
2013-12-19 00:12:01 +09:00
Keisuke Kuroyanagi d8f35f7b4c Move methods for outputting from Suggest.
Bug: 8844931
Change-Id: I83dde6c37b75ed1e1ae4e0972e169d30ada8faf5
2013-12-18 16:47:23 +09:00
Keisuke Kuroyanagi 9ee9095528 Move methods for scoring from Traversal to Scoring.
Bug: 8844931

Change-Id: I6137d06e597f4e7b81aaf29555199e18984f2c39
2013-12-18 07:13:44 +00:00
Keisuke Kuroyanagi d5f5dd74c2 Quit suggest words that do not include proximity chars.
Bug: 10416722

Change-Id: I74d27c6a22b4ca47d02eb238b2fbcc49f5dee99c
2013-12-18 14:31:10 +09:00
Keisuke Kuroyanagi b5215d456a Increment version number of ver4 format to 401.
Bug: 11073222
Change-Id: I3878aef02040b1ef73165645fc70ede586289c51
2013-12-16 23:02:54 +09:00
Keisuke Kuroyanagi 9b08a9e611 Fix: incompatibility of sparse table.
Bug: 11073222
Change-Id: Id17178efd8f9f3828d821cc718d35606e8bd4b1a
2013-12-16 22:46:29 +09:00
Keisuke Kuroyanagi c1163c8518 Align block sizes for ver4 format to java side.
Bug: 11073222
Change-Id: I09646cbc81529576d5e34dcfa7bc29083a64076f
2013-12-16 20:42:32 +09:00
Jean Chalard a245d15da5 Have dicttool use the native library to generate v4 dicts.
Yay !

Change-Id: Iea8ced9e81031b9ab7eff05ad9ef7215be248de9
2013-12-13 18:18:20 +09:00
Ken Wakasa 2fa3693c26 Reset to 9bd6dac470
The bulk merge from -bayo to klp-dev should not have been merged to master.

Change-Id: I527a03a76f5247e4939a672f27c314dc11cbb854
2013-12-13 17:13:32 +09:00
Keisuke Kuroyanagi 6bc5acaa79 Fix: Suggested words from user history are invalid.
- Suggestions form user history can contain invalid words.
- isValidWord always returns false.

Bug: 11139426
Change-Id: I6075b275603332ddb00f4a9284afcaa82d824270
2013-10-22 05:23:48 -07:00
Keisuke Kuroyanagi 6d91e4ce74 Fix offdevice test build.
Change-Id: I42143bdc4f6f5aa4f55530de84819ab722a22f72
2013-10-08 16:05:42 +09:00
Keisuke Kuroyanagi 6d3d53955e Merge "Fix a bug: wrong parent position is written when moving." 2013-10-08 04:48:53 +00:00
Keisuke Kuroyanagi 802e6383ea Fix a bug: wrong parent position is written when moving.
Change-Id: I93d33ba9105eb85327108cca5706d8db3399de6a
2013-10-08 12:44:00 +09:00
Jean Chalard 86f7711407 Merge "Don't auto-correct to non-whitelist shortcuts" 2013-10-07 10:04:18 +00:00
Jean Chalard f309f2288b Don't auto-correct to non-whitelist shortcuts
Bug: 11076722
Change-Id: I0de10ab24d33ec31f45664fe92d80d5a7bec9c20
2013-10-07 19:01:57 +09:00
Keisuke Kuroyanagi cfb018ba6d Fix bug and Add large test for decaying dictionary.
- GC gets failure when the dictionary become empty.
- Useless unigrams are sometimes not removed.

Bug: 10197478
Change-Id: I8d1479c01efba61a81f03bc077da6bcb4797a940
2013-10-07 17:31:01 +09:00