句子

面试题 58.1:翻转单词顺序列

别来无恙 提交于 2020-02-29 00:26:45
题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 思路 先把句子中的所有字符进行翻转,再翻转每个单词中字符的顺序。 翻转每个单词时,添加两个指针,分别指向单词的第一个字符和单词的最后一个字符。 当第一个指针指向空格时,两个指针都前进一步。 否则判断第二个指针是是否到单词的最后一个字符了,到了则翻转,之后将两个指针分别前进一步指向空格。 否则说明还没到单词结尾,第二个指针继续前进一步。 这里第二个指针判断时需要注意索引越界以及是否已到结尾。 代码 public class Solution { public String ReverseSentence(String str) { if (str == null || str.length() == 0) { return ""; } // 如果就是一个单词,不是句子 if (!str.contains("")) { return str; } char[] charArray = str.toCharArray(

常用的英语句子!

爷,独闯天下 提交于 2020-02-28 22:59:56
常用的英语句子! 1. It's up to you.(由你决定。) 2. I envy [羡慕]you.(我羡慕你。) 3. How can I get in touch with you? 4. Where can I wash my hands? (请问洗手间在哪里?) 5. What's the weather like today?(今天天气如何?) 6. Where are you headed [朝…方向行进]? (你要到哪里去?) 7. I wasn't born yesterday.(我又不是三岁小孩。) 8. What do you do for relaxation[消遣、娱乐]?(你做什么消遣?) 9. It's a small world.(世界真小!) 10. It's my treat[请客、款待] this time.(这次我请客!) 11. The sooner the better. (越快越好。) 12. When is the most convenient [方便的;便利的] time for you? 13. Take your time.(慢慢来/别着急。) 14. I'm mad about Bruce Lee.(我迷死李小龙了。) I'm crazy[着迷的;狂热爱好的] about rock music. (我对摇滚乐很着迷。)

paper:情感分析

那年仲夏 提交于 2020-02-28 14:51:20
A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis 0. Summary 提出hierarchical bidirectional long short-term memory(H-LSTM)模型,综合评论的句子内部信息特征、句子间信息特征、句子的实体属性特征(eg.FOOD#QUALITY),进行情感分析。最终证明本文提出模型 具有更好的效果 且 不需要文本以外信息 的结论。 Motivation 每个评论(review)中包含多个句子(sentence),除了各句子内部的信息以外,句子与句子间的相关性对于情感分析也是十分重要的,故而本文同时获取句子级别信息(sentence-level)和评论级别信息(review-level)。 Method(s) hierarchical bidirectional long short-term memory(H-LSTM) Experiment 每个评论数据padding到 h 个句子,其中每个句子padding到 l 个单词。 句子如果有2个实体,则该句子匹配不同实体使用2次;如果该句子没有实体,则不使用该句子,依次类推。 分别使用随机&预训练embedding。 损失函数:cross-entropy;优化器:Adam。 Conclusion 与CNN

考研经验英语篇

梦想与她 提交于 2020-02-26 16:07:27
经验一届帮一届,喝水不忘挖井人。 本人20年考研,成绩378,政治69,英语一82,数学一120,专业课(961)107。所谈经验均为 个人见解,有需则取。 考试题型&分值分布 完形填空,共20题,每题0.5分,共10分 阅读理解,共四篇阅读,每篇5题,每题2分,共40分 新题型,七选五 或者 排序题 ,共5题,每题2分,共10分。 翻译,英译汉,共五题,每题2分,10分。 小作文(多种考查类型),共10分。 大作文(多种考查类型),共20分。 一般要拿70分以上,客观题也就是除去翻译和大小作文,需要45分左右。当然这是估计的,大家有个大概参考即可。 准备时间&题型分配 何时开始考研,何时开始背单词一直不间断。 6月份左右开始刷真题的阅读题。 阅读刷完后刷新题型,大概在7 8月份左右。 9月份左右开始二刷真题阅读和新题型。 二刷完阅读和新题型后开始背作文和总结阅读错题及阅读题型。大概在10 11月份完成。 12月份加强背作文,组装 自己的作文模板 并且不断批改完善。 这里我没有单列出完型填空和翻译的时间。首先 完形确实不需要准备 ,我就没有准备,考研的完形填空千变万化、诡异莫测,属实难写且性价比较低,所以只要在空闲时刷几套真题的完形,练过就好。去年咨询学长的时候学长就是这么告诫我的,他们说完形之前许多年都很难,近两年(真的就两年左右)简单了一点,但是保险起见还是放最后写

Java不同单词个数统计

不想你离开。 提交于 2020-02-18 18:38:07
描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如:对于句子“one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。 说明:(1)输入的句子当中只包含英文字符和空格,单词之间用一个空格隔开;(2)不用考虑单词的大小写,假设输入的都是小写字符;(3)句子长度不超过100个字符。 输入 输入只有一行,即一个英文句子。 输出 输出只有一行,是一个整数,表示句子中不同单词的个数。 难度 入门 输入示例 one little two little three little boys 输出示例 5 完成代码: 1 import java.util.Scanner; 2 3 public class Demo01{ 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 int n=0; //n统计有多少个不同单词,a保存单词,b判断是否有重复单词,设当b=1表示为重复单词 7 String str=sc.nextLine(); 8 String[] a=str.split(" "); 9 int[] b=new int[a.length]; 10

《The Science of Scientific Writing》读书笔记

本秂侑毒 提交于 2020-02-16 21:20:36
本文针对英语论文在阅读上的复杂性提出了自己的见解。作者认为导致学术阅读难度上升的问题并不是来源于论文中复杂的领域类单词或者专业知识,而是写作中的一些问题,并针对这些问题提出了自己的建议并给出例子展示自己的修改方案。 首先,作者认为,研究人员应该尽量依照读者的期望去写作,对于论文来说,即是在固定位置阐述研究对应的方面,按照阅读的一般规律进行写作。否则读者没有办法全力关注于解释作者思路,不停分心关注于拆分文章结构,极大地影响了读者的阅读体验,提高了读者的阅读难度。同时,如果作者在对应位置放置错误材料,也有可能导致读者误解作者意思,造成二义性,无法和作者的思路保持一致。可以说,在读者期望的位置按照期望的方式给出期望的信息,可以保证读者更加容易理解信息并且不造成二义性。 再者,作者提出了主谓分离的问题,即部分作者在给出了主语后没有直接给出宾语,而是中间间隔大量单词对主语进行解释或修饰。这样同样也会增加读者的阅读难度。英语是基于动词的语言,给出主语后,应该立即给出谓语动词,保持读者连贯性思路。 再者,作者提出了强调位置这一概念。一般来说,一个句子靠近末尾的位置是整个句子的强调位置。在这个位置作者应该放入自己希望强调的信息,让读者和自己的思路保持一致。同时,作者认为,一旦研究人员在这个位置放错信息。会导致读者可能需要自己寻找重要信息,这样就有可能误认强调信息导致自己和作者的思路相悖。总结来说

注意力机制概念和框架

*爱你&永不变心* 提交于 2020-02-16 20:49:19
注意力机制概念 在之前学习encoder-decoder模型时,我们了解了模型的原理是,输入source(要翻译的语句),由encoder先将句子编码成隐藏的语义编码C,再输入进decoder中。但是我们看到目标句子Target中每个单词的生成过程如下: f是decoder的非线性变化函数。从这里可以看出,在生成目标句子的单词时,不论生成哪个单词,它们使用的输入句子Source的语义编码C都是一样的,没有任何区别。而语义编码C是由句子Source的每个单词经过Encoder 编码产生的,这意味着不论是生成哪个单词,y1,y2还是y3,其实句子Source中任意单词对生成某个目标单词yi来说影响力都是相同的,这是为何说这个模型没有体现出注意力的缘由。这类似于人类看到眼前的画面,但是眼中却没有注意焦点一样。 如果拿机器翻译来解释这个分心模型的Encoder-Decoder框架更好理解,比如输入的是英文句子:Tom chase Jerry,Encoder-Decoder框架逐步生成中文单词:“汤姆”,“追逐”,“杰瑞”。 在翻译“杰瑞”这个中文单词的时候,分心模型里面的每个英文单词对于翻译目标单词“杰瑞”贡献是相同的,很明显这里不太合理,显然“Jerry”对于翻译成“杰瑞”更重要,但是分心模型是无法体现这一点的 ,这就是为何说它没有引入注意力的原因。 上面的例子中

动手学深度学习PyTorch版-task2

可紊 提交于 2020-02-15 11:21:59
目录: task1: https://blog.csdn.net/zahidzqj/article/details/104293563 task2:本章节 task3: https://blog.csdn.net/zahidzqj/article/details/104319328 task2: 1文本预处理 基本概念:读入文本、分词、建立字典、将词转为索引 读入文本:先打开一段文本如1.txt: 将文本按段落读取,再将文本转为小写,使用正则的方法,消除其中的非字母的字符,得到句子。 import re with open('1.txt', 'r') as f: print([re.sub('[^a-z]+', ' ', line.strip().lower()) for line in f]) 分词:对每个句子进行分词,也就是将一个句子划分成若干个词(token),转换为一个词的序列。 建立字典:为了方便模型处理,我们需要将字符串转换为数字。因此我们需要先构建一个字典(vocabulary),将每个词映射到一个唯一的索引编号。 需要注意的是:一些特殊的token:pad:使得短句子和长的相同,在sgd的时候批次的句子一样长; bos eos 分别为开始结束 ;unk未知字符,比如 无论use_special_token参数是否为真,都会使用的特殊token是 unk。

英文论文写作小贴士(3)

大憨熊 提交于 2020-02-08 18:41:39
文章目录 前言 准备 注意1:主语谓语不要离得太远 1. 主语与谓语之间不要离得太远。 2. 每一个篇章单元都必须有唯一的含义,(而且必须是有意义的),无论大小。 3. 强调的信息应当出现在句子的开始或结束。 4. 样例 注意2: 新旧信息不应当错位 样例 注意3:感知逻辑不应当跨度大 样例 注意4:动作应当定位 样例 小结 前言 文章写作注意事项的颗粒度有很多部分,从选词,到造句,然后到段落的组织与文章结构的规划。一个好的文章,不仅仅用词能够准确(根据上下文),而且能够构造出合理的句子,并且使得句子之间具有较好的连贯性,使得读者能够更容易理解和消化文章内容。 前面几章主要介绍选词和造句的一些规则,我们这里主要探究的是句子之间的连贯性。宏观的文章结构的规划可能更多的和体裁相关。 值得注意的是,这篇文章是经典文章《 The science of scientific writing 》的读后的解读(interpretation),链接为再版的版本,原版是1990年出版的。该文章的中心思想是让作者站在读者的角度来看待自己的文章。并从4个方面和4个改写例子为我们呈现出要注意的一些“原则”,并不是“规则”,让我们去参考并最终形成自己的写作风格。 准备 此次部分让我们有一些基础准备,以使得下面的表述更加容易理解。首先我们给出写的好的句子的3个标准: 句子不是特别的冗长,也不绕弯子。 词汇适当

NLP之中文分词cppjieba

柔情痞子 提交于 2020-02-02 19:06:02
jieba简介 jieba库是一个简单实用的中文自然语言处理分词库。 jieba分词属于概率语言模型分词。概率语言模型分词的任务是:在全切分所得的所有结果中求某个切分方案S,使得P(S)最大。 jieba支持三种分词模式: 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 精确模式,试图将句子最精确地切开,适合文本分析; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。 jieba分词原理 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG) 1. 根据dict.txt生成trie树,字典在生成trie树的同时, 把每个词的出现次数转换为频率(jieba自带一个dict.txt的词典, 里面有2万多条词, 包含了词条出现的次数和词性(作者基于人民日报语料等资源训练得出来)。trie树结构的词图扫描, 说的就是把这2万多条词语, 放到一个trie树中, trie树是有名的前缀树, 也就是说一个词语的前面几个字一样, 就表示他们具有相同的前缀, 就可以使用trie树来存储, 具有查找速度快的优势)。 2.对待分词句子, 根据dict.txt生成的trie树, 生成DAG, 通俗的讲, 就是将句子根据给定的词典进行查词典操作, 生成所有可能的句子切分