单词

论文阅读 | TextBugger: Generating Adversarial Text Against Real-world Applications

☆樱花仙子☆ 提交于 2019-12-03 21:13:37
NDSS https://arxiv.org/abs/1812.05271 摘要中的创新点确实是对抗攻击中值得考虑的点: 1. effective 2. evasive recognized by human readers 3. efficient 在IMDB数据集上取得100%的成功率。 最后有讨论可能的防御机制,可以重点看下能不能做这相关的工作。 TEXTBUGGER: 白盒: 通过 雅可比矩阵 找到最重要的单词。 https://jingyan.baidu.com/article/cb5d6105c661bc005c2fe024.html (梯度vs Jacobian矩阵vs Hessian矩阵) (和梯度的方法差不多) 2-5步:计算重要性,对单词排序。 6-14步:生成bugs:考虑视觉和语义的相似性;考虑character-level & word-level character-level:看起来就像是简单的拼写错误。目的:把未知词汇映射到未知embedding word-level:最近邻搜索。 作者发现在一些词嵌入模型中(如word2vec),“worst”和“better”等语义相反的词在文本中具有高度的句法相似性,因此“better”被认为是“worst”的最近邻。 以上显然是不合理的,很容易被人察觉。 因此,作者使用了 语义保留技术 ,即

HDU-2082-找单词(母函数)

我们两清 提交于 2019-12-03 21:08:57
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2082 题意: 假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26。那么,对于给定的字母,可以找到多少价值<=50的单词呢?单词的价值就是组成一个单词的所有字母的价值之和,比如,单词ACM的价值是1+3+14=18,单词HDU的价值是8+4+21=33。(组成的单词与排列顺序无关,比如ACM与CMA认为是同一个单词)。 思路: 母函数模板 代码: #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<math.h> #include<vector> using namespace std; typedef long long LL; const int INF = 1e9; const int MAXN = 1e5+10; const int MOD = 1e9+7; int cnt[30]; LL Val[100], Tmp[100]; void Init() { memset(Val, 0, sizeof(Val)); Val[0] = 1; for

文件读取

