Tag: tokenize

带有自定义标记器的Android MultiAutoCompleteTextView,如whatsapp GroupChat

我想为@w创建自定义标记器,就像whatspp一样(当打开组并编写@然后打开弹出列表,用户可以选择任何用户。也可以删除@的字符串。 我搜索了很多东西。但是我发现Twitter像搜索function, 例如twitter , 但在此,当用户可以写@时,不要显示列表的弹出窗口。 用户可以在@之后编写soemthing然后根据输入,弹出窗口将显示搜索结果。 我想展示这样的东西: 提前致谢。

用Java标记中缀字符串

我正在Java中实现Shunting Yard算法 ,作为我的AP计算机科学课程的一个副项目。 我在Javascript中实现了一个简单的算法,只有基本的算术表达式(加法,减法,乘法,除法,取幂)。 要将其拆分为数组,我所做的是找到每个运算符( +-*/^ ),以及数字和括号,然后在它们周围放置一个空格,然后将其拆分为数组。 例如,中缀字符串4+(3+2)将被制成4 + ( 3 + 2 ) ,然后在空格上分割。 但是,我觉得这种方法非常慢,当你开始添加正弦,余弦,正切,绝对值等数学函数时,它实现起来越来越难以实现。 将像sin(4+3)-8这样的字符串分成数组[“sin”,”(” 4,”+”,3,”)”,”-“,8]什么? 我可以使用正则表达式,但我并不是很了解它们,我正在努力学习它们,所以如果这对他们来说是最好的解决方案,请问回答者能解释它的作用吗?

Tokenize,使用Lucene和Java删除停用词

我试图用Lucene标记并删除txt文件中的停用词。 我有这个: public String removeStopWords(String string) throws IOException { Set stopWords = new HashSet(); stopWords.add(“a”); stopWords.add(“an”); stopWords.add(“I”); stopWords.add(“the”); TokenStream tokenStream = new StandardTokenizer(Version.LUCENE_43, new StringReader(string)); tokenStream = new StopFilter(Version.LUCENE_43, tokenStream, stopWords); StringBuilder sb = new StringBuilder(); CharTermAttribute token = tokenStream.getAttribute(CharTermAttribute.class); while (tokenStream.incrementToken()) { if (sb.length() > 0) { sb.append(” “); } sb.append(token.toString()); System.out.println(sb); } return […]

如何只标记Lucene中的某些单词

我正在将Lucene用于我的项目,我需要一个自定义分析器。 代码是: public class MyCommentAnalyzer extends Analyzer { @Override protected TokenStreamComponents createComponents( String fieldName, Reader reader ) { Tokenizer source = new StandardTokenizer( Version.LUCENE_48, reader ); TokenStream filter = new StandardFilter( Version.LUCENE_48, source ); filter = new StopFilter( Version.LUCENE_48, filter, StandardAnalyzer.STOP_WORDS_SET ); return new TokenStreamComponents( source, filter ); } } 我已经建成了它,但现在我无法继续下去。 我的需求是filter必须只选择某些单词。 与使用停用词相比,相反的过程:不要从词列表中删除,而只添加词汇表中的术语。 像一个预建的字典。 所以StopFilter没有填满目标。 […]

Java Lucene NGramTokenizer

我正在尝试将字符串标记为ngrams。 奇怪的是,在NGramTokenizer的文档中,我没有看到一个方法会返回被标记化的单个ngrams。 实际上我只在NGramTokenizer类中看到两个返回String Objects的方法。 这是我的代码: Reader reader = new StringReader(“This is a test string”); NGramTokenizer gramTokenizer = new NGramTokenizer(reader, 1, 3); 被标记化的ngrams在哪里? 如何在字符串/单词中获得输出? 我希望我的输出如下:这,是,a,测试,字符串,这是,是一个测试,测试字符串,这是一个测试,一个测试字符串。

如何使用Java的Scanner类和正则表达式来标记输入?

仅仅出于我自己的目的,我正在尝试在Java中构建一个tokenizer,我可以在其中定义一个常规语法并根据它来标记输入。 不推荐使用StringTokenizer类,我在Scanner中发现了一些暗示我想做的事情,但没有运气的函数。 有人知道这个问题的好方法吗?

Tokenizer,停止Word删除,用Java封装

我正在寻找一个类或方法,它需要长达100多个单词和标记的字符串,删除用于IR系统的停用词和词干。 例如: “那只肥胖的大猫,对’袋鼠’说’你最有趣的家伙’……” 标记器将删除标点符号并返回单词的ArrayList 停用词删除器会删除“the”,“to”等字样 词干将减少每个词的“根”,例如“最有趣”会变得有趣 提前谢谢了。