我需要将一个中文句子分成单独的单词.中文的问题是没有空格.例如,句子可能看起来像:( ?????用空格表示:)?? ?? ?.
目前我可以想到一个解决方案.我有一个带有中文单词的字典(在数据库中).该脚本将:
尝试在数据库(??)中找到句子的前两个字符,
如果??实际上是一个单词并且它在数据库中,则脚本将尝试查找前三个字符(???).???不是一个字,所以它不在数据库中=>我的应用程序现在知道这??是一个单独的单词.
尝试与其他角色一起做.
我真的不喜欢这种方法,因为即使是一个小文本,它也会查询数据库太多次.
还有其他解决方案吗?
我有一系列不同长度和内容的字符串.
现在我正在寻找一种简单的方法来从每个字符串中提取最后一个单词,而不知道该单词的长度或字符串的长度.
就像是;
array.each{|string| puts string.fetch(" ", last)
Run Code Online (Sandbox Code Playgroud) 以下非结构化文本有三个不同的主题 - 史泰龙,费城和美国革命.但是你会使用哪种算法或技术将这些内容分成不同的段落?
分类器在这种情况下不起作用.我还尝试使用Jaccard相似度分析器来查找连续句子之间的距离,并尝试将连续句子分组为一个段落,如果它们之间的距离小于给定值.有更好的方法吗?
这是我的文字示例:
Sylvester Gardenzio Stallone,绰号Sly Stallone,是美国演员,电影制片人和编剧.史泰龙以其大男子主义和好莱坞动作角色而闻名.史泰龙的电影洛基入选国家电影注册处,并将其电影道具放在史密森尼博物馆.史泰龙使用Rocky系列的费城艺术博物馆正门,使该地区被称为洛基台阶.一个商业,教育和文化中心,费城曾经是大英帝国的第二大城市(仅次于伦敦) ),以及原13个美国殖民地的社会和地理中心.它是美国早期历史的核心,是许多产生美国革命和独立的思想和行动的东西.美国革命是18世纪下半叶的政治动荡,北美的13个殖民地联合起来,摆脱大英帝国,结合成为美利坚合众国.他们首先拒绝了大不列颠议会的权威,无需代理即可从海外治理他们,然后驱逐所有王室官员.到1774年,每个殖民地都建立了省级代表大会或同等的政府机构,以形成个人自治国家.然后驱逐所有王室官员.到1774年,每个殖民地都建立了省级代表大会或同等的政府机构,以形成个人自治国家.然后驱逐所有王室官员.到1774年,每个殖民地都建立了省级代表大会或同等的政府机构,以形成个人自治国家.
我是一个正则表达式的菜鸟,试图将段落分成句子.在我的语言中,我们在句子中间使用了相当多的缩写(例如:bl.a.),所以我得出结论,我需要做的是寻找标点,然后是单个标点符号空格,然后是一个以大写字母开头的单词,如:
[sentence1]...anymore. However...[sentence2]
Run Code Online (Sandbox Code Playgroud)
所以一段如下:
Der er en lang og bevæget forhistorie bag lov om varsling m.v. i forbindelse med afskedigelser af større omfang. Det er ikke en bureaukratisk lovtekst blandt så mange andre.
Run Code Online (Sandbox Code Playgroud)
应以此输出结束:
[0] => Der er en lang og bevæget forhistorie bag lov om varsling m.v. i forbindelse med afskedigelser af større omfang.
[1] => Det er ikke en bureaukratisk lovtekst blandt så mange andre.
Run Code Online (Sandbox Code Playgroud)
而不是这个:
[0] => Der er en lang og bevæget forhistorie bag lov om …Run Code Online (Sandbox Code Playgroud) 我试图从文本中提取包含指定单词的所有句子.
txt="I like to eat apple. Me too. Let's go buy some apples."
txt = "." + txt
re.findall(r"\."+".+"+"apple"+".+"+"\.", txt)
Run Code Online (Sandbox Code Playgroud)
但它正在归还我:
[".I like to eat apple. Me too. Let's go buy some apples."]
Run Code Online (Sandbox Code Playgroud)
代替 :
[".I like to eat apple., "Let's go buy some apples."]
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
希望在JasperServer中自动创建域.域是用于创建临时报告的数据的"视图".列的名称必须以人类可读的方式呈现给用户.
理论上,组织可以在报告中包含2,000多种可能的数据.数据来自非人类友好的名称,例如:
payperiodmatchcode labordistributioncodedesc依赖关系actionendoption actionendoptiondesc addresstype addresstypedesc historytype psaddresstype rolename bankaccountstatus bankaccountstatusdesc bankaccounttype bankaccounttypedesc beneficiaryamount beneficiaryclass beneficiarypercent benefitsubclass beneficiaryclass beneficiaryclassdesc benefitactioncode benefitactioncodedesc benefitagecontrol benefitagecontroldesc ageconrolagelimit ageconrolnotperiperiod
你会如何自动将这些名称更改为:
使用谷歌你的意思是引擎,但我认为它违反了他们的服务条款:
lynx -dump «url» | grep "Did you mean" | awk ...
任何语言都可以,但像Perl这样的文本解析器可能非常适合.(列名仅限英文.)
打破单词的目标不是100%完美; 以下结果是可以接受的:
无论如何,人类都需要仔细检查结果并纠正许多结果.将一组2,000个结果减少到600次编辑将节省大量时间.要注意一些具有多种可能性的病例(例如,治疗师名称),要完全忽略这一点.
我一直在用
explode(".",$mystring)
Run Code Online (Sandbox Code Playgroud)
将一个段落分成句子.然而,这并不包括以不同的标点符号结束的句子,例如!?:;
有没有办法使用数组作为分隔符而不是单个字符?另外还有另一种利用各种标点符号分割的简洁方法吗?
我试过了
explode(("." || "?" || "!"),$mystring)
Run Code Online (Sandbox Code Playgroud)
希望但它不起作用......
我正在尝试使用python和opencv构建一个手写识别系统.字符的识别不是问题,而是分割.我成功了:
但我无法在文档中分割不同的行.我尝试对轮廓进行排序(以避免线分割并仅使用分词),但它不起作用.我使用以下代码来分割手写文档中包含的单词,但它返回不按顺序的单词(它以从左到右的排序方式返回单词):
import cv2
import numpy as np
#import image
image = cv2.imread('input.jpg')
#cv2.imshow('orig',image)
#cv2.waitKey(0)
#grayscale
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.imshow('gray',gray)
cv2.waitKey(0)
#binary
ret,thresh = cv2.threshold(gray,127,255,cv2.THRESH_BINARY_INV)
cv2.imshow('second',thresh)
cv2.waitKey(0)
#dilation
kernel = np.ones((5,5), np.uint8)
img_dilation = cv2.dilate(thresh, kernel, iterations=1)
cv2.imshow('dilated',img_dilation)
cv2.waitKey(0)
#find contours
im2,ctrs, hier = cv2.findContours(img_dilation.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
#sort contours
sorted_ctrs = sorted(ctrs, key=lambda ctr: cv2.boundingRect(ctr)[0])
for i, ctr in enumerate(sorted_ctrs):
# Get bounding box
x, y, w, h = cv2.boundingRect(ctr)
# Getting ROI
roi = image[y:y+h, …Run Code Online (Sandbox Code Playgroud) 我需要解析Python中段落的句子.是否有现成的包,或者我应该尝试在这里使用正则表达式?
NLP 中的标记化和分段有什么区别?我搜索了它们,但没有真正发现任何差异。
nlp artificial-intelligence terminology machine-learning text-segmentation