荒凉一梦 提交于 2019-12-03 20:56:25
要求1:输出某个英文文本文件中 26 字母出现的频率,由高到低排列,并显示字母出现的百分比,精确到小数点后面两位。 要求2:输出单个文件中的前 N 个最常出现的英语单词。 作用:一个用于统计文本文件中的英语单词出现频率的控制台程序; 单词:以英文字母开头,由英文字母和字母数字符号组成的字符串视为一个单词。单词以分隔符分割且不区分大小写。在输出时,所有单词都用小写字符表示。 要求3:输出单个文件中的前 N 个最常出现的英语单词。 英文字母:A-Z,a-z 字母数字符号:A-Z,a-z,0-9 分割符:空格,非字母数字符号 例:good123是一个单词,123good不是一个单词。good,Good和GOOD是同一个单词 package hlbt; import java.io.File; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class hlbt1 { private static int[][] letter=new int[2][52]; public static void main(String[] args) throws IOException { StringBuilder sb = new StringBuilder();

统计文本文件(字母、单词、字符)

倾然丶 夕夏残阳落幕 提交于 2019-12-03 20:55:44
要求1:输出某个英文文本文件中 26 字母出现的频率,由高到低排列,并显示字母出现的百分比,精确到小数点后面两位。 要求2:输出单个文件中的前 N 个最常出现的英语单词。 作用:一个用于统计文本文件中的英语单词出现频率的控制台程序; 单词:以英文字母开头,由英文字母和字母数字符号组成的字符串视为一个单词。单词以分隔符分割且不区分大小写。在输出时,所有单词都用小写字符表示。 要求3:输出单个文件中的前 N 个最常出现的英语单词。 英文字母:A-Z,a-z 字母数字符号:A-Z,a-z,0-9 分割符:空格,非字母数字符号 例:good123是一个单词,123good不是一个单词。good,Good和GOOD是同一个单词 源代码: package FileRead; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import

PAT 甲级 1071 Speech Patterns (25 分)(map)

谁都会走 提交于 2019-12-03 20:33:11
1071 Speech Patterns (25 分) People often have a preference among synonyms of the same word. For example, some may prefer "the police", while others may prefer "the cops". Analyzing such patterns can help to narrow down a speaker's identity, which is useful when validating, for example, whether it's still the same person behind an online avatar. Now given a paragraph of text sampled from someone's speech, can you find the person's most commonly used word? Input Specification: Each input file contains one test case. For each case, there is one line of text no more than 1048576 characters in

文本harry potter的字符统计

杀马特。学长 韩版系。学妹 提交于 2019-12-03 15:27:47
实现计算文件中字符的占比和不同单词的个数两项功能,首先将文本文件按行导入到程序中,再通过charAT()函数来实现对单个字符的操作,并用集合来统计字符总数以及不同的字符的个数,进而输出各个字符的个数以及占总数的百分比。计算单词个数时通过判断是否是非单词字符来实现,并使用sort()函数来实现升序操作。通过循环输出单词及其个数。 package All; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; public class all { public static void main(String[] args)throws IOException//扔掉很重要 { File

Java 倒入文章显示前n个单词频率

流过昼夜 提交于 2019-12-03 11:49:06
package com_1; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; class Word //定义出一个单词类 { String value; //具体的单词 int geshu; //出现的个数 Word next; //将单词链起来 public Word(String value,int geshu) //带参构造函数 { this.value=value; this.geshu=geshu; next=null; } public Word() //空构造函数 { this.value=""; this.geshu=0; next=null; } } public class Shuru { public static void main(String args[]) throws IOException //主函数 { Scanner dc = new Scanner(System.in); Word word=new Word(); //单词的链头 Word lian,xin; String str=""; FileReader f=new FileReader("F:\

「SCOI2016」背单词

。_饼干妹妹 提交于 2019-12-03 10:44:46
「SCOI2016」背单词 Lweb 面对如山的英语单词,陷入了深深的沉思,「我怎么样才能快点学完,然后去玩三国杀呢?」。这时候睿智的凤老师从远处飘来,他送给了 Lweb 一本计划册和一大缸泡椒,然后凤老师告诉 Lweb ,我知道你要学习的单词总共有 $ n $ 个,现在我们从上往下完成计划表,对于一个序号为 $ x $ 的单词(序号 $ 1 \ldots x-1 $ 都已经被填入): 1. 如果存在一个单词是它的后缀,并且当前没有被填入表内,那他需要吃 $ n \times n $ 颗泡椒才能学会; 2. 当它的所有后缀都被填入表内的情况下,如果在 $ 1 \ldots x - 1 $ 的位置上的单词都不是它的后缀,那么他吃 $ x $ 颗泡椒就能记住它; 2. 当它的所有后缀都被填入表内的情况下,如果 $ 1 \ldots x - 1 $ 的位置上存在是它后缀的单词,所有是它后缀的单词中,序号最大为 $ y $,那么他只要吃 $ x - y $ 颗泡椒就能把它记住。 Lweb 是一个吃到辣辣的东西会暴走的奇怪小朋友,所以请你帮助 Lweb,寻找一种最优的填写单词方案,使得他记住这 $ n $ 个单词的情况下,吃最少的泡椒。 Sol 可以发现一定按着树的顺序填比较优(<n*n) 那么首先正的贡献是一定的(1+...+n),只考虑负的贡献。 对于两棵大小不同的子树,记第一颗大小为x

论文阅读:Deep Neural Networks with Multitask Learning(多任务模型应w用到自然语言处理)

喜欢而已 提交于 2019-12-03 05:43:13
文章摘要 文章讲述一个使用基于单一卷积神经网络的多任务学习模型,可以给一个句子输出预测一系列语法或语义上的输出:如词性标注、命名实体识别、语言角色,语义相近的单词,自然语言模型(句子有意义的概率)。所有这些任务上使用一个网络实现权重共享,即一个多任务学习实例。除了语言模型,所有的任务都使用打标签的数据,这样的组合代表了一个通过共享任务的进行半监督学习形式【语言模型是无监督的,而其他任务有监督】。文中表明这种多任务学习以及半监督学习改进了共享任务的生成,带来了最佳的效果。 文章指出过往的统一框架都有如下三个失败之处: 1. 分类器是浅层的,经常是线性分类器。 2. 浅层分类器需要人工抽取出较好的特征。 3. 独立学习这些特征会分别引入误差。如果能够进行统一学习,能够通过不同任务的进行更好的泛化。 文中也表明,在非监督任务上,也能学习好很好的语义特征。 文中的参与使用的任务: 词性标注( Part-Of-Speech Tagging, POS ):语法层面,标注每个单词的语法角色 浅层句法分析( Chunking or shallow parsing ):语法层面,如判断子句是名词短语 (NP) 或动词短语 (VP) ,每个词 encode 为 begin-chunk(B-NP) 或 inside-chunk (I-NP) 或 end-chunk(E-NP) 等 命名实体识别(