标签: morphological-analysis

是否有免费的德语形态分析库?

我正在寻找一个可以对德语单词进行形态分析的库,即它将任何单词转换为其根形式并提供有关所分析单词的元信息.

例如:

gegessen -> essen
wurde [...] gefasst -> fassen
Häuser -> Haus
Hunde -> Hund
Run Code Online (Sandbox Code Playgroud)

我的收藏:

  • 它必须与名词和动词一起使用.
  • 我知道鉴于德语的复杂性,这是一项非常艰巨的任务,因此我也在寻找仅提供近似值或可能只有80%准确度的库.
  • 我更喜欢不与字典一起工作的图书馆,但是考虑到这些情况,我愿意接受妥协.
  • 我也更喜欢C/C++/Delphi Windows库,因为这样可以更容易集成,但.NET,Java,...也可以.
  • 它必须是一个免费的图书馆.(L)GPL,MPL,......

编辑:我知道没有任何字典就没有办法进行形态分析,因为不规则的单词.当我说,我更喜欢没有字典的图书馆,我的意思是那些完整的字典,它们映射每一个字:

arbeite -> arbeiten
arbeitest -> arbeiten
arbeitet -> arbeiten
arbeitete -> arbeiten
arbeitetest -> arbeiten
arbeiteten -> arbeiten
arbeitetet -> arbeiten
gearbeitet -> arbeiten
arbeite -> arbeiten
... 
Run Code Online (Sandbox Code Playgroud)

这些词典有几个缺点,包括巨大的尺寸和无法处理未知单词.

当然,所有异常只能用字典处理:

esse -> essen
isst -> essen
eßt -> essen
aß -> essen
aßt -> essen
aßen -> essen
...
Run Code Online (Sandbox Code Playgroud)

(我的思绪现在正在旋转:))

morphological-analysis languagetool

8
推荐指数
2
解决办法
3209
查看次数

两个连接边界的形态分离

我有一个关于以下场景的问题.当我对图像进行后期处理时,我获得了一个轮廓,不幸的是两次连接,如您在底线所示.为了明确我想要的只是外线.因此我放大并标记了线条,我想要大图像.

我想从这个选择中得到的只是外面部分,我在下一张图片中标记为绿色.对不起我糟糕的绘画技巧.;)

我正在使用MatLab和IPT.所以我也尝试了解bwmorphhbreak选项,但它引发了一个错误.

我该如何解决这个问题?如果你成功了,请告诉我一些关于它的事情吗?先感谢您!

诚挚

matlab octave morphological-analysis mathematical-morphology

7
推荐指数
1
解决办法
1140
查看次数

如何在Python中解析DOT文件

我有一个以DOT文件形式保存的传感器.我可以使用gvedit看到图形的图形表示,但是如果我想将DOT文件转换为可执行的传感器,那么我可以测试传感器并查看它接受的字符串以及它不接受的字符串.

在我在Openfst,Graphviz及其Python扩展中看到的大多数工具中,DOT文件仅用于创建图形表示,但如果我想解析文件以获得交互式程序,我可以测试字符串换能器?

是否有任何库可以完成任务,或者我应该从头开始编写它?

正如我所说,DOT文件与我设计的模拟英语形态的换能器有关.这是一个巨大的文件,但只是为了让您了解它是什么样的,我提供了一个示例.假设我想创建一个能够模拟英语关于名词和多个方面行为的传感器.我的词典只包含三个单词(书,男孩,女孩).在这种情况下,我的传感器看起来像这样:

在此输入图像描述

这是从这个DOT文件直接构造的:

digraph A {
rankdir = LR;
node [shape=circle,style=filled] 0
node [shape=circle,style=filled] 1
node [shape=circle,style=filled] 2
node [shape=circle,style=filled] 3
node [shape=circle,style=filled] 4
node [shape=circle,style=filled] 5
node [shape=circle,style=filled] 6
node [shape=circle,style=filled] 7
node [shape=circle,style=filled] 8
node [shape=circle,style=filled] 9
node [shape=doublecircle,style=filled] 10
0 -> 4 [label="g "];
0 -> 1 [label="b "];
1 -> 2 [label="o "];
2 -> 7 [label="y "];
2 -> 3 [label="o "];
3 -> 7 [label="k "];
4 -> 5 [label="i "];
5 …
Run Code Online (Sandbox Code Playgroud)

python parsing dot morphological-analysis transducer

7
推荐指数
2
解决办法
1万
查看次数

是否有图像处理功能来获取MATLAB中的二进制图像的骨架

骨架化的目的是表示具有最小像素集的二进制图像.骨架必须考虑表单的几何属性并保留关联关系.

我的问题是如何从二进制图像中获取骨架?

matlab image-processing morphological-analysis

6
推荐指数
1
解决办法
4591
查看次数

分割灰度图像

我无法实现灰度图像的正确分割:

要分割的图像

基本的事实,即我希望细分看起来像是这样的:

事实真相

我对圈内的三个组成部分最感兴趣.因此,正如您所看到的,我想将顶部图像分成三个部分:两个半圆,以及它们之间的矩形.

我尝试了各种扩张,侵蚀和重建的组合,以及各种聚类算法,包括k-means,isodata和高斯混合 - 所有这些都取得了不同程度的成功.

任何建议,将不胜感激.

编辑:这是我能够获得的最佳结果.这是使用活动轮廓来分割圆形ROI,然后应用等数据聚类获得的:

集群

这有两个问题:

  • 右下方群集周围的白色光环,属于左上角群集
  • 右上角和左下角群集周围的灰色光环,属于中心群集.

matlab image-processing morphological-analysis image-segmentation mathematical-morphology

6
推荐指数
1
解决办法
1万
查看次数

计算numpy数组的周长

我想计算给定的numpy数组结构的周长.周长是指numpy数组中结构的精确周长.该结构可包括孔.

我目前的方法是这样的:

import numpy   
a = numpy.zeros((6,6), dtype=numpy.int)
a[1:5, 1:5] = 1;a[3,3] = 0
# Way 1
s = ndimage.generate_binary_structure(2,1)
c = ndimage.binary_dilation(a,s).astype(a.dtype)
b = c - a  
numpy.sum(b) # The result, however the hole is calculated as 1, although there are 4 edges

# Way 2
b = ndimage.distance_transform_cdt(a == 0,metric='taxicab') == 1 
b = b.astype(int)
numpy.sum(b) # same as above
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如您所见,它显示所有相邻单元格,但它们的总和不等于修补程序的周长.示例数组中的孔计算为1,尽管它正确地有4个边.类似的问题是不同形状的更大孔.

我过去曾问过类似的问题,但所有提供的解决方案最终都没有以正确的输出值解决.有人知道如何做到这一点?没有其他包装比numpy,scipy和基础包请.

python numpy multidimensional-array morphological-analysis

6
推荐指数
2
解决办法
1863
查看次数

选择图像中的最大对象

我试图找到图像中最大的对象,并删除图像中小于它的任何其他对象.

这就是我所拥有的,但我无法让它发挥作用.

 l=bwlabel(BW);

 %the area of all objects in the image is calculated
 stat = regionprops(l,'Area','PixelIdxList');
 [maxValue,index] = max([stat.Area]);

  %remove any connected areas smaller than the biggest object
  BW2=bwareaopen(BW,[maxValue,index],8);
  subplot(5, 5, 4);
  imshow(BW2, []);
Run Code Online (Sandbox Code Playgroud)

我正在使用这些数字乳房X线照片.我试图从乳房区域除去图像中的所有对象.

matlab image-processing morphological-analysis

6
推荐指数
2
解决办法
7147
查看次数

小词汇词干/词形还原

目前我使用'lucene'和'elasticsearch',并有下一个问题.对于词,我需要得到词干形式或引理.例如 :

  • 小狗 - >狗
  • 小猫 - >猫

等等

但我得到了下一个结果:

  • 小狗 - >狗狗
  • 小猫 - > kitti

是否有任何方法(不重要的准备使用库,任何算法,方法等)来获得小型单词形式的根/原始单词形式?

目标语言:俄语.例如 :

  • собачка - >собака
  • кошечка - >кошка

提前致谢!

java lucene nlp morphological-analysis elasticsearch

6
推荐指数
1
解决办法
462
查看次数

是用3x3结构元素进行两次形态扩张,等于一个有6x6结构元素的结构元素?

我的问题很简单.这可能太简单了.但事情是在我的一个项目上工作时,我使用以下几行来扩展二进制图像.

cv::dilate(c_Proj, c_Proj, Mat(), Point(), 2);
Run Code Online (Sandbox Code Playgroud)

这基本上是用3x3矩形结构元素扩展二进制图像.从最后一个参数可以看出我正在执行此操作的2次迭代,这相当于:

cv::dilate(c_Proj, c_Proj, Mat(), Point(), 1);
cv::dilate(c_Proj, c_Proj, Mat(), Point(), 1);
Run Code Online (Sandbox Code Playgroud)

我的问题是:如果我只使用6x6结构元素执行一次迭代,而不是执行两次迭代,这在准确性和性能方面是否等同于上述代码?因为图像只迭代一次,它会更快吗?

c++ opencv image-processing morphological-analysis

5
推荐指数
1
解决办法
904
查看次数

获得英语单词的基本形式

我试图获得一个英语单词的基本英语单词,该单词是从其基本形式修改的.这个问题已在这里提出,但我没有看到正确的答案,所以我试图这样说.我尝试了两个来自NLTK包的词干器和一个词形变换器,它们是搬运器,干扰器,雪球器和wordnet lemmatiser.

我试过这段代码:

from nltk.stem.porter import PorterStemmer
from nltk.stem.snowball import SnowballStemmer
from nltk.stem.wordnet import WordNetLemmatizer

words = ['arrival','conclusion','ate']

for word in words:
    print "\n\nOriginal Word =>", word
    print "porter stemmer=>", PorterStemmer().stem(word)
    snowball_stemmer = SnowballStemmer("english")
    print "snowball stemmer=>", snowball_stemmer.stem(word)
    print "WordNet Lemmatizer=>", WordNetLemmatizer().lemmatize(word)
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

Original Word => arrival
porter stemmer=> arriv
snowball stemmer=> arriv
WordNet Lemmatizer=> arrival


Original Word => conclusion
porter stemmer=> conclus
snowball stemmer=> conclus
WordNet Lemmatizer=> conclusion


Original Word => ate
porter stemmer=> ate
snowball stemmer=> ate
WordNet …
Run Code Online (Sandbox Code Playgroud)

python text-processing nlp stemming morphological-analysis

5
推荐指数
1
解决办法
5356
查看次数