我正在为一所学校创建一个软件,学生们实际上会输入句子,然后他们的语法会被检查,但是他们会被随机组合成这样的单词。
The brown quick fox fence over jumped the
这样,他们就必须弄清楚句子,用正确的语法改写句子。当他们的答案是错误的,我希望程序重新排列所有可能组合的句子,然后检查每个可能组合的语法。
为了得到我用的句子的随机排列,
text = raw_input("You:")
#shuffling for all possibilities
def randm(text):
text =
我试着给不同的句子打分,有些词有不同的价值,我需要每个句子的总成绩:
sentences = ['This is so awesome , fr!', 'Ngl Im bad', 'awesome ! still bad tho' ]
values = {'awesome' : 4, 'bad' : -1 }
这是我用来分割句子的for循环:
split = []
for i in range(len(sentences)):
split.append(sentences[i].lower().spl
我有一个生成器(一个生成东西的函数),但是当试图将它传递给gensim.Word2Vec时,我会得到以下错误:
TypeError:不能将生成器作为句子参数传递。试试迭代器。
生成器不是一种迭代器吗?如果没有,我如何利用它制作迭代器?
看一下库代码,它似乎只是简单地迭代像for x in enumerate(sentences)这样的句子,它与我的生成器工作得很好。那么是什么导致了错误呢?
我是NLP的新手,我正在尝试创建我自己的单词嵌入,并在我的个人文档语料库中进行训练。 我正在尝试实现以下代码来创建我自己的wordembedings: model = gensim.models.Word2Vec(sentences) 句子是句子的列表。因为我不能传递成千上万的句子,所以我需要一个迭代器 # with mini batch_dir a directory with the text files
# MySentences is a class iterating over sentences.
sentences = MySentences(minibatch_dir) #
我有个问题。我有以下代码: strCommand = "There is a 20% chance that I fail the test"
# Splits command in words
words = nltk.word_tokenize(strCommand)
#Add tags to words
word_tags = nltk.pos_tag(words)
if (word for (word, pos) in word_tags if(pos[:2] == 'CD')):
value = [word for (word,
问:1]为什么打印语句(注释)导致print(mapped)不打印集合?如果这些行
# print(list(word))
# print(list(palindrome))
未注释掉,则输出结果为:
“n”、“u”、“r”、“s”、“e”、“s”、“r”、“u”、“n”
“n”、“u”、“r”、“s”、“e”、“s”、“r”、“u”、“N”
The zipped result is : set()
句子是回文。
问:2]为什么N==n没有失败?我原以为它会在for循环中失败。
def palindrome(word):
if ' ' in word:
我是Haskell的新手。我有一个数据类型:
data Sentence= Prop Int
| No Sentence
| And [Sentence]
| Or [Sentence]
deriving Eq
我已经为它写了一个Show实例
然而,无论它是否有意义,我都希望能够生成一个随机句子。我如何在Haskell中实现这一点?
我想让recursively得到句子中单词的排列,把相邻的单词分成两个组,从左到右。
因此,作为一个例子,如果我考虑a, B, c, D是4个单词,主句子中有5个出现在以下四个单词中:
主句:a + B + c + a + D
我会得到四句话
c + a + B + c + a
a + B + c + a + D
a + B + c + a + B
B + c + a + B + c
应该指出的是,主句中的最后一个词,即D,只出现在句尾a之后,因为在主句中,没有一个词跟在后面。
是否可以使用重写一个句子,以便句子的语义仍然相同(或者大部分相同)?
假设我有一句话:
Obama met with Putin last week.
是否可以使用WordNet将这句话改为替代词,如:
奥巴马和普京上周举行了会晤。奥巴马和普京一周前见过面。
如果不可能改变句子结构,那么WordNet能否仅用于替换相关的同义词?
例如:
奥巴马上周会见了普京。
我有以下代码:
def splitParagraphIntoSentences(paragraph):
import re
sentenceEnders = re.compile('[.!?]')
sentenceList = sentenceEnders.split(paragraph)
return sentenceList
sentenceList=splitParagraphIntoSentences (u"""I have a bicycle. I want the car.
""")
我有一个名为“数据”的句子列表,我执行了soundex的操作。
我不知道如何将它存储在变量中。这是我的代码:
for line in data:
for word in line.split():
print jellyfish.soundex(word)
这给了我一张所有单词的soundex代码列表..。
如何将结果存储在变量中??我试过:
data_new = [(jellyfish.soundex(word) for word in line.split()) for line in data]
但这并没有帮助。
我有两份名单。一个包含句子,另一个包含单词。
我想拥有所有的句子,这些句子不包含单词列表中的任何单词。
我试着用清单理解来实现这一点。示例:
cleared_sentences = [sentence for sentence in sentences if banned_word for word in words not in sentence]
但是,它似乎不起作用,因为我收到一个错误,告诉我在赋值之前使用了一个变量。
我已经尝试寻找嵌套的理解,我相信这一定是被要求的,但我什么也找不到。
我怎样才能做到这一点?
我想要一个函数,它将在每个句子的末尾添加一个随机符号,并删除所有元音。我知道句子可能会以一个!或者?但让我们简单地说这些句子只会以句号结束。每个符号都不同,我已经在最后一句末尾插入了一个星号。我如何在每个句子的末尾添加一个不同的符号?到目前为止,这就是我所拥有的
function txtMod(str){
var vowels = /[aioue]/gi ;
var words = str.split(" ");
words.splice(words.length,2,"*");
var join = words.join(
我有一个处理文本文件的列表,看起来有点像这样:
text =“这是第一个文本文档”这是第二个文本文档“这是第三个文档”
我已经成功地标记了这些句子:
sentences = sent_tokenize(text)
for ii, sentence in enumerate(sentences):
sentences[ii] = remove_punctuation(sentence)
sentence_tokens = [word_tokenize(sentence) for sentence in sentences]
现在,我想从这个标记列表中删除停止词组。
然而,
我是新来的,所以请对我放松点。我刚刚开始摆弄android的开发,而对于第一个应用程序,我正在尝试按一个按钮->得到一个随机的句子。我的想法是有两个活动:主要的一个,你按下按钮,它选择一个随机数,并附加到一个意图被发送到其他活动(如下图所示)。
public void activity2(View view){
Intent intent = new Intent(this, RandomThought.class);
Random rand = new Random();
String x = Integer.toString(rand.nextInt(3));
我认为我的问题一部分与spaCy有关,另一部分与不理解python中最优雅的工作方式有关。
我用python上传了一个txt文件,将其标记为句子,然后使用nltk将其标记为单词:
sent_text = nltk.sent_tokenize(text)
tokenized_text = [nltk.word_tokenize(x) for x in sent_text]
这给了我一个列表列表,其中主列表中的每个列表都是一个标记化单词的句子。到目前一切尚好。
然后我通过SpaCy运行它:
text = nlp(unicode(tokenized_text))
仍然是一个列表,同样的东西,但它有所
我从pdfs中抓取了一些文本,并且我已经解析了文本,并且当前将所有内容都作为字符串放在列表中。我想把那些作为单独字符串返回的句子连接在一起,因为pdf页面上出现了断点。例如,
list = ['I am a ', 'sentence.', 'Please join me toge-', 'ther. Thanks for your help.']
我希望:
list = ['I am a sentence.', 'Please join me together. Thanks for your help.
我有这行代码:
bitext = [[sentence.strip().split()
for sentence in pair if len(sentence) < 100]
for pair in zip(open(c_data), open(e_data))[:opts.num_sents]]
c_data是一个带有中文句子的文件
e_data是一个带有英语句子的文件。
bitext应该是一个包含一对英汉句子的列表,它们是相互翻译的。
因为这两个数据文件都很大,
我只想减少代码的复杂性,只考虑长度低于一定长度的句子。长度以字符来衡量。
我发现标记化代码相当复杂,我仍然找不到代码中句子被拆分的地方。
例如,记号赋予器如何知道
Mr. Smitt stayed at home. He was tired
不能分成“先生”应该在“他”之前拆分。?在代码中,"He“之前的拆分在哪里?
(事实上,我不确定,实际上,我不确定我是否找对了地方:如果我在tokenizer.pyx中搜索sents,我没有找到任何匹配项)
当我在IOS7模拟器上测试我的应用程序时。有时,当我使用sizeToFit of a UITextView时,我发现这是很奇怪的。sizeToFit后的框看起来是对的,但文本只能显示一部分,就像下面的照片一样。(灰色区域代表UITextView在sizeToFit之后的新框架,整个句子应该是“这引发了两者之间紧张的关系”)。
UITextView文本是通过attributedText设置的。似乎这个问题只发生在一些句子中,对大多数句子来说都是可以的。
我遇到这个问题好几次了,还没能解决。任何帮助都将不胜感激。谢谢。
更新:
最后,我用丑陋的方式解决了这个问题。我重置了textView
我使用查找拼写错误
如何在句子中找到和替换拼写错误的单词。
迄今所作的努力:
sentences = "This sntence cntins errors. This sentence has to be corrcted."
list_string = sentences.split(' ')
for word in list_string:
print(correction(word))
输出:
this
sentence
contains
error
this
sentence
has
to
be
corrected.
预期产出:
This &
我试图接受一个句子,用户已经输入一个字符串变量,并删除重复的字母,同时保持空格在句子中。例如,如果用户输入"hello my name is danny“,它将返回"Helo my is dn”。
要做到这一点,我已经尝试过以下代码:
package noRepeats.java;
import java.util.Scanner;
public class NoRepeats {
public static void main(String[] args) {
System.out.println("Please ent
我想要删除句子中的停用词。我有一段代码:
splitted = text.split()
for index, word in enumerate(splitted):
if word in self.stopWords:
del splitted[index]
text = " ".join(splitted)
使用指令self.stopWords.update(['.', ',', "\"", "\'", '?', '!', '
这是我的朋友给我的一个句子中计算大小写字母的解决方案,但没有解释语句中1的用法。
x = raw_input('Enter the word')
print ("Capital Letters: ", sum(1 for d in x if d.isupper()))
print ("Small letters:" , sum(1 for d in x if d.islower()))
有人能帮我解释一下为什么用1吗?另外,为什么使用sum而不是len?谢谢
假设你有两个列表,第一个由700个单词组成,第二个由30.000个可能的句子开头组成。句子开头和单词将有21.000.000个组合。
此外,大约有400个文件,对每一个可能的句子+词组合都有一些结果。每个文件由170.000.000行组成,其结构如下:
this is the first sentence
1. result for that sentence
2. result for that sentence
...
nth result for that sentence
this is the second sentence
...
thi
我试图构建一个字符串/URI来访问一个API。API接受一个句子param。现在,我尝试这样做如下:
//params[0] is a String such as "You will be a hero"
Uri.Builder builder = new Uri.Builder();
builder.scheme("https").authority("yoda.p.mashape.com/yoda").appendQueryParameter("sentence", params[0]);
Log.v("STRING
我正在尝试创建一个二维数组X,其中行的数量与句子数据集中的句子的数量相同,其中每一行都是描述该句子的向量。我尝试了下面的代码,但它给出了ValueError # Calculate the length of sentences
n_sentences = len(sentences)
# Calculate the dimensionality of nlp
embedding_dim = nlp.vocab.vectors_length
# Initialize the array with zeros: X
X = np.zeros((n_sentences, embedding_
我正在使用python3,我正在训练一个句子,但是解释器给了我一个我无法理解的问题。
~$ python3
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> from nltk import word_tokenize
>&g
我遗漏了一些关于Python中递归是如何工作的东西。我使用了以下方法对句子进行标记化:
def extractIngredientInfo(ingredientLine, sectionTitle):
print 'extractIngredientInfo' + ingredientLine
# set-up some default values for variables that will contains the extracted datas
usmeas = 'N.A'
othermeas