[ 
https://issues.apache.org/jira/browse/HIVE-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899624#action_12899624
 ] 

John Sichi commented on HIVE-1518:
----------------------------------

Now there are a bunch of redundant casts remaining, e.g.

+      Double myval = (Double) ngrams.get(mykey);
+        Text word = (Text) other.get(i+j);

For cases like this, you can avoid the cast by keeping around the originally 
typed object:

+        ((ArrayList<Text>) curGram[0]).add(new Text(key.get(j)));

And for the Comparator, you can use 
Comparator<Map.Entry<ArrayList<String>,Double>> to make it fully strongly typed 
and avoid casts.


> context_ngrams() UDAF for estimating top-k contextual n-grams
> -------------------------------------------------------------
>
>                 Key: HIVE-1518
>                 URL: https://issues.apache.org/jira/browse/HIVE-1518
>             Project: Hadoop Hive
>          Issue Type: New Feature
>          Components: Query Processor
>    Affects Versions: 0.6.0
>            Reporter: Mayank Lahiri
>            Assignee: Mayank Lahiri
>             Fix For: 0.7.0
>
>         Attachments: HIVE-1518.1.patch, HIVE-1518.2.patch, HIVE-1518.3.patch
>
>
> Create a new context_ngrams() function that generalizes the ngrams() UDAF to 
> allow the user to specify context around n-grams. The analogy is 
> "fill-in-the-blanks", and is best illustrated with an example:
> SELECT context_ngrams(sentences(tweets), array("i", "love", null), 300) FROM 
> twitter;
> will estimate the top-300 words that follow the phrase "i love" in a database 
> of tweets. The position of the null(s) specifies where to generate the n-gram 
> from, and can be placed anywhere. For example:
> SELECT context_ngrams(sentences(tweets), array("i", "love", null, "but", 
> "hate", null), 300) FROM twitter;
> will estimate the top-300 word-pairs that fill in the blanks specified by 
> null.
> POSSIBLE USES:
> 1. Pre-computing search lookaheads
> 2. Sentiment analysis for products or entities -- e.g., querying with context 
> = array("twitter", "is", null)
> 3. Navigation path analysis in URL databases

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to