PHP Извлечение похожих частей из нескольких строк

Я пытаюсь извлечь похожие части из нескольких строк.

Целью этого является попытка извлечь название книги из нескольких оптических распознаваний титульной страницы.

Это применимо только к началу строки, концы строк не нужно обрезать и могут оставаться такими, какие они есть.

Например, мои строки могут быть:

$title[0]='the history of the internet, expanded and revised';
$title[1]='the history of the internet';
$title[2]='published by xyz publisher the historv of the internot, expanded and';
$title[3]='history of the internet';

Итак, в основном я хотел бы обрезать каждую строку, чтобы она начиналась в наиболее вероятной начальной точке. Учитывая, что могут быть ошибки OCR (например, «historyv», «internot»), я подумал, что было бы лучше взять количество символов из каждого слова, что дало бы мне массив для каждой строки (так что многомерный массив) с длиной каждого слова. Затем это можно использовать для поиска текущих совпадений и обрезки начала строки до наиболее вероятного.

Строки должны быть сокращены до:

$title[0]='the history of the internet, expanded and revised';
$title[1]='the history of the internet';
$title[2]='the historv of the internot, expanded and';
$title[3]='XXX history of the internet';

Итак, мне нужно иметь возможность распознать, что «история Интернета» (7 2 3 8) - это запуск, который соответствует всем строкам, и что предшествующее «the» является наиболее вероятно, правильное видение, поскольку это происходит в> 50% строк, и поэтому начало каждой строки обрезается до «the», а заполнитель такой же длины добавляется к строке, в которой отсутствует «the».

Итак, у меня есть:

function CompareSimilarStrings($array)
    {
    $n=count($array);

    // Get length of each word in each string >
    for($run=0; $run<$n; $run++)
        {
        $temp=explode(' ',$array[$run]);
        foreach($temp as $key => $val)
         $len[$run][$key]=strlen($val);
        }

    for($run=0; $run<$n; $run++)
        {

        }
    }

Как видите, я застрял в поиске текущих совпадений.

Есть идеи?

6
задан Alasdair 24 February 2012 в 04:40
поделиться