精华内容
下载资源
问答
  • 跟随主5年多来,经常听道一些看起来差不多意思的词,但是若是用圣经标准来衡量,差之毫厘、谬以千里。以前记过一些,但是不知道记在哪儿了,今天有点感动,就记在这里吧。 快乐≠喜乐生活≠生命统一≠合一...

    跟随主5年多来,经常听道一些看起来差不多意思的词,但是若是用圣经的标准来衡量,差之毫厘、谬以千里。以前记过一些,但是不知道记在哪儿了,今天有点感动,就记在这里吧。

    • 快乐≠喜乐
    • 生活≠生命
    • 统一≠合一
    • 谦卑≠自卑
    • 做事≠服事
    • 公平≠公义
    • 动机≠目的【所有事情的动机在于爱神、荣耀神,目的是为了事奉祂】
    • 免费≠廉价【主耶稣的救恩是免费的,白白给我的,但是不是廉价的,是用重价的宝血将我从魔鬼那里赎回。人世间最宝贵的东西一定是免费的(阳光、空气、父母对我们的爱,最最宝贵的是主耶稣对我们的爱)】

    展开全文
  • ikanalyzersearch
  • 以金山词霸为样本,为模板,以实现它基本功能为目标JList同步显示词典能够自动导航 找出与它最相近的单词个针对ENTER键侦听,使得它有和GO按钮同样作用 自定义一个词库 网络查
  • 在word2vec中,有一个默认程序distance,可以用来计算给定词的最相近的top 40个,但是不能计算给定两个词的相似程度。本程序对distance.c进行了修改,可以计算给定两个词的相似度。程序如下: // Copyright 2013 ...

    在word2vec中,有一个默认程序distance,可以用来计算给定词的最相近的top 40个词,但是不能计算给定两个词的相似程度。本程序对distance.c进行了修改,可以计算给定两个词的相似度。程序如下:

    //  Copyright 2013 Google Inc. All Rights Reserved.
    //
    //  Licensed under the Apache License, Version 2.0 (the "License");
    //  you may not use this file except in compliance with the License.
    //  You may obtain a copy of the License at
    //
    //      http://www.apache.org/licenses/LICENSE-2.0
    //
    //  Unless required by applicable law or agreed to in writing, software
    //  distributed under the License is distributed on an "AS IS" BASIS,
    //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    //  See the License for the specific language governing permissions and
    //  limitations under the License.
    
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <malloc.h>
    
    const long long max_size = 2000;         // max length of strings
    const long long N = 10;                  // number of closest words that will be shown
    const long long max_w = 50;              // max length of vocabulary entries
    
    int main(int argc, char **argv) {
        FILE *f;
        char st1[max_size];
        char *bestw[N];
        char file_name[max_size], st[100][max_size];
        float len;
        long long words, size, a, b, c, cn, bi[100];
        float *M;
        char *vocab;
        if (argc < 2) {
            printf("Usage: ./distance <FILE>\nwhere FILE contains word projections in the BINARY FORMAT\n");
            return 0;
        }
        strcpy(file_name, argv[1]);
        f = fopen(file_name, "rb");
        if (f == NULL) {
            printf("Input file not found\n");
            return -1;
        }
        fscanf(f, "%lld", &words);
        fscanf(f, "%lld", &size);
        vocab = (char *)malloc((long long)words * max_w * sizeof(char));
        for (a = 0; a < N; a++) bestw[a] = (char *)malloc(max_size * sizeof(char));
        M = (float *)malloc((long long)words * (long long)size * sizeof(float));
        if (M == NULL) {
            printf("Cannot allocate memory: %lld MB    %lld  %lld\n", (long long)words * size * sizeof(float) / 1048576, words, size);
            return -1;
        }
        for (b = 0; b < words; b++) {
            a = 0;
            while (1) {
                vocab[b * max_w + a] = fgetc(f);
                if (feof(f) || (vocab[b * max_w + a] == ' ')) break;
                if ((a < max_w) && (vocab[b * max_w + a] != '\n')) a++;
            }
            vocab[b * max_w + a] = 0;
            for (a = 0; a < size; a++) fread(&M[a + b * size], sizeof(float), 1, f);
            len = 0;
            for (a = 0; a < size; a++) len += M[a + b * size] * M[a + b * size];
            len = sqrt(len);
            for (a = 0; a < size; a++) M[a + b * size] /= len;
        }
        fclose(f);
    
        while (1) {
            printf("Enter two word: ");
            a = 0;
            while (1) {
                st1[a] = fgetc(stdin);
                if ((st1[a] == '\n') || (a >= max_size - 1)) {
                    st1[a] = 0;
                    break;
                }
                a++;
            }
            if (!strcmp(st1, "EXIT")) break;
            cn = 0;
            b = 0;
            c = 0;
            while (1) {
                st[cn][b] = st1[c];
                b++;
                c++;
                st[cn][b] = 0;
                if (st1[c] == 0) break;
                if (st1[c] == ' ') {
                    cn++;
                    b = 0;
                    c++;
                }
            }
            cn++;
            if(cn != 2) {
                printf("please give two words\n");
                continue;
            }
            for (a = 0; a < cn; a++) {
                for (b = 0; b < words; b++) if (!strcmp(&vocab[b * max_w], st[a])) break;
                if (b == words) b = -1;
                bi[a] = b;
                printf("Word: %s  Position in vocabulary: %lld\n", st[a], bi[a]);
                if (b == -1) {
                    printf("Out of dictionary word!\n");
                    break;
                }
            }
            if (b == -1) continue;
            
            float first[max_size], second[max_size];
            for (a = 0; a < size; ++a) {
                first[a] = M[a + bi[0] * size];
                second[a] = M[a + bi[1] * size];
            }
            float product1 = 0.0, product2 = 0.0, sum12 = 0.0;
            for (a = 0; a < size; ++a) {
                product1 = product1 + first[a] * first[a];
                product2 = product2 + second[a] * second[a];
                sum12 = sum12 + first[a] * second[a];
            }
            float len1 = sqrt(product1);
            float len2 = sqrt(product2);
            float similarity = sum12/(len1 * len2);
            printf("the similarity between these two words is %f\n\n", similarity);
        }
        return 0;
    }
    


    展开全文
  • 向量简介

    万次阅读 2016-12-26 18:22:32
    最近深度学习技术有了突飞猛进...向量技术是将转化成为稠密向量,并且对于相似的词,其对应的词向量也相近。 在自然语言处理应用中,向量作为深度学习模型特征进行输入。因此,最终模型效果很大程度上取

    最近深度学习技术有了突飞猛进的发展,为语音识别、图像识别、自然语言处理(NLP)提供了强大的工具,为这些领域今后的快速发展提供了新的契机。
    深度学习为自然语言处理带来的最令人兴奋的突破是词向量(word embedding)技术。词向量技术是将词转化成为稠密向量,并且对于相似的词,其对应的词向量也相近。
    在自然语言处理应用中,词向量作为深度学习模型的特征进行输入。因此,最终模型的效果很大程度上取决于词向量的效果。

    接下来,将介绍词向量技术,并且分享我们使用词向量的一些经验。

    一、词的表示
    在自然语言处理任务中,首先需要考虑词如何在计算机中表示。通常,有两种表示方式:one-hot representation和distribution representation。
    1.1离散表示(one-hot representation)
    传统的基于规则或基于统计的自然语义处理方法将单词看作一个原子符号
    被称作one-hot representation。one-hot representation把每个词表示为一个长向量。这个向量的维度是词表大小,向量中只有一个维度的值为1,其余维度为0,这个维度就代表了当前的词。
    例如:
    苹果 [0,0,0,1,0,0,0,0,0,……]
    one-hot representation相当于给每个词分配一个id,这就导致这种表示方式不能展示词与词之间的关系。另外,one-hot representation将会导致特征空间非常大,但也带来一个好处,就是在高维空间中,很多应用任务线性可分。
    1.2分布式表示(distribution representation)
    word embedding指的是将词转化成一种分布式表示,又称词向量。分布
    式表示将词表示成一个定长的连续的稠密向量。

    分布式表示优点:
    (1)词之间存在相似关系:
    是词之间存在“距离”概念,这对很多自然语言处理的任务非常有帮助。
    (2)包含更多信息:
    词向量能够包含更多信息,并且每一维都有特定的含义。在采用one-hot特征时,可以对特征向量进行删减,词向量则不能。

    二、如何生成词向量
    本小节来简单介绍词向量的生成技术。生成词向量的方法有很多,这些方法都依照一个思想:任一词的含义可以用它的周边词来表示。生成词向量的方式可分为:基于统计的方法和基于语言模型(language model)的方法。
    2.1 基于统计方法
    2.1.1 共现矩阵
    通过统计一个事先指定大小的窗口内的word共现次数,以word周边的共现词的次数做为当前word的vector。具体来说,我们通过从大量的语料文本中构建一个共现矩阵来定义word representation。
    例如,有语料如下:
    I like deep learning.
    I like NLP.
    I enjoy flying.
    则其共现矩阵如下:
    这里写图片描述

    矩阵定义的词向量在一定程度上缓解了one-hot向量相似度为0的问题,但没有解决数据稀疏性和维度灾难的问题。
    2.1.2 SVD(奇异值分解)
    既然基于co-occurrence矩阵得到的离散词向量存在着高维和稀疏性的问
    题,一个自然而然的解决思路是对原始词向量进行降维,从而得到一个稠密的连续词向量。
    对2.1.1中矩阵,进行SVD分解,得到矩阵正交矩阵U,对U进行归一化得到矩阵如下:
    这里写图片描述

    SVD得到了word的稠密(dense)矩阵,该矩阵具有很多良好的性质:语义相近的词在向量空间相近,甚至可以一定程度反映word间的线性关系。
    这里写图片描述
    2.2语言模型(language model)
    语言模型生成词向量是通过训练神经网络语言模型NNLM(neural network language model),词向量做为语言模型的附带产出。NNLM背后的基本思想是对出现在上下文环境里的词进行预测,这种对上下文环境的预测本质上也是一种对共现统计特征的学习。
    较著名的采用neural network language model生成词向量的方法有:Skip-gram、CBOW、LBL、NNLM、C&W、GloVe等。接下来,以目前使用最广泛CBOW模型为例,来介绍如何采用语言模型生成词向量。
    2.2.1 CBOW(Continuous Bag-of-Word)
    生成word的distribution representation的模型有很多,生成的向量效
    果差距不大(生成向量的效果更取决于良好的训练数据)。本节以CBOW模型中的层次化的softmax为例,介绍如何采用神经网络生成词向量。
    CBOW模型是预测上下文已知的情况下,当前词出现的概率。上下文的选取采用窗口方式,即只将当前词窗口范围内的词作为上下文。中心词概率公式如下:
    P(wt|wt-k,wt-(k-1)…,wt-1,wt+1,wt+2…,wt+k)= P(wt|context)
    这里写图片描述

    CBOW模型去掉了最耗时的隐层,从输入层到隐层的操作是对上下文词向量进行求和(word2vec代码对以上下文词向量的加权平均来表示context)。
    从隐层到输出层则利用上下文词向量和做为输入,输出的是窗口中心位置所有词出现的概率。利用softmax求中心词概率,公式表示如下:
    p(w_t│context)=e^(-g(w_t,context))/(∑_(v∈V)▒e^(-g(v,context)) )
    其中,context表示上下文词向量和,V表示词表,wt表示中心词,g表示能量函数。由上式可看出,分母计算比较密集,时间复杂度O|V|。由上式可以看出,分母的计算复杂度与词表规模相关,当语料较大时,计算变的非常耗时。解决这一问题是对词进行多分类/聚类,例如,5000词的语料,聚成100类,则时间复杂度由5000缩减至50。

    CBOW采用了一种Hierarchical softmax技术,利用哈夫曼树对词表进行分类,用一连串的二分类来近似多分类。
    这里写图片描述
    加入哈夫曼树后,中心词的概率可表示入下:
    p(w_t│context)=∏(i=1)^k▒〖p(d_i |q_i,context)〗=∏(i=1)^k▒〖σ(v_context^T*q_i)〗
    其中,v_context^T为窗口内词的词向量的加权平均,q_i为结点i的结点向量,σ(*)为神经网络激活函数。从公式中可以看出,中心词的概率是从根节点到词所在的叶节点所走过路径概率的乘积。
    对中心词概率做极大似然估计,可得到模型的损失函数。损失函数如下:
    Loss=-Likelihood=-(1-code[j])log σ(v_context^T*q_i )-code[j]log⁡(1- σ(v_context^T*q_i ))
    code[j]为结点j的哈夫曼编码。有了损失函数,就可以通过梯度下降法求得词向量。注意,损失函数中有2个带求参数,分别为〖词向量(v〗_context^T)和结点向量〖(q〗_i)。
    可以看出,CBOW模型是一个语言模型。在训练好后,语言模型的参数v_context^T作为副产出,得到词向量。

    三.词向量的训练
    本节将分享我使用词向量的一些经验。

    3.1词向量效果的影响因素
    (1)增加词向量的维度能够增加词向量效果。
    (2)在同一领域语料下,语料越多越好,增加不相关领域语料将会降低词向量效果。
    (3)大的上下文窗口学到的词向量更反映主题信息,而小的上下文窗口学到的词向量更反映词的功能和上下文语义信息。
    (4)语料的纯度越高(杂质少),词向量效果越好。因此,在利用语料训练词向量时,进行预处理能够提高词向量的效果。

     3.2词向量的歧义问题
    

    例如,词”苹果”可以指代水果也可以指代苹果手机。在对“苹果”
    进行训练时,将会对其对应的词向量向两个方向拉伸,进而造成词向量歧义。
    词向量的歧义将会对词向量的应用效果产生影响。例如,对苹果进行序列标注,指代手机的苹果应打上品牌词标签,而指代水果的苹果对应打上产品词标签。对同一个词打上多种不同的标签而采用同一个词向量,将降低词性标注的效果。
    通常解决这一问题是对词向量进行聚类,以多个向量来表示同一个词。
    例如,在RNNs分词项目时,发现字向量的歧义问题将影响分词效果。因此,我按品类对字进行了聚类,得到的聚类效果如下:
    这里写图片描述
    左边是颜色中红色的红,可以看出它与其它颜色的距离较近。右边是手
    机品类红米手机的“红”,可以看到它最相似的词是“小”字,因为在京东的商品title里,手机品类中红米手机和小米手机出现的次数较多,进而使得“红”字和“小”字的语境相似。

    3.3 词向量其它
    还可以利用NNLM方法,将我们感兴趣的其它实体生成向量。例如,我曾利用word2vec将每个sku(商品id)embedding成向量。我们将每个用户某个月购买的母婴类商品按序进行排列做为一条训练样本,例如:

    其中,第一列user_id +’#’+用户婴儿年龄。其余列为用户购买的sku集合,并且购买的sku按购买时间顺序排列。
    我们将训练样本输入到word2vec中进行训练,得到每个sku的向量表示。通过这种训练样本的构建方式,使用户在相同年龄段(婴儿)购买的商品相似。例如,在我们的向量中,如下两个商品相似:

    我们利用sku向量做为特征,训练模型预测用户年龄,准确率达90%。

    四.总结
    深度学习模型具有比传统模型更强的特征抽取能力。在自然语言处理中,传统统计特征包含的信息量过少,这也一直限制着深度学习在自然语言处理中的应用。词向量由于包含了更丰富的信息,使得深度学习能够处理绝大多数自然语言处理应用。
    词向量虽然为深度学习在自然语言处理领域带来了希望,但目前词向量仍有许多不完善的地方,例如:
    虽然知道词向量比统计特征包含更多信息,但并不知道词向量包含了哪些
    信息(如每维特征代表的意义)。
    词向量的训练采用无监督方式,不能很好的利用先验信息。
    词向量是神经网络语言模型的副产物,其损失函数不是由具体应用构建。
    因此,不是词向量训练的越好,应用效果就越好。

    随着词向量研究的深入,这些问题都将会得到解决。深度学习在自然语言
    处理领域的前景将会更加光明。

    展开全文
  • 微软先进机器翻译引擎 带给你全新翻译体验 近音搜索 遇到听不懂单词,只需输入自己听到发音 就能找到读音相近的正确词汇 如:听到sicalogi不知道什么意思,一查发现是psychology
  • 1.32 嵌入 自然语言由构成。深度学习模型首先需要将表示为稠密向量,...一个好的词嵌入模型应该是:对于相似的词,它们对应的词嵌入也相近。因此很多研究者开始关注于如何得到高质量的词嵌入。Mikolov等[1]...

    1.32 词嵌入

    自然语言由词构成。深度学习模型首先需要将词表示为稠密向量,也叫词嵌入。早期研究者并没有太多关注词嵌入的语言学解释,仅仅将其作为模型参数。因为词嵌入是一个稠密向量,这样不同词嵌入就存在了距离(或相似度)。一个好的词嵌入模型应该是:对于相似的词,它们对应的词嵌入也相近。因此很多研究者开始关注于如何得到高质量的词嵌入。Mikolov等[1]最早发现通过循环神经网络模型可以学习到词嵌入之间存在类比关系。比如 apple-apples ≈ car-cars、man-woman ≈ king-queen 等。Levy 等 人[2]在Skp-Gram 模型[3]的基础上,利用依存句法路径作为上下文来学习词嵌入。Pennington 等人[4]直接利用词和它的上下文的共现矩阵,加上一些正则化约束,通过加权最小二乘回归来获得词嵌入。和 Skip - Gram 等模型相比,该方法能更好地利用全局信息,在语义类比等任务上取得了更好的结果。总体来说,这些方法都可以直接在大规模无标注语料上进行训练。词嵌入的质量也非常依赖于上下文窗口大小的选择。通常大的上下文窗口学到的词嵌入更反映主题信息,而小的上下文窗口学到的词嵌入更反映词的功能和上下文语义信息。

    在此基础上,也有研究者关注如何利用已有的知识库来改进词嵌入模型。Wang 等人[5]结合知识图谱和未标注语料在同一语义空间中来联合学习知识和词的向量表示,这样可以更有效地实体词的嵌入。Rothe等人[6]直接利用 WordNet 知识库的词和语义集的关系来学习词嵌入,能更好地利用已有的知识库。该论文获得了 ACL2015 的最佳学生论文奖。

    在上述研究中,一个词只有一个向量表示。但是在自然语言中,一词多义的现象经常存在。因此,如何表示一个词的多个义项也是词嵌入研究中的一个热点。Neelakantan 等人[7]在 Skip - Gram 模型的基础上将一个词的每个义项都用一个向量表示,在不同的上下文中选择一个最相关的义项进行更新。然后通过非参估计的方法来自动学习每个词的义项个数。Liu 等人[8]利用主题模型来建模一词多义的词嵌入。首先利用率主题模型来确定一个词在不同上下文中的主题,然后用联合建模词和主题的嵌入。通过结合不同的主题,
    可以得到一个词不同义项的向量表示。

    展开全文
  • vc小词典2.0

    2007-08-12 14:16:22
    <br> <br>该软件有以下几个特点: <br>1> 由于采用了功能强大SQL查询语言,查询速度快. <br>2> 轻松实现”即查即现”模糊查询方式,在输入查询值同时,记录会自动更新为最相近的记录,性能优越....
  • 手到擒来--vc小词典2.0

    2010-02-18 17:15:44
    2> 轻松实现”即查即现”模糊查询方式,在输入查询值同时,记录会自动更新为最相近的记录,性能优越。 3> 查询到函数不仅有基本功能介绍,还有详细示例做编程参考,而且可以用来学习。 4> 软件界面清秀...
  • 2> 轻松实现”即查即现”模糊查询方式,在输入查询值同时,记录会自动更新为最相近的记录,性能优越。 3> 查询到函数不仅有基本功能介绍,还有详细示例做编程参考,而且可以用来学习。 4> 软件界面清秀...
  • 手到擒来---VC小词典

    2007-04-18 13:40:40
    <br/> <br/>该软件有以下几个特点: <br/>1> 由于采用了功能强大SQL查询语言,查询速度快. <br/>2> 轻松实现”即查即现”模糊查询方式,在输入查询值同时,记录会自动更新为最相近的记录,性能...
  • 课程概要 1.词义 2.Word2vec介绍(学习词汇向量模型(2013年提出)) ...WordNet:意义相近的单词组成一个同义词组(Synset),而同义组之间则以上-下义,同义-反义,整体-部分以及蕴含等语义关系连接在一起,构成
  • 同时,哈希表不能处理相近查询问题,当检索项具有细微差别时,映射到地址可能差别很大;其次,搜索树典型是搜索二叉树(二叉排序树),若左子树不空,则左子树上所有结点值均小于等于
  • 需求是在48万条中文新闻标题里,给测试集中50条标题每一条找出最相近的20条新闻。拿到这个需求第一反应当然是计算向量,生成每句话语义向量然后计算相似度啦,也想过TFIDF来提取每条新闻关键字,但是原始...
  • score]),nearby_words是 WORD 近义们,也以 list 方式存储,并且按照距离长度由近及远排列,nearby_words_score是nearby_words中对应位置的词的距离分数,分数在(0-1)区间内,越接近于 1,代表越相近;...
  • fuzzychinese 形近中文模糊匹配 A simple tool to fuzzy match chinese words, particular useful for proper name matching and address matching. ...匹配完成后返回相似度分数,匹配的相近词语及
  • (如果这个单词本身拼写就是正确, 那么最相近的就是它自己啦). 当然, 不可能绝对找到相近的单词, 比如说给定 lates 这个单词, 它应该别更正为 late 呢 还是 latest 呢? 这些困难指示我们, 需要使用概率论, 而...
  • (ZZ)简单英文单词纠错

    千次阅读 2017-03-07 09:34:38
    (如果这个单词本身拼写就是正确, 那么最相近的就是它自己啦). 当然, 不可能绝对找到相近的单词, 比如说给定 lates 这个单词, 它应该别更正为 late 呢 还是 latest 呢? 这些困难指示我们, 需要使用概率论, 而...
  • I. 相似度定义 当用Word2Vec得到向量后,一般我们会用余弦...有了这个相似度概念,我们既可以比较任意两个之间相似度,也可以找出跟给定词最相近的词语。这在gensimWord2Vec中,由most_similar函数实现。 ...
  • 来自:NLP从入门到放弃对于实际的文本分类需求,没有标注数据是一件很常见的事情。针对这种情况,有一个朴素的思路可以做:首先,根据对应的标签名称,使用W2C找到对应的相近词通过相近词,对...
  • step3 : 在训练文本集中选出与新文本向量最相近的k个文本向量,相似度度量采用“余弦相似度”,根据实验测试结果调整k值,此次选择20 step4: 在新文本k个邻居中,依次计算每类权重, step5: 比...
  • 基于检索聊天机器人

    千次阅读 2018-05-27 10:34:20
    检索模型所使用回复数据通常是预先存储且事先定义数据,而不像生成式模型那样可以创造出未知回复内容。准确来说,检索式模型...直觉来说,一对问答对如果query和response中语义上相近的词越多,那query和...
  • 拼写检查器是:给定一个单词, 如果单词是拼写错误,我们任务是选择和它相似拼写正确单词。如果这个单词是正确, 那么就是它自己。当然, 不可能绝对找到相近的单词, 比如说给定 lates 这个单词, 它应该...
  • Lingpipe提供了一种可选择拼写纠错方式,能对用户未输入完整查询进行提示最相近的查询建议。 图片中显示了google搜索框中选择性纠错模型对查询进行补充完整。 例如,首行搜索建议是”amzon”,尽管用户...
  • 近期几日某直聘网站和旅拍品牌又一次被搬上台面。 在其中直聘网站广告在上...从內容上看,压根便是广告不重视客户体验,更不必谈与客户友善互动交流,这也是为什么客户抵制这种广告推广关键缘故之一...
  • 基于word2vecQA demo

    2019-12-23 10:10:13
    基于向量相似度计算,在问答对字典里返回最相近问题答案 # -*- coding: utf-8 -*- import docx import sys import jieba from gensim.models import Word2Vec import os import numpy as np import pickle as...
  • 您也可以将网民常使用搜索或转化效果最好关键词填入“{}”中,如{鲜花}。 2.请确保替换了“默认关键词”后,创意语句通顺、符合逻辑,这样才能吸引网民关注。因此,只有将意义相近、结构相同关键词纳入...
  • 聊Javascript中AOP编程

    2014-08-26 21:15:00
    根据解释,Monkey patch这个来源于 guerrilla patch,意为在运行中悄悄改变代码,而 guerrilla这个与 gorilla 同音,而后者意又与monkey相近(前者为“猩猩”意思),最后就演变为了...
  • 意义最相近的,恐怕是墨子“小故,有之不必然。大故,有之必然”之说矣。 墨经两故,小故和大故,颇为类似于传统逻辑中,必要条件命题和充分条件命题。由此可知,我们关于蕴涵语言追寻,不止西文,汉语言文

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

最的相近词