问题标签 [text-segmentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3814 浏览

java - 用Java中的正则表达式匹配句子

我正在使用 Java 中的 Scanner 类来浏览一个文本文件并提取每个句子。我在我的扫描仪上使用 setDelimiter 方法到正则表达式:

这目前似乎有效,但它在句子末尾留下了空格。有没有一种简单的方法可以匹配末尾的空格但不将其包含在结果中?

我意识到这可能是一个简单的问题,但我以前从未使用过正则表达式,所以放轻松:)

0 投票
3 回答
4264 浏览

java - 从字符串中提取单词的正则表达式

我想从 java 字符串中提取所有单词。

word 可以用任何欧洲语言书写,并且不包含空格,仅包含字母符号。

它可以包含连字符。

0 投票
3 回答
3645 浏览

text - 如何使用 NLP 将非结构化文本内容分成不同的段落?

以下非结构化文本具有三个不同的主题——史泰龙、费城和美国革命。但是您会使用哪种算法或技术将这些内容分成不同的段落?

分类器在这种情况下不起作用。我还尝试使用 Jaccard 相似性分析器来查找连续句子之间的距离,并尝试将连续句子组合成一个段落,如果它们之间的距离小于给定值。有没有更好的方法?

这是我的文本示例:

西尔维斯特·加登齐奥·史泰龙,绰号狡猾的史泰龙,是美国演员、电影制片人和编剧。史泰龙以其大男子主义和好莱坞动作角色而闻名。史泰龙的电影《洛奇》被纳入国家电影登记处,其电影道具被放置在史密森尼博物馆。史泰龙在洛基系列中使用费城艺术博物馆的正门使该地区被昵称为洛基台阶。费城是商业、教育和文化中心,曾经是大英帝国的第二大城市(仅次于伦敦) ),以及最初的 13 个美洲殖民地的社会和地理中心。它是美国早期历史的核心,承载了许多催生美国革命和独立的思想和行动。美国革命是 18 世纪下半叶的政治动荡,北美的 13 个殖民地联合起来摆脱大英帝国,合并成为美利坚合众国。他们首先拒绝了英国议会在没有代表的情况下从海外管理他们的权力,然后驱逐了所有王室官员。到 1774 年,每个殖民地都建立了省议会或同等的政府机构,以形成独立的自治州。然后驱逐了所有的皇室官员。到 1774 年,每个殖民地都建立了省议会或同等的政府机构,以形成独立的自治州。然后驱逐了所有的皇室官员。到 1774 年,每个殖民地都建立了省议会或同等的政府机构,以形成独立的自治州。

0 投票
13 回答
19472 浏览

algorithm - 如何将字符串拆分为单词。例如:“stringintowords”->“String Into Words”?

将字符串拆分为单词的正确方法是什么?(字符串不包含任何空格或标点符号)

例如:“stringintowords”->“String Into Words”

你能告诉我这里应该使用什么算法吗?

!更新:对于那些认为这个问题只是出于好奇的人。该算法可用于对域名(“sportandfishing .com”->“SportAndFishing .com”)进行大写,并且该算法目前被 aboutus dot org 用于动态执行此转换。

0 投票
3 回答
1238 浏览

php - 在段落中搜索句子

如何使用 PHP 在段落中搜索一个或多个句子?

0 投票
6 回答
1992 浏览

bash - 如何用空格分隔“句子”中的单词?

背景

希望在 JasperServer 中自动创建域。域是用于创建临时报告的数据“视图”。列的名称必须以人类可读的方式呈现给用户。

问题

理论上,组织可能希望将超过 2,000 条可能的数据包含在报告中。数据来自非人类友好的名称,例如:

支付期匹配代码劳动分配编码esc 依赖关系操作endoption actionendoptiondesc addresstype addresstypedesc historytype psaddresstype rolename bankaccountstatus bankaccountstatusdesc bankaccounttype bankaccounttypedesc beficiaryamount beficiaryclass beeficiarypercent benefitsubclass beficiaryclass beficiaryclassdesc benefitactioncode benefitactioncodedesc benefitagecontrol benefitagecontroldesc ageconrolagelimit ageconrolnoticeperiod

问题

