从一个输入文件中逐行输入,并使用 strtok()进行标记化处理,输出到一个输出文件。
我要做的是按行输入文件,然后将令牌化和输出输出到输出文件中.我能做的就是输入文件中的第一行,但我的问题是我无法输入下一行以使其成为令牌,以便可以将其保存为输出文件中的第二行,这是我到目前为止可以通过输入文件中的第一行进行的操作. #include #include //string library #include //I/O stream input and output library using namespace std; const int MAX=300; //intialization a constant called MAX for line length int main() { ifstream in; //delcraing instream ofstream out; //declaring outstream char oneline[MAX]
0 2023-11-20
编程技术问答社区
对字符串进行标记化
我有大约100行的文本,我想令牌化,这是以下内容: 我很难使用VBA找到令牌功能.在VBA中将此类字符串的最简单方法是什么? 解决方案 您可以按行读取行,并使用拆分函数按空格划分单词和数字.我隐约地记住了VBA具有分裂功能. 我通过在Google中搜索获得以下链接.不确定您正在使用哪个版本的办公室. 此链接具有拆分函数. 其他解决方案 您可以使用Split()方法或更复杂的匹配项,可以使用"vbscript.regexp"对象: Sub NewRegex() Dim reg Dim matches, match, tmpStr As String Set reg = CreateObject("vbscript.regexp") tmpStr = "blah bla ...." With reg
0 2023-11-16
编程技术问答社区
Java代码读取UTF-8文本不正确
我在代码中阅读UTF-8字符(在Eclipse上运行)时遇到问题. 我有一个文件text,其中有几行,例如: אך 1234 注意:单词之前有一个\t,该单词应在左侧出现,右侧的数字...我不知道如何在这里扭转它们,对不起. 就是一个希伯来语,然后是一个数字. 我需要以某种方式将单词与数字分开.我尝试了: BufferedReader br = new BufferedReader(new FileReader(text)); String content; while ((content = br.readLine()) != null) { String delims = "[ ]+"; String[] tokens = content.split(delims); } 问题是,由于某种原因,代码读取conten
2 2023-11-12
编程技术问答社区
CoffeeScript或JavaScript中的基本NLP-Punkt tokenizaton,简单的训练过的Bayes模型--从哪里开始?
我当前的Web-App项目需要一点NLP: 通过punkt和类似; 将文字引入句子中 通过下属子句分解较长的句子(通常是在逗号上,除非不是逗号) 一种贝叶斯模型,适合偶尔的段落,没有孤儿,寡妇,最小的尴尬分裂(也许) ...如果您有但是,我必须交互方式提供需要给予令牌的用户反馈,因此我需要执行数据客户端. 现在,我实际上是使用nltk的 am 通过REST API调用龙卷风过程,该过程包含NLTK函数,几乎没有其他功能.目前,诸如延迟和并发之类的事情显然是该临时服务的次优/r/t,以礼貌地说.我认为,如果我自己不重新实现,我应该做的是我可以使用此功能的咖啡/Java版本. ,但是从我所看到的,javaScript尚未被认为很酷的时间足够长,无法累积不符合的web特定的,通用的通用图书馆schmorgasbörd,一个人可以在C或Python中找到(甚至甚至是Python) Erlang). NLTK当然是任何人的杰出项目,但我只需要打包的百分之几. ,但
2 2023-11-10
编程技术问答社区
在Ruby中解析URL字符串
我有一个非常简单的字符串,我想在Ruby中解析,并试图找到最优雅的解决方案.字符串是格式的 /xyz/mov/exdaf/daeed.mov?arg1=blabla&arg2=3bla3bla 我想拥有的是: string1:/xyz/mov/exdaf/daeed.mov string2:arg1 = blabla&arg2 = 3bla3bla 那么基本上是象征性的? ,但找不到一个很好的例子. 任何帮助将不胜感激. 解决方案 我认为最好的解决方案是使用URI模块. (您可以做URI.parse('your_uri_string').query之类的事情,以获取?>的右侧的零件.)请参见 http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/ 示例: 002:0> require 'uri' # or even 'net/http' true 003:0> URI URI 004:0> URI.parse(
0 2023-11-09
编程技术问答社区
如何使用Unix在行中分离令牌?
如何使用unix在线中分开代币? [in]: some sentences are like this. some sentences foo bar that [out:] some sentences are like this. some sentences foo bar that 我本可以在下面的python中做到这一点,但是是否有任何Unix可以实现相同的输出的方法? >>> import codecs >>> outfile = codecs.open('outfile.txt','w','utf8') >>> intext = "some sentences are like this.\n some sentences foo bar that" >>> infile = codecs.open('infile.txt','w','utf8') >>> print>>infile, intext >>> for i in codecs.
0 2023-11-08
编程技术问答社区
如何在unix命令行中把一个文件分成几个字?
我正在为幼稚的布尔信息检索系统进行更快的测试,我想使用awk,grep,egrep,sed,sed或similiar和pipes和管道将文本文件拆分为单词,并用一个文件将它们保存到其他文件中每行单词.示例我的文件cotains: Hola mundo, hablo español y no sé si escribí bien la pregunta, ojalá me puedan entender y ayudar Adiós. 输出文件应包含: Hola mundo hablo español ... 谢谢! 解决方案 使用TR: tr -s '[[:punct:][:space:]]' '\n' 其他解决方案 使用sed:
0 2023-11-08
编程技术问答社区
使用nltk对unicode进行标记。
我有使用UTF-8编码的文本文件,其中包含诸如'Ö','ü'等字符的字符.如果我使用标准NLTK令牌: f = open('C:\Python26\text.txt', 'r') # text = 'müsli pöök rääk' text = f.read() f.close items = text.decode('utf8') a = nltk.word_tokenize(items) 输出:[u'\ufeff', u'm', u'\xfc', u'sli', u'p', u'\xf6', u'\xf6', u'k', u'r', u'\xe4', u'\xe4', u'k'] punkt tokenizer似乎做得更好: f = open('C:\Python26\text.txt', 'r') # text = 'müsli pöök rääk' text = f.read() f.close items = text.decode('utf8') a
0 2023-11-06
编程技术问答社区
日本的空白字符都是什么?
我需要拆分一个字符串,并提取由空格字符分开的单词.来源可以用英语或日语.英语Whitespace字符包括标签和空间,日语文本也使用这些. (IIRC,所有使用广泛使用的日本角色集都是US-ASCII的超集.) 所以我需要用来拆分字符串的字符集包括普通的ascii空间和选项卡. 但是,在日语中,还有另一个空间特征,通常称为"全宽空间".根据我的Mac的角色查看器实用程序,这是u+3000"意识形态空间".这是(通常)当用户在日语输入模式输入时按太空栏时会产生的结果. 我还需要考虑其他字符吗? 我正在处理被告知"带有空格单独条目"的用户提交的文本数据.但是,用户正在使用各种计算机和手机操作系统提交这些文本.我们已经看到,输入此数据时,用户可能不知道他们是日语还是英语输入模式. 此外,即使在日语模式下,太空键的行为也不同(例如,Windows 7将插入意识形态空间,但iOS将插入ASCII空间). 因此,我想要的基本上是"在视觉上看起来像个空间的所有字符的集
0 2023-11-06
编程技术问答社区
如何将NLTK word_tokenize库应用于Twitter数据的Pandas数据框架?
这是我用于Twitter语义分析的代码: - import pandas as pd import datetime import numpy as np import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords from nltk.stem.wordnet import WordNetLemmatizer from nltk.stem.porter import PorterStemmer df=pd.read_csv('twitDB.csv',header=None, sep=',',error_bad_lines=False,encoding='utf-8') hula=df[[0,1,2,3]] hula=hula.fillna(0) hula['tweet'] = hula[0].astype(str) +hula[1].astype(str)+hula[
4 2023-10-28
编程技术问答社区
根据条件从现有的标记和图元创建新的标记和图元
这与a 以前的问题但是我很难适应我的用例. 我有一个句子:"Forbes Asia 200 Best Under 500 Billion 2011" 我有以下令牌: oldTokens = [u'Forbes', u'Asia', u'200', u'Best', u'Under', u'500', u'Billion', u'2011'] 以及以前解析器在哪里弄清楚应该有位置或数字插槽的索引: numberTokenIDs = {(7,): 2011.0, (2,): 200.0, (5,6): 500000000000.00} locationTokenIDs = {(0, 1): u'Forbes Asia'} 令牌ID对应于有位置或数字的令牌的索引,目的是获得一组新的令牌,例如: newTokens = [u'ForbesAsia', u'200', u'Best', u'Under', u'500Billion', u'2011']
4 2023-10-27
编程技术问答社区
类似谷歌的搜索查询标记化和字符串分割功能
我希望将搜索查询类似于Google的方式.例如,如果我有以下搜索查询: the quick "brown fox" jumps over the "lazy dog" 我想拥有一个带有以下令牌的字符串数组: the quick brown fox jumps over the lazy dog 您可以看到,令牌以双引号保留空间. 我正在寻找一些我可以在C#中做到这一点的示例,最好是不使用正则表达式,但是如果这是最有意义的,那么它将是最大的表现,那就这样. 我也想知道如何将其扩展以处理其他特殊字符,例如,将A-放在术语前,将搜索查询排除在外. . 解决方案 到目前为止,这看起来像是Regex的好候选人.如果它变得更加复杂,那么可能需要一个更复杂的令牌方案,但是除非有必要,否则您应该避免使用该路线,因为它的工作要多得多. (另一方面,对于复杂的模式,正则迅速变成狗,也应避免). . 此正则应该解决您的问题: ("[^"]+"|\w+)\
4 2023-10-25
编程技术问答社区
如何用Hugging Face'的转化器管道重建没有IOB标签的文本实体?
我一直在想将拥抱面孔的管道用于NER(命名实体识别).但是,它正在返回Inserty-Outside-Beginning(IOB)格式的实体标签,但没有IOB标签.因此,我无法将管道的输出映射回我的原始文本.此外,输出以Bert令牌化格式掩盖(默认模型是Bert-large). 例如: from transformers import pipeline nlp_bert_lg = pipeline('ner') print(nlp_bert_lg('Hugging Face is a French company based in New York.')) 输出为: [{'word': 'Hu', 'score': 0.9968873858451843, 'entity': 'I-ORG'}, {'word': '##gging', 'score': 0.9329522848129272, 'entity': 'I-ORG'}, {'word': 'Face', '
对文本进行标记并为数据框架中的每一行创建更多的行
我想用python和pandas. 让我们假设我有以下内容: file_id text 1 I am the first document. I am a nice document. 2 I am the second document. I am an even nicer document. 我终于想拥有以下内容: file_id text 1 I am the first document 1 I am a nice document 2 I am the second document 2 I am an even nicer document 所以我希望每个文件的文本都在每个填充台上分配,并为这些文本的每个令牌创建新行. 这样做的最有效方法是什么? 解决方案 使用: s = (df.pop('text') .str.
6 2023-10-23
编程技术问答社区
根据分隔符拆分一串整数并转换为int类型?
我正在编写一个程序,该程序在输入时会列出数字对,我想将这些有序对分开并将它们转换为数组中的整数. 文件可能是这样: 0 1 1 4 9 11 12 45 我想编写一个输入该行的函数(假定已在程序的另一部分中终止为null),将数字分配在空间上,然后将它们存储在大小二的整数阵列中: int *store = malloc(2 * sizeof(store)); 我已经研究了strtok,但是我正确地说这不是线程安全,因此在这种情况下不是最好的选择?另外,它不会将数字转换为整数,这也是该功能还需要具有的东西. 我该如何解决这个问题? 解决方案 如果要读取未知数的有序对,将有多种方法来处理.如评论中指出的那样,如果您可以保证 您将始终每行有2个智能者,则可能是读取/将值转换为整数的最简单方法是fscanf (当您在每行上具有完全相同的数据格式时,我会推荐fgets和sscanf的fscanf 次,然后才是简化示例) 当您有未知数的元素要读取时,
14 2023-10-23
编程技术问答社区
使用 boost 标记迭代器提取单引号和括号之间值的 Regex
我有这样的价值: supoose我有一个字符串: s = "server ('m1.labs.teradata.com') username ('u\'se)r_*5') password('uer 5') dbname ('default')"; 我需要提取 token1:'m1.labs.teradata.com' token2:'u\'se)r_*5' token3:'uer 5' 我正在使用CPP中的以下正则拨号: regex re("(\'[!-~]+\')"); sregex_token_iterator i(s.begin(), s.end(), re, 0); sregex_token_iterator j; unsigned count = 0; while(i != j) { cout
6 2023-10-23
编程技术问答社区
请帮助,while循环和tokenizer以及读取文件
显然我需要帮助.我们的分配是检索文件并将其分类并在另一个文件中显示.姓氏,然后成绩.由于错误" java.util.nosuchelementException"错误,我在循环中遇到困难,这仅在我在循环时更改当前存在的情况时才会发生.我也有显示结果的问题.我显示的结果全是一行,我不能让它发生.我们不允许使用ArrayList,仅使用BufferedReader,Scanner以及我已经拥有的内容.到目前为止,这是我的代码: import java.util.; import java.util.StringTokenizer; import java.io.; import javax.swing.*; import java.text.DecimalFormat; /************************************* Program Name: Grade Name: Dennis Liang Due Date: 3/31/11 Program D
4 2023-10-23
编程技术问答社区
指针算术的问题-试图对输入字符串进行标记
目前,我正在处理一个程序,该程序允许用户输入然后将其标记化的字符串,然后使用一系列指针将令牌打印到屏幕上.通过调用我的令牌函数来完成此操作,该函数读取输入字符串,直到第一个分隔符(',',',','.,',',','!').然后,它将我的字符串中的分离器更改为空字符.然后,它应该将指针返回到我的字符串中的下一个字符. 在输入字符串后的主要内容中,它应该继续调用令牌函数,该功能返回指针,然后将其存储在一系列指针中以稍后打印我的令牌. Tokenize()将指针返回到我字符串末端的空字符的指针后,它就会从该循环中断出来.然后,我使用我的指针来打印代币. //尝试详细 #include #include char *tokenize ( char *text, const char *separators ); int main ( void ) { char text[30]; char separators
8 2023-10-23
编程技术问答社区
Solr Dismax handler-whitespace和特殊字符行为
当我的查询中有特殊字符时,我的结果很奇怪. 这是我的请求: q=histoire-france&start=0&rows=10&sort=score+desc&defType=dismax&qf=any^1.0&mm=100% 解析查询: +((any:histoir any:franc)) () 我有17000个结果,因为索尔正在做一个或(应该是). 当我使用Whitespace而不是特殊字符时,我没有问题: q=histoire france&start=0&rows=10&sort=score+desc&defType=dismax&qf=any^1.0&mm=100% +(((any:histoir) (any:franc))~2) () 此查询的2000结果. 这是我的sch
8 2023-10-23
编程技术问答社区
在Python 3.x中从文件中读取输入信息
说您正在从构造的文件中读取输入,例如So P3 400 200 255 255 255 255 255 0 0 255 0 0 etc... ,但是您想考虑到 中的输入文件可能产生的任何错误 P3 400 200 255 255 255 255 255 0 0 255 0 0 etc... 我想阅读第一个令牌'p3',然后是接下来的两个" 400"'200'(高度/宽度)'255',从现在开始,我想阅读所有令牌并说明他们如何我应该以3为3组.我有正确的代码来读取此信息,但我似乎无法摆脱弄清楚如何通过令牌而不是通过行读取信息的墙. 不考虑不完善的输入. 解决方案 这是使用csv模块: 的一种方法 import csv first_four = [] all_of_the_tokens = [] first_four_processed = False with open('token') as token_file: csv_reader =
8 2023-10-23
编程技术问答社区