jjzjj

java - 从一个句子生成 N-gram

如何生成一个n-gram的字符串,如:StringInput="Thisismycar."我想用这个输入生成n-gram:InputNgramsize=3输出应该是:ThisismycarThisisismymycarThisismyismycar给出一些关于Java的想法,如何实现它或者是否有任何库可供它使用。我正在尝试使用thisNGramTokenizer但它给出了n-gram的字符序列,我想要n-gram的单词序列。 最佳答案 我相信这会做你想要的:importjava.util.*;publicclassTest{publ

java - 从一个句子生成 N-gram

如何生成一个n-gram的字符串,如:StringInput="Thisismycar."我想用这个输入生成n-gram:InputNgramsize=3输出应该是:ThisismycarThisisismymycarThisismyismycar给出一些关于Java的想法,如何实现它或者是否有任何库可供它使用。我正在尝试使用thisNGramTokenizer但它给出了n-gram的字符序列,我想要n-gram的单词序列。 最佳答案 我相信这会做你想要的:importjava.util.*;publicclassTest{publ

java - Android 和模糊匹配、n-gram 和 Levenshtein 距离

我正在构建一个Android应用程序,它接受一个字符串输入并使用GoogleAPI返回一个图书排名列表。我正在寻找一种方法来将用户输入的开放式字符串与列表中的第一项进行比较,以查看他们输入的内容是否“可能”是一本书。我有大量关于这本书、书名、作者、描述等的信息,所以我可以在任何部分进行搜索。一个例子是:'eyreaffairfforde','ffordeeyreaffair','theeyreaffair'---->'Likely'tobe'TheEyreAffairbyJasperFforde'解决此问题的最佳方法是什么?我看过levenshtein距离,但认为它不适用于这种开放式输

lucene - 单词共现 - 在一组 n-gram 中找到一个术语的共现

我将如何着手编写一个类似Java的同现类,它需要一个充满n-gram的文件并计算给定输入术语的词同现。是否有任何库或包可以与Lucene(索引)或类似Hadoop中n-gram列表的map-reduce一起工作?谢谢。 最佳答案 好吧,假设你想在一个ngram文件中找到两个不同单词的共现......这是伪代码式的Java://Co-occurrencematrixHashmap>map=newHashMap();//ListofngramsArrayList>ngrams=.....//assumewe'veloadedthemin

格拉姆--施密特(Gram-Schmidt)正交化方法笔记

    前段时间,身边的小伙伴问过我关于线性代数的一些知识,其中包含了特征向量的正交化的内容。遥想当初在学习线性代数的时候,只知道施密特正交化可以用来解决这个问题,但是老师猝不及防地甩过来一大段公式(可见下式),完全没讲怎么来的,并且这破公式好难记,着实困扰了我很长一段时间,直到最近上了《高等工程数学》的一堂课才有点理解它的由来。     为了简单起见,我们先看看只有a1,a2两个线性无关向量的情况,根据上面的公式可以得出        那这是怎么来的呢?首先第一个等式是比较符合常理的,主要是第二个的值如何取;我们要明白一定是要与垂直的,即满足两两正交,因此我们可以画一个图更直观地感受一下  

python - 如何将 n-grams 组合成 Spark 中的一个词汇表?

想知道是否有内置的Spark功能可以将1-、2-、n-gram特征组合到一个词汇表中。在NGram中设置n=2,然后调用CountVectorizer会生成仅包含2-gram的字典。我真正想要的是将所有频繁的1-gram、2-gram等组合到我的语料库的一个字典中。 最佳答案 您可以训练单独的NGram和CountVectorizer模型并使用VectorAssembler进行合并。frompyspark.ml.featureimportNGram,CountVectorizer,VectorAssemblerfrompyspark

python - 如何在 python nltk 中获取 n-gram 搭配和关联?

在thisdocumentation,有使用nltk.collocations.BigramAssocMeasures()、BigramCollocationFinder、nltk.collocations.TrigramAssocMeasures()和TrigramCollocationFinder.有基于pmi的bigram和trigram查找nbest的示例方法。示例:finder=BigramCollocationFinder.from_words(...nltk.corpus.genesis.words('english-web.txt'))>>>finder.nbest(b

python - 带有朴素贝叶斯分类器的 n-gram

我是python新手,需要帮助!我正在练习pythonNLTK文本分类。这是我正在练习的代码示例http://www.laurentluce.com/posts/twitter-sentiment-analysis-using-python-and-nltk/我试过这个fromnltkimportbigramsfromnltk.probabilityimportELEProbDist,FreqDistfromnltkimportNaiveBayesClassifierfromcollectionsimportdefaultdicttrain_samples={}withfile('po

python - 使用 scikit-learn 实现 skip gram?

有什么方法可以在scikit-learn库中实现skip-gram吗?我已经手动生成了一个包含n-skip-gram的列表,并将其作为CountVectorizer()方法的词汇表传递给skipgrams。不幸的是,它的预测性能很差:准确率只有63%。但是,我使用默认代码中的ngram_range(min,max)在CountVectorizer()上获得了77-80%的准确率。有没有更好的方法在scikitlearn中实现skip-grams?这是我的部分代码:corpus=GetCorpus()#Thisonegettextfromfileasalistvocabulary=lis

python - 在字符串列表中查找唯一 n-gram 的最小列表

我有一个50K的字符串列表(城市名称),我需要一个最小的字符三元组(最好是n-gram)列表,其中每个字符串至少被一个三元组命中一次。考虑以下列表:['阿姆斯特丹','鹿特丹','哈勒姆','乌得勒支','格罗宁根']识别三元组的列表是4长,应该是(可能的替代方案):['ter','haa','utr','gro']我认为我的解决方案找到了正确的正确答案,但在其他列表中使用时给出了错误的答案。fromcollectionsimportCounterdefidentifying_grams(list,n=3):deff7(seq):seen=set()seen_add=seen.addr