您将如何自动将此类名称更改为:

  • 支付期间匹配代码
  • 劳务分配代码描述
  • 依赖关系

想法

  • 使用谷歌的你的意思是引擎,但我认为它违反了他们的服务条款:

    lynx -dump «url» | grep "Did you mean" | awk ...

语言

任何语言都可以,但是像 Perl 这样的文本解析器可能更适合。(列名仅限英文。)

不必要的完美

我们的目标不是 100% 完美地分解单词;以下结果是可以接受的:

  • 注册生效日期 -> 注册生效日期
  • 登记结束日期 -> 登记男性倾向于日期
  • 注册要求集 -> 注册要求集

无论如何,人类都需要仔细检查结果并纠正许多。将一组 2,000 个结果减少到 600 个编辑将大大节省时间。专注于具有多种可能性的某些案例(例如,治疗师姓名)是完全忽略了这一点。

0 投票
3 回答
6063 浏览

python - 使用python提取句子

如果该句子中存在特定单词,我想提取确切的句子。谁能让我知道如何用python做到这一点。我使用了 concordance() 但它只打印单词匹配的行。

0 投票
3 回答
7332 浏览

java - 文本分割:基于字典的分词

背景

将数据库列名称拆分为等效的英文文本以作为数据字典的种子。英语词典是根据公司文档、wiki 和电子邮件的语料库创建的。字典 ( lexicon.csv) 是一个包含单词和概率的 CSV 文件。因此,某人写“治疗师”一词的频率越高(在电子邮件或维基页面上),“治疗师姓名”分裂为“治疗师姓名”而不是其他内容的机会就越高。(词典可能甚至不包括强奸犯这个词。)

源代码

数据文件

问题(2011-01-03 更新)

当遇到以下问题时:

存在这些可能的解决方案:

词典包含具有相对概率(基于词频)的词:dependent 0.8end 0.86relationship 0.9depend 0.3ent 0.001

消除dep end ent relationship因为dep不在词典中的解决方案(即 75% 的单词使用率),而其他两个解决方案涵盖了词典中 100% 的单词。在其余解决方案中, 的概率dependent relationship0.72depend ent relationship0.00027。因此,我们可以选择dependent relationship正确的解决方案。

有关的

问题

鉴于:

您将如何实现一个基于词典覆盖率和概率生成最可能解决方案的例程?例如:

谢谢!

0 投票
3 回答
2350 浏览

python - 分词高棉语的可行解决方案?

我正在研究一种解决方案,将高棉(柬埔寨语)的长行拆分为单个单词(UTF-8 格式)。高棉语不使用单词之间的空格。有一些解决方案,但它们还远远不够(这里这里),而且这些项目已经被搁置了。

这是需要拆分的高棉示例行(它们可能比这更长):



创建一个分割高棉语单词的可行解决方案的目标是双重的:它将鼓励那些使用高棉传统(非 Unicode)字体的人转换为 Unicode(这有很多好处),并且它将允许导入传统高棉字体转换成 Unicode 以便快速与拼写检查器一起使用(而不是手动检查和拆分单词,这对于大型文档可能需要很长时间)。

我不需要 100% 的准确率,但速度很重要(特别是因为需要拆分成高棉语单词的行可能很长)。我愿意接受建议,但目前我有大量正确拆分的高棉语词库(带有不间断空格),并且我创建了一个单词概率字典文件(frequency.csv)用作字典分词器。

我在这里找到了这个使用Viterbi 算法的python 代码,据说它运行得很快。

我还尝试使用此页面作者的源 java 代码:文本分割:基于字典的分词,但运行速度太慢而无法使用(因为我的单词概率字典有超过 100k 的术语......)。

这是 Python 中的另一个选项,来自Detect most possible words from text without spaces / combine words

我是 python 的新手,我对所有真正的编程(网站之外)都很陌生,所以请多多包涵。有没有人有任何他们认为会很好的选择?

0 投票
6 回答
8359 浏览

php - php句子边界检测

我想在 PHP 中将文本分成句子。我目前正在使用正则表达式,它带来了约 95% 的准确率,并希望通过使用更好的方法来改进。我见过在 Perl、Java 和 C 中执行此操作的 NLP 工具,但没有看到任何适合 PHP 的东西。你知道这样的工具吗?